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-20221103152238-8.png", version {1}
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 28 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
- image-20221104100344-1.png
- image-20221104100520-2.png
- image-20221104102736-3.png
- image-20221104155612-1.png
- image-20221104155654-2.png
- image-20221104155724-3.png
- image-20221104155907-4.png
- image-20221104155928-5.png
- image-20221104155949-6.png
- image-20221108164337-1.png
- image-20221108164413-2.png
- image-20221108170314-3.png
- image-20221108170621-4.jpeg
- image-20221108170731-5.png
- 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
- serial USB.json
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Edwin1 +XWiki.Kilight - 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 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 ... ... @@ -55,7 +55,6 @@ 55 55 * Storage Temperature: -20 ~~ 65°C 56 56 * Power Input: 5V, 2A, DC 57 57 58 - 59 59 == **1.3 Features** == 60 60 61 61 ... ... @@ -64,9 +64,9 @@ 64 64 * Remote Management 65 65 * Auto-provisioning for batch deployment and management 66 66 * LoRa Gateway 59 +* Built-in (% style="color:#037691" %)//**The Things Network**//(%%) local LoRaWAN server 67 67 * Built-in (% style="color:#037691" %)//**Node-Red**// (%%)local Application server 68 68 69 - 70 70 == **1.4 Block Diagram** == 71 71 72 72 ... ... @@ -92,10 +92,11 @@ 92 92 (% style="color:blue" %)//**➢ WIFI LED**//(%%)//: This LED shows the WIFI interface connection status.// 93 93 94 94 87 + 95 95 == **1.6 Button Intruction** == 96 96 97 97 98 -LG01 -V2 has a black toggle button, which is:91 +LG01v2 has a black toggle button, which is: 99 99 100 100 101 101 (% style="color:blue" %)**//➢ //Long press 4-5s : **(%%)the gateway will reload the Network and Initialize wifi configuration ... ... @@ -108,6 +108,7 @@ 108 108 //**LED status: ** ETH LED will SOLID BULE Until the restore is finished.// 109 109 110 110 104 + 111 111 = **2. Quick Start** = 112 112 113 113 ... ... @@ -118,6 +118,7 @@ 118 118 119 119 == **2.1 Connects to the network and accesses the gateway Web UI** == 120 120 115 + 121 121 == **2.1.1 connect the network.** == 122 122 123 123 ... ... @@ -124,7 +124,7 @@ 124 124 === (% style="color:blue" %)**Method 1**(%%): Connect via Ethernet with DHCP IP from the router === 125 125 126 126 127 -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.122 +Connect the LG01v2 Ethernet port to your router and LG01v2 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 LG01v2. 128 128 129 129 You can also use this IP to connect. 130 130 ... ... @@ -137,105 +137,99 @@ 137 137 138 138 [[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"]] 139 139 135 +The LG01v2 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 -Fill in the WiFi information by checking the box and clicking (% style="color:red" %)**Save&Apply** 142 142 138 +(% style="color:#037691" %)**Steps to connect via fallback IP:** 143 143 144 - [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220622102702-6.png?rev=1.1||alt="image-20220622102702-6.png"]]140 +~1. Connect PC's Ethernet port to LG01-V2's WAN port 145 145 142 +2. Configure PC's Ethernet port has IP: 172.31.255.253 and Netmask: 255.255.255.252 146 146 147 -**Wi-Fi configuration successful** 148 148 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"]] 149 149 150 -[[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"]] 151 151 148 +and then On the PC, use the IP address **http:~/~/172.31.255.254** to access the LG01-V2 via Web or Console. 152 152 153 -= **3. Web Configure Pages** = 154 154 155 - == **3.1Home**==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"]] 156 156 157 157 158 - //Showsthesystemrunning status~://154 +Fill in the WiFi information by checking the box and clicking (% style="color:red" %)**Save&Apply** 159 159 160 -[[image:image-20221104155612-1.png||height="497" width="942"]] 161 161 157 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220622102702-6.png?rev=1.1||alt="image-20220622102702-6.png"]] 162 162 163 -== **3.2 Network Settings** == 164 164 165 - ===**3.2.1 Network ~-~->WiFi**===160 +**Wi-Fi configuration successful** 166 166 167 167 168 -[[image:image-20221 104155654-2.png||height="319" width="813"]]163 +[[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"]] 169 169 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"]] 170 170 171 -=== **3.4.2 Network ~-~-> System Status** === 172 172 168 += **3. Web Configure Pages** = 173 173 174 - [[image:image-20221104155724-3.png||height="679"width="861"]]170 +== **3.1 Home** == 175 175 172 +//Shows the system running status~:// 176 176 177 - === **3.4.3 Network ~-~-> Firewall**===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"]] 178 178 179 179 180 - [[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"]]177 +== **3.2 Network Settings** == 181 181 182 182 183 -== **3. 5System** ==180 +=== **3.2.1 Network ~-~-> WiFi** === 184 184 185 -=== **3.5.1 System ~-~-> System Overview** === 186 186 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"]] 187 187 188 -Shows the system info: 189 189 190 -[[image:image-20221104155907-4.png]] 191 191 187 +=== **3.4.2 Network ~-~-> System Status** === 192 192 193 -=== **3.5.2 System ~-~-> Backup/Restore** === 194 194 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"]] 195 195 196 -[[image:image-20221104155928-5.png||height="334" width="880"]] 197 197 198 198 199 -= (% id="cke_bm_1978S" style="display:none"%)****(%%)**4.Buildin Server** =194 +=== **3.4.3 Network ~-~-> Firewall** === 200 200 201 201 202 - Theefault factory versionf LG01-V2is installedwith theuilt-in Applicantserver: (% style="color:blue" %)**Node-Red**197 +[[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"]] 203 203 204 204 205 -[[image:image-20221104155949-6.png||height="315" width="1023"]] 206 206 201 +== **3.5 System** == 207 207 208 -(% style="color:red" %)**Note:** 209 209 210 - Path**:System ~-~->Built-inServer204 +=== **3.5.1 System ~-~-> System Overview** === 211 211 212 212 213 - (%style="color:blue"%)**Troubleshooting:**207 +Shows the system info: 214 214 215 - **~ 1.URLdoesjump properly**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"]] 216 216 217 - For the Node-Red, you can use the local IP address and the port is 1880 to access it. 218 218 219 219 220 -== ** 4.1 ApplicationServer~-~-Node-Red** ==213 +=== **3.5.2 System ~-~-> Backup/Restore** === 221 221 222 222 223 - You can access the gateway's built-in AS serverof (% style="color:blue" %)**Node-Red **(%%)viatheURL((%style="background-color:yellow"%)__**//http:~/~/<hostname>:1880or http:~/~/<local-IPV4-address>//**__(%%))in yourbrowser.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"]] 224 224 225 225 226 -Such as (% style="background-color:yellow" %)__**//http:~/~/dragino-54ff12:1880 or http:~/~/<Local-IPV4-Address>//**__ 227 227 220 += **4. How to configure the Lora Gateway** = 228 228 229 -[[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"]] 230 230 223 +== **4.1 Access the Lora configuration page** == 231 231 232 -= **5. How to configure the Lora Gateway** = 233 233 234 - ==**5.1ConfigureandDebugLoRawirelessofLG01v2**==226 +Users can access the LA66 module by running the following command, then select the option **''serial port setup"**: 235 235 236 - 237 -Users can access the Lora configuration page by running the following command, then select the option **''serial port setup"**: 238 - 239 239 (% class="box infomessage" %) 240 240 ((( 241 241 **root@dragino-2406ef:~~# minicom -s** ... ... @@ -254,9 +254,7 @@ 254 254 ))) 255 255 256 256 257 -(% style="color:red" %)**Note: Enter the corresponding letter to change the configuration, like A,B,C** 258 - 259 - 246 +(% style="color:red" %)**Note: Enter the corresponding letter to change the configuration, like A,B,C**(%%) 260 260 (% style="color:red" %)[[image:image-20221029174703-3.png]] 261 261 262 262 ... ... @@ -265,185 +265,91 @@ 265 265 266 266 (% class="box infomessage" %) 267 267 ((( 268 -**AT+FRE=868.100,868.100 ~-~--> TX and RX frequency 269 -AT+GROUPMOD=0,0 ~-~--> TX and RX group 270 -AT+BW=0,0 ~-~--> TX and RX Bandwidth 271 -AT+SF=12,12 ~-~--> TX and RX Spreading Factor 272 -AT+POWER=14 ~-~--> TX Power Range 273 -AT+CRC=1,1 ~-~--> TX and RX CRC Type 274 -AT+HEADER=0,0 ~-~--> TX and RX Header Type 275 -AT+CR=1,1 ~-~--> TX and RX Coding Rate 276 -AT+IQ=0,0 ~-~--> TX and RX InvertIQ 277 -AT+PREAMBLE=8,8 ~-~--> TX and RX Preamble Length 278 -AT+SYNCWORD=0 ~-~--> Syncword(0: private,1: public) 279 -AT+RXMOD=65535,0 ~-~--> Rx Timeout and Reply mode 280 -AT+RXDAFORM=1** 281 -))) 282 - 283 - 284 -== **5.2 Example: LG01v2** == 285 - 286 -=== **5.2.1 Introduce for the example:** === 287 - 288 - 289 -[[image:image-20221104102736-3.png||height="282" width="723"]] 290 - 291 - 292 -In this example, there are two devices: 293 - 294 -* **LA66 Shield + UNO + DHT11**: The UNO will get the temperature and humidity and broadcast the value via LoRa protocol. 295 -* **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. 296 - 297 - 298 -=== **5.2.2 Set Up LA66 Shield + UNO** === 299 - 300 - 301 -==== **Set up LA66 Module** ==== 302 - 303 - 304 -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: 305 - 306 -((( 307 -(% style="color:red" %)**LA66 Shield as Sender: ** 308 - 309 -(% class="box infomessage" %) 310 -((( 311 -**LA66 Shield configuration:** 312 - 313 -AT+FRE=868.100,868.100 ~-~--> TX and RX frequency set: 868100000 314 -AT+BW=0,0 ~-~--> TX and RX Bandwidth set: 125kHz 315 -AT+SF=12,12 ~-~--> TX and RX Spreading Factor set: SF12 316 -AT+POWER=14 ~-~--> TX Power Range set: 14dBm 255 +AT+FRE=868.100,868.100 ~-~--> TX and RX frequency 256 +AT+GROUPMOD=0,0 ~-~--> TX and RX group 257 +AT+BW=0,0 ~-~--> TX and RX Bandwidth 258 +AT+SF=12,12 ~-~--> TX and RX Spreading Factor 259 +AT+POWER=14 ~-~--> TX Power Range 317 317 AT+CRC=1,1 ~-~--> TX and RX CRC Type 318 318 AT+HEADER=0,0 ~-~--> TX and RX Header Type 319 319 AT+CR=1,1 ~-~--> TX and RX Coding Rate 320 320 AT+IQ=0,0 ~-~--> TX and RX InvertIQ 321 -AT+PREAMBLE=8,8 ~-~--> TX and RX Preamble Length set: 8264 +AT+PREAMBLE=8,8 ~-~--> TX and RX Preamble Length 322 322 AT+SYNCWORD=0 ~-~--> Syncword**(0: private,1: public)** 323 -AT+RXMOD=6,0 ~-~--> Rx Timeout and Reply mode 266 +AT+RXMOD=65535,0 ~-~--> Rx Timeout and Reply mode 267 +AT+RXDAFORM=1 324 324 ))) 325 -))) 326 326 327 327 271 +== **4.2 Example: LG01v2 Peer-to-Peer** == 328 328 329 -==== **Set up Arduino UNO** ==== 330 330 331 -(% id="cke_bm_1033249S" style="display:none" %)** ** 332 332 333 - **HardwareConnection**275 +[[image:image-20221103143618-5.png||height="274" width="612"]] 334 334 335 -(% class="box infomessage" %) 336 -((( 337 -**The DHT11 sensor connects to the LA66 Shield:** 338 338 339 -**VCC <~-~--> 3.3V (Red line)** 340 -**DATA <~-~--> PIN8 (Purple line)** 341 -**GND <~-~--> GND (White line)** 342 -))) 278 +The user can run the AT command to set the LG01v2 RX window always open as a Receiver, the LA66 Shield uses **AT+SEND=1,hello world,2,3** to simulate sending data, 343 343 344 - [[image:image-20221108170731-5.png||height="588"width="441"]]280 +**Prerequisites: **The configuration of LG01v2 and LA66 Shield must match, users can use **AT+CFG** to check all configurations. 345 345 346 346 283 +(% style="color:red" %)**LG01v2 as Receiver: (configured as AT+RXMOD=65535,2)** 347 347 348 - ===== **1.OpenArduino IDE** =====285 +[[image:image-20221102140053-4.png]] 349 349 350 350 351 - [[image:image-20221108172149-6.png||height="650"width="542"]]288 +(% style="color:red" %)**LA66 Shield as Sender: (AT+SEND=1,hello world,2,3)** 352 352 290 +[[image:1667456058832-484.png||height="291" width="353"]] 353 353 354 354 355 -===== **2. Open project** ===== 293 +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/]] 294 +))) 356 356 357 357 358 - Userscandownload Arduino filesfrom this link: [[attach:Log-Temperature-Sensor-and-send-data-to-Node-red.ino||target="_blank"]]297 += **5. Build in Server** = 359 359 360 -Then click Compile and Upload to LA66 Shield, 361 361 362 - [[image:image-20221108172432-7.png]]300 +The default factory version of LG01-V2 is installed with the built-in Applicant server: (% style="color:blue" %)**Node-Red** 363 363 364 364 303 +[[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"]] 365 365 366 -===== **3. Open the Serial Monitor to check the LA66 Shield data** ===== 367 367 306 +(% style="color:red" %)**Note:** 368 368 369 - TheUNOwillnowreadsthetemperatureandhumiditydata from thesensorandbroadcastitviaLoRa wireless,308 + **Path**: System ~-~-> Built-in Server 370 370 371 -[[image:image-20221108174840-8.png||height="731" width="671"]] 372 372 311 +**Troubleshooting:** 373 373 374 374 375 - Sendingoutdataas below.314 +**~ 1. URL does not jump properly** 376 376 377 - [[image:image-20221108175113-9.png||height="556"width="998"]]316 + For the Node-Red, you can use the local IP address and the port is 1880 to access it. 378 378 379 379 380 -=== **5.2.3 Set Up LG01v2** === 381 381 320 +== **5.1 Application Server ~-~- Node-Red** == 382 382 383 -Configure LG01v2 LoRa channel parameters so it can get data from LA66 Shield 384 384 385 -(% style="color: red; font-weight:bold" %)**LG01v**(% style="color:red" %)**2 asReceiver:(configuredasAT+RXMOD=65535,2)**323 +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. 386 386 387 -(% class="box infomessage" %) 388 -((( 389 -**LG01-V2 configuration:** 390 390 391 -AT+FRE=868.100,868.100 ~-~--> TX and RX frequency set: 868100000 392 -AT+BW=0,0 ~-~--> TX and RX Bandwidth set: 125kHz 393 -AT+SF=12,12 ~-~--> TX and RX Spreading Factor set: SF12 394 -AT+POWER=14 ~-~--> TX Power Range set: 14dBm 395 -AT+CRC=1,1 ~-~--> TX and RX CRC Type 396 -AT+HEADER=0,0 ~-~--> TX and RX Header Type 397 -AT+CR=1,1 ~-~--> TX and RX Coding Rate 398 -AT+IQ=0,0 ~-~--> TX and RX InvertIQ 399 -AT+PREAMBLE=8,8 ~-~--> TX and RX Preamble Length set: 8 400 -AT+SYNCWORD=0 ~-~--> Syncword**(0: private,1: public)** 401 -AT+RXMOD=65535,0 ~-~--> Rx Timeout and Reply mode, RX window always open 402 -))) 326 +Such as (% style="background-color:yellow" %)__**//http:~/~/dragino-54ff12:1880 or http:~/~/<Local-IPV4-Address>//**__ 403 403 404 404 405 - === **5.2.4Testsult**===329 +[[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"]] 406 406 407 407 408 -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).** 409 -))) 332 += (% style="color:inherit; font-family:inherit; font-size:29px" %)**6. How users can access LG01v2 using serial USB**(%%) = 410 410 411 -When LG01v2 replies with ACK when it receives a packet sent by LA66 sheild. 412 412 413 - [[image:image-20221108164413-2.png]]335 +(% style="color:blue" %)**USB TTL to LG01v2 Connection:** 414 414 415 415 338 +Port 1 of the UART on the LG01v2 is GND 416 416 417 -In the real-time log of LG01v2: 418 - 419 -[[image:image-20221108170314-3.png]] 420 - 421 - 422 -=== **5.2.5 Plot data chart in LG01v2** === 423 - 424 - 425 -User can plot the temperature and humidity chat via LG01v2 built-in IoT server. 426 - 427 -User can import this example in Node-Red: [[attach:Log-Temperature-Sensor-and-send-data-to-node-red.json||target="_blank"]] 428 - 429 -[[image:image-20221108180334-10.png||height="651" width="1141"]] 430 - 431 - 432 -The temperature and humidity chart is displayed in the built-in node-red UI 433 - 434 -**Browser input: (% style="background-color:yellow" %)__//http:~/~/<local-IPV4-address>//__(%%)** 435 - 436 -[[image:image-20221108180458-11.png||height="402" width="1137"]] 437 - 438 - 439 -= (% 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(%%)** = 440 - 441 - 442 -(% style="color:blue" %)**USB TTL to LG01-V2 Connection:** 443 - 444 - 445 -Port 1 of the UART on the LG01-V2 is GND 446 - 447 447 (% class="box infomessage" %) 448 448 ((( 449 449 **TXD <~-~--> UART RXD (Gray line)** ... ... @@ -454,7 +454,7 @@ 454 454 ))) 455 455 456 456 457 -**LG01 -V2 UART connection photo**350 +**LG01v2 UART connection photo** 458 458 459 459 [[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"]] 460 460 ... ... @@ -465,24 +465,24 @@ 465 465 466 466 [[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"]] 467 467 468 - 469 469 [[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"]] 470 470 471 471 472 472 = **7. FAQ** = 473 473 474 -== **7.1 How does LG01-V2 communicate with Lora shield (LoRa.h)** == 475 475 367 +== **7.1 How does LG01v2 communicate with Lora shield (LoRa.h)** == 476 476 477 -This example describes how to use LG01-V2, LoRa Shield to set up a LoRa network, 478 478 479 - [[image:image-20221103152238-8.png||height="251"width="654"]]370 +This example describes how to use LG01v2, LoRa Shield to set up a LoRa network 480 480 372 +[[image:image-20221103144405-6.png||height="253" width="712"]] 481 481 482 -(% style="color:red" %)**Prerequisites: The configurations of LG01-V2 and Lora shield must match** 483 483 484 -** LG01-V2configuration:**375 +(% style="color:red" %)**Prerequisites: The configurations of LG01v2 and Lora shield must match** 485 485 377 +**LG01v2 configuration:** 378 + 486 486 (% class="box infomessage" %) 487 487 ((( 488 488 AT+FRE=868.100,868.100 ~-~--> TX and RX frequency set: 868100000 ... ... @@ -499,8 +499,6 @@ 499 499 AT+RXDAFORM=1 500 500 ))) 501 501 502 - 503 - 504 504 **Lora shield configuration:** 505 505 506 506 Lora Shield example: [[attach:LoRa_Shield_Sketch_For_MQTT.ino||target="_blank"]] , [[attach:arduino-LoRa-master.zip||target="_blank"]] ... ... @@ -508,59 +508,16 @@ 508 508 [[image:image-20221101161318-2.png]] 509 509 510 510 402 +**Test LG01v2 to receive Lora Shield data:** 511 511 512 -**Test LG01-V2 to receive Lora Shield data:** 513 - 514 514 [[image:image-20221101161951-3.png]] 515 515 516 516 407 +**Test the LG01v2 to send data:** 517 517 518 -**Test the LG01-V2 to send data:** 519 - 520 520 [[image:image-20221101162527-4.png]] 521 521 522 522 523 -== **7.2 How does LG01-V2 communicate with Heltec LoRa Node** == 524 - 525 - 526 -This example describes how to use LG01-V2 and Heltec LoRa Node to set up a LoRa network, 527 - 528 -[[image:image-20221112161111-2.png||height="258" width="692"]] 529 - 530 -(% style="color:red" %)**Prerequisites: The configurations of LG01-V2 and Lora shield must match** 531 - 532 - 533 -**LG01-V2 configuration:** 534 - 535 -(% class="box infomessage" %) 536 -((( 537 -AT+FRE=868.100,868.100 ~-~--> TX and RX frequency set: 868100000 538 -AT+BW=0,0 ~-~--> TX and RX Bandwidth set: 125kHz 539 -AT+SF=12,12 ~-~--> TX and RX Spreading Factor set: SF12 540 -AT+POWER=14 ~-~--> TX Power Range 541 -AT+CRC=1,1 ~-~--> TX and RX CRC Type 542 -AT+HEADER=0,0 ~-~--> TX and RX Header Type 543 -AT+CR=1,1 ~-~--> TX and RX Coding Rate 544 -AT+IQ=0,0 ~-~--> TX and RX InvertIQ 545 -AT+PREAMBLE=8,8 ~-~--> TX and RX Preamble Length set: 8 546 -AT+SYNCWORD=0 ~-~--> Syncword**(0: private,1: public), **the corresponding Lora shield syncword is 0x12 547 -AT+RXMOD=65535,0 ~-~--> Rx Timeout and Reply mode,RX window always open 548 -AT+RXDAFORM=1 ~-~--> RX data format**(0: Hex ,1: String)** 549 -))) 550 - 551 - 552 -After we upload the sketch to Heltec LoRa Node, we can see below output from Arduino. 553 - 554 -Lora Shield example: [[attach:LoRa_send_trial.ino||target="_blank"]] 555 - 556 -[[image:image-20221112162733-3.png||height="524" width="927"]] 557 - 558 - 559 -And we can see the logread of gateway as below, means the packet arrive gateway: 560 - 561 -[[image:image-20221112163119-4.png||height="808" width="560"]] 562 - 563 - 564 564 = (% style="color:inherit; font-family:inherit; font-size:29px" %)**8. Supports**(%%) = 565 565 566 566 ... ... @@ -572,6 +572,7 @@ 572 572 **//With your question as detailed as possible. We will reply and help you in the shortest.//** 573 573 574 574 423 + 575 575 = **9. Reference** = 576 576 577 577 ... ... @@ -605,6 +605,7 @@ 605 605 More info about valid bands, please see [[EC25-E product page>>url:https://www.quectel.com/product/ec25.htm]]. 606 606 607 607 457 + 608 608 = **10. Manufacturer Info** = 609 609 610 610 ... ... @@ -615,6 +615,7 @@ 615 615 LongCheng Street, LongGang District ; Shenzhen 518116,China 616 616 617 617 468 + 618 618 = **11. FCC Warning** = 619 619 620 620 ... ... @@ -647,6 +647,7 @@ 647 647 ((( 648 648 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. 649 649 650 - 651 651 652 652 ))) 503 + 504 +~)~)~)
- 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.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-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
- 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 -]