Last modified by Kilight Cao on 2024/10/12 08:58

From version 124.1
edited by Kilight Cao
on 2023/05/06 11:37
Change comment: Uploaded new attachment "image-20230506113722-8.png", version {1}
To version 24.1
edited by Kilight Cao
on 2022/10/31 09:48
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -11,13 +11,9 @@
11 11  
12 12  {{toc/}}
13 13  
14 -
15 -
16 -
17 -
18 -
19 19  = **1. Introduction** =
20 20  
16 +
21 21  == **1.1 What is LG01v2** ==
22 22  
23 23  
... ... @@ -24,17 +24,14 @@
24 24  (((
25 25  (((
26 26  The LG01v2 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.
27 -
28 -LG01v2 is specially design for (% style="color:green" %)**peer to peer LoRa**(%%) protocol instead of LoRaWAN protocol. The LG01v2 use single channel LoRa module to minimize the deployment cost for a private p2p LoRa wireless network.
29 29  )))
30 30  
31 31  (((
32 -LG01v2 uses Open Source Linux system. User can modify the Linux part and develop customize software base on it. It has (% style="color:green" %)**1.2Ghz Quad-Core CPU**(%%) , (% style="color:green" %)**4GB eMMC storage**(%%) and (% style="color:green" %)**512MB RAM**(%%) for most application.
33 -
34 34  LG01v2 supports (% style="color:green" %)**remote management**(%%). System Integrator can easy to remote monitor the gateway and maintain it.
35 35  )))
36 36  
37 37  
30 +
38 38  == **1.2 Specifications** ==
39 39  
40 40  
... ... @@ -63,6 +63,7 @@
63 63  * Remote Management
64 64  * Auto-provisioning for batch deployment and management
65 65  * LoRa Gateway
59 +* Built-in (% style="color:#037691" %)//**The Things Network**//(%%) local LoRaWAN server
66 66  * Built-in  (% style="color:#037691" %)//**Node-Red**// (%%)local Application server
67 67  
68 68  == **1.4 Block Diagram** ==
... ... @@ -90,6 +90,7 @@
90 90  (% style="color:blue" %)//**➢ WIFI LED**//(%%)//: This LED shows the WIFI interface connection status.//
91 91  
92 92  
87 +
93 93  == **1.6 Button Intruction** ==
94 94  
95 95  
... ... @@ -106,9 +106,10 @@
106 106   //**LED status: ** ETH LED will SOLID BULE Until the restore is finished.//
107 107  
108 108  
109 -= **2. Quick Start** =
110 110  
105 += ** 2. Quick Start** =
111 111  
107 +
112 112  The LG01-V2 supports network access via Ethernet or Wi-Fi connection and runs without a network.
113 113  
114 114  In most cases, the first thing you need to do is make the LG01-v2 accessible to the network.
... ... @@ -116,12 +116,13 @@
116 116  
117 117  == **2.1 Connects to the network and accesses the gateway Web UI** ==
118 118  
119 -=== **2.1.1 connect the network.** ===
120 120  
116 +== **2.1.1 connect the network.** ==
121 121  
122 -==== (% style="color:blue" %)**Method 1**(%%):  Connect via Ethernet with DHCP IP from the router ====
123 123  
119 +=== (% style="color:blue" %)**Method 1**(%%):  Connect via Ethernet with DHCP IP from the router ===
124 124  
121 +
125 125  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.
126 126  
127 127  You can also use this IP to connect.
... ... @@ -129,41 +129,31 @@
129 129  
130 130  [[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"]]
131 131  
132 -==== (% style="color:blue" %)**Method 2**(%%):  Connect via LG01v2 Fallback IP ====
133 133  
134 -[[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"]]
130 +=== (% style="color:blue" %)**Method 2**(%%):  Connect via WiFi with DHCP IP from the router ===
135 135  
136 136  
137 -**Steps to connect via fallback IP:**
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"]]
138 138  
139 -~1. Connect the PC's Ethernet port to LG01v2's WAN port
135 +The LG01-V2 has a fall-back IP address on its WAN port. you have to access the gateway Web-UI to configure the WiFi connection via the fallback IP address.
140 140  
141 -2. Configure PC's Ethernet port has IP: 172.31.255.253 and Netmask: 255.255.255.252
142 142  
143 -Settings ~-~-> Network & Internet ~-~-> Ethernet ~-~-> Change advanced sharing options ~-~-> Double-click"Ethernet" ~-~-> Internet Protocol Version 4 (TCP/IPv4)
138 +(% style="color:#037691" %)**Steps to connect via fallback IP:**
144 144  
140 +~1. Connect PC's Ethernet port to LG01-V2's WAN port
145 145  
146 -As in the below photo:
142 +2. Configure PC's Ethernet port has  IP: 172.31.255.253 and Netmask: 255.255.255.252
147 147  
148 -[[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"]]
149 149  
145 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220622101433-4.png?rev=1.1||alt="image-20220622101433-4.png"]]
150 150  
151 -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]]**
152 152  
153 -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]]**
148 +and then On the PC, use the IP address **http:~/~/172.31.255.254** to access the LG01-V2 via Web or Console.
154 154  
155 -3. In the PC, use IP address 172.31.255.254 to access the LG01v2 via Web or Console.
156 156  
157 -[[image:image-20230504095502-2.png||height="545" width="1065"]]
151 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220622102210-5.png?width=919&height=504&rev=1.1||alt="image-20220622102210-5.png"]]
158 158  
159 159  
160 -
161 -==== (% style="color:blue" %)**Method 3**(%%):  Connect via WiFi with DHCP IP from the router ====
162 -
163 -
164 -[[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"]]
165 -
166 -
167 167  Fill in the WiFi information by checking the box and clicking (% style="color:red" %)**Save&Apply**
168 168  
169 169  
... ... @@ -175,51 +175,35 @@
175 175  
176 176  [[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"]]
177 177  
165 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220622102901-8.png?width=938&height=476&rev=1.1||alt="image-20220622102901-8.png"]]
178 178  
179 -=== 2.1.2 Access Configure Web UI ===
180 180  
181 -**Web Interface**
182 -
183 -Open a browser on the PC and type the LPS8-V2 ip address (depends on your connect method)
184 -
185 -
186 -[[(% 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)
187 -
188 -You will see the login interface of LPS8-V2 as shown below.
189 -
190 -The account details for Web Login are:
191 -
192 -(% style="color:#4f81bd" %)**User Name: root**
193 -
194 -(% style="color:#4f81bd" %)**Password:   dragino**
195 -
196 -[[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"]]
197 -
198 -
199 199  = **3. Web Configure Pages** =
200 200  
201 201  == **3.1 Home** ==
202 202  
203 -
204 204  //Shows the system running status~://
205 205  
206 -[[image:image-20221104155612-1.png||height="497" width="942"]]
174 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220622102901-8.png?rev=1.1||alt="image-20220622102901-8.png" height="476" width="939"]]
207 207  
208 208  
209 209  == **3.2 Network Settings** ==
210 210  
179 +
211 211  === **3.2.1 Network ~-~-> WiFi** ===
212 212  
213 213  
214 -[[image:image-20221104155654-2.png||height="319" width="813"]]
183 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220616114756-4.png?width=669&height=251&rev=1.1||alt="image-20220616114756-4.png"]]
215 215  
216 216  
186 +
217 217  === **3.4.2 Network ~-~-> System Status** ===
218 218  
219 219  
220 -[[image:image-20221104155724-3.png||height="679" width="861"]]
190 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220820134112-2.png?width=668&height=539&rev=1.1||alt="image-20220820134112-2.png"]]
221 221  
222 222  
193 +
223 223  === **3.4.3 Network ~-~-> Firewall** ===
224 224  
225 225  
... ... @@ -226,276 +226,86 @@
226 226  [[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"]]
227 227  
228 228  
200 +
229 229  == **3.5 System** ==
230 230  
203 +
231 231  === **3.5.1  System ~-~-> System Overview** ===
232 232  
233 233  
234 234  Shows the system info:
235 235  
236 -[[image:image-20221104155907-4.png]]
209 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220917144512-5.png?width=853&height=618&rev=1.1||alt="image-20220917144512-5.png"]]
237 237  
238 238  
212 +
239 239  === **3.5.2 System ~-~-> Backup/Restore** ===
240 240  
241 241  
242 -[[image:image-20221104155928-5.png||height="334" width="880"]]
216 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220917144725-6.png?width=869&height=208&rev=1.1||alt="image-20220917144725-6.png"]]
243 243  
244 244  
245 -= (% id="cke_bm_1978S" style="display:none" %)** **(%%)**4. Build in Server** =
246 246  
220 += **4. Build-in Server** =
247 247  
248 -The default factory version of LG01-V2 is installed with the built-in Applicant server: (% style="color:blue" %)**Node-Red**
249 249  
223 +The default factory version of LG01-V2 is installed with the built-in Applicant server: (% style="color:blue" %)**Node-Red, and**(%%) LoRaWAN Server: (% style="color:blue" %)**The Things Network - Stack (Open Source 3.19 Version).**
250 250  
251 -[[image:image-20221104155949-6.png||height="315" width="1023"]]
252 252  
226 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220820115644-1.png?width=778&height=217&rev=1.1||alt="image-20220820115644-1.png"]]
253 253  
228 +
254 254  (% style="color:red" %)**Note:**
255 255  
256 256   **Path**: System ~-~-> Built-in Server
257 257  
258 258  
259 -(% style="color:blue" %)**Troubleshooting**
234 +**Troubleshooting:**
260 260  
236 +
261 261  **~ 1. URL does not jump properly**
262 262  
239 + For the ttn-stack, you can click the update the URL which will update the configuration where change the hostname to the current local IP address as the URL.
240 +
263 263   For the Node-Red, you can use the local IP address and the port is 1880 to access it.
264 264  
265 265  
266 -== **4.1 Application Server ~-~- Node-Red** ==
267 267  
245 +== **4.1 LoRaWAN Network  Server ~-~- The Things Network - Stack (TTN-V3)** ==
268 268  
269 -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.
270 270  
248 +You can access the gateway's built-in LNS server of (% style="color:blue" %)**The Things Network - Stack **(%%)via the URL( (% style="background-color:yellow" %)__**//http:~/~/<hostname>:8080 or http:~/~/<local-IPV4-address> //**__(%%)) in your browser.
271 271  
272 -Such as (% style="background-color:yellow" %)__**//http:~/~/dragino-54ff12:1880  or http:~/~/<Local-IPV4-Address>//**__
250 +Such as  (% style="background-color:yellow" %)__**//http:~/~/dragino-54ff12:8080  or http:~/~/<Local-IPV4-Address>//**__
273 273  
274 274  
275 -[[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"]]
253 +Login account:
276 276  
255 +**User ID: ** ** (% style="background-color:yellow" %)admin(%%)**
277 277  
278 -= **5. How to configure the Lora Gateway** =
257 +**Password: ** ** (% style="background-color:yellow" %)dragino(%%)**
279 279  
280 -== **5.1 Configure and Debug LoRa wireless of LG01v2** ==
281 281  
260 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220725171719-1.png?width=769&height=570&rev=1.1||alt="image-20220725171719-1.png"]]
282 282  
283 -First, the user needs to access the Linux console of LG01v2 via ssh
284 284  
285 -IP address:  IP address of LG01v2
286 286  
287 -Port:         22
264 +== **4.2 Application Server ~-~- Node-Red** ==
288 288  
289 -User Name:      (% style="color:#4f81bd" %)**root**
290 290  
291 -Password:         (% style="color:#4f81bd" %)**dragino**(%%) (default)
267 +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.
292 292  
293 -[[image:image-20230504100722-3.png||height="228" width="908"]]
294 294  
295 -Users can access the Lora configuration page by running the following command, then select the option **''serial port setup"**:
270 +Such as (% style="background-color:yellow" %)__**//http:~/~/dragino-54ff12:1880  or http:~/~/<Local-IPV4-Address>//**__
296 296  
297 -(% class="box infomessage" %)
298 -(((
299 -**root@dragino-2406ef:~~# minicom -s**
300 -)))
301 301  
302 -[[image:image-20221029174637-2.png||height="410" width="524"]]
273 +[[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"]]
303 303  
304 304  
305 -And then, change the setting:
306 306  
307 -(% class="box infomessage" %)
308 -(((
309 -**Serial Device :** **/dev/ttyUSB0**
277 += **5. How users can access LG01v2 using serial USB** =
310 310  
311 -**Bps/Par/Bits : 9600 8N1**
312 -)))
313 313  
314 -
315 -(% style="color:red" %)**Note: Enter the corresponding letter to change the configuration, like A,B,C**
316 -
317 -
318 -(% style="color:red" %)[[image:image-20221029174703-3.png]]
319 -
320 -
321 -Enter **AT+CFG **in the interface to get the configuration,
322 -
323 -
324 -(% class="box infomessage" %)
325 -(((
326 -**AT+FRE=868.100,868.100  ~-~--> TX and RX frequency
327 -AT+GROUPMOD=0,0  ~-~-->  TX and RX group
328 -AT+BW=0,0  ~-~-->  TX and RX Bandwidth
329 -AT+SF=12,12  ~-~-->  TX and RX Spreading Factor
330 -AT+POWER=14  ~-~-->  TX Power Range
331 -AT+CRC=1,1  ~-~-->  TX and RX CRC Type
332 -AT+HEADER=0,0  ~-~-->  TX and RX Header Type
333 -AT+CR=1,1  ~-~-->  TX and RX Coding Rate
334 -AT+IQ=0,0  ~-~-->  TX and RX InvertIQ
335 -AT+PREAMBLE=8,8  ~-~-->  TX and RX Preamble Length
336 -AT+SYNCWORD=0  ~-~-->  Syncword(0: private,1: public)
337 -AT+RXMOD=65535,0  ~-~-->  Rx Timeout and Reply mode
338 -AT+RXDAFORM=1**                              
339 -)))
340 -
341 -
342 -== **5.2 Example: LG01v2** ==
343 -
344 -=== **5.2.1 Introduce for the example:** ===
345 -
346 -
347 -[[image:image-20221104102736-3.png||height="282" width="723"]]
348 -
349 -
350 -In this example, there are two devices:
351 -
352 -* **LA66 Shield + UNO + DHT11**: The UNO will get the temperature and humidity and broadcast the value via LoRa protocol.
353 -* **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.
354 -
355 -=== **5.2.2 Set Up LA66 Shield + UNO** ===
356 -
357 -
358 -==== **Set up LA66 Module** ====
359 -
360 -
361 -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:
362 -
363 -(((
364 -(% style="color:red" %)**LA66 Shield as Sender: **
365 -
366 -(% class="box infomessage" %)
367 -(((
368 -**LA66 Shield configuration:**
369 -
370 -AT+FRE=868.100,868.100  ~-~--> TX and RX frequency set: 868100000
371 -AT+BW=0,0  ~-~--> TX and RX Bandwidth set: 125kHz
372 -AT+SF=12,12  ~-~--> TX and RX Spreading Factor set: SF12
373 -AT+POWER=14  ~-~--> TX Power Range set: 14dBm
374 -AT+CRC=1,1  ~-~--> TX and RX CRC Type
375 -AT+HEADER=0,0  ~-~--> TX and RX Header Type
376 -AT+CR=1,1  ~-~--> TX and RX Coding Rate
377 -AT+IQ=0,0  ~-~--> TX and RX InvertIQ
378 -AT+PREAMBLE=8,8  ~-~--> TX and RX Preamble Length set: 8
379 -AT+SYNCWORD=0  ~-~-->  Syncword**(0: private,1: public)**
380 -AT+RXMOD=6,0  ~-~-->  Rx Timeout and Reply mode
381 -)))
382 -)))
383 -
384 -
385 -
386 -==== **Set up Arduino UNO** ====
387 -
388 -(% id="cke_bm_1033249S" style="display:none" %)** **
389 -
390 -**Hardware Connection**
391 -
392 -(% class="box infomessage" %)
393 -(((
394 -**The DHT11 sensor connects to the LA66 Shield:**
395 -
396 -**VCC  <~-~--> 3.3V (Red line)**
397 -**DATA <~-~--> PIN8 (Purple line)**
398 -**GND  <~-~--> GND (White line)**
399 -)))
400 -
401 -[[image:image-20221108170731-5.png||height="588" width="441"]]
402 -
403 -
404 -
405 -===== **1. Open Arduino IDE** =====
406 -
407 -
408 -[[image:image-20221108172149-6.png||height="650" width="542"]]
409 -
410 -
411 -
412 -===== **2. Open project** =====
413 -
414 -
415 -Users can download Arduino files from this link: [[attach:Log-Temperature-Sensor-and-send-data-to-Node-red.ino||target="_blank"]]
416 -
417 -Then click Compile and Upload to LA66 Shield,
418 -
419 -[[image:image-20221108172432-7.png]]
420 -
421 -
422 -
423 -===== **3. Open the Serial Monitor to check the LA66 Shield data** =====
424 -
425 -
426 -The UNO will now reads the temperature and humidity data from the sensor and broadcast it via LoRa wireless,
427 -
428 -[[image:image-20221108174840-8.png||height="731" width="671"]]
429 -
430 -
431 -
432 -Sending out data as below.
433 -
434 -[[image:image-20221108175113-9.png||height="556" width="998"]]
435 -
436 -
437 -=== **5.2.3 Set Up LG01v2** ===
438 -
439 -
440 -Configure LG01v2 LoRa channel parameters so it can get data from LA66 Shield
441 -
442 -(% style="color:red; font-weight:bold" %)**LG01v**(% style="color:red" %)**2 as Receiver: (configured as AT+RXMOD=65535,2)**
443 -
444 -(% class="box infomessage" %)
445 -(((
446 -**LG01-V2 configuration:**
447 -
448 -AT+FRE=868.100,868.100  ~-~--> TX and RX frequency set: 868100000
449 -AT+BW=0,0  ~-~--> TX and RX Bandwidth set: 125kHz
450 -AT+SF=12,12  ~-~--> TX and RX Spreading Factor set: SF12
451 -AT+POWER=14  ~-~--> TX Power Range set: 14dBm
452 -AT+CRC=1,1  ~-~--> TX and RX CRC Type
453 -AT+HEADER=0,0  ~-~--> TX and RX Header Type
454 -AT+CR=1,1  ~-~--> TX and RX Coding Rate
455 -AT+IQ=0,0  ~-~--> TX and RX InvertIQ
456 -AT+PREAMBLE=8,8  ~-~--> TX and RX Preamble Length set: 8
457 -AT+SYNCWORD=0  ~-~-->  Syncword**(0: private,1: public)**
458 -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 )**
459 -)))
460 -
461 -
462 -=== **5.2.4 Test result** ===
463 -
464 -
465 -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).**
466 -)))
467 -
468 -When LG01v2 replies with ACK when it receives a packet sent by LA66 sheild.
469 -
470 -[[image:image-20221108164413-2.png]]
471 -
472 -
473 -
474 -In the real-time log of LG01v2:
475 -
476 -[[image:image-20221108170314-3.png]]
477 -
478 -
479 -=== **5.2.5 Plot data chart in LG01v2** ===
480 -
481 -
482 -User can plot the temperature and humidity chat via LG01v2 built-in IoT server.
483 -
484 -User can import this example in Node-Red: [[attach:Log-Temperature-Sensor-and-send-data-to-Node-red.json||target="_blank"]]
485 -
486 -[[image:image-20221108180334-10.png||height="651" width="1141"]]
487 -
488 -
489 -The temperature and humidity chart is displayed in the built-in node-red UI
490 -
491 -**Browser input: (% style="background-color:yellow" %)__//http:~/~/<local-IPV4-address>//__(%%)**
492 -
493 -[[image:image-20221108180458-11.png||height="402" width="1137"]]
494 -
495 -
496 -= (% 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(%%)** =
497 -
498 -
499 499  (% style="color:blue" %)**USB TTL to LG01v2  Connection:**
500 500  
501 501  
... ... @@ -522,138 +522,83 @@
522 522  
523 523  [[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"]]
524 524  
525 -
526 526  [[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"]]
527 527  
308 += **3. How to configure the LA66 module** =
528 528  
529 -= **7. OTA System Update** =
530 530  
311 +== **3.1 Access the LA66 module** ==
531 531  
532 -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.
533 533  
314 +Users can access the LA66 module by running the following command, then select the option **''serial port setup"**:
534 534  
535 -= **8. FAQ** =
536 -
537 -== **8.1 How does LG01v2 communicate with Lora shield (LoRa.h)** ==
538 -
539 -
540 -This example describes how to use LG01v2, LoRa Shield to set up a LoRa network,
541 -
542 -[[image:image-20221103152238-8.png||height="251" width="654"]]
543 -
544 -
545 -(% style="color:red" %)**Prerequisites: The configurations of LG01v2 and Lora shield must match**
546 -
547 -**LG01v2 configuration:**
548 -
549 549  (% class="box infomessage" %)
550 550  (((
551 -AT+FRE=868.100,868.100  ~-~--> TX and RX frequency set: 868100000
552 -AT+BW=0,0  ~-~--> TX and RX Bandwidth set: 125kHz
553 -AT+SF=12,12  ~-~--> TX and RX Spreading Factor set: SF12
554 -AT+POWER=14  ~-~--> TX Power Range
555 -AT+CRC=1,1  ~-~--> TX and RX CRC Type
556 -AT+HEADER=0,0  ~-~--> TX and RX Header Type
557 -AT+CR=1,1  ~-~--> TX and RX Coding Rate
558 -AT+IQ=0,0  ~-~--> TX and RX InvertIQ
559 -AT+PREAMBLE=8,8  ~-~--> TX and RX Preamble Length set: 8
560 -AT+SYNCWORD=0  ~-~-->  Syncword**(0: private,1: public), **the corresponding Lora shield syncword is 0x12
561 -AT+RXMOD=65535,0  ~-~-->  Rx Timeout and Reply mode,RX window always open
562 -AT+RXDAFORM=1    
318 +**root@dragino-2406ef:~~# minicom -s**
563 563  )))
564 564  
321 +[[image:image-20221029174637-2.png||height="410" width="524"]]
565 565  
566 566  
567 -**Lora shield configuration:**
324 +And then, change the setting:
568 568  
569 -Lora Shield example: [[attach:LoRa_Shield_Sketch_For_MQTT.ino||target="_blank"]] , [[attach:arduino-LoRa-master.zip||target="_blank"]]
326 +(% class="box infomessage" %)
327 +(((
328 +**Serial Device :** **/dev/ttyUSB0**
570 570  
571 -[[image:image-20221101161318-2.png]]
330 +**Bps/Par/Bits : 9600 8N1**
331 +)))
572 572  
573 573  
334 +(% style="color:red" %)**Note: Enter the corresponding letter to change the configuration, like A,B,C**(%%)
335 +(% style="color:red" %)[[image:image-20221029174703-3.png]]
574 574  
575 -**Test LG01v2 to receive Lora Shield data:**
576 576  
577 -[[image:image-20221101161951-3.png]]
338 +Enter **AT+CFG **in the interface to get the configuration,
578 578  
340 +[[image:image-20221029172156-1.png||height="315" width="358"]]
579 579  
580 580  
581 -**Test the LG01v2 to send data:**
343 +LG01v2 Peer-to-Peer example:
582 582  
583 -[[image:image-20221101162527-4.png]]
345 +(% style="color:red" %)**LG01v2 as Receiver: (configured as AT+RXMOD=65535,2)**
584 584  
347 +[[image:image-20221031091652-2.png]]
585 585  
586 -== **8.2 How does LG01v2 communicate with Heltec LoRa Node** ==
587 587  
350 +(% style="color:red" %)**Sender:**
588 588  
589 -This example describes how to use LG01v2 and Heltec LoRa Node to set up a LoRa network,
590 590  
591 -[[image:image-20221112161111-2.png||height="258" width="692"]]
353 +[[image:image-20221031092053-4.png]]
592 592  
593 -(% style="color:red" %)**Prerequisites: The configurations of LG01v2 and Lora shield must match**
594 594  
595 -
596 -**LG01v2 configuration:**
597 -
598 -(% class="box infomessage" %)
599 -(((
600 -AT+FRE=868.100,868.100  ~-~--> TX and RX frequency set: 868100000
601 -AT+BW=0,0  ~-~--> TX and RX Bandwidth set: 125kHz
602 -AT+SF=12,12  ~-~--> TX and RX Spreading Factor set: SF12
603 -AT+POWER=14  ~-~--> TX Power Range
604 -AT+CRC=1,1  ~-~--> TX and RX CRC Type
605 -AT+HEADER=0,0  ~-~--> TX and RX Header Type
606 -AT+CR=1,1  ~-~--> TX and RX Coding Rate
607 -AT+IQ=0,0  ~-~--> TX and RX InvertIQ
608 -AT+PREAMBLE=8,8  ~-~--> TX and RX Preamble Length set: 8
609 -AT+SYNCWORD=0  ~-~-->  Syncword**(0: private,1: public), **the corresponding Lora shield syncword is 0x12
610 -AT+RXMOD=65535,0  ~-~-->  Rx Timeout and Reply mode,RX window always open
611 -AT+RXDAFORM=1  ~-~--> RX data format**(0: Hex ,1: String)**
356 +Instruction for LA66 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/]]
612 612  )))
613 613  
359 += **7. Trouble Shooting** =
614 614  
615 -After we upload the sketch to Heltec LoRa Node, we can see below output from Arduino.
616 616  
617 -Lora Shield example: [[attach:LoRa_send_trial.ino||target="_blank"]]
362 +== 7.1  I can't log in to the built-in Server TTN Stack which shows '**Login failed**'. ==
618 618  
619 -[[image:image-20221112162733-3.png||height="524" width="927"]]
620 620  
621 621  
622 -And we can see the logread of gateway as below, means the packet arrive gateway:
623 623  
624 -[[image:image-20221112163119-4.png||height="808" width="560"]]
367 +This is caused by the inconsistency between the built-in TTN-Stack domain configuration and your login URL.
625 625  
369 +By default, ttn-stack uses the gateway's domain name for URL resolution, but in some networks, they prefer to resolve IP-v4 addresses.
626 626  
627 -= **9. OTA System Update** =
628 628  
629 -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.
372 +So you can change the domain name of the TTN-Stack configuration to the IPv4 address.
630 630  
374 +**Click the update URL button to configure the URL with the current eth port address.**
631 631  
632 -= **10. Trouble Shooting** =
633 633  
634 -== 10.1  Fallback IP does not work, how can users check ==
635 635  
636 -When the computer has completed the above fallback IP configuration,the LG01v2 Web UI is still not accessible via fallback IP.
637 637  
638 638  
639 -**1.Check whether the configuration is correct**
380 += (% style="color:inherit; font-family:inherit; font-size:29px" %)**8. Supports**(%%) =
640 640  
641 -Run the CMD command to ipconfig and ping 172.31.255.254.
642 642  
643 -If this fails, the user needs to reconfigure.
644 -
645 -[[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"]]
646 -
647 -[[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"]]
648 -
649 -**2. Check whether the firewall is disabled**
650 -
651 -If the firewall is not down, this will affect access to the gateway.
652 -
653 -
654 -= (% style="color:inherit; font-family:inherit; font-size:29px" %)**11. Supports**(%%) =
655 -
656 -
657 657  (((
658 658  **//If you are experiencing issues and can't solve them, you can send mail to [[support@dragino.com>>mailto:support@dragino.com]].//**
659 659  )))
... ... @@ -662,24 +662,29 @@
662 662  **//With your question as detailed as possible. We will reply and help you in the shortest.//**
663 663  
664 664  
665 -= **12. Reference** =
666 666  
392 += **9. Reference** =
667 667  
668 -* Install Tago Core: Refer **Install Tago Core in LG01v2** in[[ Instruction>>doc:Main.Tago\.IO.WebHome]].
669 -* [[Advance OS Reference Guide for L>>doc:Main.Armbian OS instruction.WebHome]]G01v2.
670 670  
395 +* Install Tago Core: Refer **Install Tago Core in LPS8v2** in[[ Instruction>>doc:Main.Tago\.IO.WebHome]].
396 +* [[Advance OS Reference Guide for LPS8v2>>doc:Main.Armbian OS instruction.WebHome]].
397 +
671 671  
672 672  )))
673 673  
674 -= **13. Order Info** =
401 += **10. Order Info** =
675 675  
676 676  
677 -(% style="color:#0000ff" %)**LG01v2-XXX-YYY**
404 +(% style="color:#0000ff" %)**LPS8v2-XXX-YYY**
678 678  
679 679  (% style="color:#0000ff" %)**XXX**(% style="color:black" %): Frequency Band
680 680  
681 -* (% style="color:red" %)**868**(%%): For frequency : 863 ~~ 870Mhz
682 -* (% style="color:red" %)**915**(%%): For frequency : 902 ~~ 928Mhz
408 +* (% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band
409 +* (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band
410 +* (% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band
411 +* (% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band
412 +* (% style="color:red" %)**US915**(%%): LoRaWAN US915 band
413 +* (% style="color:red" %)**IN865**(%%):  LoRaWAN IN865 band
683 683  
684 684  (% style="color:#0000ff" %)**YYY**(% style="color:black" %): 4G Cellular Option
685 685  
... ... @@ -691,9 +691,10 @@
691 691  More info about valid bands, please see [[EC25-E product page>>url:https://www.quectel.com/product/ec25.htm]].
692 692  
693 693  
694 -= **14. Manufacturer Info** =
695 695  
426 += **10. Manufacturer Info** =
696 696  
428 +
697 697  **Shenzhen Dragino Technology Development co. LTD**
698 698  
699 699  Room 202, Block B, BCT Incubation Bases (BaoChengTai),  No.8 CaiYunRoad
... ... @@ -701,9 +701,10 @@
701 701  LongCheng Street, LongGang District ; Shenzhen 518116,China
702 702  
703 703  
704 -= **15. FCC Warning** =
705 705  
437 += **11. FCC Warning** =
706 706  
439 +
707 707  (((
708 708  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:
709 709  )))
... ... @@ -733,6 +733,7 @@
733 733  (((
734 734  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.
735 735  
736 -
737 737  
738 738  )))
471 +
472 +~)~)~)
1667456058832-484.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -21.0 KB
Content
LoRa_Shield_Sketch_For_MQTT.ino
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -2.9 KB
Content
... ... @@ -1,118 +1,0 @@
1 -#include <SPI.h>
2 -#include <LoRa.h>
3 -
4 -// This is the LoRa Node side sketch for the MQTT example: http://wiki.dragino.com/index.php?title=MQTT_Forward_Instruction#Example_to_communicate_to_a_simple_MQTT_server
5 -
6 -float tem,hum;
7 -char tem_1[8]={"\0"},hum_1[8]={"\0"};
8 -char *node_id = "<4567>"; //From LG01 via web Local Channel settings on MQTT.Please refer <> dataformat in here.
9 -uint8_t datasend[36];
10 -unsigned int count = 1;
11 -unsigned long new_time,old_time=0;
12 -
13 -void setup()
14 -{
15 - Serial.begin(9600);
16 - while (!Serial);
17 - Serial.println(F("Start MQTT Example"));
18 - if (!LoRa.begin(868100000)) //868000000 is frequency
19 - {
20 - Serial.println("Starting LoRa failed!");
21 - while (1);
22 - }
23 - // Setup Spreading Factor (6 ~ 12)
24 - LoRa.setSpreadingFactor(12);
25 -
26 - // Setup BandWidth, option: 7800,10400,15600,20800,31250,41700,62500,125000,250000,500000
27 - //Lower BandWidth for longer distance.
28 - LoRa.setSignalBandwidth(125000);
29 -
30 - // Setup Coding Rate:5(4/5),6(4/6),7(4/7),8(4/8)
31 - LoRa.setCodingRate4(5);
32 - LoRa.setSyncWord(0x12);
33 - void disableCrc();
34 - LoRa.disableInvertIQ();
35 - LoRa.explicitHeaderMode();
36 - Serial.println("LoRa init succeeded.");
37 - LoRa.onReceive(onReceive);
38 - LoRa.receive();
39 -}
40 -
41 -void dhtTem()
42 -{
43 - tem = random(15,40);
44 - hum = random(40,80);
45 - Serial.println(F("The temperature and humidity:"));
46 - Serial.print("[");
47 - Serial.print(tem);
48 - Serial.print("℃");
49 - Serial.print(",");
50 - Serial.print(hum);
51 - Serial.print("%");
52 - Serial.print("]");
53 - Serial.println("");
54 -}
55 -void dhtWrite()
56 -{
57 - char data[50] = "\0";
58 - //for(int i = 0; i < 50; i++)
59 - //{
60 - // data[i] = node_id[i];
61 - //}
62 -
63 - dtostrf(tem,0,1,tem_1);
64 - dtostrf(hum,0,1,hum_1);
65 -
66 - // Serial.println(tem_1);
67 - strcat(data,"tem=");
68 - strcat(data,tem_1);
69 - strcat(data,"&hum=");
70 - strcat(data,hum_1);
71 - strcpy((char *)datasend,data);
72 -
73 - //Serial.println((char *)datasend);
74 - //Serial.println(sizeof datasend);
75 -
76 -}
77 -
78 -
79 -void SendData()
80 -{
81 - LoRa.beginPacket();
82 - LoRa.print((char *)datasend);
83 - LoRa.endPacket();
84 - Serial.println("Packet Sent");
85 -}
86 -
87 -
88 -
89 -void loop()
90 -{
91 - new_time=millis();
92 - if (new_time - old_time >= 30000 || old_time == 0)
93 - {
94 - old_time = new_time;
95 - Serial.print("########### ");
96 - Serial.print("COUNT=");
97 - Serial.print(count);
98 - Serial.println(" ###########");
99 - count++;
100 - dhtTem();
101 - dhtWrite();
102 - SendData();
103 - LoRa.receive();
104 - }
105 -}
106 -
107 -void onReceive(int packetSize) {
108 -
109 - // received a packet
110 - Serial.print("Received packet : ");
111 -
112 - // read packet
113 - for (int i = 0; i < packetSize; i++) {
114 - Serial.print((char)LoRa.read());
115 - }
116 - Serial.print("\n\r");
117 -}
118 -
LoRa_send_trial.ino
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -3.4 KB
Content
... ... @@ -1,124 +1,0 @@
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,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -3.6 KB
Content
... ... @@ -1,150 +1,0 @@
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,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -10.3 KB
Content
... ... @@ -1,443 +1,0 @@
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,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -10.1 KB
Content
... ... @@ -1,443 +1,0 @@
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 -]
arduino-LoRa-master.zip
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -28.6 KB
Content
image-20221101160705-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -6.1 KB
Content
image-20221101161318-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -46.3 KB
Content
image-20221101161951-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -131.0 KB
Content
image-20221101162527-4.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -290.1 KB
Content
image-20221102105419-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -37.3 KB
Content
image-20221102110604-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -35.9 KB
Content
image-20221102114002-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -50.1 KB
Content
image-20221102140053-4.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -45.6 KB
Content
image-20221103140645-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -39.1 KB
Content
image-20221103142228-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -37.7 KB
Content
image-20221103142416-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -325.9 KB
Content
image-20221103143528-4.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -25.2 KB
Content
image-20221103143618-5.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -25.1 KB
Content
image-20221103144405-6.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -32.8 KB
Content
image-20221103152033-7.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -25.3 KB
Content
image-20221103152238-8.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -32.8 KB
Content
image-20221104100344-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -137.0 KB
Content
image-20221104100520-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -140.7 KB
Content
image-20221104102736-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -325.9 KB
Content
image-20221104155612-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -384.2 KB
Content
image-20221104155654-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -35.5 KB
Content
image-20221104155724-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -42.4 KB
Content
image-20221104155907-4.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -66.7 KB
Content
image-20221104155928-5.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -49.5 KB
Content
image-20221104155949-6.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -46.0 KB
Content
image-20221108164337-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -17.5 KB
Content
image-20221108164413-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -27.1 KB
Content
image-20221108170314-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -34.6 KB
Content
image-20221108170621-4.jpeg
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -544.6 KB
Content
image-20221108170731-5.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -2.5 MB
Content
image-20221108172149-6.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -17.5 KB
Content
image-20221108172432-7.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -45.9 KB
Content
image-20221108174840-8.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -52.1 KB
Content
image-20221108175113-9.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -72.6 KB
Content
image-20221108180334-10.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -159.3 KB
Content
image-20221108180458-11.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -52.4 KB
Content
image-20221112161031-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -35.1 KB
Content
image-20221112161111-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -34.8 KB
Content
image-20221112162733-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -78.7 KB
Content
image-20221112163119-4.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -32.6 KB
Content
image-20230504095457-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -412.6 KB
Content
image-20230504095502-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -412.6 KB
Content
image-20230504100722-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -21.5 KB
Content
image-20230506110646-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -383.1 KB
Content
image-20230506113332-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -28.6 KB
Content
image-20230506113432-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -36.5 KB
Content
image-20230506113531-4.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -403.2 KB
Content
image-20230506113602-5.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -26.7 KB
Content
image-20230506113623-6.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -35.4 KB
Content
image-20230506113705-7.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -40.9 KB
Content
image-20230506113722-8.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -33.2 KB
Content
serial USB.json
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -5.1 KB
Content
... ... @@ -1,244 +1,0 @@
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": 230,
17 - "y": 60,
18 - "wires": [
19 - [
20 - "a8a0db18429e7d84"
21 - ]
22 - ]
23 - },
24 - {
25 - "id": "a8a0db18429e7d84",
26 - "type": "debug",
27 - "z": "5f10779accc05655",
28 - "name": "debug 1",
29 - "active": true,
30 - "tosidebar": true,
31 - "console": false,
32 - "tostatus": false,
33 - "complete": "false",
34 - "statusVal": "",
35 - "statusType": "auto",
36 - "x": 440,
37 - "y": 60,
38 - "wires": []
39 - },
40 - {
41 - "id": "fe5a93a52b6adcf1",
42 - "type": "inject",
43 - "z": "5f10779accc05655",
44 - "name": "AT+SEND=1,hello world,0,3",
45 - "props": [
46 - {
47 - "p": "payload"
48 - }
49 - ],
50 - "repeat": "",
51 - "crontab": "",
52 - "once": false,
53 - "onceDelay": 0.1,
54 - "topic": "",
55 - "payload": "AT+SEND=1,hello world,0,3",
56 - "payloadType": "str",
57 - "x": 200,
58 - "y": 140,
59 - "wires": [
60 - [
61 - "3f8add7e2e1d1d17"
62 - ]
63 - ]
64 - },
65 - {
66 - "id": "3f8add7e2e1d1d17",
67 - "type": "serial out",
68 - "z": "5f10779accc05655",
69 - "name": "",
70 - "serial": "bb1c0e81fd51fa9e",
71 - "x": 530,
72 - "y": 140,
73 - "wires": []
74 - },
75 - {
76 - "id": "16e7d3d83d9e9415",
77 - "type": "inject",
78 - "z": "5f10779accc05655",
79 - "name": "",
80 - "props": [
81 - {
82 - "p": "payload"
83 - }
84 - ],
85 - "repeat": "",
86 - "crontab": "",
87 - "once": false,
88 - "onceDelay": 0.1,
89 - "topic": "",
90 - "payload": "ATZ",
91 - "payloadType": "str",
92 - "x": 270,
93 - "y": 200,
94 - "wires": [
95 - [
96 - "3f8add7e2e1d1d17"
97 - ]
98 - ]
99 - },
100 - {
101 - "id": "09ea381519629dae",
102 - "type": "inject",
103 - "z": "5f10779accc05655",
104 - "name": "AT+FRE",
105 - "props": [
106 - {
107 - "p": "payload"
108 - }
109 - ],
110 - "repeat": "",
111 - "crontab": "",
112 - "once": false,
113 - "onceDelay": 0.1,
114 - "topic": "",
115 - "payload": "AT+FRE=868.100,868.100",
116 - "payloadType": "str",
117 - "x": 260,
118 - "y": 260,
119 - "wires": [
120 - [
121 - "3f8add7e2e1d1d17"
122 - ]
123 - ]
124 - },
125 - {
126 - "id": "5167a7f904013ffd",
127 - "type": "inject",
128 - "z": "5f10779accc05655",
129 - "name": "AT+BW",
130 - "props": [
131 - {
132 - "p": "payload"
133 - }
134 - ],
135 - "repeat": "",
136 - "crontab": "",
137 - "once": false,
138 - "onceDelay": 0.1,
139 - "topic": "",
140 - "payload": "AT+BW=0,0",
141 - "payloadType": "str",
142 - "x": 270,
143 - "y": 320,
144 - "wires": [
145 - [
146 - "3f8add7e2e1d1d17"
147 - ]
148 - ]
149 - },
150 - {
151 - "id": "dbe4abbc730c76e6",
152 - "type": "inject",
153 - "z": "5f10779accc05655",
154 - "name": "AT+SF",
155 - "props": [
156 - {
157 - "p": "payload"
158 - }
159 - ],
160 - "repeat": "",
161 - "crontab": "",
162 - "once": false,
163 - "onceDelay": 0.1,
164 - "topic": "",
165 - "payload": "AT+SF=12,12",
166 - "payloadType": "str",
167 - "x": 270,
168 - "y": 380,
169 - "wires": [
170 - [
171 - "3f8add7e2e1d1d17"
172 - ]
173 - ]
174 - },
175 - {
176 - "id": "3be3ab296a75d512",
177 - "type": "inject",
178 - "z": "5f10779accc05655",
179 - "name": "AT+RXMOD",
180 - "props": [
181 - {
182 - "p": "payload"
183 - }
184 - ],
185 - "repeat": "",
186 - "crontab": "",
187 - "once": false,
188 - "onceDelay": 0.1,
189 - "topic": "",
190 - "payload": "AT+RXMOD=65535,0",
191 - "payloadType": "str",
192 - "x": 250,
193 - "y": 440,
194 - "wires": [
195 - [
196 - "3f8add7e2e1d1d17"
197 - ]
198 - ]
199 - },
200 - {
201 - "id": "7a03d1413c60ea1c",
202 - "type": "inject",
203 - "z": "5f10779accc05655",
204 - "name": "AT+SYNCWORD",
205 - "props": [
206 - {
207 - "p": "payload"
208 - }
209 - ],
210 - "repeat": "",
211 - "crontab": "",
212 - "once": false,
213 - "onceDelay": 0.1,
214 - "topic": "",
215 - "payload": "AT+SYNCWORD=0",
216 - "payloadType": "str",
217 - "x": 240,
218 - "y": 500,
219 - "wires": [
220 - [
221 - "3f8add7e2e1d1d17"
222 - ]
223 - ]
224 - },
225 - {
226 - "id": "bb1c0e81fd51fa9e",
227 - "type": "serial-port",
228 - "serialport": "/dev/ttyUSB0",
229 - "serialbaud": "9600",
230 - "databits": "8",
231 - "parity": "none",
232 - "stopbits": "1",
233 - "waitfor": "",
234 - "dtr": "none",
235 - "rts": "none",
236 - "cts": "none",
237 - "dsr": "none",
238 - "newline": "\\n",
239 - "bin": "false",
240 - "out": "char",
241 - "addchar": "\\n",
242 - "responsetimeout": "10000"
243 - }
244 -]