Changes for page LG01v2 -- LoRa Gateway User Manual
Last modified by Kilight Cao on 2024/10/12 08:58
Change comment:
Uploaded new attachment "image-20221108170731-5.png", version {1}
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 17 removed)
- LoRa_send_trial.ino
- Log-Temperature-Sensor-and-send-data-to-Node-red.ino
- Log-Temperature-Sensor-and-send-data-to-Node-red.json
- Log-Temperature-Sensor-and-send-data-to-node-red.json
- image-20221108172149-6.png
- image-20221108172432-7.png
- image-20221108174840-8.png
- image-20221108175113-9.png
- image-20221108180334-10.png
- image-20221108180458-11.png
- image-20221112161031-1.png
- image-20221112161111-2.png
- image-20221112162733-3.png
- image-20221112163119-4.png
- image-20230504095457-1.png
- image-20230504095502-2.png
- image-20230504100722-3.png
Details
- Page properties
-
- Content
-
... ... @@ -11,30 +11,23 @@ 11 11 12 12 {{toc/}} 13 13 14 - 15 - 16 - 17 - 18 - 19 19 = **1. Introduction** = 20 20 21 -== **1.1 What is LG01v2** == 22 22 17 +== **1.1 What is LG01-V2** == 23 23 19 + 24 24 ((( 25 25 ((( 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. 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. 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 -LG01v2 supports (% style="color:green" %)**remote management**(%%). System Integrator can easy to remote monitor the gateway and maintain it. 26 +LG01-V2 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,6 +106,7 @@ 106 106 //**LED status: ** ETH LED will SOLID BULE Until the restore is finished.// 107 107 108 108 104 + 109 109 = **2. Quick Start** = 110 110 111 111 ... ... @@ -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,37 +129,10 @@ 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:** 138 - 139 -~1. Connect the PC's Ethernet port to LG01v2's WAN port 140 - 141 -2. Configure PC's Ethernet port has IP: 172.31.255.253 and Netmask: 255.255.255.252 142 - 143 -Settings ~-~-> Network & Internet ~-~-> Ethernet ~-~-> Change advanced sharing options ~-~-> Double-click"Ethernet" ~-~-> Internet Protocol Version 4 (TCP/IPv4) 144 - 145 -As in the below photo: 146 - 147 -[[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"]] 148 - 149 - 150 -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]]** 151 - 152 -If you still can't access the LG01v2 fallback ip, follow this connection to debug :**[[Trouble Shooting>>url:http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/#H9.2A0FallbackIPdoesnotwork2Chowcanuserscheck]]** 153 - 154 -3. In the PC, use IP address 172.31.255.254 to access the LG01v2 via Web or Console. 155 - 156 -[[image:image-20230504095502-2.png||height="545" width="1065"]] 157 - 158 - 159 - 160 -==== (% style="color:blue" %)**Method 3**(%%): Connect via WiFi with DHCP IP from the router ==== 161 - 162 - 163 163 [[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"]] 164 164 165 165 ... ... @@ -175,31 +175,11 @@ 175 175 [[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"]] 176 176 177 177 178 -=== 2.1.2 Access Configure Web UI === 179 179 180 -**Web Interface** 181 - 182 -Open a browser on the PC and type the LPS8-V2 ip address (depends on your connect method) 183 - 184 - 185 -[[(% 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) 186 - 187 -You will see the login interface of LPS8-V2 as shown below. 188 - 189 -The account details for Web Login are: 190 - 191 -(% style="color:#4f81bd" %)**User Name: root** 192 - 193 -(% style="color:#4f81bd" %)**Password: dragino** 194 - 195 -[[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"]] 196 - 197 - 198 198 = **3. Web Configure Pages** = 199 199 200 200 == **3.1 Home** == 201 201 202 - 203 203 //Shows the system running status~:// 204 204 205 205 [[image:image-20221104155612-1.png||height="497" width="942"]] ... ... @@ -207,6 +207,7 @@ 207 207 208 208 == **3.2 Network Settings** == 209 209 160 + 210 210 === **3.2.1 Network ~-~-> WiFi** === 211 211 212 212 ... ... @@ -213,6 +213,7 @@ 213 213 [[image:image-20221104155654-2.png||height="319" width="813"]] 214 214 215 215 167 + 216 216 === **3.4.2 Network ~-~-> System Status** === 217 217 218 218 ... ... @@ -219,6 +219,7 @@ 219 219 [[image:image-20221104155724-3.png||height="679" width="861"]] 220 220 221 221 174 + 222 222 === **3.4.3 Network ~-~-> Firewall** === 223 223 224 224 ... ... @@ -225,8 +225,10 @@ 225 225 [[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"]] 226 226 227 227 181 + 228 228 == **3.5 System** == 229 229 184 + 230 230 === **3.5.1 System ~-~-> System Overview** === 231 231 232 232 ... ... @@ -235,6 +235,7 @@ 235 235 [[image:image-20221104155907-4.png]] 236 236 237 237 193 + 238 238 === **3.5.2 System ~-~-> Backup/Restore** === 239 239 240 240 ... ... @@ -255,13 +255,15 @@ 255 255 **Path**: System ~-~-> Built-in Server 256 256 257 257 258 - (% style="color:blue" %)**Troubleshooting:**214 +**Troubleshooting:** 259 259 216 + 260 260 **~ 1. URL does not jump properly** 261 261 262 262 For the Node-Red, you can use the local IP address and the port is 1880 to access it. 263 263 264 264 222 + 265 265 == **4.1 Application Server ~-~- Node-Red** == 266 266 267 267 ... ... @@ -276,21 +276,10 @@ 276 276 277 277 = **5. How to configure the Lora Gateway** = 278 278 279 -== **5.1 Configure and Debug LoRa wireless of LG01v2** == 280 280 238 +== **5.1 Access the Lora configuration page** == 281 281 282 -First, the user needs to access the Linux console of LG01v2 via ssh 283 283 284 -IP address: IP address of LG01v2 285 - 286 -Port: 22 287 - 288 -User Name: (% style="color:#4f81bd" %)**root** 289 - 290 -Password: (% style="color:#4f81bd" %)**dragino**(%%) (default) 291 - 292 -[[image:image-20230504100722-3.png||height="228" width="908"]] 293 - 294 294 Users can access the Lora configuration page by running the following command, then select the option **''serial port setup"**: 295 295 296 296 (% class="box infomessage" %) ... ... @@ -311,9 +311,7 @@ 311 311 ))) 312 312 313 313 314 -(% style="color:red" %)**Note: Enter the corresponding letter to change the configuration, like A,B,C** 315 - 316 - 261 +(% style="color:red" %)**Note: Enter the corresponding letter to change the configuration, like A,B,C**(%%) 317 317 (% style="color:red" %)[[image:image-20221029174703-3.png]] 318 318 319 319 ... ... @@ -322,128 +322,40 @@ 322 322 323 323 (% class="box infomessage" %) 324 324 ((( 325 -**AT+FRE=868.100,868.100 ~-~--> TX and RX frequency 326 -AT+GROUPMOD=0,0 ~-~--> TX and RX group 327 -AT+BW=0,0 ~-~--> TX and RX Bandwidth 328 -AT+SF=12,12 ~-~--> TX and RX Spreading Factor 329 -AT+POWER=14 ~-~--> TX Power Range 330 -AT+CRC=1,1 ~-~--> TX and RX CRC Type 331 -AT+HEADER=0,0 ~-~--> TX and RX Header Type 332 -AT+CR=1,1 ~-~--> TX and RX Coding Rate 333 -AT+IQ=0,0 ~-~--> TX and RX InvertIQ 334 -AT+PREAMBLE=8,8 ~-~--> TX and RX Preamble Length 335 -AT+SYNCWORD=0 ~-~--> Syncword(0: private,1: public) 336 -AT+RXMOD=65535,0 ~-~--> Rx Timeout and Reply mode 337 -AT+RXDAFORM=1** 338 -))) 339 - 340 - 341 -== **5.2 Example: LG01v2** == 342 - 343 -=== **5.2.1 Introduce for the example:** === 344 - 345 - 346 -[[image:image-20221104102736-3.png||height="282" width="723"]] 347 - 348 - 349 -In this example, there are two devices: 350 - 351 -* **LA66 Shield + UNO + DHT11**: The UNO will get the temperature and humidity and broadcast the value via LoRa protocol. 352 -* **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. 353 - 354 -=== **5.2.2 Set Up LA66 Shield + UNO** === 355 - 356 - 357 -==== **Set up LA66 Module** ==== 358 - 359 - 360 -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: 361 - 362 -((( 363 -(% style="color:red" %)**LA66 Shield as Sender: ** 364 - 365 -(% class="box infomessage" %) 366 -((( 367 -**LA66 Shield configuration:** 368 - 369 -AT+FRE=868.100,868.100 ~-~--> TX and RX frequency set: 868100000 370 -AT+BW=0,0 ~-~--> TX and RX Bandwidth set: 125kHz 371 -AT+SF=12,12 ~-~--> TX and RX Spreading Factor set: SF12 372 -AT+POWER=14 ~-~--> TX Power Range set: 14dBm 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 373 373 AT+CRC=1,1 ~-~--> TX and RX CRC Type 374 374 AT+HEADER=0,0 ~-~--> TX and RX Header Type 375 375 AT+CR=1,1 ~-~--> TX and RX Coding Rate 376 376 AT+IQ=0,0 ~-~--> TX and RX InvertIQ 377 -AT+PREAMBLE=8,8 ~-~--> TX and RX Preamble Length set: 8279 +AT+PREAMBLE=8,8 ~-~--> TX and RX Preamble Length 378 378 AT+SYNCWORD=0 ~-~--> Syncword**(0: private,1: public)** 379 -AT+RXMOD=6,0 ~-~--> Rx Timeout and Reply mode 281 +AT+RXMOD=65535,0 ~-~--> Rx Timeout and Reply mode 282 +AT+RXDAFORM=1 380 380 ))) 381 -))) 382 382 383 383 286 +== **5.2 Example: LG01**-**V2 Peer-to-Peer** == 384 384 385 -==== **Set up Arduino UNO** ==== 386 386 387 - (%id="cke_bm_1033249S"style="display:none"%)** **289 +[[image:image-20221104102736-3.png||height="282" width="723"]] 388 388 389 -**Hardware Connection** 390 390 391 -(% class="box infomessage" %) 392 -((( 393 -**The DHT11 sensor connects to the LA66 Shield:** 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, 394 394 395 -**VCC <~-~--> 3.3V (Red line)** 396 -**DATA <~-~--> PIN8 (Purple line)** 397 -**GND <~-~--> GND (White line)** 398 -))) 294 +**Prerequisites: **The configuration of LG01-V2 and LA66 Shield must match, users can use **AT+CFG** to check all configurations. 399 399 400 -[[image:image-20221108170731-5.png||height="588" width="441"]] 401 401 297 +(% style="color:red; font-weight:bold" %)**LG01-V**(% style="color:red" %)**2 as Receiver: (configured as AT+RXMOD=65535,2)** 402 402 403 403 404 - =====**1.OpenArduinoIDE**=====300 +**LG01-V2 configuration:** 405 405 406 - 407 -[[image:image-20221108172149-6.png||height="650" width="542"]] 408 - 409 - 410 - 411 -===== **2. Open project** ===== 412 - 413 - 414 -Users can download Arduino files from this link: [[attach:Log-Temperature-Sensor-and-send-data-to-Node-red.ino||target="_blank"]] 415 - 416 -Then click Compile and Upload to LA66 Shield, 417 - 418 -[[image:image-20221108172432-7.png]] 419 - 420 - 421 - 422 -===== **3. Open the Serial Monitor to check the LA66 Shield data** ===== 423 - 424 - 425 -The UNO will now reads the temperature and humidity data from the sensor and broadcast it via LoRa wireless, 426 - 427 -[[image:image-20221108174840-8.png||height="731" width="671"]] 428 - 429 - 430 - 431 -Sending out data as below. 432 - 433 -[[image:image-20221108175113-9.png||height="556" width="998"]] 434 - 435 - 436 -=== **5.2.3 Set Up LG01v2** === 437 - 438 - 439 -Configure LG01v2 LoRa channel parameters so it can get data from LA66 Shield 440 - 441 -(% style="color:red; font-weight:bold" %)**LG01v**(% style="color:red" %)**2 as Receiver: (configured as AT+RXMOD=65535,2)** 442 - 443 443 (% class="box infomessage" %) 444 444 ((( 445 -**LG01-V2 configuration:** 446 - 447 447 AT+FRE=868.100,868.100 ~-~--> TX and RX frequency set: 868100000 448 448 AT+BW=0,0 ~-~--> TX and RX Bandwidth set: 125kHz 449 449 AT+SF=12,12 ~-~--> TX and RX Spreading Factor set: SF12 ... ... @@ -453,53 +453,36 @@ 453 453 AT+CR=1,1 ~-~--> TX and RX Coding Rate 454 454 AT+IQ=0,0 ~-~--> TX and RX InvertIQ 455 455 AT+PREAMBLE=8,8 ~-~--> TX and RX Preamble Length set: 8 456 -AT+SYNCWORD=0 ~-~--> Syncword**(0: private,1: public)** 457 -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 )** 313 +AT+SYNCWORD=0 ~-~--> Syncword**(0: private,1: public), **the corresponding Lora shield syncword is 0x12 314 +AT+RXMOD=65535,0 ~-~--> Rx Timeout and Reply mode, RX window always open 315 +AT+RXDAFORM=1 458 458 ))) 459 459 318 +[[image:image-20221102140053-4.png]] 460 460 461 -=== **5.2.4 Test result** === 462 462 321 +(% style="color:red" %)**LA66 Shield as Sender: (AT+SEND=1,hello world,2,3)** 463 463 464 -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).** 465 -))) 323 +[[image:1667456058832-484.png||height="291" width="353"]] 466 466 467 -When LG01v2 replies with ACK when it receives a packet sent by LA66 sheild. 468 468 469 -[[image:image-20221108164413-2.png]] 326 +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/]] 327 +))) 470 470 471 471 330 +Users can import this example in node-red: **[[attach:serial USB.json||target="_blank"]]** 472 472 473 - In the real-timelogof LG01v2:332 +[[image:image-20221104100520-2.png||height="605" width="1150"]] 474 474 475 -[[image:image-20221108170314-3.png]] 476 476 335 += (% 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(%%)** = 477 477 478 -=== **5.2.5 Plot data chart in LG01v2** === 479 479 338 +(% style="color:blue" %)**USB TTL to LG01-V2 Connection:** 480 480 481 -User can plot the temperature and humidity chat via LG01v2 built-in IoT server. 482 482 483 - Usercanimportthisexamplein Node-Red: [[attach:Log-Temperature-Sensor-and-send-data-to-Node-red.json||target="_blank"]]341 +Port 1 of the UART on the LG01-V2 is GND 484 484 485 -[[image:image-20221108180334-10.png||height="651" width="1141"]] 486 - 487 - 488 -The temperature and humidity chart is displayed in the built-in node-red UI 489 - 490 -**Browser input: (% style="background-color:yellow" %)__//http:~/~/<local-IPV4-address>//__(%%)** 491 - 492 -[[image:image-20221108180458-11.png||height="402" width="1137"]] 493 - 494 - 495 -= (% 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(%%)** = 496 - 497 - 498 -(% style="color:blue" %)**USB TTL to LG01v2 Connection:** 499 - 500 - 501 -Port 1 of the UART on the LG01v2 is GND 502 - 503 503 (% class="box infomessage" %) 504 504 ((( 505 505 **TXD <~-~--> UART RXD (Gray line)** ... ... @@ -510,7 +510,7 @@ 510 510 ))) 511 511 512 512 513 -**LG01 v2 UART connection photo**353 +**LG01-V2 UART connection photo** 514 514 515 515 [[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"]] 516 516 ... ... @@ -521,29 +521,23 @@ 521 521 522 522 [[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"]] 523 523 524 - 525 525 [[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"]] 526 526 527 527 528 -= **7. OTASystem Update** =367 += **7. FAQ** = 529 529 530 530 531 -LG01 v2supports systemauto updatevia OTA, please see **[[thisURL>>url:http://wiki.dragino.com/xwiki/bin/view/OTA%20Update/]]** forthe detail of this feature.370 +== **7.1 How does LG01-V2 communicate with Lora shield (LoRa.h)** == 532 532 533 533 534 - =**8.FAQ**=373 +This example describes how to use LG01-V2, LoRa Shield to set up a LoRa network 535 535 536 -== **8.1 How does LG01v2 communicate with Lora shield (LoRa.h)** == 537 - 538 - 539 -This example describes how to use LG01v2, LoRa Shield to set up a LoRa network, 540 - 541 541 [[image:image-20221103152238-8.png||height="251" width="654"]] 542 542 543 543 544 -(% style="color:red" %)**Prerequisites: The configurations of LG01 v2 and Lora shield must match**378 +(% style="color:red" %)**Prerequisites: The configurations of LG01-V2 and Lora shield must match** 545 545 546 -**LG01 v2 configuration:**380 +**LG01-V2 configuration:** 547 547 548 548 (% class="box infomessage" %) 549 549 ((( ... ... @@ -561,8 +561,6 @@ 561 561 AT+RXDAFORM=1 562 562 ))) 563 563 564 - 565 - 566 566 **Lora shield configuration:** 567 567 568 568 Lora Shield example: [[attach:LoRa_Shield_Sketch_For_MQTT.ino||target="_blank"]] , [[attach:arduino-LoRa-master.zip||target="_blank"]] ... ... @@ -570,90 +570,20 @@ 570 570 [[image:image-20221101161318-2.png]] 571 571 572 572 405 +**Test LG01-V2 to receive Lora Shield data:** 573 573 574 -**Test LG01v2 to receive Lora Shield data:** 575 - 576 576 [[image:image-20221101161951-3.png]] 577 577 578 578 410 +**Test the LG01-V2 to send data:** 579 579 580 -**Test the LG01v2 to send data:** 581 - 582 582 [[image:image-20221101162527-4.png]] 583 583 584 584 585 -= =**8.2How doesLG01v2 communicatewithHeltecLoRaNode** ==415 += (% style="color:inherit; font-family:inherit; font-size:29px" %)**8. Supports**(%%) = 586 586 587 587 588 -This example describes how to use LG01v2 and Heltec LoRa Node to set up a LoRa network, 589 - 590 -[[image:image-20221112161111-2.png||height="258" width="692"]] 591 - 592 -(% style="color:red" %)**Prerequisites: The configurations of LG01v2 and Lora shield must match** 593 - 594 - 595 -**LG01v2 configuration:** 596 - 597 -(% class="box infomessage" %) 598 598 ((( 599 -AT+FRE=868.100,868.100 ~-~--> TX and RX frequency set: 868100000 600 -AT+BW=0,0 ~-~--> TX and RX Bandwidth set: 125kHz 601 -AT+SF=12,12 ~-~--> TX and RX Spreading Factor set: SF12 602 -AT+POWER=14 ~-~--> TX Power Range 603 -AT+CRC=1,1 ~-~--> TX and RX CRC Type 604 -AT+HEADER=0,0 ~-~--> TX and RX Header Type 605 -AT+CR=1,1 ~-~--> TX and RX Coding Rate 606 -AT+IQ=0,0 ~-~--> TX and RX InvertIQ 607 -AT+PREAMBLE=8,8 ~-~--> TX and RX Preamble Length set: 8 608 -AT+SYNCWORD=0 ~-~--> Syncword**(0: private,1: public), **the corresponding Lora shield syncword is 0x12 609 -AT+RXMOD=65535,0 ~-~--> Rx Timeout and Reply mode,RX window always open 610 -AT+RXDAFORM=1 ~-~--> RX data format**(0: Hex ,1: String)** 611 -))) 612 - 613 - 614 -After we upload the sketch to Heltec LoRa Node, we can see below output from Arduino. 615 - 616 -Lora Shield example: [[attach:LoRa_send_trial.ino||target="_blank"]] 617 - 618 -[[image:image-20221112162733-3.png||height="524" width="927"]] 619 - 620 - 621 -And we can see the logread of gateway as below, means the packet arrive gateway: 622 - 623 -[[image:image-20221112163119-4.png||height="808" width="560"]] 624 - 625 - 626 -= **9. OTA System Update** = 627 - 628 -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. 629 - 630 - 631 -= **10. Trouble Shooting** = 632 - 633 -== 10.1 Fallback IP does not work, how can users check == 634 - 635 -When the computer has completed the above fallback IP configuration,the LG01v2 Web UI is still not accessible via fallback IP. 636 - 637 - 638 -**1.Check whether the configuration is correct** 639 - 640 -Run the CMD command to ipconfig and ping 172.31.255.254. 641 - 642 -If this fails, the user needs to reconfigure. 643 - 644 -[[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"]] 645 - 646 -[[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"]] 647 - 648 -**2. Check whether the firewall is disabled** 649 - 650 -If the firewall is not down, this will affect access to the gateway. 651 - 652 - 653 -= (% style="color:inherit; font-family:inherit; font-size:29px" %)**11. Supports**(%%) = 654 - 655 - 656 -((( 657 657 **//If you are experiencing issues and can't solve them, you can send mail to [[support@dragino.com>>mailto:support@dragino.com]].//** 658 658 ))) 659 659 ... ... @@ -661,24 +661,29 @@ 661 661 **//With your question as detailed as possible. We will reply and help you in the shortest.//** 662 662 663 663 664 -= **12. Reference** = 665 665 427 += **9. Reference** = 666 666 667 -* Install Tago Core: Refer **Install Tago Core in LG01v2** in[[ Instruction>>doc:Main.Tago\.IO.WebHome]]. 668 -* [[Advance OS Reference Guide for L>>doc:Main.Armbian OS instruction.WebHome]]G01v2. 669 669 430 +* Install Tago Core: Refer **Install Tago Core in LPS8v2** in[[ Instruction>>doc:Main.Tago\.IO.WebHome]]. 431 +* [[Advance OS Reference Guide for LPS8v2>>doc:Main.Armbian OS instruction.WebHome]]. 432 + 670 670 671 671 ))) 672 672 673 -= **1 3. Order Info** =436 += **10. Order Info** = 674 674 675 675 676 -(% style="color:#0000ff" %)**L G01v2-XXX-YYY**439 +(% style="color:#0000ff" %)**LPS8v2-XXX-YYY** 677 677 678 678 (% style="color:#0000ff" %)**XXX**(% style="color:black" %): Frequency Band 679 679 680 -* (% style="color:red" %)**868**(%%): For frequency : 863 ~~ 870Mhz 681 -* (% style="color:red" %)**915**(%%): For frequency : 902 ~~ 928Mhz 443 +* (% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band 444 +* (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band 445 +* (% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band 446 +* (% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band 447 +* (% style="color:red" %)**US915**(%%): LoRaWAN US915 band 448 +* (% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band 682 682 683 683 (% style="color:#0000ff" %)**YYY**(% style="color:black" %): 4G Cellular Option 684 684 ... ... @@ -690,9 +690,10 @@ 690 690 More info about valid bands, please see [[EC25-E product page>>url:https://www.quectel.com/product/ec25.htm]]. 691 691 692 692 693 -= **14. Manufacturer Info** = 694 694 461 += **10. Manufacturer Info** = 695 695 463 + 696 696 **Shenzhen Dragino Technology Development co. LTD** 697 697 698 698 Room 202, Block B, BCT Incubation Bases (BaoChengTai), No.8 CaiYunRoad ... ... @@ -700,9 +700,10 @@ 700 700 LongCheng Street, LongGang District ; Shenzhen 518116,China 701 701 702 702 703 -= **15. FCC Warning** = 704 704 472 += **11. FCC Warning** = 705 705 474 + 706 706 ((( 707 707 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: 708 708 ))) ... ... @@ -732,6 +732,7 @@ 732 732 ((( 733 733 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. 734 734 735 - 736 736 737 737 ))) 506 + 507 +~)~)~)
- 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 -]
- 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