<
From version < 73.1 >
edited by Kilight Cao
on 2022/11/04 16:00
To version < 150.1
edited by Kilight Cao
on 2024/10/12 08:58
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -7,30 +7,39 @@
7 7  
8 8  )))
9 9  
10 -**Table of Contents**
10 +**Table of Contents:**
11 11  
12 12  {{toc/}}
13 13  
14 -= **1. Introduction** =
15 15  
16 16  
17 -== **1.1 What is LG01-V2** ==
18 18  
19 19  
18 +
19 += 1. Introduction =
20 +
21 +== 1.1 What is LG01v2 ==
22 +
23 +
20 20  (((
21 21  (((
22 -The LG01-V2 is an (% style="color:green" %)**open-source single channel LoRa Gateway**(%%). It lets you bridge LoRa wireless network to an IP network via (% style="color:green" %)**WiFi , Ethernet or Cellular Network**(%%) (via Optional 4G module). The LoRa wireless allows users to send data and reach extremely long ranges at low data rates.
26 +The LG01v2 is an (% style="color:blue" %)**open-source single channel LoRa Gateway**(%%). It lets you bridge LoRa wireless network to an IP network via (% style="color:blue" %)**WiFi , Ethernet or Cellular Network**(%%) (via Optional 4G module). The LoRa wireless allows users to send data and reach extremely long ranges at low data rates.
27 +
28 +LG01v2 is specially designed for (% style="color:blue" %)**peer-to-peer LoRa**(%%) protocol instead of LoRaWAN protocol. The LG01v2 uses a single-channel LoRa module to minimize the deployment cost for a private p2p LoRa wireless network.
29 +
30 +(% style="color:red" %)**Note: The LG01v2 can't register and connect to the LoRaWAN server(Such as The Things NetWork, AWS, or Chirpstack..)**
23 23  )))
24 24  
25 25  (((
26 -LG01-V2 supports (% style="color:green" %)**remote management**(%%). System Integrator can easy to remote monitor the gateway and maintain it.
34 +LG01v2 uses Open Source Linux system. User can modify the Linux part and develop customize software base on it. It has (% style="color:blue" %)**1.2Ghz Quad-Core CPU**(%%) , (% style="color:blue" %)**4GB eMMC storage**(%%) and (% style="color:blue" %)**512MB RAM**(%%) for most application.
35 +
36 +LG01v2 supports (% style="color:blue" %)**remote management**(%%). System Integrator can easy to remote monitor the gateway and maintain it.
27 27  )))
28 28  
29 29  
40 +== 1.2 Specifications ==
30 30  
31 -== **1.2 Specifications** ==
32 32  
33 -
34 34  (% style="color:#037691" %)**Hardware System:**
35 35  
36 36  * CPU: Quad-core Cortex-A7 1.2Ghz
... ... @@ -48,7 +48,7 @@
48 48  * Storage Temperature: -20 ~~ 65°C
49 49  * Power Input: 5V, 2A, DC
50 50  
51 -== **1.3 Features** ==
60 +== 1.3 Features ==
52 52  
53 53  
54 54  * Open Source Debian system
... ... @@ -56,69 +56,59 @@
56 56  * Remote Management
57 57  * Auto-provisioning for batch deployment and management
58 58  * LoRa Gateway
59 -* Built-in (% style="color:#037691" %)//**The Things Network**//(%%) local LoRaWAN server
60 60  * Built-in  (% style="color:#037691" %)//**Node-Red**// (%%)local Application server
61 61  
62 -== **1.4 Block Diagram** ==
70 +== 1.4 Block Diagram ==
63 63  
64 64  
65 65  
66 -== **1.5 LED Indicators** ==
74 +== 1.5 LED Indicators ==
67 67  
68 68  
69 69  LG01-V2 has totally four LEDs, They are:
70 70  
71 71  
72 -(% style="color:blue" %)//**➢ Power LED**//(%%)//: This RED LED will be solid if the device is properly powered//
80 +(% style="color:blue" %)**➢ Power LED**[[image:image-20231014092959-4.png]](%%): This RED LED will be solid if the device is properly powered
73 73  
74 -(% style="color:blue" %)//**➢ ETH LED**//(%%)//:  This RGB LED will blink GREEN when the ETH port is connecting//
82 +(% style="color:blue" %)**➢ ETH LED**[[image:image-20231014092934-2.png]](%%):  This RGB LED will blink GREEN when the ETH port is connecting
75 75  
76 -(% style="color:blue" %)//**➢ SYS LED**//(%%)//This RGB LED will show different colors in different states~://
84 +(% style="color:blue" %)**➢ SYS LED**[[image:image-20231014092954-3.png]](%%):  Undefined yet
77 77  
78 -// **SOLID GREEN:** The device is alive with a LoRaWAN server connection.//
86 +(% style="color:blue" %)**➢ WIFI LED**[[image:image-20231014092843-1.png]](%%): This LED shows the WIFI interface connection status.
79 79  
80 -// ✓ **BLINKING GREEN:** a) Device has internet connection but no LoRaWAN Connection. or b) Device is in booting stage, in this stage, it will BLINKING GREEN for several seconds and then with BLINKING GREEN together//
81 81  
82 -// ✓** SOLID RED:** Device doesn't have an Internet connection.//
89 +== 1.6 Button Intruction ==
83 83  
84 -(% style="color:blue" %)//**➢ WIFI LED**//(%%)//: This LED shows the WIFI interface connection status.//
85 85  
86 -
87 -
88 -== **1.6 Button Intruction** ==
89 -
90 -
91 91  LG01-V2 has a black toggle button, which is:
92 92  
93 93  
94 -(% style="color:blue" %)**// //Long press 4-5s  : **(%%)the gateway will reload the Network and Initialize wifi configuration
95 +(% style="color:blue" %)**➢ Long press 4-5s  : **(%%)the gateway will reload the Network and Initialize wifi configuration
95 95  
96 - // **LED status: ** ETH LED will BLINKIND BULE Until the reload is finished.//
97 + **LED status: ** ETH LED will BLINKIND BULE Until the reload is finished.
97 97  
98 98  
99 -(% style="color:blue" %)//**➢ **//**Long press more than 10s:**(%%)**    **//the gateway will restore the factory settings.//
100 +(% style="color:blue" %)**➢ Long press more than 10s:**(%%)**    **the gateway will restore the factory settings.
100 100  
101 - //**LED status: ** ETH LED will SOLID BULE Until the restore is finished.//
102 + **LED status: ** ETH LED will SOLID BULE Until the restore is finished.
102 102  
103 103  
105 += 2. Quick Start =
104 104  
105 -= **2. Quick Start** =
106 106  
107 -
108 108  The LG01-V2 supports network access via Ethernet or Wi-Fi connection and runs without a network.
109 109  
110 110  In most cases, the first thing you need to do is make the LG01-v2 accessible to the network.
111 111  
112 112  
113 -== **2.1 Connects to the network and accesses the gateway Web UI** ==
113 +== 2.1 Access and Configure LG01-v2 ==
114 114  
115 +=== 2.1.1 Find IP address of LG01-v2 ===
115 115  
116 -== **2.1.1 connect the network.** ==
117 117  
118 +==== (% style="color:blue" %)**Method 1**(%%):  Connect via Ethernet with DHCP IP from the router ====
118 118  
119 -=== (% style="color:blue" %)**Method 1**(%%):  Connect via Ethernet with DHCP IP from the router ===
120 120  
121 -
122 122  Connect the LG01-V2 Ethernet port to your router and LG01-V2 can obtain an IP address from your router. In the router's management portal, you should be able to find what IP address the router has assigned to the LG01-V2.
123 123  
124 124  You can also use this IP to connect.
... ... @@ -126,10 +126,38 @@
126 126  
127 127  [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220622100129-1.png?width=1263&height=332&rev=1.1||alt="image-20220622100129-1.png"]]
128 128  
128 +==== (% style="color:blue" %)**Method 2**(%%):  Connect via LG01v2 Fallback IP ====
129 129  
130 -=== (% style="color:blue" %)**Method 2**(%%):  Connect via WiFi with DHCP IP from the router ===
130 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20230107084650-2.png?width=839&height=310&rev=1.1||alt="image-20230107084650-2.png" height="284" width="769"]]
131 131  
132 132  
133 +**Steps to connect via fallback IP:**
134 +
135 +~1. Connect the PC's Ethernet port to LG01v2's WAN port
136 +
137 +2. Configure PC's Ethernet port has IP: 172.31.255.253 and Netmask: 255.255.255.252
138 +
139 +**Settings ~-~-> Network & Internet ~-~-> Ethernet ~-~-> Change advanced sharing options ~-~-> Double-click"Ethernet" ~-~-> Internet Protocol Version 4 (TCP/IPv4)**
140 +
141 +
142 +As in the below photo:
143 +
144 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20230413172038-1.png?width=1243&height=732&rev=1.1||alt="image-20230413172038-1.png" height="624" width="1059"]]
145 +
146 +
147 +Configure computer Ethernet port steps video: **[[fallback ip.mp4>>url:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/fallback%20ip.mp4?rev=1.1]]**
148 +
149 +If you still can't access the LG01v2 fallback ip, follow this connection to debug : **[[Trouble Shooting>>http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20All%20Gateway%20models/LG01v2/#H10.1A0FallbackIPdoesnotwork2Chowcanuserscheck]]**
150 +
151 +3. In the PC, use IP address 172.31.255.254 to access the LG01v2 via Web or Console.
152 +
153 +[[image:image-20230506115438-13.png||height="554" width="1047"]]
154 +
155 +
156 +
157 +==== (% style="color:blue" %)**Method 3**(%%):  Connect via WiFi with DHCP IP from the router ====
158 +
159 +
133 133  [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220622100542-2.png?width=1256&height=369&rev=1.1||alt="image-20220622100542-2.png"]]
134 134  
135 135  
... ... @@ -136,74 +136,111 @@
136 136  Fill in the WiFi information by checking the box and clicking (% style="color:red" %)**Save&Apply**
137 137  
138 138  
139 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220622102702-6.png?rev=1.1||alt="image-20220622102702-6.png"]]
166 +[[image:image-20230506113332-2.png]]
140 140  
141 141  
142 142  **Wi-Fi configuration successful**
143 143  
144 144  
145 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220622102847-7.png?rev=1.1||alt="image-20220622102847-7.png"]]
172 +[[image:image-20230506113432-3.png||height="397" width="855"]]
146 146  
147 147  
175 +=== 2.1.2 Access Configure Web UI ===
148 148  
149 -= **3. Web Configure Pages** =
150 150  
151 -== **3.1 Home** ==
178 +**Web Interface**
152 152  
153 -//Shows the system running status~://
180 +Open a browser on the PC and type the LG01v2 ip address (depends on your connect method)
154 154  
155 -[[image:image-20221104155612-1.png||height="497" width="942"]]
156 156  
183 +[[(% style="background-color:yellow" %)**//http:~~/~~/IP_ADDRESS //**>>http://IP_ADDRESS]](%%) or (% style="background-color:yellow" %)//**[[http:~~/~~/172.31.255.254>>http://172.31.255.254(]]**//(Fallback IP)
157 157  
158 -== **3.2 Network Settings** ==
185 +You will see the login interface of LG01v2 as shown below.
159 159  
187 +The account details for Web Login are:
160 160  
161 -=== **3.2.1 Network ~-~-> WiFi** ===
189 +(% style="color:#4f81bd" %)**User Name: root**
162 162  
191 +(% style="color:#4f81bd" %)**Password:   dragino**
163 163  
164 -[[image:image-20221104155654-2.png||height="319" width="813"]]
193 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20230106153501-1.png?width=894&height=367&rev=1.1||alt="image-20230106153501-1.png"]]
165 165  
166 166  
196 += 3. Web Configure Pages =
167 167  
168 -=== **3.4.2 Network ~-~-> System Status** ===
198 +== 3.1 Home ==
169 169  
170 170  
171 -[[image:image-20221104155724-3.png||height="679" width="861"]]
201 +Shows the system running status:
172 172  
203 +[[image:image-20230506113531-4.png||height="430" width="818"]]
173 173  
174 174  
175 -=== **3.4.3 Network ~-~-> Firewall** ===
206 +== 3.2 Network Settings ==
176 176  
208 +=== 3.2.1 Network ~-~-> WiFi ===
177 177  
178 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220616115351-6.png?width=661&height=244&rev=1.1||alt="image-20220616115351-6.png"]]
179 179  
211 +[[image:image-20230506113602-5.png]]
180 180  
181 181  
182 -== **3.5 System** ==
214 +=== 3.4.2 Network ~-~-> System Status ===
183 183  
184 184  
185 -=== **3.5.1  System ~-~-> System Overview** ===
217 +[[image:image-20230506113623-6.png||height="511" width="672"]]
186 186  
187 187  
220 +== 3.5 System ==
221 +
222 +=== 3.5.1  System ~-~-> System Overview ===
223 +
224 +
188 188  Shows the system info:
189 189  
190 -[[image:image-20221104155907-4.png]]
227 +[[image:image-20230506113705-7.png]]
191 191  
192 192  
230 +=== 3.5.2 System ~-~-> Backup/Restore ===
193 193  
194 -=== **3.5.2 System ~-~-> Backup/Restore** ===
195 195  
233 +[[image:image-20230506113722-8.png||height="254" width="797"]]
196 196  
197 -[[image:image-20221104155928-5.png||height="334" width="880"]]
198 198  
236 +=== 3.5.3 System ~-~-> System General ===
199 199  
200 -= (% id="cke_bm_1978S" style="display:none" %)** **(%%)**4. Build in Server** =
201 201  
239 +In the **System-> System General** interface, Users can customize the configuration System Password and set Timezone.
202 202  
241 +In addition, Users can customize the FallBack IP address.
242 +
243 +[[image:image-20230506113813-10.png||height="659" width="749"]]
244 +
245 +
246 +=== 3.5.4 System ~-~-> Remoteit ===
247 +
248 +
249 +In the **System-> Remoteit** interface, users can configure the gateway to be accessed remotely via Remote.it.
250 +
251 +the users can refer to this link to configure them: **[[Monitor & Remote Access Gateway>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Monitor%20%26%20Remote%20Access%20Gateway/?Remote%20Access#H2.1A0RemoteAccessviaRemote.it.]]**
252 +
253 +[[image:image-20230506113831-11.png||height="567" width="748"]]
254 +
255 +
256 +=== 3.5.5 System ~-~-> Package Management ===
257 +
258 +
259 +In the **System ~-~-> Package Management** interface, Users can check the current version of Core Packages.
260 +
261 +[[image:image-20230506114127-12.png||height="803" width="762"]]
262 +
263 +
264 += (% id="cke_bm_1978S" style="display:none" %) (%%)4. Build in Server =
265 +
266 +
203 203  The default factory version of LG01-V2 is installed with the built-in Applicant server: (% style="color:blue" %)**Node-Red**
204 204  
205 205  
206 -[[image:image-20221104155949-6.png||height="315" width="1023"]]
270 +[[image:image-20230506113737-9.png]]
207 207  
208 208  
209 209  (% style="color:red" %)**Note:**
... ... @@ -211,18 +211,16 @@
211 211   **Path**: System ~-~-> Built-in Server
212 212  
213 213  
214 -**Troubleshooting:**
278 +(% style="color:blue" %)**Troubleshooting**
215 215  
216 -
217 217  **~ 1. URL does not jump properly**
218 218  
219 219   For the Node-Red, you can use the local IP address and the port is 1880 to access it.
220 220  
221 221  
285 +== 4.1 Application Server ~-~- Node-Red ==
222 222  
223 -== **4.1 Application Server ~-~- Node-Red** ==
224 224  
225 -
226 226  You can access the gateway's built-in AS server of (% style="color:blue" %)**Node-Red **(%%)via the URL((% style="background-color:yellow" %)__**//http:~/~/<hostname>:1880 or http:~/~/<local-IPV4-address>//**__(%%)) in your browser.
227 227  
228 228  
... ... @@ -232,12 +232,24 @@
232 232  [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220725172124-3.png?width=843&height=610&rev=1.1||alt="image-20220725172124-3.png"]]
233 233  
234 234  
235 -= **5. How to configure the Lora Gateway** =
297 += 5. How to configure the Lora Gateway =
236 236  
299 +== 5.1 Configure and Debug LoRa wireless of LG01v2 ==
237 237  
238 -== **5.1 Access the Lora configuration page** ==
239 239  
302 +First, the user needs to access the Linux console of LG01v2 via ssh
240 240  
304 +**IP address:  (% style="color:blue" %)IP address of LG01v2(%%)**
305 +
306 +**Port:  (% style="color:blue" %)22(%%)**
307 +
308 +**User Name:   (% style="color:blue" %)root(%%)**
309 +
310 +**Password:  (% style="color:blue" %)dragino(default)(%%)**
311 +
312 +[[image:image-20230504100722-3.png||height="228" width="908"]]
313 +
314 +
241 241  Users can access the Lora configuration page by running the following command, then select the option **''serial port setup"**:
242 242  
243 243  (% class="box infomessage" %)
... ... @@ -258,7 +258,9 @@
258 258  )))
259 259  
260 260  
261 -(% style="color:red" %)**Note: Enter the corresponding letter to change the configuration, like A,B,C**(%%)
335 +(% style="color:red" %)**Note: Enter the corresponding letter to change the configuration, like A,B,C**
336 +
337 +
262 262  (% style="color:red" %)[[image:image-20221029174703-3.png]]
263 263  
264 264  
... ... @@ -267,98 +267,222 @@
267 267  
268 268  (% class="box infomessage" %)
269 269  (((
270 -AT+FRE=868.100,868.100  ~-~--> TX and RX frequency
271 -AT+GROUPMOD=0,0  ~-~--> TX and RX group
272 -AT+BW=0,0  ~-~--> TX and RX Bandwidth
273 -AT+SF=12,12  ~-~--> TX and RX Spreading Factor
274 -AT+POWER=14  ~-~--> TX Power Range
346 +**AT+FRE=868.100,868.100  ~-~--> TX and RX frequency
347 +AT+GROUPMOD=0,0  ~-~-->  TX and RX group
348 +AT+BW=0,0  ~-~-->  TX and RX Bandwidth
349 +AT+SF=12,12  ~-~-->  TX and RX Spreading Factor
350 +AT+POWER=14  ~-~-->  TX Power Range
351 +AT+CRC=1,1  ~-~-->  TX and RX CRC Type
352 +AT+HEADER=0,0  ~-~-->  TX and RX Header Type
353 +AT+CR=1,1  ~-~-->  TX and RX Coding Rate
354 +AT+IQ=0,0  ~-~-->  TX and RX InvertIQ
355 +AT+PREAMBLE=8,8  ~-~-->  TX and RX Preamble Length
356 +AT+SYNCWORD=0  ~-~-->  Syncword(0: private,1: public)
357 +AT+RXMOD=65535,0  ~-~-->  Rx Timeout and Reply mode
358 +AT+RXDAFORM=1**                              
359 +)))
360 +
361 +
362 +== 5.2 Example: LG01v2 ==
363 +
364 +=== 5.2.1 Introduce for the example: ===
365 +
366 +
367 +[[image:image-20221104102736-3.png||height="282" width="723"]]
368 +
369 +
370 +In this example, there are two devices:
371 +
372 +* **LA66 Shield + UNO + DHT11**: The UNO will get the temperature and humidity and broadcast the value via LoRa protocol.
373 +* **LG01v2** : LG01v2 is set to listening the LoRa Channel which LA66 is broadcasting. When LG01v2 get the data from LA66, LG01v2 will plot the data in built-in IoT server.
374 +
375 +=== 5.2.2 Set Up LA66 Shield + UNO ===
376 +
377 +
378 +==== **Set up LA66 Module** ====
379 +
380 +
381 +LA66 Module is loaded with the firmware **[[LA66 Peer-to-Peer firmware>>http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LA66%20LoRaWAN%20Shield%20User%20Manual/Instruction%20for%20LA66%20Peer%20to%20Peer%20firmware/]] **and user can use AT Command to set up LA66 with below parameters:
382 +
383 +(((
384 +(% style="color:red" %)**LA66 Shield as Sender: **
385 +
386 +(% class="box infomessage" %)
387 +(((
388 +**LA66 Shield configuration:**
389 +
390 +AT+FRE=868.100,868.100  ~-~--> TX and RX frequency set: 868100000
391 +AT+BW=0,0  ~-~--> TX and RX Bandwidth set: 125kHz
392 +AT+SF=12,12  ~-~--> TX and RX Spreading Factor set: SF12
393 +AT+POWER=14  ~-~--> TX Power Range set: 14dBm
275 275  AT+CRC=1,1  ~-~--> TX and RX CRC Type
276 276  AT+HEADER=0,0  ~-~--> TX and RX Header Type
277 277  AT+CR=1,1  ~-~--> TX and RX Coding Rate
278 278  AT+IQ=0,0  ~-~--> TX and RX InvertIQ
279 -AT+PREAMBLE=8,8  ~-~--> TX and RX Preamble Length
398 +AT+PREAMBLE=8,8  ~-~--> TX and RX Preamble Length set: 8
280 280  AT+SYNCWORD=0  ~-~-->  Syncword**(0: private,1: public)**
281 -AT+RXMOD=65535,0  ~-~-->  Rx Timeout and Reply mode
282 -AT+RXDAFORM=1                              
400 +AT+RXMOD=6,0  ~-~-->  Rx Timeout and Reply mode
283 283  )))
402 +)))
284 284  
285 285  
286 -== **5.2 Example: LG01**-**V2 Peer-to-Peer** ==
287 287  
406 +==== **Set up Arduino UNO** ====
288 288  
289 -[[image:image-20221104102736-3.png||height="282" width="723"]]
408 +(% id="cke_bm_1033249S" style="display:none" %)** **
290 290  
410 +**Hardware Connection**
291 291  
292 -The user can run the AT command to set the LG01-V2 RX window always open as a Receiver, the LA66 Shield uses **AT+SEND=1,hello world,2,3** to simulate sending data,
412 +(% class="box infomessage" %)
413 +(((
414 +**The DHT11 sensor connects to the LA66 Shield:**
293 293  
294 -**Prerequisites: **The configuration of LG01-V2 and  LA66 Shield must match, users can use **AT+CFG** to check all configurations.
416 +**VCC  <~-~--> 3.3V (Red line)**
417 +**DATA <~-~--> PIN8 (Purple line)**
418 +**GND  <~-~--> GND (White line)**
419 +)))
295 295  
421 +[[image:image-20221108170731-5.png||height="588" width="441"]]
296 296  
297 -(% style="color:red; font-weight:bold" %)**LG01-V**(% style="color:red" %)**2 as Receiver: (configured as AT+RXMOD=65535,2)**
298 298  
299 -[[image:image-20221102140053-4.png]]
300 300  
425 +===== **1. Open Arduino IDE** =====
301 301  
302 -(% style="color:red" %)**LA66 Shield as Sender: (AT+SEND=1,hello world,2,3)**
303 303  
304 -[[image:1667456058832-484.png||height="291" width="353"]]
428 +[[image:image-20221108172149-6.png||height="650" width="542"]]
305 305  
306 306  
307 -Instruction for Peer-to-Peer firmware:[[ **Instruction **>>url:http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LA66%20LoRaWAN%20Shield%20User%20Manual/Instruction%20for%20LA66%20Peer%20to%20Peer%20firmware/]]
308 -)))
309 309  
432 +===== **2. Open project** =====
310 310  
311 -Users can import this example in node-red: **[[attach:serial USB.json||target="_blank"]]**
312 312  
313 -[[image:image-20221104100520-2.png||height="605" width="1150"]]
435 +Users can download Arduino files from this link: [[attach:Log-Temperature-Sensor-and-send-data-to-Node-red.ino||target="_blank"]]
314 314  
437 +Then click Compile and Upload to LA66 Shield,
315 315  
316 -= (% style="color:inherit; font-family:inherit; font-size:29px" %)**6. How users can access LG01**(%%)**-V​​​​​​​(% style="color:inherit; font-family:inherit; font-size:29px" %)2 using serial USB(%%)** =
439 +[[image:image-20221108172432-7.png]]
317 317  
318 318  
319 -(% style="color:blue" %)**USB TTL to LG01-V2  Connection:**
320 320  
443 +===== **3. Open the Serial Monitor to check the LA66 Shield data** =====
321 321  
322 -Port 1 of the UART on the LG01-V2 is GND
323 323  
446 +The UNO will now reads the temperature and humidity data from the sensor and broadcast it via LoRa wireless,
447 +
448 +[[image:image-20221108174840-8.png||height="731" width="671"]]
449 +
450 +
451 +
452 +Sending out data as below.
453 +
454 +[[image:image-20221108175113-9.png||height="556" width="998"]]
455 +
456 +
457 +=== 5.2.3 Set Up LG01v2 ===
458 +
459 +
460 +Configure LG01v2 LoRa channel parameters so it can get data from LA66 Shield
461 +
462 +(% style="color:red; font-weight:bold" %)**LG01v**(% style="color:red" %)**2 as Receiver: (configured as AT+RXMOD=65535,2)**
463 +
324 324  (% class="box infomessage" %)
325 325  (((
326 -**TXD  <~-~--> UART RXD (Gray line)**
466 +**LG01-V2 configuration:**
327 327  
328 -**RXD  <~-~--> UART TXD (White line)**
468 +AT+FRE=868.100,868.100  ~-~--> TX and RX frequency set: 868100000
469 +AT+BW=0,0  ~-~--> TX and RX Bandwidth set: 125kHz
470 +AT+SF=12,12  ~-~--> TX and RX Spreading Factor set: SF12
471 +AT+POWER=14  ~-~--> TX Power Range set: 14dBm
472 +AT+CRC=1,1  ~-~--> TX and RX CRC Type
473 +AT+HEADER=0,0  ~-~--> TX and RX Header Type
474 +AT+CR=1,1  ~-~--> TX and RX Coding Rate
475 +AT+IQ=0,0  ~-~--> TX and RX InvertIQ
476 +AT+PREAMBLE=8,8  ~-~--> TX and RX Preamble Length set: 8
477 +AT+SYNCWORD=0  ~-~-->  Syncword**(0: private,1: public)**
478 +AT+RXMOD=65535,2  ~-~-->  Rx Timeout and Reply mode, RX window always open**(0:No ACK, 1:Reply mode, 2:Send an ACK once got a message from another device. ACK Content is 0x00 FF )**
479 +)))
329 329  
330 -**GND <~-~--> GND (Black line)**
481 +
482 +=== 5.2.4 Test result ===
483 +
484 +
485 +After the above configuration is complete, users can send test simulation data to check whether the configuration is correct, In LA66 sheild serial console send:(% style="color:red" %)**(AT+SEND=1,hello world,2,3).**
331 331  )))
332 332  
488 +When LG01v2 replies with ACK when it receives a packet sent by LA66 sheild.
333 333  
334 -**LG01-V2 UART connection photo**
490 +[[image:image-20221108164413-2.png]]
335 335  
336 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220804163015-1.png?width=466&height=621&rev=1.1||alt="image-20220804163015-1.png"]]
337 337  
338 338  
494 +In the real-time log of LG01v2:
339 339  
340 -In the PC, you can use the serial port tool(such as [[putty>>url:http://www.chiark.greenend.org.uk/~~sgtatham/putty/download.html]] in Windows), you need to set the serial baud rate to (% style="color:blue" %)**115200**(%%) to access the serial console for LG01v2. LG01v2 will output system info once power on as below:
496 +[[image:image-20221108170314-3.png]]
341 341  
342 342  
343 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220804164928-3.png?width=332&height=320&rev=1.1||alt="image-20220804164928-3.png"]]
499 +=== 5.2.5 Plot data chart in LG01v2 ===
344 344  
345 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220804164747-2.png?width=594&height=622&rev=1.1||alt="image-20220804164747-2.png"]]
346 346  
502 +User can plot the temperature and humidity chat via LG01v2 built-in IoT server.
347 347  
348 -= **7. FAQ** =
504 +User can import this example in Node-Red: [[attach:Log-Temperature-Sensor-and-send-data-to-Node-red.json||target="_blank"]]
349 349  
506 +[[image:image-20221108180334-10.png||height="651" width="1141"]]
350 350  
351 -== **7.1 How does LG01-V2 communicate with Lora shield (LoRa.h)** ==
352 352  
509 +The temperature and humidity chart is displayed in the built-in node-red UI
353 353  
354 -This example describes how to use LG01-V2, LoRa Shield to set up a LoRa network
511 +**Browser input: (% style="background-color:yellow" %)__//http:~/~/<local-IPV4-address>//__(%%)**
355 355  
513 +[[image:image-20221108180458-11.png||height="402" width="1137"]]
514 +
515 +
516 +
517 += 6. OTA System Update =
518 +
519 +
520 +LG01v2 supports system auto update via OTA, please see **[[this URL>>url:http://wiki.dragino.com/xwiki/bin/view/OTA%20Update/]]** for the detail of this feature.
521 +
522 +
523 += 7. How users can access LG01v2 using serial USB =
524 +
525 +**USB TTL to LG01v2  Connection:**
526 +
527 +Port 1 of the UART on the LG01v2 is GND
528 +
529 +(% class="box infomessage" %)
530 +(((
531 +**TXD  <~-~--> UART RXD (Gray line)**
532 +
533 +**RXD  <~-~--> UART TXD (White line)**
534 +
535 +**GND <~-~--> GND (Black line)**
536 +)))
537 +
538 +**LG01v2 UART connection photo**
539 +
540 +[[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20230421094319-2.png?width=392&height=351&rev=1.1||alt="image-20230421094319-2.png"]]
541 +
542 +In the PC,you can use the serial port tool(such as [[putty>>url:http://www.chiark.greenend.org.uk/~~sgtatham/putty/download.html]] in Windows), you need to set the serial baud rate to (% style="color:blue" %)**115200**(%%) to access the serial console for LPS8v2. LPS8v2 will output system info once power on as below:
543 +
544 +[[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220804164928-3.png?width=332&height=320&rev=1.1||alt="image-20220804164928-3.png"]]
545 +
546 +[[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220804164747-2.png?width=594&height=622&rev=1.1||alt="image-20220804164747-2.png"]]
547 +
548 +
549 += 8. FAQ =
550 +
551 +== 8.1 How does LG01v2 communicate with Lora shield (LoRa.h) ==
552 +
553 +
554 +This example describes how to use LG01v2, LoRa Shield to set up a LoRa network,
555 +
356 356  [[image:image-20221103152238-8.png||height="251" width="654"]]
357 357  
358 358  
359 -(% style="color:red" %)**Prerequisites: The configurations of LG01-V2 and Lora shield must match**
559 +(% style="color:red" %)**Prerequisites: The configurations of LG01v2 and Lora shield must match**
360 360  
361 -**LG01-V2 configuration:**
561 +**LG01v2 configuration:**
362 362  
363 363  (% class="box infomessage" %)
364 364  (((
... ... @@ -376,6 +376,8 @@
376 376  AT+RXDAFORM=1    
377 377  )))
378 378  
579 +
580 +
379 379  **Lora shield configuration:**
380 380  
381 381  Lora Shield example: [[attach:LoRa_Shield_Sketch_For_MQTT.ino||target="_blank"]] , [[attach:arduino-LoRa-master.zip||target="_blank"]]
... ... @@ -383,65 +383,199 @@
383 383  [[image:image-20221101161318-2.png]]
384 384  
385 385  
386 -**Test LG01-V2 to receive Lora Shield data:**
387 387  
589 +**Test LG01v2 to receive Lora Shield data:**
590 +
388 388  [[image:image-20221101161951-3.png]]
389 389  
390 390  
391 -**Test the LG01-V​​​​​​​2 to send data:**
392 392  
595 +**Test the LG01v2 to send data:**
596 +
393 393  [[image:image-20221101162527-4.png]]
394 394  
395 395  
396 -= (% style="color:inherit; font-family:inherit; font-size:29px" %)**8. Supports**(%%) =
600 +== 8.2 How does LG01v2 communicate with Heltec LoRa Node ==
397 397  
398 398  
603 +This example describes how to use LG01v2 and Heltec LoRa Node to set up a LoRa network,
604 +
605 +[[image:image-20221112161111-2.png||height="258" width="692"]]
606 +
607 +(% style="color:red" %)**Prerequisites: The configurations of LG01v2 and Lora shield must match**
608 +
609 +
610 +**LG01v2 configuration:**
611 +
612 +(% class="box infomessage" %)
399 399  (((
400 -**//If you are experiencing issues and can't solve them, you can send mail to [[support@dragino.com>>mailto:support@dragino.com]].//**
614 +AT+FRE=868.100,868.100  ~-~--> TX and RX frequency set: 868100000
615 +AT+BW=0,0  ~-~--> TX and RX Bandwidth set: 125kHz
616 +AT+SF=12,12  ~-~--> TX and RX Spreading Factor set: SF12
617 +AT+POWER=14  ~-~--> TX Power Range
618 +AT+CRC=1,1  ~-~--> TX and RX CRC Type
619 +AT+HEADER=0,0  ~-~--> TX and RX Header Type
620 +AT+CR=1,1  ~-~--> TX and RX Coding Rate
621 +AT+IQ=0,0  ~-~--> TX and RX InvertIQ
622 +AT+PREAMBLE=8,8  ~-~--> TX and RX Preamble Length set: 8
623 +AT+SYNCWORD=0  ~-~-->  Syncword**(0: private,1: public), **the corresponding Lora shield syncword is 0x12
624 +AT+RXMOD=65535,0  ~-~-->  Rx Timeout and Reply mode,RX window always open
625 +AT+RXDAFORM=1  ~-~--> RX data format**(0: Hex ,1: String)**
401 401  )))
402 402  
628 +
629 +After we upload the sketch to Heltec LoRa Node, we can see below output from Arduino.
630 +
631 +Lora Shield example: [[attach:LoRa_send_trial.ino||target="_blank"]]
632 +
633 +[[image:image-20221112162733-3.png||height="524" width="927"]]
634 +
635 +
636 +And we can see the logread of gateway as below, means the packet arrive gateway:
637 +
638 +[[image:image-20221112163119-4.png||height="808" width="560"]]
639 +
640 +
641 +== 8.3 How does LG01v2 communicate with LoRaWAN node ==
642 +
643 +
644 +This example describes how to use LG01v2 and LSN50 to set up a  network,
645 +
646 +In this case, users need to set LSN50 to work in ABP mode and transmit in only one frequency.
647 +
648 +Assume we have a LG01v2 working in the frequency 868100000 now, below is the steps.
649 +
650 +
651 +**Step1: **Configure the LG01v2
652 +
653 +(% class="box infomessage" %)
403 403  (((
404 -**//With your question as detailed as possible. We will reply and help you in the shortest.//**
655 +AT+FRE=868.100,868.100  ~-~--> TX and RX frequency set: 868100000
656 +AT+BW=0,0  ~-~--> TX and RX Bandwidth set: 125kHz
657 +AT+SF=12,12  ~-~--> TX and RX Spreading Factor set: SF12
658 +AT+SYNCWORD=1  ~-~-->  Syncword**(0: private,1: public), **the corresponding Lora shield syncword is 0x12
659 +)))
405 405  
661 +**Step2:  **Run AT commands to make the LSN50 work in Single frequency and ABP mode.
406 406  
663 +For more information on how to use AT commands in LSN50v2, please refer to this link: [[LSN50v2-S31-S31B Use AT Command>>http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/#H4.A0UseATCommand]]
407 407  
408 -= **9. Reference** =
665 +Below are the AT commands:
409 409  
667 +(% class="box infomessage" %)
668 +(((
669 +AT+FDR  ~-~--> Reset Parameters to Factory Default, Keys Reserve
670 +AT+NJM=0  ~-~-->  Set to ABP mode
671 +AT+ADR=0  ~-~-->  Set the Adaptive Data Rate Off
672 +AT+DR=0  ~-~--> Set Data Rate (Set AT+DR=3 for 915 band)
673 +AT+TDC=300000  ~-~-->  Set transmit interval to 5 minutes
674 +AT+CHS=868100000  ~-~--> Set transmit frequency to 868.1Mhz
675 +AT+DADDR=FFFFF111  ~-~--> Set Device Address to 26 01 1A F1
676 +ATZ  ~-~--> Reset MCU
677 +)))
410 410  
411 -* Install Tago Core: Refer **Install Tago Core in LPS8v2** in[[ Instruction>>doc:Main.Tago\.IO.WebHome]].
412 -* [[Advance OS Reference Guide for LPS8v2>>doc:Main.Armbian OS instruction.WebHome]].
679 +**Step3:  **Check result
413 413  
681 +
682 +
683 +User can plot the temperature and humidity chat via LG01v2 built-in IoT server.
684 +
685 +User can import this example in Node-Red: [[attach:LG01v2_LSN50v2_S31.json||target="_blank"]]
686 +
687 +
688 +First the user needs to fill in the NwkSkey and AppSkey in the LoraWan Packet Decrypter node.
689 +
690 +[[image:image-20230620103535-2.png||height="591" width="1138"]]
691 +
692 +[[image:image-20230620103153-1.png||height="610" width="1141"]]
693 +
694 +
695 +The data will be displayed in the built-in node-red UI
696 +
697 +**Browser input: (% style="background-color:yellow" %)__//http:~/~/<local-IPV4-address>//__(%%)**
698 +
699 +[[image:image-20230620103923-3.png||height="476" width="1138"]]
700 +
701 +
702 +== 8.4 How can users factory reset LG01v2 ==
703 +
704 +
705 +Users can download the image of LG01v2 from this link:[[dragino-lg01v2-1.7-0210>>https://www.dropbox.com/scl/fi/g0si61lcrvdjyto4ma951/dragino-lg01v2-1.7-0210.zip?rlkey=t03oqo493r2p7ign488rs2jsv&dl=0]]
706 +
707 +
708 +Then follow the steps in the link below to restore factory Settings to LG01v2:
709 +
710 +[[How to flash a new image(OS) to the gateway>>url:https://wiki.dragino.com/xwiki/bin/view/Main/Armbian%20OS%20instruction/#H2.3A0Howtoflashanewimage28OS29tothegateway28LPS8V229]]
711 +
712 +
713 += 9. Trouble Shooting =
714 +
715 +== 9.1  Fallback IP does not work, how can users check ==
716 +
717 +
718 +When the computer has completed the above fallback IP configuration,the LG01v2 Web UI is still not accessible via fallback IP.
719 +
720 +
721 +**1.Check whether the configuration is correct**
722 +
723 +Run the CMD command to ipconfig and ping 172.31.255.254.
724 +
725 +If this fails, the user needs to reconfigure.
726 +
727 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20230413170224-3.png?width=707&height=433&rev=1.1||alt="image-20230413170224-3.png"]]
728 +
729 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20230413170246-4.png?rev=1.1||alt="image-20230413170246-4.png"]]
730 +
731 +
732 +**2. Check whether the firewall is disabled**
733 +
734 +If the firewall is not down, this will affect access to the gateway.
735 +
736 +
737 += (% style="color:inherit; font-family:inherit; font-size:29px" %)10. Supports(%%) =
738 +
739 +
740 +(((
741 +If you are experiencing issues and can't solve them, you can send mail to [[support@dragino.com>>mailto:support@dragino.com]].
742 +)))
743 +
744 +(((
745 +With your question as detailed as possible. We will reply and help you in the shortest.
746 +
747 +
748 += 11. Reference =
749 +
750 +
751 +* Install Tago Core: Refer **Install Tago Core in LG01v2** in[[ Instruction>>doc:Main.Tago\.IO.WebHome]].
752 +
753 +* [[Advance OS Reference Guide for L>>doc:Main.Armbian OS instruction.WebHome]]G01v2.
754 +
414 414  
415 415  )))
416 416  
417 -= **10. Order Info** =
758 += 12. Order Info =
418 418  
419 419  
420 -(% style="color:#0000ff" %)**LPS8v2-XXX-YYY**
761 +(% style="color:#0000ff" %)**LG01v2-XXX-YYY**
421 421  
422 422  (% style="color:#0000ff" %)**XXX**(% style="color:black" %): Frequency Band
423 423  
424 -* (% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band
425 -* (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band
426 -* (% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band
427 -* (% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band
428 -* (% style="color:red" %)**US915**(%%): LoRaWAN US915 band
429 -* (% style="color:red" %)**IN865**(%%):  LoRaWAN IN865 band
765 +* (% style="color:red" %)**868**(%%): For frequency : 863 ~~ 870Mhz
766 +* (% style="color:red" %)**915**(%%): For frequency : 902 ~~ 928Mhz
430 430  
431 431  (% style="color:#0000ff" %)**YYY**(% style="color:black" %): 4G Cellular Option
432 432  
433 -* (% style="color:red" %)**E**(%%):  EMEA, Korea, Thailand, India.
434 -* (% style="color:red" %)**A**(%%):  North America/ Rogers/AT&T/T-Mobile.
435 -* (% style="color:red" %)**AU**(%%): Latin America, New Zeland, Taiwan
436 -* (% style="color:red" %)**J**(%%):  Japan, DOCOMO/SoftBank/ KDDI
770 +* (% style="color:red" %)**EC25-E**(% style="color:black" %):  EMEA, Korea, Thailand, India
771 +* (% style="color:red" %)**EC25-AFX**(% style="color:black" %): America: Verizon, AT&T(FirstNet), U.S.Cellular; Canada: Telus
772 +* (% style="color:red" %)**EC25-AUX**(% style="color:black" %): Latin America, New Zeland, Taiwan
773 +* (% style="color:red" %)**EC25-J**(% style="color:black" %):  Japan, DOCOMO, SoftBankKDDI
437 437  
438 438  More info about valid bands, please see [[EC25-E product page>>url:https://www.quectel.com/product/ec25.htm]].
439 439  
440 440  
778 += 13. Manufacturer Info =
441 441  
442 -= **10. Manufacturer Info** =
443 443  
444 -
445 445  **Shenzhen Dragino Technology Development co. LTD**
446 446  
447 447  Room 202, Block B, BCT Incubation Bases (BaoChengTai),  No.8 CaiYunRoad
... ... @@ -449,10 +449,9 @@
449 449  LongCheng Street, LongGang District ; Shenzhen 518116,China
450 450  
451 451  
788 += 14. FCC Warning =
452 452  
453 -= **11. FCC Warning** =
454 454  
455 -
456 456  (((
457 457  This equipment has been tested and found to comply with the limits for a Class B digital device, pursuant to Part 15 of the FCC Rules. These limits are designed to provide reasonable protection against harmful interference in a residential installation. This equipment generates uses and can radiate radio frequency energy and, if not installed and used in accordance with the instructions, may cause harmful interference to radio communications. However, there is no guarantee that interference will not occur in a particular installation. If this equipment does cause harmful interference to radio or television reception, which can be determined by turning the equipment off and on, the user is encouraged to try to correct the interference by one or more of the following measures:
458 458  )))
... ... @@ -482,7 +482,6 @@
482 482  (((
483 483  The antenna(s) used for this transmitter must be installed to provide a separation distance of at least 20 cm from all persons and must not be co-located or operating in conjunction with any other antenna or transmitter.
484 484  
820 +
485 485  
486 486  )))
487 -
488 -~)~)~)
LG01v2_LSN50v2_S31.json
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +16.5 KB
Content
... ... @@ -1,0 +1,587 @@
1 +[
2 + {
3 + "id": "5e07f5eeeb2a969b",
4 + "type": "tab",
5 + "label": "流程 1",
6 + "disabled": false,
7 + "info": "",
8 + "env": []
9 + },
10 + {
11 + "id": "9c26fa2f19e2b556",
12 + "type": "function",
13 + "z": "5e07f5eeeb2a969b",
14 + "name": "hex to base64",
15 + "func": "var input = msg.payload;\nvar base64 = Buffer.from(input, 'hex').toString('base64');\nmsg.payload = base64;\nreturn msg;",
16 + "outputs": 1,
17 + "noerr": 0,
18 + "initialize": "",
19 + "finalize": "",
20 + "libs": [],
21 + "x": 220,
22 + "y": 160,
23 + "wires": [
24 + [
25 + "075bc9172a4c6570",
26 + "3601a98894805fbe"
27 + ]
28 + ]
29 + },
30 + {
31 + "id": "ee0480c81e66d657",
32 + "type": "function",
33 + "z": "5e07f5eeeb2a969b",
34 + "name": "function 4",
35 + "func": "var bytes = msg.payload[\"uplink_message\"]\nvar data = msg.payload[\"out\"]\nvar mode = (parseInt(data.substring(12, 14), 16) & 0x7C) >> 2;\nif (mode != 2)\n{\nvar bat = (parseInt(data.substring(0,4),16)&0x3FFF)/1000;\nvar TempC1 = (parseFloat(parseInt(data.substring(4, 8),16)/10).toFixed(2));\nvar ADC_CH0V = (parseInt(data.substring(8, 12), 16) ) / 1000;\nvar Digital_IStatus = (parseInt((data.substring(8, 12),16) & 0x02))?\"H\":\"L\"; \n\nif (mode != 6) {\n\n var EXTI_Trigger = ((parseInt(data.substring(12, 14), 16) & 0x01))? \"TRUE\" : \"FALSE\";\n\n var Door_status = ((parseInt(data.substring(12, 14), 16) & 0x80))? \"CLOSE\" : \"OPEN\";\n\n}\n}\nif (mode == 0) {\n\n var Work_mode = \"IIC\";\n\n if ((parseInt(data.substring(18, 22), 16)) == 0){\n\n var Illum = (parseInt(data.substring(8, 12), 16));\n\n }\n\n else {\n\n var TempC_SHT = parseFloat(((parseInt(data.substring(14, 18), 16)) / 10).toFixed(2));\n\n var Hum_SHT = parseFloat((((parseInt(data.substring(18, 22), 16))) / 10).toFixed(1));\n\n }\n \n}\n\nelse if (mode == 1) {\n\n var Work_mode = \" Distance\";\n\n var Distance_cm = parseFloat((((parseInt(data.substring(14, 18), 16))) / 10).toFixed(1));\n\n if (((parseInt(data.substring(18, 22), 16))) != 65535){\n\n var Distance_signal_strength = parseFloat(((parseInt(data.substring(18, 22), 16))).toFixed(0));\n\n }\n\n}\n\nelse if (mode == 2) {\n\n var Work_mode = \" 3ADC\";\n\n var BatV = (parseInt(data.substring(18, 22), 16)) / 10;\n\n var ADC_CH0V = ((parseInt(data.substring(0, 4), 16))) / 1000;\n\n var ADC_CH1V = ((parseInt(data.substring(4, 8), 16))) / 1000;\n\n var ADC_CH4V = ((parseInt(data.substring(8, 12), 16))) / 1000;\n\n var Digital_IStatus = ((parseInt(data.substring(12, 14), 16)) & 0x02) ? \"H\" : \"L\";\n\n var EXTI_Trigger = ((parseInt(data.substring(12, 14), 16)) & 0x01) ? \"TRUE\" : \"FALSE\";\n\n var Door_status = ((parseInt(data.substring(13, 14), 16)) & 0x80) ? \"CLOSE\" : \"OPEN\";\n\n if ((parseInt(data.substring(18, 22), 16) === 0)) {\n\n var Illum = ((parseInt(data.substring(14, 18), 16)));\n\n }\n\n else {\n\n var TempC_SHT = parseFloat((((parseInt(data.substring(14, 18), 16))) / 10).toFixed(2));\n\n var Hum_SHT = parseFloat((((parseInt(data.substring(18, 24), 16))) / 10).toFixed(1));\n\n }\n\n}\n\nelse if (mode == 3) {\n\n var Work_mode = \"3DS18B20\";\n\n var TempC2 = parseFloat((((parseInt(data.substring(14, 18), 16))) / 10).toFixed(2));\n\n var TempC3 = parseFloat((((parseInt(data.substring(18, 24), 16))) / 10).toFixed(1));\n\n\n\n}\n\nelse if (mode == 4) {\n\n var Work_mode = \"Weight\";\n\n var Weight = ((parseInt(data.substring(14, 18), 16)));\n\n}\n\nelse if (mode == 5) {\n\n var Work_mode = \"Count\";\n\n var Count = ((parseInt(data.substring(14, 22), 16)));\n\n}\n\n\n\nvar b = { payload: bat }, c = { payload: TempC1 }, d = { payload: ADC_CH0V }, e = { payload: Digital_IStatus }, f = { payload: EXTI_Trigger }, g = { payload: Door_status }, j = { payload: TempC_SHT }, s = { payload: Hum_SHT }, k = { payload: Work_mode };\nreturn [b,c,d,e,f,g,j,k,s];",
36 + "outputs": 9,
37 + "noerr": 0,
38 + "initialize": "",
39 + "finalize": "",
40 + "libs": [],
41 + "x": 660,
42 + "y": 300,
43 + "wires": [
44 + [
45 + "fd22b92d2b8de0fb"
46 + ],
47 + [
48 + "3307256a4e1ea53a"
49 + ],
50 + [
51 + "a3fd8302ec399e31"
52 + ],
53 + [
54 + "c7d1f63ff5f0026a"
55 + ],
56 + [
57 + "159967056da52706"
58 + ],
59 + [
60 + "a21581a41adc1714"
61 + ],
62 + [
63 + "7bb78b78445ac9e3"
64 + ],
65 + [
66 + "0364752170ed6228"
67 + ],
68 + [
69 + "65293155d71d54b9"
70 + ]
71 + ]
72 + },
73 + {
74 + "id": "e763b293d42dbdd5",
75 + "type": "change",
76 + "z": "5e07f5eeeb2a969b",
77 + "name": "",
78 + "rules": [
79 + {
80 + "t": "change",
81 + "p": "payload",
82 + "pt": "msg",
83 + "from": "Data: (HEX:)",
84 + "fromt": "str",
85 + "to": "",
86 + "tot": "str"
87 + },
88 + {
89 + "t": "change",
90 + "p": "payload",
91 + "pt": "msg",
92 + "from": " ",
93 + "fromt": "str",
94 + "to": "",
95 + "tot": "str"
96 + }
97 + ],
98 + "action": "",
99 + "property": "",
100 + "from": "",
101 + "to": "",
102 + "reg": false,
103 + "x": 420,
104 + "y": 60,
105 + "wires": [
106 + [
107 + "9c26fa2f19e2b556",
108 + "416a930e89291528"
109 + ]
110 + ]
111 + },
112 + {
113 + "id": "075bc9172a4c6570",
114 + "type": "lorawan-packet-decrypt-nwkey-appkey",
115 + "z": "5e07f5eeeb2a969b",
116 + "name": "FFFFF111",
117 + "nsw": "CCFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA",
118 + "asw": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC",
119 + "x": 510,
120 + "y": 160,
121 + "wires": [
122 + [
123 + "ee0480c81e66d657"
124 + ]
125 + ]
126 + },
127 + {
128 + "id": "13dc77a4e2bb4f72",
129 + "type": "serial in",
130 + "z": "5e07f5eeeb2a969b",
131 + "name": "",
132 + "serial": "bb1c0e81fd51fa9e",
133 + "x": 190,
134 + "y": 60,
135 + "wires": [
136 + [
137 + "e763b293d42dbdd5"
138 + ]
139 + ]
140 + },
141 + {
142 + "id": "3307256a4e1ea53a",
143 + "type": "ui_chart",
144 + "z": "5e07f5eeeb2a969b",
145 + "name": "",
146 + "group": "c1fddd37879528e5",
147 + "order": 1,
148 + "width": 0,
149 + "height": 0,
150 + "label": "TempC1",
151 + "chartType": "line",
152 + "legend": "false",
153 + "xformat": "HH:mm:ss",
154 + "interpolate": "linear",
155 + "nodata": "",
156 + "dot": false,
157 + "ymin": "",
158 + "ymax": "",
159 + "removeOlder": 1,
160 + "removeOlderPoints": "",
161 + "removeOlderUnit": "3600",
162 + "cutout": 0,
163 + "useOneColor": false,
164 + "useUTC": false,
165 + "colors": [
166 + "#1f77b4",
167 + "#aec7e8",
168 + "#ff7f0e",
169 + "#2ca02c",
170 + "#98df8a",
171 + "#d62728",
172 + "#ff9896",
173 + "#9467bd",
174 + "#c5b0d5"
175 + ],
176 + "outputs": 1,
177 + "useDifferentColor": false,
178 + "className": "",
179 + "x": 940,
180 + "y": 160,
181 + "wires": [
182 + []
183 + ]
184 + },
185 + {
186 + "id": "a3fd8302ec399e31",
187 + "type": "ui_chart",
188 + "z": "5e07f5eeeb2a969b",
189 + "name": "",
190 + "group": "6d46fdae9f413f7b",
191 + "order": 1,
192 + "width": 0,
193 + "height": 0,
194 + "label": "ADC_CH0V",
195 + "chartType": "line",
196 + "legend": "false",
197 + "xformat": "HH:mm:ss",
198 + "interpolate": "linear",
199 + "nodata": "",
200 + "dot": false,
201 + "ymin": "",
202 + "ymax": "",
203 + "removeOlder": 1,
204 + "removeOlderPoints": "",
205 + "removeOlderUnit": "3600",
206 + "cutout": 0,
207 + "useOneColor": false,
208 + "useUTC": false,
209 + "colors": [
210 + "#1f77b4",
211 + "#aec7e8",
212 + "#ff7f0e",
213 + "#2ca02c",
214 + "#98df8a",
215 + "#d62728",
216 + "#ff9896",
217 + "#9467bd",
218 + "#c5b0d5"
219 + ],
220 + "outputs": 1,
221 + "useDifferentColor": false,
222 + "className": "",
223 + "x": 950,
224 + "y": 200,
225 + "wires": [
226 + []
227 + ]
228 + },
229 + {
230 + "id": "fd22b92d2b8de0fb",
231 + "type": "ui_chart",
232 + "z": "5e07f5eeeb2a969b",
233 + "name": "",
234 + "group": "bb5657c2a8c290a3",
235 + "order": 1,
236 + "width": 0,
237 + "height": 0,
238 + "label": "BatV",
239 + "chartType": "line",
240 + "legend": "false",
241 + "xformat": "HH:mm:ss",
242 + "interpolate": "linear",
243 + "nodata": "",
244 + "dot": false,
245 + "ymin": "",
246 + "ymax": "",
247 + "removeOlder": 1,
248 + "removeOlderPoints": "",
249 + "removeOlderUnit": "3600",
250 + "cutout": 0,
251 + "useOneColor": false,
252 + "useUTC": false,
253 + "colors": [
254 + "#1f77b4",
255 + "#aec7e8",
256 + "#ff7f0e",
257 + "#2ca02c",
258 + "#98df8a",
259 + "#d62728",
260 + "#ff9896",
261 + "#9467bd",
262 + "#c5b0d5"
263 + ],
264 + "outputs": 1,
265 + "useDifferentColor": false,
266 + "className": "",
267 + "x": 930,
268 + "y": 120,
269 + "wires": [
270 + []
271 + ]
272 + },
273 + {
274 + "id": "c7d1f63ff5f0026a",
275 + "type": "ui_text",
276 + "z": "5e07f5eeeb2a969b",
277 + "group": "528e965cef294158",
278 + "order": 0,
279 + "width": "6",
280 + "height": "4",
281 + "name": "",
282 + "label": "Digital_IStatus",
283 + "format": "{{msg.payload}}",
284 + "layout": "col-center",
285 + "className": "",
286 + "x": 960,
287 + "y": 240,
288 + "wires": []
289 + },
290 + {
291 + "id": "159967056da52706",
292 + "type": "ui_text",
293 + "z": "5e07f5eeeb2a969b",
294 + "group": "5e615e3edb5999a0",
295 + "order": 0,
296 + "width": "6",
297 + "height": "4",
298 + "name": "",
299 + "label": "EXTI_Trigger",
300 + "format": "{{msg.payload}}",
301 + "layout": "col-center",
302 + "className": "",
303 + "x": 950,
304 + "y": 280,
305 + "wires": []
306 + },
307 + {
308 + "id": "7bb78b78445ac9e3",
309 + "type": "ui_chart",
310 + "z": "5e07f5eeeb2a969b",
311 + "name": "",
312 + "group": "5f7fec85295a7f7c",
313 + "order": 0,
314 + "width": 0,
315 + "height": 0,
316 + "label": "TempC_SHT",
317 + "chartType": "line",
318 + "legend": "false",
319 + "xformat": "HH:mm:ss",
320 + "interpolate": "linear",
321 + "nodata": "",
322 + "dot": false,
323 + "ymin": "",
324 + "ymax": "",
325 + "removeOlder": 1,
326 + "removeOlderPoints": "",
327 + "removeOlderUnit": "3600",
328 + "cutout": 0,
329 + "useOneColor": false,
330 + "useUTC": false,
331 + "colors": [
332 + "#1f77b4",
333 + "#aec7e8",
334 + "#ff7f0e",
335 + "#2ca02c",
336 + "#98df8a",
337 + "#d62728",
338 + "#ff9896",
339 + "#9467bd",
340 + "#c5b0d5"
341 + ],
342 + "outputs": 1,
343 + "useDifferentColor": false,
344 + "className": "",
345 + "x": 950,
346 + "y": 360,
347 + "wires": [
348 + []
349 + ]
350 + },
351 + {
352 + "id": "0364752170ed6228",
353 + "type": "ui_text",
354 + "z": "5e07f5eeeb2a969b",
355 + "group": "3cb616f18674c42a",
356 + "order": 0,
357 + "width": "6",
358 + "height": "4",
359 + "name": "",
360 + "label": "Work_mode",
361 + "format": "{{msg.payload}}",
362 + "layout": "col-center",
363 + "className": "",
364 + "x": 950,
365 + "y": 400,
366 + "wires": []
367 + },
368 + {
369 + "id": "65293155d71d54b9",
370 + "type": "ui_chart",
371 + "z": "5e07f5eeeb2a969b",
372 + "name": "",
373 + "group": "bb2e35e7a931c198",
374 + "order": 0,
375 + "width": 0,
376 + "height": 0,
377 + "label": "Hum_SHT",
378 + "chartType": "line",
379 + "legend": "false",
380 + "xformat": "HH:mm:ss",
381 + "interpolate": "linear",
382 + "nodata": "",
383 + "dot": false,
384 + "ymin": "",
385 + "ymax": "",
386 + "removeOlder": 1,
387 + "removeOlderPoints": "",
388 + "removeOlderUnit": "3600",
389 + "cutout": 0,
390 + "useOneColor": false,
391 + "useUTC": false,
392 + "colors": [
393 + "#1f77b4",
394 + "#aec7e8",
395 + "#ff7f0e",
396 + "#2ca02c",
397 + "#98df8a",
398 + "#d62728",
399 + "#ff9896",
400 + "#9467bd",
401 + "#c5b0d5"
402 + ],
403 + "outputs": 1,
404 + "useDifferentColor": false,
405 + "className": "",
406 + "x": 950,
407 + "y": 440,
408 + "wires": [
409 + []
410 + ]
411 + },
412 + {
413 + "id": "a21581a41adc1714",
414 + "type": "ui_text",
415 + "z": "5e07f5eeeb2a969b",
416 + "group": "9109ae41eee353df",
417 + "order": 0,
418 + "width": "6",
419 + "height": "4",
420 + "name": "",
421 + "label": "Door_status",
422 + "format": "{{msg.payload}}",
423 + "layout": "col-center",
424 + "className": "",
425 + "x": 950,
426 + "y": 320,
427 + "wires": []
428 + },
429 + {
430 + "id": "416a930e89291528",
431 + "type": "debug",
432 + "z": "5e07f5eeeb2a969b",
433 + "name": "debug 2",
434 + "active": true,
435 + "tosidebar": true,
436 + "console": false,
437 + "tostatus": false,
438 + "complete": "false",
439 + "statusVal": "",
440 + "statusType": "auto",
441 + "x": 660,
442 + "y": 60,
443 + "wires": []
444 + },
445 + {
446 + "id": "3601a98894805fbe",
447 + "type": "debug",
448 + "z": "5e07f5eeeb2a969b",
449 + "name": "debug 3",
450 + "active": true,
451 + "tosidebar": true,
452 + "console": false,
453 + "tostatus": false,
454 + "complete": "false",
455 + "statusVal": "",
456 + "statusType": "auto",
457 + "x": 380,
458 + "y": 240,
459 + "wires": []
460 + },
461 + {
462 + "id": "bb1c0e81fd51fa9e",
463 + "type": "serial-port",
464 + "serialport": "/dev/ttyUSB0",
465 + "serialbaud": "9600",
466 + "databits": "8",
467 + "parity": "none",
468 + "stopbits": "1",
469 + "waitfor": "",
470 + "dtr": "none",
471 + "rts": "none",
472 + "cts": "none",
473 + "dsr": "none",
474 + "newline": "\\n",
475 + "bin": "false",
476 + "out": "char",
477 + "addchar": "\\r\\n",
478 + "responsetimeout": "10000"
479 + },
480 + {
481 + "id": "c1fddd37879528e5",
482 + "type": "ui_group",
483 + "name": "BatV",
484 + "tab": "abb98f80600a5448",
485 + "order": 1,
486 + "disp": true,
487 + "width": "6",
488 + "collapse": false,
489 + "className": ""
490 + },
491 + {
492 + "id": "6d46fdae9f413f7b",
493 + "type": "ui_group",
494 + "name": "ADC_CH0V",
495 + "tab": "abb98f80600a5448",
496 + "order": 1,
497 + "disp": true,
498 + "width": "6",
499 + "collapse": false,
500 + "className": ""
501 + },
502 + {
503 + "id": "bb5657c2a8c290a3",
504 + "type": "ui_group",
505 + "name": "BatV",
506 + "tab": "abb98f80600a5448",
507 + "order": 3,
508 + "disp": true,
509 + "width": "6",
510 + "collapse": false,
511 + "className": ""
512 + },
513 + {
514 + "id": "528e965cef294158",
515 + "type": "ui_group",
516 + "name": "Digital_IStatus",
517 + "tab": "abb98f80600a5448",
518 + "order": 4,
519 + "disp": true,
520 + "width": "6",
521 + "collapse": false,
522 + "className": ""
523 + },
524 + {
525 + "id": "5e615e3edb5999a0",
526 + "type": "ui_group",
527 + "name": "EXTI_Trigger",
528 + "tab": "abb98f80600a5448",
529 + "order": 5,
530 + "disp": true,
531 + "width": "6",
532 + "collapse": false,
533 + "className": ""
534 + },
535 + {
536 + "id": "5f7fec85295a7f7c",
537 + "type": "ui_group",
538 + "name": "TempC_SHT",
539 + "tab": "abb98f80600a5448",
540 + "order": 6,
541 + "disp": true,
542 + "width": "6",
543 + "collapse": false,
544 + "className": ""
545 + },
546 + {
547 + "id": "3cb616f18674c42a",
548 + "type": "ui_group",
549 + "name": "Work_mode",
550 + "tab": "abb98f80600a5448",
551 + "order": 7,
552 + "disp": true,
553 + "width": "6",
554 + "collapse": false,
555 + "className": ""
556 + },
557 + {
558 + "id": "bb2e35e7a931c198",
559 + "type": "ui_group",
560 + "name": "Hum_SHT",
561 + "tab": "abb98f80600a5448",
562 + "order": 8,
563 + "disp": true,
564 + "width": "6",
565 + "collapse": false,
566 + "className": ""
567 + },
568 + {
569 + "id": "9109ae41eee353df",
570 + "type": "ui_group",
571 + "name": "Door_status",
572 + "tab": "abb98f80600a5448",
573 + "order": 9,
574 + "disp": true,
575 + "width": "6",
576 + "collapse": false,
577 + "className": ""
578 + },
579 + {
580 + "id": "abb98f80600a5448",
581 + "type": "ui_tab",
582 + "name": "LSN50v2 S31",
583 + "icon": "LSN50v2 S31",
584 + "disabled": false,
585 + "hidden": false
586 + }
587 +]
LoRa_send_trial.ino
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +3.4 KB
Content
... ... @@ -1,0 +1,124 @@
1 +#include "LoRaWan_APP.h"
2 +#include "Arduino.h"
3 +
4 +
5 +#define RF_FREQUENCY 868100000 // Hz
6 +
7 +#define TX_OUTPUT_POWER 5 // dBm
8 +
9 +#define LORA_BANDWIDTH 0 // [0: 125 kHz,
10 + // 1: 250 kHz,
11 + // 2: 500 kHz,
12 + // 3: Reserved]
13 +#define LORA_SPREADING_FACTOR 12 // [SF7..SF12]
14 +#define LORA_CODINGRATE 1 // [1: 4/5,
15 + // 2: 4/6,
16 + // 3: 4/7,
17 + // 4: 4/8]
18 +#define LORA_PREAMBLE_LENGTH 8 // Same for Tx and Rx
19 +#define LORA_SYMBOL_TIMEOUT 0 // Symbols
20 +#define LORA_FIX_LENGTH_PAYLOAD_ON false
21 +#define LORA_IQ_INVERSION_ON false
22 +
23 +
24 +#define RX_TIMEOUT_VALUE 1000
25 +#define BUFFER_SIZE 30 // Define the payload size here
26 +
27 +float tem,hum;
28 +char tem_1[8]={"\0"},hum_1[8]={"\0"};
29 +char *node_id = "<GW01>"; //From LG01 via web Local Channel settings on MQTT.Please refer <> dataformat in here.
30 +
31 +char txpacket[BUFFER_SIZE];
32 +char rxpacket[BUFFER_SIZE];
33 +
34 +double txNumber;
35 +
36 +bool lora_idle=true;
37 +
38 +static RadioEvents_t RadioEvents;
39 +void OnTxDone( void );
40 +void OnTxTimeout( void );
41 +
42 +void dhtTem()
43 +{
44 + tem = random(15,40);
45 + hum = random(40,80);
46 + Serial.println(F("The temperature and humidity:"));
47 + Serial.print("[");
48 + Serial.print(tem);
49 + Serial.print("℃");
50 + Serial.print(",");
51 + Serial.print(hum);
52 + Serial.print("%");
53 + Serial.print("]");
54 + Serial.println("");
55 +}
56 +
57 +void dhtWrite()
58 +{
59 + char data[50] = "\0";
60 + for(int i = 0; i < 50; i++)
61 + {
62 + data[i] = node_id[i];
63 + }
64 +
65 + dtostrf(tem,0,1,tem_1);
66 + dtostrf(hum,0,1,hum_1);
67 +
68 + strcat(data,"tem_a=");
69 + strcat(data,tem_1);
70 + strcat(data,"&hum_a=");
71 + strcat(data,hum_1);
72 + strcpy((char *)txpacket,data);
73 +
74 + Serial.println((char *)txpacket);
75 +}
76 +
77 +void setup() {
78 + Serial.begin(115200);
79 + Mcu.begin();
80 +
81 + txNumber=0;
82 +
83 + RadioEvents.TxDone = OnTxDone;
84 + RadioEvents.TxTimeout = OnTxTimeout;
85 +
86 + Radio.Init( &RadioEvents );
87 + Radio.SetChannel( RF_FREQUENCY );
88 + Radio.SetTxConfig( MODEM_LORA, TX_OUTPUT_POWER, 0, LORA_BANDWIDTH,
89 + LORA_SPREADING_FACTOR, LORA_CODINGRATE,
90 + LORA_PREAMBLE_LENGTH, LORA_FIX_LENGTH_PAYLOAD_ON,
91 + true, 0, 0, LORA_IQ_INVERSION_ON, 3000 );
92 + }
93 +
94 +
95 +
96 +void loop()
97 +{
98 + if(lora_idle == true)
99 + {
100 + delay(5000);
101 + txNumber += 0.01;
102 + Serial.println(txNumber);
103 +
104 + dhtTem();
105 + dhtWrite();
106 + Radio.Send( (uint8_t *)txpacket, strlen(txpacket) ); //send the package out
107 + lora_idle = false;
108 + }
109 + Radio.IrqProcess( );
110 +}
111 +
112 +void OnTxDone( void )
113 +{
114 + Serial.println("TX done......");
115 + lora_idle = true;
116 +}
117 +
118 +void OnTxTimeout( void )
119 +{
120 + Radio.Sleep( );
121 + Serial.println("TX Timeout......");
122 + lora_idle = true;
123 +}
124 +
Log-Temperature-Sensor-and-send-data-to-Node-red.ino
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +3.6 KB
Content
... ... @@ -1,0 +1,150 @@
1 +#include <SoftwareSerial.h>
2 +#include <Adafruit_Sensor.h>
3 +#include <DHT.h>
4 +#include <DHT_U.h>
5 +/*
6 +
7 +*/
8 +#define DHTPIN 8 // Digital pin connected to the DHT sensor
9 +#define DHTTYPE DHT11 // DHT 11
10 +DHT_Unified dht(DHTPIN, DHTTYPE);
11 +
12 +String inputString = ""; // a String to hold incoming data
13 +bool stringComplete = false; // whether the string is complete
14 +
15 +long old_time=millis();
16 +long new_time;
17 +
18 +long uplink_interval=30000; //ms
19 +
20 +float DHT11_temp;
21 +float DHT11_hum;
22 +
23 +SoftwareSerial ss(10, 11); // Arduino RX, TX ,
24 +
25 +char rxbuff[128];
26 +uint8_t rxbuff_index=0;
27 +
28 +void setup() {
29 + // initialize serial
30 + Serial.begin(9600);
31 +
32 + ss.begin(9600);
33 + ss.listen();
34 +
35 + // reserve 200 bytes for the inputString:
36 + inputString.reserve(200);
37 +
38 + dht.begin();
39 + sensor_t sensor;
40 + dht.temperature().getSensor(&sensor);
41 + dht.humidity().getSensor(&sensor);
42 +
43 + ss.println("ATZ");//reset LA66
44 +}
45 +
46 +void loop() {
47 +
48 + while ( ss.available()) {
49 + // get the new byte:
50 + char inChar = (char) ss.read();
51 + // add it to the inputString:
52 + inputString += inChar;
53 +
54 + rxbuff[rxbuff_index++]=inChar;
55 +
56 + if(rxbuff_index>128)
57 + {
58 + rxbuff[rxbuff_index]='\0';
59 + rxbuff_index=0;
60 + break;
61 + }
62 +
63 + // if the incoming character is a newline, set a flag so the main loop can
64 + // do something about it:
65 + if (inChar == '\n' || inChar == '\r') {
66 + stringComplete = true;
67 + rxbuff[rxbuff_index]='\0';
68 + rxbuff_index=0;
69 + }
70 + }
71 +
72 + while ( Serial.available()) {
73 + // get the new byte:
74 + char inChar = (char) Serial.read();
75 + // add it to the inputString:
76 + inputString += inChar;
77 + // if the incoming character is a newline, set a flag so the main loop can
78 + // do something about it:
79 + if (inChar == '\n' || inChar == '\r') {
80 + ss.print(inputString);
81 + inputString = "\0";
82 + }
83 + }
84 +
85 + // print the string when a newline arrives:
86 + if (stringComplete) {
87 + Serial.print(inputString);
88 +
89 + // clear the string:
90 + inputString = "\0";
91 + stringComplete = false;
92 + }
93 +
94 + new_time = millis();
95 +
96 + if(new_time-old_time>=uplink_interval){
97 + old_time = new_time;
98 +
99 + Serial.print(F("\r\n"));
100 + // Get temperature event and print its value.
101 + sensors_event_t event;
102 + dht.temperature().getEvent(&event);
103 + if (isnan(event.temperature)) {
104 + Serial.println(F("Error reading temperature!"));
105 + DHT11_temp=327.67;
106 + }
107 + else {
108 + DHT11_temp=event.temperature;
109 +
110 + if(DHT11_temp>60){
111 + DHT11_temp=60;
112 + }
113 + else if(DHT11_temp<-20){
114 + DHT11_temp=-20;
115 + }
116 + }
117 + // Get humidity event and print its value.
118 + dht.humidity().getEvent(&event);
119 + if (isnan(event.relative_humidity)) {
120 + DHT11_hum=327.67;
121 + Serial.println(F("Error reading humidity!"));
122 + }
123 + else {
124 + DHT11_hum=event.relative_humidity;
125 +
126 + if(DHT11_hum>100){
127 + DHT11_hum=100;
128 + }
129 + else if(DHT11_hum<0){
130 + DHT11_hum=0;
131 + }
132 + }
133 +
134 + Serial.print(F("Temperature: "));
135 + Serial.print(DHT11_temp);
136 + Serial.println(F("°C"));
137 + Serial.print(F("Humidity: "));
138 + Serial.print(DHT11_hum);
139 + Serial.println(F("%"));
140 + Serial.print(F("\r\n"));
141 +
142 + char sensor_data_buff[128]="\0";
143 +
144 + //confirm status,Fport,payload length,payload(HEX)
145 + snprintf(sensor_data_buff,128,"AT+SEND=0,%02X%02X%02X%02X,0,0",(short)(DHT11_temp*100)>>8 & 0xFF,(short)(DHT11_temp*100) & 0xFF,(short)(DHT11_hum*10)>>8 & 0xFF,(short)(DHT11_hum*10) & 0xFF);
146 + ss.print(sensor_data_buff);
147 + ss.print('\r');
148 + }
149 +}
150 +
Log-Temperature-Sensor-and-send-data-to-Node-red.json
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +10.3 KB
Content
... ... @@ -1,0 +1,443 @@
1 +[
2 + {
3 + "id": "0a211e08511c4bdd",
4 + "type": "tab",
5 + "label": "serial USB",
6 + "disabled": false,
7 + "info": "",
8 + "env": []
9 + },
10 + {
11 + "id": "4a97eeb54bf57a6d",
12 + "type": "serial in",
13 + "z": "0a211e08511c4bdd",
14 + "name": "",
15 + "serial": "bb1c0e81fd51fa9e",
16 + "x": 210,
17 + "y": 60,
18 + "wires": [
19 + [
20 + "d2493fb9752dbcab",
21 + "d183c255973c979e"
22 + ]
23 + ]
24 + },
25 + {
26 + "id": "12f1eeb8049675c1",
27 + "type": "inject",
28 + "z": "0a211e08511c4bdd",
29 + "name": "AT+SEND=1,hello world,0,3",
30 + "props": [
31 + {
32 + "p": "payload"
33 + }
34 + ],
35 + "repeat": "",
36 + "crontab": "",
37 + "once": false,
38 + "onceDelay": 0.1,
39 + "topic": "",
40 + "payload": "AT+SEND=1,hello world,0,3",
41 + "payloadType": "str",
42 + "x": 220,
43 + "y": 260,
44 + "wires": [
45 + [
46 + "a5d2f5df63a2148e"
47 + ]
48 + ]
49 + },
50 + {
51 + "id": "a5d2f5df63a2148e",
52 + "type": "serial out",
53 + "z": "0a211e08511c4bdd",
54 + "name": "",
55 + "serial": "bb1c0e81fd51fa9e",
56 + "x": 540,
57 + "y": 260,
58 + "wires": []
59 + },
60 + {
61 + "id": "dc04c04a0bc0e5db",
62 + "type": "inject",
63 + "z": "0a211e08511c4bdd",
64 + "name": "",
65 + "props": [
66 + {
67 + "p": "payload"
68 + }
69 + ],
70 + "repeat": "",
71 + "crontab": "",
72 + "once": false,
73 + "onceDelay": 0.1,
74 + "topic": "",
75 + "payload": "ATZ",
76 + "payloadType": "str",
77 + "x": 290,
78 + "y": 320,
79 + "wires": [
80 + [
81 + "a5d2f5df63a2148e"
82 + ]
83 + ]
84 + },
85 + {
86 + "id": "3de96a220e28e8f0",
87 + "type": "inject",
88 + "z": "0a211e08511c4bdd",
89 + "name": "AT+FRE",
90 + "props": [
91 + {
92 + "p": "payload"
93 + }
94 + ],
95 + "repeat": "",
96 + "crontab": "",
97 + "once": false,
98 + "onceDelay": 0.1,
99 + "topic": "",
100 + "payload": "AT+FRE=868.100,868.100",
101 + "payloadType": "str",
102 + "x": 280,
103 + "y": 380,
104 + "wires": [
105 + [
106 + "a5d2f5df63a2148e"
107 + ]
108 + ]
109 + },
110 + {
111 + "id": "638725a47a1e4365",
112 + "type": "inject",
113 + "z": "0a211e08511c4bdd",
114 + "name": "AT+BW",
115 + "props": [
116 + {
117 + "p": "payload"
118 + }
119 + ],
120 + "repeat": "",
121 + "crontab": "",
122 + "once": false,
123 + "onceDelay": 0.1,
124 + "topic": "",
125 + "payload": "AT+BW=0,0",
126 + "payloadType": "str",
127 + "x": 290,
128 + "y": 440,
129 + "wires": [
130 + [
131 + "a5d2f5df63a2148e"
132 + ]
133 + ]
134 + },
135 + {
136 + "id": "85ba9868d1f3e82c",
137 + "type": "inject",
138 + "z": "0a211e08511c4bdd",
139 + "name": "AT+SF",
140 + "props": [
141 + {
142 + "p": "payload"
143 + }
144 + ],
145 + "repeat": "",
146 + "crontab": "",
147 + "once": false,
148 + "onceDelay": 0.1,
149 + "topic": "",
150 + "payload": "AT+SF=12,12",
151 + "payloadType": "str",
152 + "x": 290,
153 + "y": 500,
154 + "wires": [
155 + [
156 + "a5d2f5df63a2148e"
157 + ]
158 + ]
159 + },
160 + {
161 + "id": "144b2749013ffe57",
162 + "type": "inject",
163 + "z": "0a211e08511c4bdd",
164 + "name": "AT+RXMOD",
165 + "props": [
166 + {
167 + "p": "payload"
168 + }
169 + ],
170 + "repeat": "",
171 + "crontab": "",
172 + "once": false,
173 + "onceDelay": 0.1,
174 + "topic": "",
175 + "payload": "AT+RXMOD=65535,2",
176 + "payloadType": "str",
177 + "x": 270,
178 + "y": 560,
179 + "wires": [
180 + [
181 + "a5d2f5df63a2148e"
182 + ]
183 + ]
184 + },
185 + {
186 + "id": "bfb2e9df89dc5e2f",
187 + "type": "inject",
188 + "z": "0a211e08511c4bdd",
189 + "name": "AT+SYNCWORD",
190 + "props": [
191 + {
192 + "p": "payload"
193 + }
194 + ],
195 + "repeat": "",
196 + "crontab": "",
197 + "once": false,
198 + "onceDelay": 0.1,
199 + "topic": "",
200 + "payload": "AT+SYNCWORD=0",
201 + "payloadType": "str",
202 + "x": 260,
203 + "y": 620,
204 + "wires": [
205 + [
206 + "a5d2f5df63a2148e"
207 + ]
208 + ]
209 + },
210 + {
211 + "id": "d2493fb9752dbcab",
212 + "type": "function",
213 + "z": "0a211e08511c4bdd",
214 + "name": "function 1",
215 + "func": "var data = msg.payload\nif (data.substring(0, 4) == \"Data\") {\n if (data.substring(6, 12) == \"(HEX:)\") {\n var temp = data.substring(13, 15) + data.substring(16, 18)\n var hum = data.substring(19, 21) + data.substring(22, 24)\n var temp1 = parseInt(temp, 16) / 100\n var hum1 = parseInt(hum, 16) / 10\n var a1 = { payload: temp1 }, a2 = { payload: hum1 }\n }\n if (data.substring(6, 15) == \"(String:)\") {\n var temp = data.substring(20, 24)\n var hum = data.substring(29, 34)\n a1 = { payload: temp }, a2 = { payload: hum }\n }\n}\nif (data.substring(0, 4) == \"Rssi\") {\n var rssi = data.substring(6)\n var a3 = { payload: rssi }\n}\nreturn [a1, a2, a3];",
216 + "outputs": 3,
217 + "noerr": 0,
218 + "initialize": "",
219 + "finalize": "",
220 + "libs": [],
221 + "x": 420,
222 + "y": 60,
223 + "wires": [
224 + [
225 + "c17d94be4317ae6c"
226 + ],
227 + [
228 + "20c5b1c7f42fa6bb"
229 + ],
230 + [
231 + "39a8462f3d748eef"
232 + ]
233 + ]
234 + },
235 + {
236 + "id": "39a8462f3d748eef",
237 + "type": "ui_chart",
238 + "z": "0a211e08511c4bdd",
239 + "name": "",
240 + "group": "ef41b39771110fa5",
241 + "order": 1,
242 + "width": 0,
243 + "height": 0,
244 + "label": "RSSI",
245 + "chartType": "line",
246 + "legend": "false",
247 + "xformat": "dd HH:mm",
248 + "interpolate": "linear",
249 + "nodata": "",
250 + "dot": true,
251 + "ymin": "",
252 + "ymax": "",
253 + "removeOlder": 1,
254 + "removeOlderPoints": "",
255 + "removeOlderUnit": "3600",
256 + "cutout": 0,
257 + "useOneColor": false,
258 + "useUTC": false,
259 + "colors": [
260 + "#1f77b4",
261 + "#aec7e8",
262 + "#ff7f0e",
263 + "#2ca02c",
264 + "#98df8a",
265 + "#d62728",
266 + "#ff9896",
267 + "#9467bd",
268 + "#c5b0d5"
269 + ],
270 + "outputs": 1,
271 + "useDifferentColor": false,
272 + "className": "",
273 + "x": 670,
274 + "y": 180,
275 + "wires": [
276 + []
277 + ]
278 + },
279 + {
280 + "id": "c17d94be4317ae6c",
281 + "type": "ui_chart",
282 + "z": "0a211e08511c4bdd",
283 + "name": "",
284 + "group": "7e1d1c102cf74e6b",
285 + "order": 1,
286 + "width": 0,
287 + "height": 0,
288 + "label": "Temperature",
289 + "chartType": "line",
290 + "legend": "false",
291 + "xformat": "HH:mm:ss",
292 + "interpolate": "linear",
293 + "nodata": "",
294 + "dot": true,
295 + "ymin": "",
296 + "ymax": "",
297 + "removeOlder": 1,
298 + "removeOlderPoints": "",
299 + "removeOlderUnit": "3600",
300 + "cutout": 0,
301 + "useOneColor": false,
302 + "useUTC": false,
303 + "colors": [
304 + "#1f77b4",
305 + "#aec7e8",
306 + "#ff7f0e",
307 + "#2ca02c",
308 + "#98df8a",
309 + "#d62728",
310 + "#ff9896",
311 + "#9467bd",
312 + "#c5b0d5"
313 + ],
314 + "outputs": 1,
315 + "useDifferentColor": false,
316 + "className": "",
317 + "x": 690,
318 + "y": 100,
319 + "wires": [
320 + []
321 + ]
322 + },
323 + {
324 + "id": "20c5b1c7f42fa6bb",
325 + "type": "ui_chart",
326 + "z": "0a211e08511c4bdd",
327 + "name": "",
328 + "group": "3f5d139f158d7c1c",
329 + "order": 2,
330 + "width": 0,
331 + "height": 0,
332 + "label": "Humidity",
333 + "chartType": "line",
334 + "legend": "false",
335 + "xformat": "HH:mm:ss",
336 + "interpolate": "linear",
337 + "nodata": "",
338 + "dot": true,
339 + "ymin": "",
340 + "ymax": "",
341 + "removeOlder": 1,
342 + "removeOlderPoints": "",
343 + "removeOlderUnit": "3600",
344 + "cutout": 0,
345 + "useOneColor": false,
346 + "useUTC": false,
347 + "colors": [
348 + "#1f77b4",
349 + "#aec7e8",
350 + "#ff7f0e",
351 + "#2ca02c",
352 + "#98df8a",
353 + "#d62728",
354 + "#ff9896",
355 + "#9467bd",
356 + "#c5b0d5"
357 + ],
358 + "outputs": 1,
359 + "useDifferentColor": false,
360 + "className": "",
361 + "x": 680,
362 + "y": 140,
363 + "wires": [
364 + []
365 + ]
366 + },
367 + {
368 + "id": "d183c255973c979e",
369 + "type": "debug",
370 + "z": "0a211e08511c4bdd",
371 + "name": "debug 1",
372 + "active": true,
373 + "tosidebar": true,
374 + "console": false,
375 + "tostatus": false,
376 + "complete": "false",
377 + "statusVal": "",
378 + "statusType": "auto",
379 + "x": 420,
380 + "y": 180,
381 + "wires": []
382 + },
383 + {
384 + "id": "bb1c0e81fd51fa9e",
385 + "type": "serial-port",
386 + "serialport": "/dev/ttyUSB0",
387 + "serialbaud": "9600",
388 + "databits": "8",
389 + "parity": "none",
390 + "stopbits": "1",
391 + "waitfor": "",
392 + "dtr": "none",
393 + "rts": "none",
394 + "cts": "none",
395 + "dsr": "none",
396 + "newline": "\\n",
397 + "bin": "false",
398 + "out": "char",
399 + "addchar": "\\r\\n",
400 + "responsetimeout": "10000"
401 + },
402 + {
403 + "id": "ef41b39771110fa5",
404 + "type": "ui_group",
405 + "name": "rssi",
406 + "tab": "abb98f80600a5448",
407 + "order": 3,
408 + "disp": true,
409 + "width": "6",
410 + "collapse": false,
411 + "className": ""
412 + },
413 + {
414 + "id": "7e1d1c102cf74e6b",
415 + "type": "ui_group",
416 + "name": "TEM",
417 + "tab": "abb98f80600a5448",
418 + "order": 4,
419 + "disp": true,
420 + "width": "6",
421 + "collapse": false,
422 + "className": ""
423 + },
424 + {
425 + "id": "3f5d139f158d7c1c",
426 + "type": "ui_group",
427 + "name": "HUM",
428 + "tab": "abb98f80600a5448",
429 + "order": 2,
430 + "disp": true,
431 + "width": "6",
432 + "collapse": false,
433 + "className": ""
434 + },
435 + {
436 + "id": "abb98f80600a5448",
437 + "type": "ui_tab",
438 + "name": "LG01v2",
439 + "icon": "LG01v2",
440 + "disabled": false,
441 + "hidden": false
442 + }
443 +]
Log-Temperature-Sensor-and-send-data-to-node-red.json
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +10.1 KB
Content
... ... @@ -1,0 +1,443 @@
1 +[
2 + {
3 + "id": "5f10779accc05655",
4 + "type": "tab",
5 + "label": "serial USB",
6 + "disabled": false,
7 + "info": "",
8 + "env": []
9 + },
10 + {
11 + "id": "4ea60ce4df40717c",
12 + "type": "serial in",
13 + "z": "5f10779accc05655",
14 + "name": "",
15 + "serial": "bb1c0e81fd51fa9e",
16 + "x": 210,
17 + "y": 60,
18 + "wires": [
19 + [
20 + "40eac96a52733f7a",
21 + "79722a224bb22c96"
22 + ]
23 + ]
24 + },
25 + {
26 + "id": "fe5a93a52b6adcf1",
27 + "type": "inject",
28 + "z": "5f10779accc05655",
29 + "name": "AT+SEND=1,hello world,0,3",
30 + "props": [
31 + {
32 + "p": "payload"
33 + }
34 + ],
35 + "repeat": "",
36 + "crontab": "",
37 + "once": false,
38 + "onceDelay": 0.1,
39 + "topic": "",
40 + "payload": "AT+SEND=1,hello world,0,3",
41 + "payloadType": "str",
42 + "x": 220,
43 + "y": 260,
44 + "wires": [
45 + [
46 + "3f8add7e2e1d1d17"
47 + ]
48 + ]
49 + },
50 + {
51 + "id": "3f8add7e2e1d1d17",
52 + "type": "serial out",
53 + "z": "5f10779accc05655",
54 + "name": "",
55 + "serial": "bb1c0e81fd51fa9e",
56 + "x": 540,
57 + "y": 260,
58 + "wires": []
59 + },
60 + {
61 + "id": "16e7d3d83d9e9415",
62 + "type": "inject",
63 + "z": "5f10779accc05655",
64 + "name": "",
65 + "props": [
66 + {
67 + "p": "payload"
68 + }
69 + ],
70 + "repeat": "",
71 + "crontab": "",
72 + "once": false,
73 + "onceDelay": 0.1,
74 + "topic": "",
75 + "payload": "ATZ",
76 + "payloadType": "str",
77 + "x": 290,
78 + "y": 320,
79 + "wires": [
80 + [
81 + "3f8add7e2e1d1d17"
82 + ]
83 + ]
84 + },
85 + {
86 + "id": "09ea381519629dae",
87 + "type": "inject",
88 + "z": "5f10779accc05655",
89 + "name": "AT+FRE",
90 + "props": [
91 + {
92 + "p": "payload"
93 + }
94 + ],
95 + "repeat": "",
96 + "crontab": "",
97 + "once": false,
98 + "onceDelay": 0.1,
99 + "topic": "",
100 + "payload": "AT+FRE=868.100,868.100",
101 + "payloadType": "str",
102 + "x": 280,
103 + "y": 380,
104 + "wires": [
105 + [
106 + "3f8add7e2e1d1d17"
107 + ]
108 + ]
109 + },
110 + {
111 + "id": "5167a7f904013ffd",
112 + "type": "inject",
113 + "z": "5f10779accc05655",
114 + "name": "AT+BW",
115 + "props": [
116 + {
117 + "p": "payload"
118 + }
119 + ],
120 + "repeat": "",
121 + "crontab": "",
122 + "once": false,
123 + "onceDelay": 0.1,
124 + "topic": "",
125 + "payload": "AT+BW=0,0",
126 + "payloadType": "str",
127 + "x": 290,
128 + "y": 440,
129 + "wires": [
130 + [
131 + "3f8add7e2e1d1d17"
132 + ]
133 + ]
134 + },
135 + {
136 + "id": "dbe4abbc730c76e6",
137 + "type": "inject",
138 + "z": "5f10779accc05655",
139 + "name": "AT+SF",
140 + "props": [
141 + {
142 + "p": "payload"
143 + }
144 + ],
145 + "repeat": "",
146 + "crontab": "",
147 + "once": false,
148 + "onceDelay": 0.1,
149 + "topic": "",
150 + "payload": "AT+SF=12,12",
151 + "payloadType": "str",
152 + "x": 290,
153 + "y": 500,
154 + "wires": [
155 + [
156 + "3f8add7e2e1d1d17"
157 + ]
158 + ]
159 + },
160 + {
161 + "id": "3be3ab296a75d512",
162 + "type": "inject",
163 + "z": "5f10779accc05655",
164 + "name": "AT+RXMOD",
165 + "props": [
166 + {
167 + "p": "payload"
168 + }
169 + ],
170 + "repeat": "",
171 + "crontab": "",
172 + "once": false,
173 + "onceDelay": 0.1,
174 + "topic": "",
175 + "payload": "AT+RXMOD=65535,2",
176 + "payloadType": "str",
177 + "x": 270,
178 + "y": 560,
179 + "wires": [
180 + [
181 + "3f8add7e2e1d1d17"
182 + ]
183 + ]
184 + },
185 + {
186 + "id": "7a03d1413c60ea1c",
187 + "type": "inject",
188 + "z": "5f10779accc05655",
189 + "name": "AT+SYNCWORD",
190 + "props": [
191 + {
192 + "p": "payload"
193 + }
194 + ],
195 + "repeat": "",
196 + "crontab": "",
197 + "once": false,
198 + "onceDelay": 0.1,
199 + "topic": "",
200 + "payload": "AT+SYNCWORD=0",
201 + "payloadType": "str",
202 + "x": 260,
203 + "y": 620,
204 + "wires": [
205 + [
206 + "3f8add7e2e1d1d17"
207 + ]
208 + ]
209 + },
210 + {
211 + "id": "40eac96a52733f7a",
212 + "type": "function",
213 + "z": "5f10779accc05655",
214 + "name": "function 1",
215 + "func": "var data = msg.payload\nif (data.substring(0, 4) == \"Data\")\n{\n if (data.substring(6, 12) == \"(HEX:)\")\n {\n var temp = data.substring(13, 15) + data.substring(16, 18)\n var hum = data.substring(19, 21) + data.substring(22, 24)\n var temp1 = parseInt(temp, 16)/100\n var hum1 = parseInt(hum, 16)/10\n var a1 = { payload: temp1 }, a2 = { payload: hum1 }\n }\n}\nif (data.substring(0, 4) == \"Rssi\")\n{\n var rssi = data.substring(6)\n var a3 = { payload: rssi }\n}\nreturn [a1,a2,a3];\n \n\n",
216 + "outputs": 3,
217 + "noerr": 0,
218 + "initialize": "",
219 + "finalize": "",
220 + "libs": [],
221 + "x": 420,
222 + "y": 60,
223 + "wires": [
224 + [
225 + "81edb003937f1a92"
226 + ],
227 + [
228 + "c63593404a60d9dc"
229 + ],
230 + [
231 + "61ca71032888887b"
232 + ]
233 + ]
234 + },
235 + {
236 + "id": "61ca71032888887b",
237 + "type": "ui_chart",
238 + "z": "5f10779accc05655",
239 + "name": "",
240 + "group": "ef41b39771110fa5",
241 + "order": 1,
242 + "width": 0,
243 + "height": 0,
244 + "label": "RSSI",
245 + "chartType": "line",
246 + "legend": "false",
247 + "xformat": "dd HH:mm",
248 + "interpolate": "linear",
249 + "nodata": "",
250 + "dot": true,
251 + "ymin": "",
252 + "ymax": "",
253 + "removeOlder": 1,
254 + "removeOlderPoints": "",
255 + "removeOlderUnit": "3600",
256 + "cutout": 0,
257 + "useOneColor": false,
258 + "useUTC": false,
259 + "colors": [
260 + "#1f77b4",
261 + "#aec7e8",
262 + "#ff7f0e",
263 + "#2ca02c",
264 + "#98df8a",
265 + "#d62728",
266 + "#ff9896",
267 + "#9467bd",
268 + "#c5b0d5"
269 + ],
270 + "outputs": 1,
271 + "useDifferentColor": false,
272 + "className": "",
273 + "x": 670,
274 + "y": 180,
275 + "wires": [
276 + []
277 + ]
278 + },
279 + {
280 + "id": "81edb003937f1a92",
281 + "type": "ui_chart",
282 + "z": "5f10779accc05655",
283 + "name": "",
284 + "group": "7e1d1c102cf74e6b",
285 + "order": 1,
286 + "width": 0,
287 + "height": 0,
288 + "label": "Temperature",
289 + "chartType": "line",
290 + "legend": "false",
291 + "xformat": "HH:mm:ss",
292 + "interpolate": "linear",
293 + "nodata": "",
294 + "dot": true,
295 + "ymin": "",
296 + "ymax": "",
297 + "removeOlder": 1,
298 + "removeOlderPoints": "",
299 + "removeOlderUnit": "3600",
300 + "cutout": 0,
301 + "useOneColor": false,
302 + "useUTC": false,
303 + "colors": [
304 + "#1f77b4",
305 + "#aec7e8",
306 + "#ff7f0e",
307 + "#2ca02c",
308 + "#98df8a",
309 + "#d62728",
310 + "#ff9896",
311 + "#9467bd",
312 + "#c5b0d5"
313 + ],
314 + "outputs": 1,
315 + "useDifferentColor": false,
316 + "className": "",
317 + "x": 690,
318 + "y": 100,
319 + "wires": [
320 + []
321 + ]
322 + },
323 + {
324 + "id": "c63593404a60d9dc",
325 + "type": "ui_chart",
326 + "z": "5f10779accc05655",
327 + "name": "",
328 + "group": "3f5d139f158d7c1c",
329 + "order": 2,
330 + "width": 0,
331 + "height": 0,
332 + "label": "Humidity",
333 + "chartType": "line",
334 + "legend": "false",
335 + "xformat": "HH:mm:ss",
336 + "interpolate": "linear",
337 + "nodata": "",
338 + "dot": true,
339 + "ymin": "",
340 + "ymax": "",
341 + "removeOlder": 1,
342 + "removeOlderPoints": "",
343 + "removeOlderUnit": "3600",
344 + "cutout": 0,
345 + "useOneColor": false,
346 + "useUTC": false,
347 + "colors": [
348 + "#1f77b4",
349 + "#aec7e8",
350 + "#ff7f0e",
351 + "#2ca02c",
352 + "#98df8a",
353 + "#d62728",
354 + "#ff9896",
355 + "#9467bd",
356 + "#c5b0d5"
357 + ],
358 + "outputs": 1,
359 + "useDifferentColor": false,
360 + "className": "",
361 + "x": 680,
362 + "y": 140,
363 + "wires": [
364 + []
365 + ]
366 + },
367 + {
368 + "id": "79722a224bb22c96",
369 + "type": "debug",
370 + "z": "5f10779accc05655",
371 + "name": "debug 1",
372 + "active": true,
373 + "tosidebar": true,
374 + "console": false,
375 + "tostatus": false,
376 + "complete": "false",
377 + "statusVal": "",
378 + "statusType": "auto",
379 + "x": 420,
380 + "y": 180,
381 + "wires": []
382 + },
383 + {
384 + "id": "bb1c0e81fd51fa9e",
385 + "type": "serial-port",
386 + "serialport": "/dev/ttyUSB0",
387 + "serialbaud": "9600",
388 + "databits": "8",
389 + "parity": "none",
390 + "stopbits": "1",
391 + "waitfor": "",
392 + "dtr": "none",
393 + "rts": "none",
394 + "cts": "none",
395 + "dsr": "none",
396 + "newline": "\\n",
397 + "bin": "false",
398 + "out": "char",
399 + "addchar": "\\r\\n",
400 + "responsetimeout": "10000"
401 + },
402 + {
403 + "id": "ef41b39771110fa5",
404 + "type": "ui_group",
405 + "name": "rssi",
406 + "tab": "abb98f80600a5448",
407 + "order": 3,
408 + "disp": true,
409 + "width": "6",
410 + "collapse": false,
411 + "className": ""
412 + },
413 + {
414 + "id": "7e1d1c102cf74e6b",
415 + "type": "ui_group",
416 + "name": "TEM",
417 + "tab": "abb98f80600a5448",
418 + "order": 4,
419 + "disp": true,
420 + "width": "6",
421 + "collapse": false,
422 + "className": ""
423 + },
424 + {
425 + "id": "3f5d139f158d7c1c",
426 + "type": "ui_group",
427 + "name": "HUM",
428 + "tab": "abb98f80600a5448",
429 + "order": 2,
430 + "disp": true,
431 + "width": "6",
432 + "collapse": false,
433 + "className": ""
434 + },
435 + {
436 + "id": "abb98f80600a5448",
437 + "type": "ui_tab",
438 + "name": "LG01v2",
439 + "icon": "LG01v2",
440 + "disabled": false,
441 + "hidden": false
442 + }
443 +]
image-20221108164337-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +17.5 KB
Content
image-20221108164413-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +27.1 KB
Content
image-20221108170314-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +34.6 KB
Content
image-20221108170621-4.jpeg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +544.6 KB
Content
image-20221108170731-5.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +2.5 MB
Content
image-20221108172149-6.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +17.5 KB
Content
image-20221108172432-7.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +45.9 KB
Content
image-20221108174840-8.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +52.1 KB
Content
image-20221108175113-9.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +72.6 KB
Content
image-20221108180334-10.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +159.3 KB
Content
image-20221108180458-11.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +52.4 KB
Content
image-20221112161031-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +35.1 KB
Content
image-20221112161111-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +34.8 KB
Content
image-20221112162733-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +78.7 KB
Content
image-20221112163119-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +32.6 KB
Content
image-20230504095457-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +412.6 KB
Content
image-20230504095502-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +412.6 KB
Content
image-20230504100722-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +21.5 KB
Content
image-20230506110646-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +383.1 KB
Content
image-20230506113332-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +28.6 KB
Content
image-20230506113432-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +36.5 KB
Content
image-20230506113531-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +403.2 KB
Content
image-20230506113602-5.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +26.7 KB
Content
image-20230506113623-6.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +35.4 KB
Content
image-20230506113705-7.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +40.9 KB
Content
image-20230506113722-8.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +33.2 KB
Content
image-20230506113737-9.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +25.2 KB
Content
image-20230506113813-10.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +39.5 KB
Content
image-20230506113831-11.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +32.2 KB
Content
image-20230506114127-12.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +56.1 KB
Content
image-20230506115438-13.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +413.6 KB
Content
image-20230620103153-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +127.6 KB
Content
image-20230620103535-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +156.3 KB
Content
image-20230620103923-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +72.7 KB
Content
image-20231014092843-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +596 bytes
Content
image-20231014092934-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +620 bytes
Content
image-20231014092954-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +618 bytes
Content
image-20231014092959-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +563 bytes
Content
Copyright ©2010-2022 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0