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 (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 27 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -11,23 +11,30 @@ 11 11 12 12 {{toc/}} 13 13 14 -= **1. Introduction** = 15 15 16 16 17 -== **1.1 What is LG01-V2** == 18 18 19 19 18 + 19 += **1. Introduction** = 20 + 21 +== **1.1 What is LG01v2** == 22 + 23 + 20 20 ((( 21 21 ((( 22 -The LG01-V2 is an (% style="color:green" %)**open-source single channel LoRa Gateway**(%%). It lets you bridge LoRa wireless network to an IP network via (% style="color:green" %)**WiFi , Ethernet or Cellular Network**(%%) (via Optional 4G module). The LoRa wireless allows users to send data and reach extremely long ranges at low data rates. 26 +The LG01v2 is an (% style="color: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 ((( 26 -LG01-V2 supports (% style="color:green" %)**remote management**(%%). System Integrator can easy to remote monitor the gateway and maintain it. 32 +LG01v2 uses Open Source Linux system. User can modify the Linux part and develop customize software base on it. It has (% style="color:green" %)**1.2Ghz Quad-Core CPU**(%%) , (% style="color:green" %)**4GB eMMC storage**(%%) and (% style="color:green" %)**512MB RAM**(%%) for most application. 33 + 34 +LG01v2 supports (% style="color:green" %)**remote management**(%%). System Integrator can easy to remote monitor the gateway and maintain it. 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,7 +84,6 @@ 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 ... ... @@ -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,13 +112,12 @@ 112 112 113 113 == **2.1 Connects to the network and accesses the gateway Web UI** == 114 114 119 +=== **2.1.1 connect the network.** === 115 115 116 -== **2.1.1 connect the network.** == 117 117 122 +==== (% style="color:blue" %)**Method 1**(%%): Connect via Ethernet with DHCP IP from the router ==== 118 118 119 -=== (% style="color:blue" %)**Method 1**(%%): Connect via Ethernet with DHCP IP from the router === 120 120 121 - 122 122 Connect the LG01-V2 Ethernet port to your router and LG01-V2 can obtain an IP address from your router. In the router's management portal, you should be able to find what IP address the router has assigned to the LG01-V2. 123 123 124 124 You can also use this IP to connect. ... ... @@ -126,31 +126,40 @@ 126 126 127 127 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220622100129-1.png?width=1263&height=332&rev=1.1||alt="image-20220622100129-1.png"]] 128 128 132 +==== (% style="color:blue" %)**Method 2**(%%): Connect via LG01v2 Fallback IP ==== 129 129 130 - === (% style="color:blue"%)**Method2**(%%):Connect viaWiFiwithDHCP IP fromtherouter===134 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20230107084650-2.png?width=839&height=310&rev=1.1||alt="image-20230107084650-2.png" height="284" width="769"]] 131 131 132 132 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"]]137 +**Steps to connect via fallback IP:** 134 134 135 - The LG01-V2has a fall-back IP addressonitsWAN port. youhaveto accessthegateway Web-UItoconfiguretheWiFi connectionviathefallback IP address.139 +~1. Connect the PC's Ethernet port to LG01v2's WAN port 136 136 141 +2. Configure PC's Ethernet port has IP: 172.31.255.253 and Netmask: 255.255.255.252 137 137 138 - (% style="color:#037691"%)**Stepstoconnect viafallback IP:**143 +Settings ~-~-> Network & Internet ~-~-> Ethernet ~-~-> Change advanced sharing options ~-~-> Double-click"Ethernet" ~-~-> Internet Protocol Version 4 (TCP/IPv4) 139 139 140 - ~1.ConnectPC's Ethernetportto LG01-V2's WANport145 +As in the below photo: 141 141 142 - 2.Configure PC'sEthernet porthasIP:172.31.255.253 andNetmask:255.255.255.252147 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20230413172038-1.png?width=1243&height=732&rev=1.1||alt="image-20230413172038-1.png" height="624" width="1059"]] 143 143 144 144 145 -[[im age:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220622101433-4.png?rev=1.1||alt="image-20220622101433-4.png"]]150 +Configure computer Ethernet port steps video: **[[fallback ip.mp4>>url:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/fallback%20ip.mp4?rev=1.1]]** 146 146 152 +If you still can't access the LG01v2 fallback ip, follow this connection to debug :**[[Trouble Shooting>>url:http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/#H9.2A0FallbackIPdoesnotwork2Chowcanuserscheck]]** 147 147 148 - andthenOnthe PC, usetheIP address**http:~/~/172.31.255.254**to access the LG01-V2 via Web or Console.154 +3. In the PC, use IP address 172.31.255.254 to access the LG01v2 via Web or Console. 149 149 156 +[[image:image-20230504095502-2.png||height="545" width="1065"]] 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"]] 152 152 153 153 160 +==== (% style="color:blue" %)**Method 3**(%%): Connect via WiFi with DHCP IP from the router ==== 161 + 162 + 163 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220622100542-2.png?width=1256&height=369&rev=1.1||alt="image-20220622100542-2.png"]] 164 + 165 + 154 154 Fill in the WiFi information by checking the box and clicking (% style="color:red" %)**Save&Apply** 155 155 156 156 ... ... @@ -162,35 +162,51 @@ 162 162 163 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"]] 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 178 +=== 2.1.2 Access Configure Web UI === 167 167 180 +**Web Interface** 181 + 182 +Open a browser on the PC and type the LPS8-V2 ip address (depends on your connect method) 183 + 184 + 185 +[[(% style="background-color:yellow" %)**//http:~~/~~/IP_ADDRESS //**>>http://IP_ADDRESS]](%%) or (% style="background-color:yellow" %)//**[[http:~~/~~/172.31.255.254>>http://172.31.255.254(]]**//(Fallback IP) 186 + 187 +You will see the login interface of LPS8-V2 as shown below. 188 + 189 +The account details for Web Login are: 190 + 191 +(% style="color:#4f81bd" %)**User Name: root** 192 + 193 +(% style="color:#4f81bd" %)**Password: dragino** 194 + 195 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20230106153501-1.png?width=894&height=367&rev=1.1||alt="image-20230106153501-1.png"]] 196 + 197 + 168 168 = **3. Web Configure Pages** = 169 169 170 170 == **3.1 Home** == 171 171 202 + 172 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"]]205 +[[image:image-20221104155612-1.png||height="497" width="942"]] 175 175 176 176 177 177 == **3.2 Network Settings** == 178 178 179 - 180 180 === **3.2.1 Network ~-~-> WiFi** === 181 181 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"]]213 +[[image:image-20221104155654-2.png||height="319" width="813"]] 184 184 185 185 186 - 187 187 === **3.4.2 Network ~-~-> System Status** === 188 188 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"]]219 +[[image:image-20221104155724-3.png||height="679" width="861"]] 191 191 192 192 193 - 194 194 === **3.4.3 Network ~-~-> Firewall** === 195 195 196 196 ... ... @@ -197,23 +197,20 @@ 197 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"]] 198 198 199 199 200 - 201 201 == **3.5 System** == 202 202 203 - 204 204 === **3.5.1 System ~-~-> System Overview** === 205 205 206 206 207 207 Shows the system info: 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"]]235 +[[image:image-20221104155907-4.png]] 210 210 211 211 212 - 213 213 === **3.5.2 System ~-~-> Backup/Restore** === 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"]]241 +[[image:image-20221104155928-5.png||height="334" width="880"]] 217 217 218 218 219 219 = (% id="cke_bm_1978S" style="display:none" %)** **(%%)**4. Build in Server** = ... ... @@ -222,7 +222,7 @@ 222 222 The default factory version of LG01-V2 is installed with the built-in Applicant server: (% style="color:blue" %)**Node-Red** 223 223 224 224 225 -[[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"]]250 +[[image:image-20221104155949-6.png||height="315" width="1023"]] 226 226 227 227 228 228 (% style="color:red" %)**Note:** ... ... @@ -230,15 +230,13 @@ 230 230 **Path**: System ~-~-> Built-in Server 231 231 232 232 233 -**Troubleshooting :**258 +(% style="color:blue" %)**Troubleshooting:** 234 234 235 - 236 236 **~ 1. URL does not jump properly** 237 237 238 238 For the Node-Red, you can use the local IP address and the port is 1880 to access it. 239 239 240 240 241 - 242 242 == **4.1 Application Server ~-~- Node-Red** == 243 243 244 244 ... ... @@ -253,10 +253,21 @@ 253 253 254 254 = **5. How to configure the Lora Gateway** = 255 255 279 +== **5.1 Configure and Debug LoRa wireless of LG01v2** == 256 256 257 -== **5.1 Access the Lora configuration page** == 258 258 282 +First, the user needs to access the Linux console of LG01v2 via ssh 259 259 284 +IP address: IP address of LG01v2 285 + 286 +Port: 22 287 + 288 +User Name: (% style="color:#4f81bd" %)**root** 289 + 290 +Password: (% style="color:#4f81bd" %)**dragino**(%%) (default) 291 + 292 +[[image:image-20230504100722-3.png||height="228" width="908"]] 293 + 260 260 Users can access the Lora configuration page by running the following command, then select the option **''serial port setup"**: 261 261 262 262 (% class="box infomessage" %) ... ... @@ -277,7 +277,9 @@ 277 277 ))) 278 278 279 279 280 -(% style="color:red" %)**Note: Enter the corresponding letter to change the configuration, like A,B,C**(%%) 314 +(% style="color:red" %)**Note: Enter the corresponding letter to change the configuration, like A,B,C** 315 + 316 + 281 281 (% style="color:red" %)[[image:image-20221029174703-3.png]] 282 282 283 283 ... ... @@ -286,60 +286,184 @@ 286 286 287 287 (% class="box infomessage" %) 288 288 ((( 289 -AT+FRE=868.100,868.100 ~-~--> TX and RX frequency 290 -AT+GROUPMOD=0,0 ~-~--> TX and RX group 291 -AT+BW=0,0 ~-~--> TX and RX Bandwidth 292 -AT+SF=12,12 ~-~--> TX and RX Spreading Factor 293 -AT+POWER=14 ~-~--> TX Power Range 325 +**AT+FRE=868.100,868.100 ~-~--> TX and RX frequency 326 +AT+GROUPMOD=0,0 ~-~--> TX and RX group 327 +AT+BW=0,0 ~-~--> TX and RX Bandwidth 328 +AT+SF=12,12 ~-~--> TX and RX Spreading Factor 329 +AT+POWER=14 ~-~--> TX Power Range 330 +AT+CRC=1,1 ~-~--> TX and RX CRC Type 331 +AT+HEADER=0,0 ~-~--> TX and RX Header Type 332 +AT+CR=1,1 ~-~--> TX and RX Coding Rate 333 +AT+IQ=0,0 ~-~--> TX and RX InvertIQ 334 +AT+PREAMBLE=8,8 ~-~--> TX and RX Preamble Length 335 +AT+SYNCWORD=0 ~-~--> Syncword(0: private,1: public) 336 +AT+RXMOD=65535,0 ~-~--> Rx Timeout and Reply mode 337 +AT+RXDAFORM=1** 338 +))) 339 + 340 + 341 +== **5.2 Example: LG01v2** == 342 + 343 +=== **5.2.1 Introduce for the example:** === 344 + 345 + 346 +[[image:image-20221104102736-3.png||height="282" width="723"]] 347 + 348 + 349 +In this example, there are two devices: 350 + 351 +* **LA66 Shield + UNO + DHT11**: The UNO will get the temperature and humidity and broadcast the value via LoRa protocol. 352 +* **LG01v2** : LG01v2 is set to listening the LoRa Channel which LA66 is broadcasting. When LG01v2 get the data from LA66, LG01v2 will plot the data in built-in IoT server. 353 + 354 +=== **5.2.2 Set Up LA66 Shield + UNO** === 355 + 356 + 357 +==== **Set up LA66 Module** ==== 358 + 359 + 360 +LA66 Module is loaded with the firmware **[[LA66 Peer-to-Peer firmware>>http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LA66%20LoRaWAN%20Shield%20User%20Manual/Instruction%20for%20LA66%20Peer%20to%20Peer%20firmware/]] **and user can use AT Command to set up LA66 with below parameters: 361 + 362 +((( 363 +(% style="color:red" %)**LA66 Shield as Sender: ** 364 + 365 +(% class="box infomessage" %) 366 +((( 367 +**LA66 Shield configuration:** 368 + 369 +AT+FRE=868.100,868.100 ~-~--> TX and RX frequency set: 868100000 370 +AT+BW=0,0 ~-~--> TX and RX Bandwidth set: 125kHz 371 +AT+SF=12,12 ~-~--> TX and RX Spreading Factor set: SF12 372 +AT+POWER=14 ~-~--> TX Power Range set: 14dBm 294 294 AT+CRC=1,1 ~-~--> TX and RX CRC Type 295 295 AT+HEADER=0,0 ~-~--> TX and RX Header Type 296 296 AT+CR=1,1 ~-~--> TX and RX Coding Rate 297 297 AT+IQ=0,0 ~-~--> TX and RX InvertIQ 298 -AT+PREAMBLE=8,8 ~-~--> TX and RX Preamble Length 377 +AT+PREAMBLE=8,8 ~-~--> TX and RX Preamble Length set: 8 299 299 AT+SYNCWORD=0 ~-~--> Syncword**(0: private,1: public)** 300 -AT+RXMOD=65535,0 ~-~--> Rx Timeout and Reply mode 301 -AT+RXDAFORM=1 379 +AT+RXMOD=6,0 ~-~--> Rx Timeout and Reply mode 302 302 ))) 381 +))) 303 303 304 304 305 -== **5.2 Example: LG01**-**V2 Peer-to-Peer** == 306 306 385 +==== **Set up Arduino UNO** ==== 307 307 308 - [[image:image-20221104102736-3.png||height="282"width="723"]]387 +(% id="cke_bm_1033249S" style="display:none" %)** ** 309 309 389 +**Hardware Connection** 310 310 311 -The user can run the AT command to set the LG01-V2 RX window always open as a Receiver, the LA66 Shield uses **AT+SEND=1,hello world,2,3** to simulate sending data, 391 +(% class="box infomessage" %) 392 +((( 393 +**The DHT11 sensor connects to the LA66 Shield:** 312 312 313 -**Prerequisites: **The configuration of LG01-V2 and LA66 Shield must match, users can use **AT+CFG** to check all configurations. 395 +**VCC <~-~--> 3.3V (Red line)** 396 +**DATA <~-~--> PIN8 (Purple line)** 397 +**GND <~-~--> GND (White line)** 398 +))) 314 314 400 +[[image:image-20221108170731-5.png||height="588" width="441"]] 315 315 316 -(% style="color:red; font-weight:bold" %)**LG01-V**(% style="color:red" %)**2 as Receiver: (configured as AT+RXMOD=65535,2)** 317 317 318 -[[image:image-20221102140053-4.png]] 319 319 404 +===== **1. Open Arduino IDE** ===== 320 320 321 -(% style="color:red" %)**LA66 Shield as Sender: (AT+SEND=1,hello world,2,3)** 322 322 323 -[[image:1 667456058832-484.png||height="291" width="353"]]407 +[[image:image-20221108172149-6.png||height="650" width="542"]] 324 324 325 325 326 -Instruction for Peer-to-Peer firmware:[[ **Instruction **>>url:http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LA66%20LoRaWAN%20Shield%20User%20Manual/Instruction%20for%20LA66%20Peer%20to%20Peer%20firmware/]] 410 + 411 +===== **2. Open project** ===== 412 + 413 + 414 +Users can download Arduino files from this link: [[attach:Log-Temperature-Sensor-and-send-data-to-Node-red.ino||target="_blank"]] 415 + 416 +Then click Compile and Upload to LA66 Shield, 417 + 418 +[[image:image-20221108172432-7.png]] 419 + 420 + 421 + 422 +===== **3. Open the Serial Monitor to check the LA66 Shield data** ===== 423 + 424 + 425 +The UNO will now reads the temperature and humidity data from the sensor and broadcast it via LoRa wireless, 426 + 427 +[[image:image-20221108174840-8.png||height="731" width="671"]] 428 + 429 + 430 + 431 +Sending out data as below. 432 + 433 +[[image:image-20221108175113-9.png||height="556" width="998"]] 434 + 435 + 436 +=== **5.2.3 Set Up LG01v2** === 437 + 438 + 439 +Configure LG01v2 LoRa channel parameters so it can get data from LA66 Shield 440 + 441 +(% style="color:red; font-weight:bold" %)**LG01v**(% style="color:red" %)**2 as Receiver: (configured as AT+RXMOD=65535,2)** 442 + 443 +(% class="box infomessage" %) 444 +((( 445 +**LG01-V2 configuration:** 446 + 447 +AT+FRE=868.100,868.100 ~-~--> TX and RX frequency set: 868100000 448 +AT+BW=0,0 ~-~--> TX and RX Bandwidth set: 125kHz 449 +AT+SF=12,12 ~-~--> TX and RX Spreading Factor set: SF12 450 +AT+POWER=14 ~-~--> TX Power Range set: 14dBm 451 +AT+CRC=1,1 ~-~--> TX and RX CRC Type 452 +AT+HEADER=0,0 ~-~--> TX and RX Header Type 453 +AT+CR=1,1 ~-~--> TX and RX Coding Rate 454 +AT+IQ=0,0 ~-~--> TX and RX InvertIQ 455 +AT+PREAMBLE=8,8 ~-~--> TX and RX Preamble Length set: 8 456 +AT+SYNCWORD=0 ~-~--> Syncword**(0: private,1: public)** 457 +AT+RXMOD=65535,2 ~-~--> Rx Timeout and Reply mode, RX window always open**(0:No ACK, 1:Reply mode, 2:Send an ACK once got a message from another device. ACK Content is 0x00 FF )** 327 327 ))) 328 328 329 329 330 - Userscan import this example in node-red:**[[attach:serial USB.json||target="_blank"]]**461 +=== **5.2.4 Test result** === 331 331 332 -[[image:image-20221104100520-2.png||height="605" width="1150"]] 333 333 464 +After the above configuration is complete, users can send test simulation data to check whether the configuration is correct, In LA66 sheild serial console send:(% style="color:red" %)**(AT+SEND=1,hello world,2,3).** 465 +))) 334 334 335 - =(%style="color:inherit;font-family:inherit;font-size:29px" %)**6. How userscanaccessLG01**(%%)**-V(%style="color:inherit;font-family:inherit;font-size:29px"%)2 using serialUSB(%%)** =467 +When LG01v2 replies with ACK when it receives a packet sent by LA66 sheild. 336 336 469 +[[image:image-20221108164413-2.png]] 337 337 338 -(% style="color:blue" %)**USB TTL to LG01-V2 Connection:** 339 339 340 340 341 - Port1 oftheUARTontheLG01-V2is GND473 +In the real-time log of LG01v2: 342 342 475 +[[image:image-20221108170314-3.png]] 476 + 477 + 478 +=== **5.2.5 Plot data chart in LG01v2** === 479 + 480 + 481 +User can plot the temperature and humidity chat via LG01v2 built-in IoT server. 482 + 483 +User can import this example in Node-Red: [[attach:Log-Temperature-Sensor-and-send-data-to-Node-red.json||target="_blank"]] 484 + 485 +[[image:image-20221108180334-10.png||height="651" width="1141"]] 486 + 487 + 488 +The temperature and humidity chart is displayed in the built-in node-red UI 489 + 490 +**Browser input: (% style="background-color:yellow" %)__//http:~/~/<local-IPV4-address>//__(%%)** 491 + 492 +[[image:image-20221108180458-11.png||height="402" width="1137"]] 493 + 494 + 495 += (% style="color:inherit; font-family:inherit; font-size:29px" %)**6. How users can access LG01**(%%)**v(% style="color:inherit; font-family:inherit; font-size:29px" %)2 using serial USB(%%)** = 496 + 497 + 498 +(% style="color:blue" %)**USB TTL to LG01v2 Connection:** 499 + 500 + 501 +Port 1 of the UART on the LG01v2 is GND 502 + 343 343 (% class="box infomessage" %) 344 344 ((( 345 345 **TXD <~-~--> UART RXD (Gray line)** ... ... @@ -350,7 +350,7 @@ 350 350 ))) 351 351 352 352 353 -**LG01 -V2 UART connection photo**513 +**LG01v2 UART connection photo** 354 354 355 355 [[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"]] 356 356 ... ... @@ -361,23 +361,29 @@ 361 361 362 362 [[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"]] 363 363 524 + 364 364 [[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"]] 365 365 366 366 367 -= **7. FAQ** =528 += **7. OTA System Update** = 368 368 369 369 370 - == **7.1 How doesLG01-V2communicatewith Lorashield(LoRa.h)**==531 +LG01v2 supports system auto update via OTA, please see **[[this URL>>url:http://wiki.dragino.com/xwiki/bin/view/OTA%20Update/]]** for the detail of this feature. 371 371 372 372 373 - Thisexampledescribeshow to use LG01-V2, LoRa Shield to set up a LoRa network534 += **8. FAQ** = 374 374 536 +== **8.1 How does LG01v2 communicate with Lora shield (LoRa.h)** == 537 + 538 + 539 +This example describes how to use LG01v2, LoRa Shield to set up a LoRa network, 540 + 375 375 [[image:image-20221103152238-8.png||height="251" width="654"]] 376 376 377 377 378 -(% style="color:red" %)**Prerequisites: The configurations of LG01 -V2 and Lora shield must match**544 +(% style="color:red" %)**Prerequisites: The configurations of LG01v2 and Lora shield must match** 379 379 380 -**LG01 -V2 configuration:**546 +**LG01v2 configuration:** 381 381 382 382 (% class="box infomessage" %) 383 383 ((( ... ... @@ -395,6 +395,8 @@ 395 395 AT+RXDAFORM=1 396 396 ))) 397 397 564 + 565 + 398 398 **Lora shield configuration:** 399 399 400 400 Lora Shield example: [[attach:LoRa_Shield_Sketch_For_MQTT.ino||target="_blank"]] , [[attach:arduino-LoRa-master.zip||target="_blank"]] ... ... @@ -402,20 +402,90 @@ 402 402 [[image:image-20221101161318-2.png]] 403 403 404 404 405 -**Test LG01-V2 to receive Lora Shield data:** 406 406 574 +**Test LG01v2 to receive Lora Shield data:** 575 + 407 407 [[image:image-20221101161951-3.png]] 408 408 409 409 410 -**Test the LG01-V2 to send data:** 411 411 580 +**Test the LG01v2 to send data:** 581 + 412 412 [[image:image-20221101162527-4.png]] 413 413 414 414 415 -= (%style="color:inherit;font-family:inherit;font-size:29px"%)**8.Supports**(%%)=585 +== **8.2 How does LG01v2 communicate with Heltec LoRa Node** == 416 416 417 417 588 +This example describes how to use LG01v2 and Heltec LoRa Node to set up a LoRa network, 589 + 590 +[[image:image-20221112161111-2.png||height="258" width="692"]] 591 + 592 +(% style="color:red" %)**Prerequisites: The configurations of LG01v2 and Lora shield must match** 593 + 594 + 595 +**LG01v2 configuration:** 596 + 597 +(% class="box infomessage" %) 418 418 ((( 599 +AT+FRE=868.100,868.100 ~-~--> TX and RX frequency set: 868100000 600 +AT+BW=0,0 ~-~--> TX and RX Bandwidth set: 125kHz 601 +AT+SF=12,12 ~-~--> TX and RX Spreading Factor set: SF12 602 +AT+POWER=14 ~-~--> TX Power Range 603 +AT+CRC=1,1 ~-~--> TX and RX CRC Type 604 +AT+HEADER=0,0 ~-~--> TX and RX Header Type 605 +AT+CR=1,1 ~-~--> TX and RX Coding Rate 606 +AT+IQ=0,0 ~-~--> TX and RX InvertIQ 607 +AT+PREAMBLE=8,8 ~-~--> TX and RX Preamble Length set: 8 608 +AT+SYNCWORD=0 ~-~--> Syncword**(0: private,1: public), **the corresponding Lora shield syncword is 0x12 609 +AT+RXMOD=65535,0 ~-~--> Rx Timeout and Reply mode,RX window always open 610 +AT+RXDAFORM=1 ~-~--> RX data format**(0: Hex ,1: String)** 611 +))) 612 + 613 + 614 +After we upload the sketch to Heltec LoRa Node, we can see below output from Arduino. 615 + 616 +Lora Shield example: [[attach:LoRa_send_trial.ino||target="_blank"]] 617 + 618 +[[image:image-20221112162733-3.png||height="524" width="927"]] 619 + 620 + 621 +And we can see the logread of gateway as below, means the packet arrive gateway: 622 + 623 +[[image:image-20221112163119-4.png||height="808" width="560"]] 624 + 625 + 626 += **9. OTA System Update** = 627 + 628 +LG01v2 supports system auto update via OTA, please see **[[this URL>>url:http://wiki.dragino.com/xwiki/bin/view/OTA%20Update/]]** for the detail of this feature. 629 + 630 + 631 += **10. Trouble Shooting** = 632 + 633 +== 10.1 Fallback IP does not work, how can users check == 634 + 635 +When the computer has completed the above fallback IP configuration,the LG01v2 Web UI is still not accessible via fallback IP. 636 + 637 + 638 +**1.Check whether the configuration is correct** 639 + 640 +Run the CMD command to ipconfig and ping 172.31.255.254. 641 + 642 +If this fails, the user needs to reconfigure. 643 + 644 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20230413170224-3.png?width=707&height=433&rev=1.1||alt="image-20230413170224-3.png"]] 645 + 646 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20230413170246-4.png?rev=1.1||alt="image-20230413170246-4.png"]] 647 + 648 +**2. Check whether the firewall is disabled** 649 + 650 +If the firewall is not down, this will affect access to the gateway. 651 + 652 + 653 += (% style="color:inherit; font-family:inherit; font-size:29px" %)**11. Supports**(%%) = 654 + 655 + 656 +((( 419 419 **//If you are experiencing issues and can't solve them, you can send mail to [[support@dragino.com>>mailto:support@dragino.com]].//** 420 420 ))) 421 421 ... ... @@ -423,29 +423,24 @@ 423 423 **//With your question as detailed as possible. We will reply and help you in the shortest.//** 424 424 425 425 664 += **12. Reference** = 426 426 427 -= **9. Reference** = 428 428 667 +* Install Tago Core: Refer **Install Tago Core in LG01v2** in[[ Instruction>>doc:Main.Tago\.IO.WebHome]]. 668 +* [[Advance OS Reference Guide for L>>doc:Main.Armbian OS instruction.WebHome]]G01v2. 429 429 430 -* Install Tago Core: Refer **Install Tago Core in LPS8v2** in[[ Instruction>>doc:Main.Tago\.IO.WebHome]]. 431 -* [[Advance OS Reference Guide for LPS8v2>>doc:Main.Armbian OS instruction.WebHome]]. 432 - 433 433 434 434 ))) 435 435 436 -= **1 0. Order Info** =673 += **13. Order Info** = 437 437 438 438 439 -(% style="color:#0000ff" %)**L PS8v2-XXX-YYY**676 +(% style="color:#0000ff" %)**LG01v2-XXX-YYY** 440 440 441 441 (% style="color:#0000ff" %)**XXX**(% style="color:black" %): Frequency Band 442 442 443 -* (% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band 444 -* (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band 445 -* (% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band 446 -* (% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band 447 -* (% style="color:red" %)**US915**(%%): LoRaWAN US915 band 448 -* (% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band 680 +* (% style="color:red" %)**868**(%%): For frequency : 863 ~~ 870Mhz 681 +* (% style="color:red" %)**915**(%%): For frequency : 902 ~~ 928Mhz 449 449 450 450 (% style="color:#0000ff" %)**YYY**(% style="color:black" %): 4G Cellular Option 451 451 ... ... @@ -457,10 +457,9 @@ 457 457 More info about valid bands, please see [[EC25-E product page>>url:https://www.quectel.com/product/ec25.htm]]. 458 458 459 459 693 += **14. Manufacturer Info** = 460 460 461 -= **10. Manufacturer Info** = 462 462 463 - 464 464 **Shenzhen Dragino Technology Development co. LTD** 465 465 466 466 Room 202, Block B, BCT Incubation Bases (BaoChengTai), No.8 CaiYunRoad ... ... @@ -468,10 +468,9 @@ 468 468 LongCheng Street, LongGang District ; Shenzhen 518116,China 469 469 470 470 703 += **15. FCC Warning** = 471 471 472 -= **11. FCC Warning** = 473 473 474 - 475 475 ((( 476 476 This equipment has been tested and found to comply with the limits for a Class B digital device, pursuant to Part 15 of the FCC Rules. These limits are designed to provide reasonable protection against harmful interference in a residential installation. This equipment generates uses and can radiate radio frequency energy and, if not installed and used in accordance with the instructions, may cause harmful interference to radio communications. However, there is no guarantee that interference will not occur in a particular installation. If this equipment does cause harmful interference to radio or television reception, which can be determined by turning the equipment off and on, the user is encouraged to try to correct the interference by one or more of the following measures: 477 477 ))) ... ... @@ -501,7 +501,6 @@ 501 501 ((( 502 502 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. 503 503 735 + 504 504 505 505 ))) 506 - 507 -~)~)~)
- LoRa_send_trial.ino
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +3.4 KB - Content
-
... ... @@ -1,0 +1,124 @@ 1 +#include "LoRaWan_APP.h" 2 +#include "Arduino.h" 3 + 4 + 5 +#define RF_FREQUENCY 868100000 // Hz 6 + 7 +#define TX_OUTPUT_POWER 5 // dBm 8 + 9 +#define LORA_BANDWIDTH 0 // [0: 125 kHz, 10 + // 1: 250 kHz, 11 + // 2: 500 kHz, 12 + // 3: Reserved] 13 +#define LORA_SPREADING_FACTOR 12 // [SF7..SF12] 14 +#define LORA_CODINGRATE 1 // [1: 4/5, 15 + // 2: 4/6, 16 + // 3: 4/7, 17 + // 4: 4/8] 18 +#define LORA_PREAMBLE_LENGTH 8 // Same for Tx and Rx 19 +#define LORA_SYMBOL_TIMEOUT 0 // Symbols 20 +#define LORA_FIX_LENGTH_PAYLOAD_ON false 21 +#define LORA_IQ_INVERSION_ON false 22 + 23 + 24 +#define RX_TIMEOUT_VALUE 1000 25 +#define BUFFER_SIZE 30 // Define the payload size here 26 + 27 +float tem,hum; 28 +char tem_1[8]={"\0"},hum_1[8]={"\0"}; 29 +char *node_id = "<GW01>"; //From LG01 via web Local Channel settings on MQTT.Please refer <> dataformat in here. 30 + 31 +char txpacket[BUFFER_SIZE]; 32 +char rxpacket[BUFFER_SIZE]; 33 + 34 +double txNumber; 35 + 36 +bool lora_idle=true; 37 + 38 +static RadioEvents_t RadioEvents; 39 +void OnTxDone( void ); 40 +void OnTxTimeout( void ); 41 + 42 +void dhtTem() 43 +{ 44 + tem = random(15,40); 45 + hum = random(40,80); 46 + Serial.println(F("The temperature and humidity:")); 47 + Serial.print("["); 48 + Serial.print(tem); 49 + Serial.print("℃"); 50 + Serial.print(","); 51 + Serial.print(hum); 52 + Serial.print("%"); 53 + Serial.print("]"); 54 + Serial.println(""); 55 +} 56 + 57 +void dhtWrite() 58 +{ 59 + char data[50] = "\0"; 60 + for(int i = 0; i < 50; i++) 61 + { 62 + data[i] = node_id[i]; 63 + } 64 + 65 + dtostrf(tem,0,1,tem_1); 66 + dtostrf(hum,0,1,hum_1); 67 + 68 + strcat(data,"tem_a="); 69 + strcat(data,tem_1); 70 + strcat(data,"&hum_a="); 71 + strcat(data,hum_1); 72 + strcpy((char *)txpacket,data); 73 + 74 + Serial.println((char *)txpacket); 75 +} 76 + 77 +void setup() { 78 + Serial.begin(115200); 79 + Mcu.begin(); 80 + 81 + txNumber=0; 82 + 83 + RadioEvents.TxDone = OnTxDone; 84 + RadioEvents.TxTimeout = OnTxTimeout; 85 + 86 + Radio.Init( &RadioEvents ); 87 + Radio.SetChannel( RF_FREQUENCY ); 88 + Radio.SetTxConfig( MODEM_LORA, TX_OUTPUT_POWER, 0, LORA_BANDWIDTH, 89 + LORA_SPREADING_FACTOR, LORA_CODINGRATE, 90 + LORA_PREAMBLE_LENGTH, LORA_FIX_LENGTH_PAYLOAD_ON, 91 + true, 0, 0, LORA_IQ_INVERSION_ON, 3000 ); 92 + } 93 + 94 + 95 + 96 +void loop() 97 +{ 98 + if(lora_idle == true) 99 + { 100 + delay(5000); 101 + txNumber += 0.01; 102 + Serial.println(txNumber); 103 + 104 + dhtTem(); 105 + dhtWrite(); 106 + Radio.Send( (uint8_t *)txpacket, strlen(txpacket) ); //send the package out 107 + lora_idle = false; 108 + } 109 + Radio.IrqProcess( ); 110 +} 111 + 112 +void OnTxDone( void ) 113 +{ 114 + Serial.println("TX done......"); 115 + lora_idle = true; 116 +} 117 + 118 +void OnTxTimeout( void ) 119 +{ 120 + Radio.Sleep( ); 121 + Serial.println("TX Timeout......"); 122 + lora_idle = true; 123 +} 124 +
- Log-Temperature-Sensor-and-send-data-to-Node-red.ino
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +3.6 KB - Content
-
... ... @@ -1,0 +1,150 @@ 1 +#include <SoftwareSerial.h> 2 +#include <Adafruit_Sensor.h> 3 +#include <DHT.h> 4 +#include <DHT_U.h> 5 +/* 6 + 7 +*/ 8 +#define DHTPIN 8 // Digital pin connected to the DHT sensor 9 +#define DHTTYPE DHT11 // DHT 11 10 +DHT_Unified dht(DHTPIN, DHTTYPE); 11 + 12 +String inputString = ""; // a String to hold incoming data 13 +bool stringComplete = false; // whether the string is complete 14 + 15 +long old_time=millis(); 16 +long new_time; 17 + 18 +long uplink_interval=30000; //ms 19 + 20 +float DHT11_temp; 21 +float DHT11_hum; 22 + 23 +SoftwareSerial ss(10, 11); // Arduino RX, TX , 24 + 25 +char rxbuff[128]; 26 +uint8_t rxbuff_index=0; 27 + 28 +void setup() { 29 + // initialize serial 30 + Serial.begin(9600); 31 + 32 + ss.begin(9600); 33 + ss.listen(); 34 + 35 + // reserve 200 bytes for the inputString: 36 + inputString.reserve(200); 37 + 38 + dht.begin(); 39 + sensor_t sensor; 40 + dht.temperature().getSensor(&sensor); 41 + dht.humidity().getSensor(&sensor); 42 + 43 + ss.println("ATZ");//reset LA66 44 +} 45 + 46 +void loop() { 47 + 48 + while ( ss.available()) { 49 + // get the new byte: 50 + char inChar = (char) ss.read(); 51 + // add it to the inputString: 52 + inputString += inChar; 53 + 54 + rxbuff[rxbuff_index++]=inChar; 55 + 56 + if(rxbuff_index>128) 57 + { 58 + rxbuff[rxbuff_index]='\0'; 59 + rxbuff_index=0; 60 + break; 61 + } 62 + 63 + // if the incoming character is a newline, set a flag so the main loop can 64 + // do something about it: 65 + if (inChar == '\n' || inChar == '\r') { 66 + stringComplete = true; 67 + rxbuff[rxbuff_index]='\0'; 68 + rxbuff_index=0; 69 + } 70 + } 71 + 72 + while ( Serial.available()) { 73 + // get the new byte: 74 + char inChar = (char) Serial.read(); 75 + // add it to the inputString: 76 + inputString += inChar; 77 + // if the incoming character is a newline, set a flag so the main loop can 78 + // do something about it: 79 + if (inChar == '\n' || inChar == '\r') { 80 + ss.print(inputString); 81 + inputString = "\0"; 82 + } 83 + } 84 + 85 + // print the string when a newline arrives: 86 + if (stringComplete) { 87 + Serial.print(inputString); 88 + 89 + // clear the string: 90 + inputString = "\0"; 91 + stringComplete = false; 92 + } 93 + 94 + new_time = millis(); 95 + 96 + if(new_time-old_time>=uplink_interval){ 97 + old_time = new_time; 98 + 99 + Serial.print(F("\r\n")); 100 + // Get temperature event and print its value. 101 + sensors_event_t event; 102 + dht.temperature().getEvent(&event); 103 + if (isnan(event.temperature)) { 104 + Serial.println(F("Error reading temperature!")); 105 + DHT11_temp=327.67; 106 + } 107 + else { 108 + DHT11_temp=event.temperature; 109 + 110 + if(DHT11_temp>60){ 111 + DHT11_temp=60; 112 + } 113 + else if(DHT11_temp<-20){ 114 + DHT11_temp=-20; 115 + } 116 + } 117 + // Get humidity event and print its value. 118 + dht.humidity().getEvent(&event); 119 + if (isnan(event.relative_humidity)) { 120 + DHT11_hum=327.67; 121 + Serial.println(F("Error reading humidity!")); 122 + } 123 + else { 124 + DHT11_hum=event.relative_humidity; 125 + 126 + if(DHT11_hum>100){ 127 + DHT11_hum=100; 128 + } 129 + else if(DHT11_hum<0){ 130 + DHT11_hum=0; 131 + } 132 + } 133 + 134 + Serial.print(F("Temperature: ")); 135 + Serial.print(DHT11_temp); 136 + Serial.println(F("°C")); 137 + Serial.print(F("Humidity: ")); 138 + Serial.print(DHT11_hum); 139 + Serial.println(F("%")); 140 + Serial.print(F("\r\n")); 141 + 142 + char sensor_data_buff[128]="\0"; 143 + 144 + //confirm status,Fport,payload length,payload(HEX) 145 + snprintf(sensor_data_buff,128,"AT+SEND=0,%02X%02X%02X%02X,0,0",(short)(DHT11_temp*100)>>8 & 0xFF,(short)(DHT11_temp*100) & 0xFF,(short)(DHT11_hum*10)>>8 & 0xFF,(short)(DHT11_hum*10) & 0xFF); 146 + ss.print(sensor_data_buff); 147 + ss.print('\r'); 148 + } 149 +} 150 +
- Log-Temperature-Sensor-and-send-data-to-Node-red.json
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +10.3 KB - Content
-
... ... @@ -1,0 +1,443 @@ 1 +[ 2 + { 3 + "id": "0a211e08511c4bdd", 4 + "type": "tab", 5 + "label": "serial USB", 6 + "disabled": false, 7 + "info": "", 8 + "env": [] 9 + }, 10 + { 11 + "id": "4a97eeb54bf57a6d", 12 + "type": "serial in", 13 + "z": "0a211e08511c4bdd", 14 + "name": "", 15 + "serial": "bb1c0e81fd51fa9e", 16 + "x": 210, 17 + "y": 60, 18 + "wires": [ 19 + [ 20 + "d2493fb9752dbcab", 21 + "d183c255973c979e" 22 + ] 23 + ] 24 + }, 25 + { 26 + "id": "12f1eeb8049675c1", 27 + "type": "inject", 28 + "z": "0a211e08511c4bdd", 29 + "name": "AT+SEND=1,hello world,0,3", 30 + "props": [ 31 + { 32 + "p": "payload" 33 + } 34 + ], 35 + "repeat": "", 36 + "crontab": "", 37 + "once": false, 38 + "onceDelay": 0.1, 39 + "topic": "", 40 + "payload": "AT+SEND=1,hello world,0,3", 41 + "payloadType": "str", 42 + "x": 220, 43 + "y": 260, 44 + "wires": [ 45 + [ 46 + "a5d2f5df63a2148e" 47 + ] 48 + ] 49 + }, 50 + { 51 + "id": "a5d2f5df63a2148e", 52 + "type": "serial out", 53 + "z": "0a211e08511c4bdd", 54 + "name": "", 55 + "serial": "bb1c0e81fd51fa9e", 56 + "x": 540, 57 + "y": 260, 58 + "wires": [] 59 + }, 60 + { 61 + "id": "dc04c04a0bc0e5db", 62 + "type": "inject", 63 + "z": "0a211e08511c4bdd", 64 + "name": "", 65 + "props": [ 66 + { 67 + "p": "payload" 68 + } 69 + ], 70 + "repeat": "", 71 + "crontab": "", 72 + "once": false, 73 + "onceDelay": 0.1, 74 + "topic": "", 75 + "payload": "ATZ", 76 + "payloadType": "str", 77 + "x": 290, 78 + "y": 320, 79 + "wires": [ 80 + [ 81 + "a5d2f5df63a2148e" 82 + ] 83 + ] 84 + }, 85 + { 86 + "id": "3de96a220e28e8f0", 87 + "type": "inject", 88 + "z": "0a211e08511c4bdd", 89 + "name": "AT+FRE", 90 + "props": [ 91 + { 92 + "p": "payload" 93 + } 94 + ], 95 + "repeat": "", 96 + "crontab": "", 97 + "once": false, 98 + "onceDelay": 0.1, 99 + "topic": "", 100 + "payload": "AT+FRE=868.100,868.100", 101 + "payloadType": "str", 102 + "x": 280, 103 + "y": 380, 104 + "wires": [ 105 + [ 106 + "a5d2f5df63a2148e" 107 + ] 108 + ] 109 + }, 110 + { 111 + "id": "638725a47a1e4365", 112 + "type": "inject", 113 + "z": "0a211e08511c4bdd", 114 + "name": "AT+BW", 115 + "props": [ 116 + { 117 + "p": "payload" 118 + } 119 + ], 120 + "repeat": "", 121 + "crontab": "", 122 + "once": false, 123 + "onceDelay": 0.1, 124 + "topic": "", 125 + "payload": "AT+BW=0,0", 126 + "payloadType": "str", 127 + "x": 290, 128 + "y": 440, 129 + "wires": [ 130 + [ 131 + "a5d2f5df63a2148e" 132 + ] 133 + ] 134 + }, 135 + { 136 + "id": "85ba9868d1f3e82c", 137 + "type": "inject", 138 + "z": "0a211e08511c4bdd", 139 + "name": "AT+SF", 140 + "props": [ 141 + { 142 + "p": "payload" 143 + } 144 + ], 145 + "repeat": "", 146 + "crontab": "", 147 + "once": false, 148 + "onceDelay": 0.1, 149 + "topic": "", 150 + "payload": "AT+SF=12,12", 151 + "payloadType": "str", 152 + "x": 290, 153 + "y": 500, 154 + "wires": [ 155 + [ 156 + "a5d2f5df63a2148e" 157 + ] 158 + ] 159 + }, 160 + { 161 + "id": "144b2749013ffe57", 162 + "type": "inject", 163 + "z": "0a211e08511c4bdd", 164 + "name": "AT+RXMOD", 165 + "props": [ 166 + { 167 + "p": "payload" 168 + } 169 + ], 170 + "repeat": "", 171 + "crontab": "", 172 + "once": false, 173 + "onceDelay": 0.1, 174 + "topic": "", 175 + "payload": "AT+RXMOD=65535,2", 176 + "payloadType": "str", 177 + "x": 270, 178 + "y": 560, 179 + "wires": [ 180 + [ 181 + "a5d2f5df63a2148e" 182 + ] 183 + ] 184 + }, 185 + { 186 + "id": "bfb2e9df89dc5e2f", 187 + "type": "inject", 188 + "z": "0a211e08511c4bdd", 189 + "name": "AT+SYNCWORD", 190 + "props": [ 191 + { 192 + "p": "payload" 193 + } 194 + ], 195 + "repeat": "", 196 + "crontab": "", 197 + "once": false, 198 + "onceDelay": 0.1, 199 + "topic": "", 200 + "payload": "AT+SYNCWORD=0", 201 + "payloadType": "str", 202 + "x": 260, 203 + "y": 620, 204 + "wires": [ 205 + [ 206 + "a5d2f5df63a2148e" 207 + ] 208 + ] 209 + }, 210 + { 211 + "id": "d2493fb9752dbcab", 212 + "type": "function", 213 + "z": "0a211e08511c4bdd", 214 + "name": "function 1", 215 + "func": "var data = msg.payload\nif (data.substring(0, 4) == \"Data\") {\n if (data.substring(6, 12) == \"(HEX:)\") {\n var temp = data.substring(13, 15) + data.substring(16, 18)\n var hum = data.substring(19, 21) + data.substring(22, 24)\n var temp1 = parseInt(temp, 16) / 100\n var hum1 = parseInt(hum, 16) / 10\n var a1 = { payload: temp1 }, a2 = { payload: hum1 }\n }\n if (data.substring(6, 15) == \"(String:)\") {\n var temp = data.substring(20, 24)\n var hum = data.substring(29, 34)\n a1 = { payload: temp }, a2 = { payload: hum }\n }\n}\nif (data.substring(0, 4) == \"Rssi\") {\n var rssi = data.substring(6)\n var a3 = { payload: rssi }\n}\nreturn [a1, a2, a3];", 216 + "outputs": 3, 217 + "noerr": 0, 218 + "initialize": "", 219 + "finalize": "", 220 + "libs": [], 221 + "x": 420, 222 + "y": 60, 223 + "wires": [ 224 + [ 225 + "c17d94be4317ae6c" 226 + ], 227 + [ 228 + "20c5b1c7f42fa6bb" 229 + ], 230 + [ 231 + "39a8462f3d748eef" 232 + ] 233 + ] 234 + }, 235 + { 236 + "id": "39a8462f3d748eef", 237 + "type": "ui_chart", 238 + "z": "0a211e08511c4bdd", 239 + "name": "", 240 + "group": "ef41b39771110fa5", 241 + "order": 1, 242 + "width": 0, 243 + "height": 0, 244 + "label": "RSSI", 245 + "chartType": "line", 246 + "legend": "false", 247 + "xformat": "dd HH:mm", 248 + "interpolate": "linear", 249 + "nodata": "", 250 + "dot": true, 251 + "ymin": "", 252 + "ymax": "", 253 + "removeOlder": 1, 254 + "removeOlderPoints": "", 255 + "removeOlderUnit": "3600", 256 + "cutout": 0, 257 + "useOneColor": false, 258 + "useUTC": false, 259 + "colors": [ 260 + "#1f77b4", 261 + "#aec7e8", 262 + "#ff7f0e", 263 + "#2ca02c", 264 + "#98df8a", 265 + "#d62728", 266 + "#ff9896", 267 + "#9467bd", 268 + "#c5b0d5" 269 + ], 270 + "outputs": 1, 271 + "useDifferentColor": false, 272 + "className": "", 273 + "x": 670, 274 + "y": 180, 275 + "wires": [ 276 + [] 277 + ] 278 + }, 279 + { 280 + "id": "c17d94be4317ae6c", 281 + "type": "ui_chart", 282 + "z": "0a211e08511c4bdd", 283 + "name": "", 284 + "group": "7e1d1c102cf74e6b", 285 + "order": 1, 286 + "width": 0, 287 + "height": 0, 288 + "label": "Temperature", 289 + "chartType": "line", 290 + "legend": "false", 291 + "xformat": "HH:mm:ss", 292 + "interpolate": "linear", 293 + "nodata": "", 294 + "dot": true, 295 + "ymin": "", 296 + "ymax": "", 297 + "removeOlder": 1, 298 + "removeOlderPoints": "", 299 + "removeOlderUnit": "3600", 300 + "cutout": 0, 301 + "useOneColor": false, 302 + "useUTC": false, 303 + "colors": [ 304 + "#1f77b4", 305 + "#aec7e8", 306 + "#ff7f0e", 307 + "#2ca02c", 308 + "#98df8a", 309 + "#d62728", 310 + "#ff9896", 311 + "#9467bd", 312 + "#c5b0d5" 313 + ], 314 + "outputs": 1, 315 + "useDifferentColor": false, 316 + "className": "", 317 + "x": 690, 318 + "y": 100, 319 + "wires": [ 320 + [] 321 + ] 322 + }, 323 + { 324 + "id": "20c5b1c7f42fa6bb", 325 + "type": "ui_chart", 326 + "z": "0a211e08511c4bdd", 327 + "name": "", 328 + "group": "3f5d139f158d7c1c", 329 + "order": 2, 330 + "width": 0, 331 + "height": 0, 332 + "label": "Humidity", 333 + "chartType": "line", 334 + "legend": "false", 335 + "xformat": "HH:mm:ss", 336 + "interpolate": "linear", 337 + "nodata": "", 338 + "dot": true, 339 + "ymin": "", 340 + "ymax": "", 341 + "removeOlder": 1, 342 + "removeOlderPoints": "", 343 + "removeOlderUnit": "3600", 344 + "cutout": 0, 345 + "useOneColor": false, 346 + "useUTC": false, 347 + "colors": [ 348 + "#1f77b4", 349 + "#aec7e8", 350 + "#ff7f0e", 351 + "#2ca02c", 352 + "#98df8a", 353 + "#d62728", 354 + "#ff9896", 355 + "#9467bd", 356 + "#c5b0d5" 357 + ], 358 + "outputs": 1, 359 + "useDifferentColor": false, 360 + "className": "", 361 + "x": 680, 362 + "y": 140, 363 + "wires": [ 364 + [] 365 + ] 366 + }, 367 + { 368 + "id": "d183c255973c979e", 369 + "type": "debug", 370 + "z": "0a211e08511c4bdd", 371 + "name": "debug 1", 372 + "active": true, 373 + "tosidebar": true, 374 + "console": false, 375 + "tostatus": false, 376 + "complete": "false", 377 + "statusVal": "", 378 + "statusType": "auto", 379 + "x": 420, 380 + "y": 180, 381 + "wires": [] 382 + }, 383 + { 384 + "id": "bb1c0e81fd51fa9e", 385 + "type": "serial-port", 386 + "serialport": "/dev/ttyUSB0", 387 + "serialbaud": "9600", 388 + "databits": "8", 389 + "parity": "none", 390 + "stopbits": "1", 391 + "waitfor": "", 392 + "dtr": "none", 393 + "rts": "none", 394 + "cts": "none", 395 + "dsr": "none", 396 + "newline": "\\n", 397 + "bin": "false", 398 + "out": "char", 399 + "addchar": "\\r\\n", 400 + "responsetimeout": "10000" 401 + }, 402 + { 403 + "id": "ef41b39771110fa5", 404 + "type": "ui_group", 405 + "name": "rssi", 406 + "tab": "abb98f80600a5448", 407 + "order": 3, 408 + "disp": true, 409 + "width": "6", 410 + "collapse": false, 411 + "className": "" 412 + }, 413 + { 414 + "id": "7e1d1c102cf74e6b", 415 + "type": "ui_group", 416 + "name": "TEM", 417 + "tab": "abb98f80600a5448", 418 + "order": 4, 419 + "disp": true, 420 + "width": "6", 421 + "collapse": false, 422 + "className": "" 423 + }, 424 + { 425 + "id": "3f5d139f158d7c1c", 426 + "type": "ui_group", 427 + "name": "HUM", 428 + "tab": "abb98f80600a5448", 429 + "order": 2, 430 + "disp": true, 431 + "width": "6", 432 + "collapse": false, 433 + "className": "" 434 + }, 435 + { 436 + "id": "abb98f80600a5448", 437 + "type": "ui_tab", 438 + "name": "LG01v2", 439 + "icon": "LG01v2", 440 + "disabled": false, 441 + "hidden": false 442 + } 443 +]
- Log-Temperature-Sensor-and-send-data-to-node-red.json
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +10.1 KB - Content
-
... ... @@ -1,0 +1,443 @@ 1 +[ 2 + { 3 + "id": "5f10779accc05655", 4 + "type": "tab", 5 + "label": "serial USB", 6 + "disabled": false, 7 + "info": "", 8 + "env": [] 9 + }, 10 + { 11 + "id": "4ea60ce4df40717c", 12 + "type": "serial in", 13 + "z": "5f10779accc05655", 14 + "name": "", 15 + "serial": "bb1c0e81fd51fa9e", 16 + "x": 210, 17 + "y": 60, 18 + "wires": [ 19 + [ 20 + "40eac96a52733f7a", 21 + "79722a224bb22c96" 22 + ] 23 + ] 24 + }, 25 + { 26 + "id": "fe5a93a52b6adcf1", 27 + "type": "inject", 28 + "z": "5f10779accc05655", 29 + "name": "AT+SEND=1,hello world,0,3", 30 + "props": [ 31 + { 32 + "p": "payload" 33 + } 34 + ], 35 + "repeat": "", 36 + "crontab": "", 37 + "once": false, 38 + "onceDelay": 0.1, 39 + "topic": "", 40 + "payload": "AT+SEND=1,hello world,0,3", 41 + "payloadType": "str", 42 + "x": 220, 43 + "y": 260, 44 + "wires": [ 45 + [ 46 + "3f8add7e2e1d1d17" 47 + ] 48 + ] 49 + }, 50 + { 51 + "id": "3f8add7e2e1d1d17", 52 + "type": "serial out", 53 + "z": "5f10779accc05655", 54 + "name": "", 55 + "serial": "bb1c0e81fd51fa9e", 56 + "x": 540, 57 + "y": 260, 58 + "wires": [] 59 + }, 60 + { 61 + "id": "16e7d3d83d9e9415", 62 + "type": "inject", 63 + "z": "5f10779accc05655", 64 + "name": "", 65 + "props": [ 66 + { 67 + "p": "payload" 68 + } 69 + ], 70 + "repeat": "", 71 + "crontab": "", 72 + "once": false, 73 + "onceDelay": 0.1, 74 + "topic": "", 75 + "payload": "ATZ", 76 + "payloadType": "str", 77 + "x": 290, 78 + "y": 320, 79 + "wires": [ 80 + [ 81 + "3f8add7e2e1d1d17" 82 + ] 83 + ] 84 + }, 85 + { 86 + "id": "09ea381519629dae", 87 + "type": "inject", 88 + "z": "5f10779accc05655", 89 + "name": "AT+FRE", 90 + "props": [ 91 + { 92 + "p": "payload" 93 + } 94 + ], 95 + "repeat": "", 96 + "crontab": "", 97 + "once": false, 98 + "onceDelay": 0.1, 99 + "topic": "", 100 + "payload": "AT+FRE=868.100,868.100", 101 + "payloadType": "str", 102 + "x": 280, 103 + "y": 380, 104 + "wires": [ 105 + [ 106 + "3f8add7e2e1d1d17" 107 + ] 108 + ] 109 + }, 110 + { 111 + "id": "5167a7f904013ffd", 112 + "type": "inject", 113 + "z": "5f10779accc05655", 114 + "name": "AT+BW", 115 + "props": [ 116 + { 117 + "p": "payload" 118 + } 119 + ], 120 + "repeat": "", 121 + "crontab": "", 122 + "once": false, 123 + "onceDelay": 0.1, 124 + "topic": "", 125 + "payload": "AT+BW=0,0", 126 + "payloadType": "str", 127 + "x": 290, 128 + "y": 440, 129 + "wires": [ 130 + [ 131 + "3f8add7e2e1d1d17" 132 + ] 133 + ] 134 + }, 135 + { 136 + "id": "dbe4abbc730c76e6", 137 + "type": "inject", 138 + "z": "5f10779accc05655", 139 + "name": "AT+SF", 140 + "props": [ 141 + { 142 + "p": "payload" 143 + } 144 + ], 145 + "repeat": "", 146 + "crontab": "", 147 + "once": false, 148 + "onceDelay": 0.1, 149 + "topic": "", 150 + "payload": "AT+SF=12,12", 151 + "payloadType": "str", 152 + "x": 290, 153 + "y": 500, 154 + "wires": [ 155 + [ 156 + "3f8add7e2e1d1d17" 157 + ] 158 + ] 159 + }, 160 + { 161 + "id": "3be3ab296a75d512", 162 + "type": "inject", 163 + "z": "5f10779accc05655", 164 + "name": "AT+RXMOD", 165 + "props": [ 166 + { 167 + "p": "payload" 168 + } 169 + ], 170 + "repeat": "", 171 + "crontab": "", 172 + "once": false, 173 + "onceDelay": 0.1, 174 + "topic": "", 175 + "payload": "AT+RXMOD=65535,2", 176 + "payloadType": "str", 177 + "x": 270, 178 + "y": 560, 179 + "wires": [ 180 + [ 181 + "3f8add7e2e1d1d17" 182 + ] 183 + ] 184 + }, 185 + { 186 + "id": "7a03d1413c60ea1c", 187 + "type": "inject", 188 + "z": "5f10779accc05655", 189 + "name": "AT+SYNCWORD", 190 + "props": [ 191 + { 192 + "p": "payload" 193 + } 194 + ], 195 + "repeat": "", 196 + "crontab": "", 197 + "once": false, 198 + "onceDelay": 0.1, 199 + "topic": "", 200 + "payload": "AT+SYNCWORD=0", 201 + "payloadType": "str", 202 + "x": 260, 203 + "y": 620, 204 + "wires": [ 205 + [ 206 + "3f8add7e2e1d1d17" 207 + ] 208 + ] 209 + }, 210 + { 211 + "id": "40eac96a52733f7a", 212 + "type": "function", 213 + "z": "5f10779accc05655", 214 + "name": "function 1", 215 + "func": "var data = msg.payload\nif (data.substring(0, 4) == \"Data\")\n{\n if (data.substring(6, 12) == \"(HEX:)\")\n {\n var temp = data.substring(13, 15) + data.substring(16, 18)\n var hum = data.substring(19, 21) + data.substring(22, 24)\n var temp1 = parseInt(temp, 16)/100\n var hum1 = parseInt(hum, 16)/10\n var a1 = { payload: temp1 }, a2 = { payload: hum1 }\n }\n}\nif (data.substring(0, 4) == \"Rssi\")\n{\n var rssi = data.substring(6)\n var a3 = { payload: rssi }\n}\nreturn [a1,a2,a3];\n \n\n", 216 + "outputs": 3, 217 + "noerr": 0, 218 + "initialize": "", 219 + "finalize": "", 220 + "libs": [], 221 + "x": 420, 222 + "y": 60, 223 + "wires": [ 224 + [ 225 + "81edb003937f1a92" 226 + ], 227 + [ 228 + "c63593404a60d9dc" 229 + ], 230 + [ 231 + "61ca71032888887b" 232 + ] 233 + ] 234 + }, 235 + { 236 + "id": "61ca71032888887b", 237 + "type": "ui_chart", 238 + "z": "5f10779accc05655", 239 + "name": "", 240 + "group": "ef41b39771110fa5", 241 + "order": 1, 242 + "width": 0, 243 + "height": 0, 244 + "label": "RSSI", 245 + "chartType": "line", 246 + "legend": "false", 247 + "xformat": "dd HH:mm", 248 + "interpolate": "linear", 249 + "nodata": "", 250 + "dot": true, 251 + "ymin": "", 252 + "ymax": "", 253 + "removeOlder": 1, 254 + "removeOlderPoints": "", 255 + "removeOlderUnit": "3600", 256 + "cutout": 0, 257 + "useOneColor": false, 258 + "useUTC": false, 259 + "colors": [ 260 + "#1f77b4", 261 + "#aec7e8", 262 + "#ff7f0e", 263 + "#2ca02c", 264 + "#98df8a", 265 + "#d62728", 266 + "#ff9896", 267 + "#9467bd", 268 + "#c5b0d5" 269 + ], 270 + "outputs": 1, 271 + "useDifferentColor": false, 272 + "className": "", 273 + "x": 670, 274 + "y": 180, 275 + "wires": [ 276 + [] 277 + ] 278 + }, 279 + { 280 + "id": "81edb003937f1a92", 281 + "type": "ui_chart", 282 + "z": "5f10779accc05655", 283 + "name": "", 284 + "group": "7e1d1c102cf74e6b", 285 + "order": 1, 286 + "width": 0, 287 + "height": 0, 288 + "label": "Temperature", 289 + "chartType": "line", 290 + "legend": "false", 291 + "xformat": "HH:mm:ss", 292 + "interpolate": "linear", 293 + "nodata": "", 294 + "dot": true, 295 + "ymin": "", 296 + "ymax": "", 297 + "removeOlder": 1, 298 + "removeOlderPoints": "", 299 + "removeOlderUnit": "3600", 300 + "cutout": 0, 301 + "useOneColor": false, 302 + "useUTC": false, 303 + "colors": [ 304 + "#1f77b4", 305 + "#aec7e8", 306 + "#ff7f0e", 307 + "#2ca02c", 308 + "#98df8a", 309 + "#d62728", 310 + "#ff9896", 311 + "#9467bd", 312 + "#c5b0d5" 313 + ], 314 + "outputs": 1, 315 + "useDifferentColor": false, 316 + "className": "", 317 + "x": 690, 318 + "y": 100, 319 + "wires": [ 320 + [] 321 + ] 322 + }, 323 + { 324 + "id": "c63593404a60d9dc", 325 + "type": "ui_chart", 326 + "z": "5f10779accc05655", 327 + "name": "", 328 + "group": "3f5d139f158d7c1c", 329 + "order": 2, 330 + "width": 0, 331 + "height": 0, 332 + "label": "Humidity", 333 + "chartType": "line", 334 + "legend": "false", 335 + "xformat": "HH:mm:ss", 336 + "interpolate": "linear", 337 + "nodata": "", 338 + "dot": true, 339 + "ymin": "", 340 + "ymax": "", 341 + "removeOlder": 1, 342 + "removeOlderPoints": "", 343 + "removeOlderUnit": "3600", 344 + "cutout": 0, 345 + "useOneColor": false, 346 + "useUTC": false, 347 + "colors": [ 348 + "#1f77b4", 349 + "#aec7e8", 350 + "#ff7f0e", 351 + "#2ca02c", 352 + "#98df8a", 353 + "#d62728", 354 + "#ff9896", 355 + "#9467bd", 356 + "#c5b0d5" 357 + ], 358 + "outputs": 1, 359 + "useDifferentColor": false, 360 + "className": "", 361 + "x": 680, 362 + "y": 140, 363 + "wires": [ 364 + [] 365 + ] 366 + }, 367 + { 368 + "id": "79722a224bb22c96", 369 + "type": "debug", 370 + "z": "5f10779accc05655", 371 + "name": "debug 1", 372 + "active": true, 373 + "tosidebar": true, 374 + "console": false, 375 + "tostatus": false, 376 + "complete": "false", 377 + "statusVal": "", 378 + "statusType": "auto", 379 + "x": 420, 380 + "y": 180, 381 + "wires": [] 382 + }, 383 + { 384 + "id": "bb1c0e81fd51fa9e", 385 + "type": "serial-port", 386 + "serialport": "/dev/ttyUSB0", 387 + "serialbaud": "9600", 388 + "databits": "8", 389 + "parity": "none", 390 + "stopbits": "1", 391 + "waitfor": "", 392 + "dtr": "none", 393 + "rts": "none", 394 + "cts": "none", 395 + "dsr": "none", 396 + "newline": "\\n", 397 + "bin": "false", 398 + "out": "char", 399 + "addchar": "\\r\\n", 400 + "responsetimeout": "10000" 401 + }, 402 + { 403 + "id": "ef41b39771110fa5", 404 + "type": "ui_group", 405 + "name": "rssi", 406 + "tab": "abb98f80600a5448", 407 + "order": 3, 408 + "disp": true, 409 + "width": "6", 410 + "collapse": false, 411 + "className": "" 412 + }, 413 + { 414 + "id": "7e1d1c102cf74e6b", 415 + "type": "ui_group", 416 + "name": "TEM", 417 + "tab": "abb98f80600a5448", 418 + "order": 4, 419 + "disp": true, 420 + "width": "6", 421 + "collapse": false, 422 + "className": "" 423 + }, 424 + { 425 + "id": "3f5d139f158d7c1c", 426 + "type": "ui_group", 427 + "name": "HUM", 428 + "tab": "abb98f80600a5448", 429 + "order": 2, 430 + "disp": true, 431 + "width": "6", 432 + "collapse": false, 433 + "className": "" 434 + }, 435 + { 436 + "id": "abb98f80600a5448", 437 + "type": "ui_tab", 438 + "name": "LG01v2", 439 + "icon": "LG01v2", 440 + "disabled": false, 441 + "hidden": false 442 + } 443 +]
- image-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
- image-20230504095457-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +412.6 KB - Content
- image-20230504095502-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +412.6 KB - Content
- image-20230504100722-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +21.5 KB - Content