Changes for page LG01v2 -- LoRa Gateway User Manual
Last modified by Kilight Cao on 2024/10/12 08:58
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 28 added, 0 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. Kilight1 +XWiki.Edwin - Content
-
... ... @@ -11,9 +11,13 @@ 11 11 12 12 {{toc/}} 13 13 14 -= **1. Introduction** = 15 15 16 16 16 + 17 + 18 + 19 += **1. Introduction** = 20 + 17 17 == **1.1 What is LG01v2** == 18 18 19 19 ... ... @@ -20,14 +20,17 @@ 20 20 ((( 21 21 ((( 22 22 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. 23 23 ))) 24 24 25 25 ((( 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 + 26 26 LG01v2 supports (% style="color:green" %)**remote management**(%%). System Integrator can easy to remote monitor the gateway and maintain it. 27 27 ))) 28 28 29 29 30 - 31 31 == **1.2 Specifications** == 32 32 33 33 ... ... @@ -56,7 +56,6 @@ 56 56 * Remote Management 57 57 * Auto-provisioning for batch deployment and management 58 58 * LoRa Gateway 59 -* Built-in (% style="color:#037691" %)//**The Things Network**//(%%) local LoRaWAN server 60 60 * Built-in (% style="color:#037691" %)//**Node-Red**// (%%)local Application server 61 61 62 62 == **1.4 Block Diagram** == ... ... @@ -84,11 +84,10 @@ 84 84 (% style="color:blue" %)//**➢ WIFI LED**//(%%)//: This LED shows the WIFI interface connection status.// 85 85 86 86 87 - 88 88 == **1.6 Button Intruction** == 89 89 90 90 91 -LG01 v2 has a black toggle button, which is:96 +LG01-V2 has a black toggle button, which is: 92 92 93 93 94 94 (% style="color:blue" %)**//➢ //Long press 4-5s : **(%%)the gateway will reload the Network and Initialize wifi configuration ... ... @@ -101,7 +101,6 @@ 101 101 //**LED status: ** ETH LED will SOLID BULE Until the restore is finished.// 102 102 103 103 104 - 105 105 = **2. Quick Start** = 106 106 107 107 ... ... @@ -112,7 +112,6 @@ 112 112 113 113 == **2.1 Connects to the network and accesses the gateway Web UI** == 114 114 115 - 116 116 == **2.1.1 connect the network.** == 117 117 118 118 ... ... @@ -119,7 +119,7 @@ 119 119 === (% style="color:blue" %)**Method 1**(%%): Connect via Ethernet with DHCP IP from the router === 120 120 121 121 122 -Connect the LG01 v2 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.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. 123 123 124 124 You can also use this IP to connect. 125 125 ... ... @@ -132,99 +132,105 @@ 132 132 133 133 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220622100542-2.png?width=1256&height=369&rev=1.1||alt="image-20220622100542-2.png"]] 134 134 135 -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. 136 136 139 +Fill in the WiFi information by checking the box and clicking (% style="color:red" %)**Save&Apply** 137 137 138 -(% style="color:#037691" %)**Steps to connect via fallback IP:** 139 139 140 - ~1.Connect PC'sEthernet porttoLG01-V2's WANport142 +[[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"]] 141 141 142 -2. Configure PC's Ethernet port has IP: 172.31.255.253 and Netmask: 255.255.255.252 143 143 145 +**Wi-Fi configuration successful** 144 144 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"]] 146 146 148 +[[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"]] 147 147 148 -and then On the PC, use the IP address **http:~/~/172.31.255.254** to access the LG01-V2 via Web or Console. 149 149 151 += **3. Web Configure Pages** = 150 150 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"]]153 +== **3.1 Home** == 152 152 153 153 154 - Fill in the WiFi informationby checkingthebox and clicking(%style="color:red" %)**Save&Apply**156 +//Shows the system running status~:// 155 155 158 +[[image:image-20221104155612-1.png||height="497" width="942"]] 156 156 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"]] 158 158 161 +== **3.2 Network Settings** == 159 159 160 -**Wi -Ficonfiguration successful**163 +=== **3.2.1 Network ~-~-> WiFi** === 161 161 162 162 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"]]166 +[[image:image-20221104155654-2.png||height="319" width="813"]] 164 164 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"]] 166 166 169 +=== **3.4.2 Network ~-~-> System Status** === 167 167 168 -= **3. Web Configure Pages** = 169 169 170 - == **3.1 Home**==172 +[[image:image-20221104155724-3.png||height="679" width="861"]] 171 171 172 -//Shows the system running status~:// 173 173 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"]]175 +=== **3.4.3 Network ~-~-> Firewall** === 175 175 176 176 177 - == **3.2 NetworkSettings**==178 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220616115351-6.png?width=661&height=244&rev=1.1||alt="image-20220616115351-6.png"]] 178 178 179 179 180 -== =**3.2.1Network ~-~-> WiFi** ===181 +== **3.5 System** == 181 181 183 +=== **3.5.1 System ~-~-> System Overview** === 182 182 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"]] 184 184 186 +Shows the system info: 185 185 188 +[[image:image-20221104155907-4.png]] 186 186 187 -=== **3.4.2 Network ~-~-> System Status** === 188 188 191 +=== **3.5.2 System ~-~-> Backup/Restore** === 189 189 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"]] 191 191 194 +[[image:image-20221104155928-5.png||height="334" width="880"]] 192 192 193 193 194 -=== ** 3.4.3 Network~-~->Firewall** ===197 += (% id="cke_bm_1978S" style="display:none" %)** **(%%)**4. Build in Server** = 195 195 196 196 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"]]200 +The default factory version of LG01-V2 is installed with the built-in Applicant server: (% style="color:blue" %)**Node-Red** 198 198 199 199 203 +[[image:image-20221104155949-6.png||height="315" width="1023"]] 200 200 201 -== **3.5 System** == 202 202 206 +(% style="color:red" %)**Note:** 203 203 204 - ===**3.5.1System ~-~->SystemOverview** ===208 + **Path**: System ~-~-> Built-in Server 205 205 206 206 207 - Showsthe systeminfo:211 +(% style="color:blue" %)**Troubleshooting:** 208 208 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"]]213 +**~ 1. URL does not jump properly** 210 210 215 + For the Node-Red, you can use the local IP address and the port is 1880 to access it. 211 211 212 212 213 -== =**3.5.2 System~-~->Backup/Restore** ===218 +== **4.1 Application Server ~-~- Node-Red** == 214 214 215 215 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"]]221 +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. 217 217 218 218 224 +Such as (% style="background-color:yellow" %)__**//http:~/~/dragino-54ff12:1880 or http:~/~/<Local-IPV4-Address>//**__ 219 219 220 -= **4. How to configure the Lora Gateway** = 221 221 227 +[[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"]] 222 222 223 -== **4.1 Access the Lora configuration page** == 224 224 230 += **5. How to configure the Lora Gateway** = 225 225 226 - Userscanaccess the LA66 module by runningthefollowing command,thenselect theoption**''serialportsetup"**:232 +== **5.1 Configure and Debug LoRa wireless of LG01v2** == 227 227 234 + 235 +Users can access the Lora configuration page by running the following command, then select the option **''serial port setup"**: 236 + 228 228 (% class="box infomessage" %) 229 229 ((( 230 230 **root@dragino-2406ef:~~# minicom -s** ... ... @@ -243,7 +243,9 @@ 243 243 ))) 244 244 245 245 246 -(% style="color:red" %)**Note: Enter the corresponding letter to change the configuration, like A,B,C**(%%) 255 +(% style="color:red" %)**Note: Enter the corresponding letter to change the configuration, like A,B,C** 256 + 257 + 247 247 (% style="color:red" %)[[image:image-20221029174703-3.png]] 248 248 249 249 ... ... @@ -252,90 +252,183 @@ 252 252 253 253 (% class="box infomessage" %) 254 254 ((( 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 266 +**AT+FRE=868.100,868.100 ~-~--> TX and RX frequency 267 +AT+GROUPMOD=0,0 ~-~--> TX and RX group 268 +AT+BW=0,0 ~-~--> TX and RX Bandwidth 269 +AT+SF=12,12 ~-~--> TX and RX Spreading Factor 270 +AT+POWER=14 ~-~--> TX Power Range 271 +AT+CRC=1,1 ~-~--> TX and RX CRC Type 272 +AT+HEADER=0,0 ~-~--> TX and RX Header Type 273 +AT+CR=1,1 ~-~--> TX and RX Coding Rate 274 +AT+IQ=0,0 ~-~--> TX and RX InvertIQ 275 +AT+PREAMBLE=8,8 ~-~--> TX and RX Preamble Length 276 +AT+SYNCWORD=0 ~-~--> Syncword(0: private,1: public) 277 +AT+RXMOD=65535,0 ~-~--> Rx Timeout and Reply mode 278 +AT+RXDAFORM=1** 279 +))) 280 + 281 + 282 +== **5.2 Example: LG01v2** == 283 + 284 +=== **5.2.1 Introduce for the example:** === 285 + 286 + 287 +[[image:image-20221104102736-3.png||height="282" width="723"]] 288 + 289 + 290 +In this example, there are two devices: 291 + 292 +* **LA66 Shield + UNO + DHT11**: The UNO will get the temperature and humidity and broadcast the value via LoRa protocol. 293 +* **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. 294 + 295 +=== **5.2.2 Set Up LA66 Shield + UNO** === 296 + 297 + 298 +==== **Set up LA66 Module** ==== 299 + 300 + 301 +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: 302 + 303 +((( 304 +(% style="color:red" %)**LA66 Shield as Sender: ** 305 + 306 +(% class="box infomessage" %) 307 +((( 308 +**LA66 Shield configuration:** 309 + 310 +AT+FRE=868.100,868.100 ~-~--> TX and RX frequency set: 868100000 311 +AT+BW=0,0 ~-~--> TX and RX Bandwidth set: 125kHz 312 +AT+SF=12,12 ~-~--> TX and RX Spreading Factor set: SF12 313 +AT+POWER=14 ~-~--> TX Power Range set: 14dBm 260 260 AT+CRC=1,1 ~-~--> TX and RX CRC Type 261 261 AT+HEADER=0,0 ~-~--> TX and RX Header Type 262 262 AT+CR=1,1 ~-~--> TX and RX Coding Rate 263 263 AT+IQ=0,0 ~-~--> TX and RX InvertIQ 264 -AT+PREAMBLE=8,8 ~-~--> TX and RX Preamble Length 318 +AT+PREAMBLE=8,8 ~-~--> TX and RX Preamble Length set: 8 265 265 AT+SYNCWORD=0 ~-~--> Syncword**(0: private,1: public)** 266 -AT+RXMOD=65535,0 ~-~--> Rx Timeout and Reply mode 267 -AT+RXDAFORM=1 320 +AT+RXMOD=6,0 ~-~--> Rx Timeout and Reply mode 268 268 ))) 322 +))) 269 269 270 270 271 -== **4.2 Example: LG01v2 Peer-to-Peer** == 272 272 326 +==== **Set up Arduino UNO** ==== 273 273 328 +(% id="cke_bm_1033249S" style="display:none" %)** ** 274 274 275 - [[image:image-20221103143618-5.png||height="274" width="612"]]330 +**Hardware Connection** 276 276 332 +(% class="box infomessage" %) 333 +((( 334 +**The DHT11 sensor connects to the LA66 Shield:** 277 277 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, 336 +**VCC <~-~--> 3.3V (Red line)** 337 +**DATA <~-~--> PIN8 (Purple line)** 338 +**GND <~-~--> GND (White line)** 339 +))) 279 279 280 - **Prerequisites:**The configuration of LG01v2and LA66 Shield must match, users can use **AT+CFG**tocheck all configurations.341 +[[image:image-20221108170731-5.png||height="588" width="441"]] 281 281 282 282 283 -(% style="color:red" %)**LG01v2 as Receiver: (configured as AT+RXMOD=65535,2)** 284 284 285 - [[image:image-20221102140053-4.png]]345 +===== **1. Open Arduino IDE** ===== 286 286 287 287 288 - (% style="color:red" %)**LA66 Shieldas Sender: (AT+SEND=1,helloworld,2,3)**348 +[[image:image-20221108172149-6.png||height="650" width="542"]] 289 289 290 -[[image:1667456058832-484.png||height="291" width="353"]] 291 291 292 292 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 -))) 352 +===== **2. Open project** ===== 295 295 296 296 297 - =**5.Build in Server**=355 +Users can download Arduino files from this link: [[attach:Log-Temperature-Sensor-and-send-data-to-Node-red.ino||target="_blank"]] 298 298 357 +Then click Compile and Upload to LA66 Shield, 299 299 300 - The default factory version of LG01-V2is installed with the built-in Applicant server: (% style="color:blue" %)**Node-Red**359 +[[image:image-20221108172432-7.png]] 301 301 302 302 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"]] 304 304 363 +===== **3. Open the Serial Monitor to check the LA66 Shield data** ===== 305 305 306 -(% style="color:red" %)**Note:** 307 307 308 - **Path**:System~-~->Built-inServer366 +The UNO will now reads the temperature and humidity data from the sensor and broadcast it via LoRa wireless, 309 309 368 +[[image:image-20221108174840-8.png||height="731" width="671"]] 310 310 311 -**Troubleshooting:** 312 312 313 313 314 - **~ 1. URL doesnotjumpproperly**372 +Sending out data as below. 315 315 316 - For the Node-Red, you can usethe local IP address and theportis 1880toaccessit.374 +[[image:image-20221108175113-9.png||height="556" width="998"]] 317 317 318 318 377 +=== **5.2.3 Set Up LG01v2** === 319 319 320 -== **5.1 Application Server ~-~- Node-Red** == 321 321 380 +Configure LG01v2 LoRa channel parameters so it can get data from LA66 Shield 322 322 323 - You can access the gateway's built-in AS server of(% style="color:blue" %)**Node-Red**(%%)viathe URL((%style="background-color:yellow" %)__**//http:~/~/<hostname>:1880orhttp:~/~/<local-IPV4-address>//**__(%%)) in your browser.382 +(% style="color:red; font-weight:bold" %)**LG01v**(% style="color:red" %)**2 as Receiver: (configured as AT+RXMOD=65535,2)** 324 324 384 +(% class="box infomessage" %) 385 +((( 386 +**LG01-V2 configuration:** 325 325 326 -Such as (% style="background-color:yellow" %)__**//http:~/~/dragino-54ff12:1880 or http:~/~/<Local-IPV4-Address>//**__ 388 +AT+FRE=868.100,868.100 ~-~--> TX and RX frequency set: 868100000 389 +AT+BW=0,0 ~-~--> TX and RX Bandwidth set: 125kHz 390 +AT+SF=12,12 ~-~--> TX and RX Spreading Factor set: SF12 391 +AT+POWER=14 ~-~--> TX Power Range set: 14dBm 392 +AT+CRC=1,1 ~-~--> TX and RX CRC Type 393 +AT+HEADER=0,0 ~-~--> TX and RX Header Type 394 +AT+CR=1,1 ~-~--> TX and RX Coding Rate 395 +AT+IQ=0,0 ~-~--> TX and RX InvertIQ 396 +AT+PREAMBLE=8,8 ~-~--> TX and RX Preamble Length set: 8 397 +AT+SYNCWORD=0 ~-~--> Syncword**(0: private,1: public)** 398 +AT+RXMOD=65535,0 ~-~--> Rx Timeout and Reply mode, RX window always open 399 +))) 327 327 328 328 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"]]402 +=== **5.2.4 Test result** === 330 330 331 331 332 -= (% style="color:inherit; font-family:inherit; font-size:29px" %)**6. How users can access LG01v2 using serial USB**(%%) = 405 +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).** 406 +))) 333 333 408 +When LG01v2 replies with ACK when it receives a packet sent by LA66 sheild. 334 334 410 +[[image:image-20221108164413-2.png]] 411 + 412 + 413 + 414 +In the real-time log of LG01v2: 415 + 416 +[[image:image-20221108170314-3.png]] 417 + 418 + 419 +=== **5.2.5 Plot data chart in LG01v2** === 420 + 421 + 422 +User can plot the temperature and humidity chat via LG01v2 built-in IoT server. 423 + 424 +User can import this example in Node-Red: [[attach:Log-Temperature-Sensor-and-send-data-to-node-red.json||target="_blank"]] 425 + 426 +[[image:image-20221108180334-10.png||height="651" width="1141"]] 427 + 428 + 429 +The temperature and humidity chart is displayed in the built-in node-red UI 430 + 431 +**Browser input: (% style="background-color:yellow" %)__//http:~/~/<local-IPV4-address>//__(%%)** 432 + 433 +[[image:image-20221108180458-11.png||height="402" width="1137"]] 434 + 435 + 436 += (% 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(%%)** = 437 + 438 + 335 335 (% style="color:blue" %)**USB TTL to LG01v2 Connection:** 336 336 337 337 338 -Port 1 of the UART on the LG01 v2 is GND442 +Port 1 of the UART on the LG01-V2 is GND 339 339 340 340 (% class="box infomessage" %) 341 341 ((( ... ... @@ -347,7 +347,7 @@ 347 347 ))) 348 348 349 349 350 -**LG01 v2 UART connection photo**454 +**LG01-V2 UART connection photo** 351 351 352 352 [[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"]] 353 353 ... ... @@ -358,24 +358,24 @@ 358 358 359 359 [[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"]] 360 360 465 + 361 361 [[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"]] 362 362 363 363 364 364 = **7. FAQ** = 365 365 471 +== **7.1 How does LG01-V2 communicate with Lora shield (LoRa.h)** == 366 366 367 -== **7.1 How does LG01v2 communicate with Lora shield (LoRa.h)** == 368 368 474 +This example describes how to use LG01-V2, LoRa Shield to set up a LoRa network, 369 369 370 - This exampledescribes how to use LG01v2, LoRa Shield to set upa LoRanetwork476 +[[image:image-20221103152238-8.png||height="251" width="654"]] 371 371 372 -[[image:image-20221103144405-6.png||height="253" width="712"]] 373 373 479 +(% style="color:red" %)**Prerequisites: The configurations of LG01-V2 and Lora shield must match** 374 374 375 - (% style="color:red" %)**Prerequisites:Theconfigurations of LG01v2 and Lora shield must match**481 +**LG01-V2 configuration:** 376 376 377 -**LG01v2 configuration:** 378 - 379 379 (% class="box infomessage" %) 380 380 ((( 381 381 AT+FRE=868.100,868.100 ~-~--> TX and RX frequency set: 868100000 ... ... @@ -392,6 +392,8 @@ 392 392 AT+RXDAFORM=1 393 393 ))) 394 394 499 + 500 + 395 395 **Lora shield configuration:** 396 396 397 397 Lora Shield example: [[attach:LoRa_Shield_Sketch_For_MQTT.ino||target="_blank"]] , [[attach:arduino-LoRa-master.zip||target="_blank"]] ... ... @@ -399,16 +399,59 @@ 399 399 [[image:image-20221101161318-2.png]] 400 400 401 401 402 -**Test LG01v2 to receive Lora Shield data:** 403 403 509 +**Test LG01-V2 to receive Lora Shield data:** 510 + 404 404 [[image:image-20221101161951-3.png]] 405 405 406 406 407 -**Test the LG01v2 to send data:** 408 408 515 +**Test the LG01-V2 to send data:** 516 + 409 409 [[image:image-20221101162527-4.png]] 410 410 411 411 520 +== **7.2 How does LG01-V2 communicate with Heltec LoRa Node** == 521 + 522 + 523 +This example describes how to use LG01-V2 and Heltec LoRa Node to set up a LoRa network, 524 + 525 +[[image:image-20221112161111-2.png||height="258" width="692"]] 526 + 527 +(% style="color:red" %)**Prerequisites: The configurations of LG01-V2 and Lora shield must match** 528 + 529 + 530 +**LG01-V2 configuration:** 531 + 532 +(% class="box infomessage" %) 533 +((( 534 +AT+FRE=868.100,868.100 ~-~--> TX and RX frequency set: 868100000 535 +AT+BW=0,0 ~-~--> TX and RX Bandwidth set: 125kHz 536 +AT+SF=12,12 ~-~--> TX and RX Spreading Factor set: SF12 537 +AT+POWER=14 ~-~--> TX Power Range 538 +AT+CRC=1,1 ~-~--> TX and RX CRC Type 539 +AT+HEADER=0,0 ~-~--> TX and RX Header Type 540 +AT+CR=1,1 ~-~--> TX and RX Coding Rate 541 +AT+IQ=0,0 ~-~--> TX and RX InvertIQ 542 +AT+PREAMBLE=8,8 ~-~--> TX and RX Preamble Length set: 8 543 +AT+SYNCWORD=0 ~-~--> Syncword**(0: private,1: public), **the corresponding Lora shield syncword is 0x12 544 +AT+RXMOD=65535,0 ~-~--> Rx Timeout and Reply mode,RX window always open 545 +AT+RXDAFORM=1 ~-~--> RX data format**(0: Hex ,1: String)** 546 +))) 547 + 548 + 549 +After we upload the sketch to Heltec LoRa Node, we can see below output from Arduino. 550 + 551 +Lora Shield example: [[attach:LoRa_send_trial.ino||target="_blank"]] 552 + 553 +[[image:image-20221112162733-3.png||height="524" width="927"]] 554 + 555 + 556 +And we can see the logread of gateway as below, means the packet arrive gateway: 557 + 558 +[[image:image-20221112163119-4.png||height="808" width="560"]] 559 + 560 + 412 412 = (% style="color:inherit; font-family:inherit; font-size:29px" %)**8. Supports**(%%) = 413 413 414 414 ... ... @@ -420,12 +420,11 @@ 420 420 **//With your question as detailed as possible. We will reply and help you in the shortest.//** 421 421 422 422 423 - 424 424 = **9. Reference** = 425 425 426 426 427 -* Install Tago Core: Refer **Install Tago Core in L PS8v2** in[[ Instruction>>doc:Main.Tago\.IO.WebHome]].428 -* [[Advance OS Reference Guide for L PS8v2>>doc:Main.Armbian OS instruction.WebHome]].575 +* Install Tago Core: Refer **Install Tago Core in LG01v2** in[[ Instruction>>doc:Main.Tago\.IO.WebHome]]. 576 +* [[Advance OS Reference Guide for L>>doc:Main.Armbian OS instruction.WebHome]]G01v2. 429 429 430 430 431 431 ))) ... ... @@ -433,17 +433,14 @@ 433 433 = **10. Order Info** = 434 434 435 435 436 -(% style="color:#0000ff" %)**L PS8v2-XXX-YYY**584 +(% style="color:#0000ff" %)**LG01v2-XXX-YYY** 437 437 438 438 (% style="color:#0000ff" %)**XXX**(% style="color:black" %): Frequency Band 439 439 440 -* (% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band 441 -* (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band 442 -* (% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band 443 -* (% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band 444 -* (% style="color:red" %)**US915**(%%): LoRaWAN US915 band 445 -* (% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band 588 +* (% style="color:red" %)**868**(%%): For frequency : 863 ~~ 870Mhz 589 +* (% style="color:red" %)**915**(%%): For frequency : 902 ~~ 928Mhz 446 446 591 + 447 447 (% style="color:#0000ff" %)**YYY**(% style="color:black" %): 4G Cellular Option 448 448 449 449 * (% style="color:red" %)**E**(%%): EMEA, Korea, Thailand, India. ... ... @@ -454,7 +454,6 @@ 454 454 More info about valid bands, please see [[EC25-E product page>>url:https://www.quectel.com/product/ec25.htm]]. 455 455 456 456 457 - 458 458 = **10. Manufacturer Info** = 459 459 460 460 ... ... @@ -465,7 +465,6 @@ 465 465 LongCheng Street, LongGang District ; Shenzhen 518116,China 466 466 467 467 468 - 469 469 = **11. FCC Warning** = 470 470 471 471 ... ... @@ -498,7 +498,6 @@ 498 498 ((( 499 499 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. 500 500 644 + 501 501 502 502 ))) 503 - 504 -~)~)~)
- LoRa_send_trial.ino
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +3.4 KB - Content
-
... ... @@ -1,0 +1,124 @@ 1 +#include "LoRaWan_APP.h" 2 +#include "Arduino.h" 3 + 4 + 5 +#define RF_FREQUENCY 868100000 // Hz 6 + 7 +#define TX_OUTPUT_POWER 5 // dBm 8 + 9 +#define LORA_BANDWIDTH 0 // [0: 125 kHz, 10 + // 1: 250 kHz, 11 + // 2: 500 kHz, 12 + // 3: Reserved] 13 +#define LORA_SPREADING_FACTOR 12 // [SF7..SF12] 14 +#define LORA_CODINGRATE 1 // [1: 4/5, 15 + // 2: 4/6, 16 + // 3: 4/7, 17 + // 4: 4/8] 18 +#define LORA_PREAMBLE_LENGTH 8 // Same for Tx and Rx 19 +#define LORA_SYMBOL_TIMEOUT 0 // Symbols 20 +#define LORA_FIX_LENGTH_PAYLOAD_ON false 21 +#define LORA_IQ_INVERSION_ON false 22 + 23 + 24 +#define RX_TIMEOUT_VALUE 1000 25 +#define BUFFER_SIZE 30 // Define the payload size here 26 + 27 +float tem,hum; 28 +char tem_1[8]={"\0"},hum_1[8]={"\0"}; 29 +char *node_id = "<GW01>"; //From LG01 via web Local Channel settings on MQTT.Please refer <> dataformat in here. 30 + 31 +char txpacket[BUFFER_SIZE]; 32 +char rxpacket[BUFFER_SIZE]; 33 + 34 +double txNumber; 35 + 36 +bool lora_idle=true; 37 + 38 +static RadioEvents_t RadioEvents; 39 +void OnTxDone( void ); 40 +void OnTxTimeout( void ); 41 + 42 +void dhtTem() 43 +{ 44 + tem = random(15,40); 45 + hum = random(40,80); 46 + Serial.println(F("The temperature and humidity:")); 47 + Serial.print("["); 48 + Serial.print(tem); 49 + Serial.print("℃"); 50 + Serial.print(","); 51 + Serial.print(hum); 52 + Serial.print("%"); 53 + Serial.print("]"); 54 + Serial.println(""); 55 +} 56 + 57 +void dhtWrite() 58 +{ 59 + char data[50] = "\0"; 60 + for(int i = 0; i < 50; i++) 61 + { 62 + data[i] = node_id[i]; 63 + } 64 + 65 + dtostrf(tem,0,1,tem_1); 66 + dtostrf(hum,0,1,hum_1); 67 + 68 + strcat(data,"tem_a="); 69 + strcat(data,tem_1); 70 + strcat(data,"&hum_a="); 71 + strcat(data,hum_1); 72 + strcpy((char *)txpacket,data); 73 + 74 + Serial.println((char *)txpacket); 75 +} 76 + 77 +void setup() { 78 + Serial.begin(115200); 79 + Mcu.begin(); 80 + 81 + txNumber=0; 82 + 83 + RadioEvents.TxDone = OnTxDone; 84 + RadioEvents.TxTimeout = OnTxTimeout; 85 + 86 + Radio.Init( &RadioEvents ); 87 + Radio.SetChannel( RF_FREQUENCY ); 88 + Radio.SetTxConfig( MODEM_LORA, TX_OUTPUT_POWER, 0, LORA_BANDWIDTH, 89 + LORA_SPREADING_FACTOR, LORA_CODINGRATE, 90 + LORA_PREAMBLE_LENGTH, LORA_FIX_LENGTH_PAYLOAD_ON, 91 + true, 0, 0, LORA_IQ_INVERSION_ON, 3000 ); 92 + } 93 + 94 + 95 + 96 +void loop() 97 +{ 98 + if(lora_idle == true) 99 + { 100 + delay(5000); 101 + txNumber += 0.01; 102 + Serial.println(txNumber); 103 + 104 + dhtTem(); 105 + dhtWrite(); 106 + Radio.Send( (uint8_t *)txpacket, strlen(txpacket) ); //send the package out 107 + lora_idle = false; 108 + } 109 + Radio.IrqProcess( ); 110 +} 111 + 112 +void OnTxDone( void ) 113 +{ 114 + Serial.println("TX done......"); 115 + lora_idle = true; 116 +} 117 + 118 +void OnTxTimeout( void ) 119 +{ 120 + Radio.Sleep( ); 121 + Serial.println("TX Timeout......"); 122 + lora_idle = true; 123 +} 124 +
- Log-Temperature-Sensor-and-send-data-to-Node-red.ino
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +3.6 KB - Content
-
... ... @@ -1,0 +1,150 @@ 1 +#include <SoftwareSerial.h> 2 +#include <Adafruit_Sensor.h> 3 +#include <DHT.h> 4 +#include <DHT_U.h> 5 +/* 6 + 7 +*/ 8 +#define DHTPIN 8 // Digital pin connected to the DHT sensor 9 +#define DHTTYPE DHT11 // DHT 11 10 +DHT_Unified dht(DHTPIN, DHTTYPE); 11 + 12 +String inputString = ""; // a String to hold incoming data 13 +bool stringComplete = false; // whether the string is complete 14 + 15 +long old_time=millis(); 16 +long new_time; 17 + 18 +long uplink_interval=30000; //ms 19 + 20 +float DHT11_temp; 21 +float DHT11_hum; 22 + 23 +SoftwareSerial ss(10, 11); // Arduino RX, TX , 24 + 25 +char rxbuff[128]; 26 +uint8_t rxbuff_index=0; 27 + 28 +void setup() { 29 + // initialize serial 30 + Serial.begin(9600); 31 + 32 + ss.begin(9600); 33 + ss.listen(); 34 + 35 + // reserve 200 bytes for the inputString: 36 + inputString.reserve(200); 37 + 38 + dht.begin(); 39 + sensor_t sensor; 40 + dht.temperature().getSensor(&sensor); 41 + dht.humidity().getSensor(&sensor); 42 + 43 + ss.println("ATZ");//reset LA66 44 +} 45 + 46 +void loop() { 47 + 48 + while ( ss.available()) { 49 + // get the new byte: 50 + char inChar = (char) ss.read(); 51 + // add it to the inputString: 52 + inputString += inChar; 53 + 54 + rxbuff[rxbuff_index++]=inChar; 55 + 56 + if(rxbuff_index>128) 57 + { 58 + rxbuff[rxbuff_index]='\0'; 59 + rxbuff_index=0; 60 + break; 61 + } 62 + 63 + // if the incoming character is a newline, set a flag so the main loop can 64 + // do something about it: 65 + if (inChar == '\n' || inChar == '\r') { 66 + stringComplete = true; 67 + rxbuff[rxbuff_index]='\0'; 68 + rxbuff_index=0; 69 + } 70 + } 71 + 72 + while ( Serial.available()) { 73 + // get the new byte: 74 + char inChar = (char) Serial.read(); 75 + // add it to the inputString: 76 + inputString += inChar; 77 + // if the incoming character is a newline, set a flag so the main loop can 78 + // do something about it: 79 + if (inChar == '\n' || inChar == '\r') { 80 + ss.print(inputString); 81 + inputString = "\0"; 82 + } 83 + } 84 + 85 + // print the string when a newline arrives: 86 + if (stringComplete) { 87 + Serial.print(inputString); 88 + 89 + // clear the string: 90 + inputString = "\0"; 91 + stringComplete = false; 92 + } 93 + 94 + new_time = millis(); 95 + 96 + if(new_time-old_time>=uplink_interval){ 97 + old_time = new_time; 98 + 99 + Serial.print(F("\r\n")); 100 + // Get temperature event and print its value. 101 + sensors_event_t event; 102 + dht.temperature().getEvent(&event); 103 + if (isnan(event.temperature)) { 104 + Serial.println(F("Error reading temperature!")); 105 + DHT11_temp=327.67; 106 + } 107 + else { 108 + DHT11_temp=event.temperature; 109 + 110 + if(DHT11_temp>60){ 111 + DHT11_temp=60; 112 + } 113 + else if(DHT11_temp<-20){ 114 + DHT11_temp=-20; 115 + } 116 + } 117 + // Get humidity event and print its value. 118 + dht.humidity().getEvent(&event); 119 + if (isnan(event.relative_humidity)) { 120 + DHT11_hum=327.67; 121 + Serial.println(F("Error reading humidity!")); 122 + } 123 + else { 124 + DHT11_hum=event.relative_humidity; 125 + 126 + if(DHT11_hum>100){ 127 + DHT11_hum=100; 128 + } 129 + else if(DHT11_hum<0){ 130 + DHT11_hum=0; 131 + } 132 + } 133 + 134 + Serial.print(F("Temperature: ")); 135 + Serial.print(DHT11_temp); 136 + Serial.println(F("°C")); 137 + Serial.print(F("Humidity: ")); 138 + Serial.print(DHT11_hum); 139 + Serial.println(F("%")); 140 + Serial.print(F("\r\n")); 141 + 142 + char sensor_data_buff[128]="\0"; 143 + 144 + //confirm status,Fport,payload length,payload(HEX) 145 + snprintf(sensor_data_buff,128,"AT+SEND=0,%02X%02X%02X%02X,0,0",(short)(DHT11_temp*100)>>8 & 0xFF,(short)(DHT11_temp*100) & 0xFF,(short)(DHT11_hum*10)>>8 & 0xFF,(short)(DHT11_hum*10) & 0xFF); 146 + ss.print(sensor_data_buff); 147 + ss.print('\r'); 148 + } 149 +} 150 +
- Log-Temperature-Sensor-and-send-data-to-node-red.json
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +10.1 KB - Content
-
... ... @@ -1,0 +1,443 @@ 1 +[ 2 + { 3 + "id": "5f10779accc05655", 4 + "type": "tab", 5 + "label": "serial USB", 6 + "disabled": false, 7 + "info": "", 8 + "env": [] 9 + }, 10 + { 11 + "id": "4ea60ce4df40717c", 12 + "type": "serial in", 13 + "z": "5f10779accc05655", 14 + "name": "", 15 + "serial": "bb1c0e81fd51fa9e", 16 + "x": 210, 17 + "y": 60, 18 + "wires": [ 19 + [ 20 + "40eac96a52733f7a", 21 + "79722a224bb22c96" 22 + ] 23 + ] 24 + }, 25 + { 26 + "id": "fe5a93a52b6adcf1", 27 + "type": "inject", 28 + "z": "5f10779accc05655", 29 + "name": "AT+SEND=1,hello world,0,3", 30 + "props": [ 31 + { 32 + "p": "payload" 33 + } 34 + ], 35 + "repeat": "", 36 + "crontab": "", 37 + "once": false, 38 + "onceDelay": 0.1, 39 + "topic": "", 40 + "payload": "AT+SEND=1,hello world,0,3", 41 + "payloadType": "str", 42 + "x": 220, 43 + "y": 260, 44 + "wires": [ 45 + [ 46 + "3f8add7e2e1d1d17" 47 + ] 48 + ] 49 + }, 50 + { 51 + "id": "3f8add7e2e1d1d17", 52 + "type": "serial out", 53 + "z": "5f10779accc05655", 54 + "name": "", 55 + "serial": "bb1c0e81fd51fa9e", 56 + "x": 540, 57 + "y": 260, 58 + "wires": [] 59 + }, 60 + { 61 + "id": "16e7d3d83d9e9415", 62 + "type": "inject", 63 + "z": "5f10779accc05655", 64 + "name": "", 65 + "props": [ 66 + { 67 + "p": "payload" 68 + } 69 + ], 70 + "repeat": "", 71 + "crontab": "", 72 + "once": false, 73 + "onceDelay": 0.1, 74 + "topic": "", 75 + "payload": "ATZ", 76 + "payloadType": "str", 77 + "x": 290, 78 + "y": 320, 79 + "wires": [ 80 + [ 81 + "3f8add7e2e1d1d17" 82 + ] 83 + ] 84 + }, 85 + { 86 + "id": "09ea381519629dae", 87 + "type": "inject", 88 + "z": "5f10779accc05655", 89 + "name": "AT+FRE", 90 + "props": [ 91 + { 92 + "p": "payload" 93 + } 94 + ], 95 + "repeat": "", 96 + "crontab": "", 97 + "once": false, 98 + "onceDelay": 0.1, 99 + "topic": "", 100 + "payload": "AT+FRE=868.100,868.100", 101 + "payloadType": "str", 102 + "x": 280, 103 + "y": 380, 104 + "wires": [ 105 + [ 106 + "3f8add7e2e1d1d17" 107 + ] 108 + ] 109 + }, 110 + { 111 + "id": "5167a7f904013ffd", 112 + "type": "inject", 113 + "z": "5f10779accc05655", 114 + "name": "AT+BW", 115 + "props": [ 116 + { 117 + "p": "payload" 118 + } 119 + ], 120 + "repeat": "", 121 + "crontab": "", 122 + "once": false, 123 + "onceDelay": 0.1, 124 + "topic": "", 125 + "payload": "AT+BW=0,0", 126 + "payloadType": "str", 127 + "x": 290, 128 + "y": 440, 129 + "wires": [ 130 + [ 131 + "3f8add7e2e1d1d17" 132 + ] 133 + ] 134 + }, 135 + { 136 + "id": "dbe4abbc730c76e6", 137 + "type": "inject", 138 + "z": "5f10779accc05655", 139 + "name": "AT+SF", 140 + "props": [ 141 + { 142 + "p": "payload" 143 + } 144 + ], 145 + "repeat": "", 146 + "crontab": "", 147 + "once": false, 148 + "onceDelay": 0.1, 149 + "topic": "", 150 + "payload": "AT+SF=12,12", 151 + "payloadType": "str", 152 + "x": 290, 153 + "y": 500, 154 + "wires": [ 155 + [ 156 + "3f8add7e2e1d1d17" 157 + ] 158 + ] 159 + }, 160 + { 161 + "id": "3be3ab296a75d512", 162 + "type": "inject", 163 + "z": "5f10779accc05655", 164 + "name": "AT+RXMOD", 165 + "props": [ 166 + { 167 + "p": "payload" 168 + } 169 + ], 170 + "repeat": "", 171 + "crontab": "", 172 + "once": false, 173 + "onceDelay": 0.1, 174 + "topic": "", 175 + "payload": "AT+RXMOD=65535,2", 176 + "payloadType": "str", 177 + "x": 270, 178 + "y": 560, 179 + "wires": [ 180 + [ 181 + "3f8add7e2e1d1d17" 182 + ] 183 + ] 184 + }, 185 + { 186 + "id": "7a03d1413c60ea1c", 187 + "type": "inject", 188 + "z": "5f10779accc05655", 189 + "name": "AT+SYNCWORD", 190 + "props": [ 191 + { 192 + "p": "payload" 193 + } 194 + ], 195 + "repeat": "", 196 + "crontab": "", 197 + "once": false, 198 + "onceDelay": 0.1, 199 + "topic": "", 200 + "payload": "AT+SYNCWORD=0", 201 + "payloadType": "str", 202 + "x": 260, 203 + "y": 620, 204 + "wires": [ 205 + [ 206 + "3f8add7e2e1d1d17" 207 + ] 208 + ] 209 + }, 210 + { 211 + "id": "40eac96a52733f7a", 212 + "type": "function", 213 + "z": "5f10779accc05655", 214 + "name": "function 1", 215 + "func": "var data = msg.payload\nif (data.substring(0, 4) == \"Data\")\n{\n if (data.substring(6, 12) == \"(HEX:)\")\n {\n var temp = data.substring(13, 15) + data.substring(16, 18)\n var hum = data.substring(19, 21) + data.substring(22, 24)\n var temp1 = parseInt(temp, 16)/100\n var hum1 = parseInt(hum, 16)/10\n var a1 = { payload: temp1 }, a2 = { payload: hum1 }\n }\n}\nif (data.substring(0, 4) == \"Rssi\")\n{\n var rssi = data.substring(6)\n var a3 = { payload: rssi }\n}\nreturn [a1,a2,a3];\n \n\n", 216 + "outputs": 3, 217 + "noerr": 0, 218 + "initialize": "", 219 + "finalize": "", 220 + "libs": [], 221 + "x": 420, 222 + "y": 60, 223 + "wires": [ 224 + [ 225 + "81edb003937f1a92" 226 + ], 227 + [ 228 + "c63593404a60d9dc" 229 + ], 230 + [ 231 + "61ca71032888887b" 232 + ] 233 + ] 234 + }, 235 + { 236 + "id": "61ca71032888887b", 237 + "type": "ui_chart", 238 + "z": "5f10779accc05655", 239 + "name": "", 240 + "group": "ef41b39771110fa5", 241 + "order": 1, 242 + "width": 0, 243 + "height": 0, 244 + "label": "RSSI", 245 + "chartType": "line", 246 + "legend": "false", 247 + "xformat": "dd HH:mm", 248 + "interpolate": "linear", 249 + "nodata": "", 250 + "dot": true, 251 + "ymin": "", 252 + "ymax": "", 253 + "removeOlder": 1, 254 + "removeOlderPoints": "", 255 + "removeOlderUnit": "3600", 256 + "cutout": 0, 257 + "useOneColor": false, 258 + "useUTC": false, 259 + "colors": [ 260 + "#1f77b4", 261 + "#aec7e8", 262 + "#ff7f0e", 263 + "#2ca02c", 264 + "#98df8a", 265 + "#d62728", 266 + "#ff9896", 267 + "#9467bd", 268 + "#c5b0d5" 269 + ], 270 + "outputs": 1, 271 + "useDifferentColor": false, 272 + "className": "", 273 + "x": 670, 274 + "y": 180, 275 + "wires": [ 276 + [] 277 + ] 278 + }, 279 + { 280 + "id": "81edb003937f1a92", 281 + "type": "ui_chart", 282 + "z": "5f10779accc05655", 283 + "name": "", 284 + "group": "7e1d1c102cf74e6b", 285 + "order": 1, 286 + "width": 0, 287 + "height": 0, 288 + "label": "Temperature", 289 + "chartType": "line", 290 + "legend": "false", 291 + "xformat": "HH:mm:ss", 292 + "interpolate": "linear", 293 + "nodata": "", 294 + "dot": true, 295 + "ymin": "", 296 + "ymax": "", 297 + "removeOlder": 1, 298 + "removeOlderPoints": "", 299 + "removeOlderUnit": "3600", 300 + "cutout": 0, 301 + "useOneColor": false, 302 + "useUTC": false, 303 + "colors": [ 304 + "#1f77b4", 305 + "#aec7e8", 306 + "#ff7f0e", 307 + "#2ca02c", 308 + "#98df8a", 309 + "#d62728", 310 + "#ff9896", 311 + "#9467bd", 312 + "#c5b0d5" 313 + ], 314 + "outputs": 1, 315 + "useDifferentColor": false, 316 + "className": "", 317 + "x": 690, 318 + "y": 100, 319 + "wires": [ 320 + [] 321 + ] 322 + }, 323 + { 324 + "id": "c63593404a60d9dc", 325 + "type": "ui_chart", 326 + "z": "5f10779accc05655", 327 + "name": "", 328 + "group": "3f5d139f158d7c1c", 329 + "order": 2, 330 + "width": 0, 331 + "height": 0, 332 + "label": "Humidity", 333 + "chartType": "line", 334 + "legend": "false", 335 + "xformat": "HH:mm:ss", 336 + "interpolate": "linear", 337 + "nodata": "", 338 + "dot": true, 339 + "ymin": "", 340 + "ymax": "", 341 + "removeOlder": 1, 342 + "removeOlderPoints": "", 343 + "removeOlderUnit": "3600", 344 + "cutout": 0, 345 + "useOneColor": false, 346 + "useUTC": false, 347 + "colors": [ 348 + "#1f77b4", 349 + "#aec7e8", 350 + "#ff7f0e", 351 + "#2ca02c", 352 + "#98df8a", 353 + "#d62728", 354 + "#ff9896", 355 + "#9467bd", 356 + "#c5b0d5" 357 + ], 358 + "outputs": 1, 359 + "useDifferentColor": false, 360 + "className": "", 361 + "x": 680, 362 + "y": 140, 363 + "wires": [ 364 + [] 365 + ] 366 + }, 367 + { 368 + "id": "79722a224bb22c96", 369 + "type": "debug", 370 + "z": "5f10779accc05655", 371 + "name": "debug 1", 372 + "active": true, 373 + "tosidebar": true, 374 + "console": false, 375 + "tostatus": false, 376 + "complete": "false", 377 + "statusVal": "", 378 + "statusType": "auto", 379 + "x": 420, 380 + "y": 180, 381 + "wires": [] 382 + }, 383 + { 384 + "id": "bb1c0e81fd51fa9e", 385 + "type": "serial-port", 386 + "serialport": "/dev/ttyUSB0", 387 + "serialbaud": "9600", 388 + "databits": "8", 389 + "parity": "none", 390 + "stopbits": "1", 391 + "waitfor": "", 392 + "dtr": "none", 393 + "rts": "none", 394 + "cts": "none", 395 + "dsr": "none", 396 + "newline": "\\n", 397 + "bin": "false", 398 + "out": "char", 399 + "addchar": "\\r\\n", 400 + "responsetimeout": "10000" 401 + }, 402 + { 403 + "id": "ef41b39771110fa5", 404 + "type": "ui_group", 405 + "name": "rssi", 406 + "tab": "abb98f80600a5448", 407 + "order": 3, 408 + "disp": true, 409 + "width": "6", 410 + "collapse": false, 411 + "className": "" 412 + }, 413 + { 414 + "id": "7e1d1c102cf74e6b", 415 + "type": "ui_group", 416 + "name": "TEM", 417 + "tab": "abb98f80600a5448", 418 + "order": 4, 419 + "disp": true, 420 + "width": "6", 421 + "collapse": false, 422 + "className": "" 423 + }, 424 + { 425 + "id": "3f5d139f158d7c1c", 426 + "type": "ui_group", 427 + "name": "HUM", 428 + "tab": "abb98f80600a5448", 429 + "order": 2, 430 + "disp": true, 431 + "width": "6", 432 + "collapse": false, 433 + "className": "" 434 + }, 435 + { 436 + "id": "abb98f80600a5448", 437 + "type": "ui_tab", 438 + "name": "LG01v2", 439 + "icon": "LG01v2", 440 + "disabled": false, 441 + "hidden": false 442 + } 443 +]
- image-20221104100344-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +137.0 KB - Content
- image-20221104100520-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +140.7 KB - Content
- image-20221104102736-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +325.9 KB - Content
- image-20221104155612-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +384.2 KB - Content
- image-20221104155654-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +35.5 KB - Content
- image-20221104155724-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +42.4 KB - Content
- image-20221104155907-4.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +66.7 KB - Content
- image-20221104155928-5.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +49.5 KB - Content
- image-20221104155949-6.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +46.0 KB - Content
- image-20221108164337-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +17.5 KB - Content
- image-20221108164413-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +27.1 KB - Content
- image-20221108170314-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +34.6 KB - Content
- image-20221108170621-4.jpeg
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +544.6 KB - Content
- image-20221108170731-5.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +2.5 MB - Content
- image-20221108172149-6.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +17.5 KB - Content
- image-20221108172432-7.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +45.9 KB - Content
- image-20221108174840-8.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +52.1 KB - Content
- image-20221108175113-9.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +72.6 KB - Content
- image-20221108180334-10.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +159.3 KB - Content
- image-20221108180458-11.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +52.4 KB - Content
- image-20221112161031-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +35.1 KB - Content
- image-20221112161111-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +34.8 KB - Content
- image-20221112162733-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +78.7 KB - Content
- image-20221112163119-4.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +32.6 KB - Content
- serial USB.json
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +5.1 KB - Content
-
... ... @@ -1,0 +1,244 @@ 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 +]