Changes for page Notes for ChirpStack
Last modified by Kilight Cao on 2024/09/24 15:23
Change comment:
Uploaded new attachment "image-20240923145949-20.png", version {1}
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 82 added, 0 removed)
- LHT65N-ChirpStack-node-red.json
- image-20221222113302-1.png
- image-20221222114220-2.png
- image-20221222134830-3.png
- image-20221222140203-4.png
- image-20221222141754-5.png
- image-20221222141830-6.png
- image-20221230094246-1.png
- image-20230415165254-1.png
- image-20230415170404-2.png
- image-20230415170854-3.png
- image-20230527115750-1.png
- image-20230527143923-1.png
- image-20230527144206-2.png
- image-20230529150923-1.png
- image-20230531162943-1.png
- image-20230702094608-1.png
- image-20230702094852-2.png
- image-20230702094944-3.png
- image-20230702095114-4.png
- image-20230702095557-5.png
- image-20230702095641-6.png
- image-20230702095827-7.png
- image-20230702100312-8.png
- image-20230702100356-9.png
- image-20230702100543-10.png
- image-20230702100930-11.png
- image-20230821113255-1.png
- image-20230821113539-2.png
- image-20230821113618-3.png
- image-20230821114047-4.png
- image-20230926092907-1.png
- image-20230926093057-2.png
- image-20230926093233-3.png
- image-20231108140540-1.png
- image-20231108164914-2.png
- image-20231108165128-3.png
- image-20231108165158-4.png
- image-20231108171112-5.png
- image-20231108171145-6.png
- image-20231201174640-1.png
- image-20231201175118-2.png
- image-20231201175648-3.png
- image-20231201180103-4.png
- image-20231204104802-1.png
- image-20231204105201-2.png
- image-20231204105859-3.png
- image-20231204110341-4.png
- image-20231204110902-5.png
- image-20231204111022-6.png
- image-20231204111116-7.png
- image-20231204111641-8.png
- image-20231204111834-9.png
- image-20231204112107-10.png
- image-20231204113136-11.png
- image-20231204113212-12.png
- image-20231204113237-13.png
- image-20240117173123-1.png
- image-20240117174452-2.png
- image-20240117175009-3.png
- image-20240117175058-4.png
- image-20240117175738-5.png
- image-20240717085339-1.jpeg
- image-20240717090537-2.jpeg
- image-20240717092412-3.jpeg
- image-20240717092428-4.jpeg
- image-20240717102613-5.png
- image-20240831154333-1.png
- image-20240923105725-1.png
- image-20240923141847-3.png
- image-20240923142441-4.png
- image-20240923142446-5.png
- image-20240923144335-6.png
- image-20240923144418-7.png
- image-20240923144744-8.png
- image-20240923144749-9.png
- image-20240923145148-10.png
- image-20240923145506-12.png
- image-20240923145520-16.png
- image-20240923145624-18.png
- image-20240923145945-19.png
- image-20240923145949-20.png
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Xiaoye1 +XWiki.Kilight - Content
-
... ... @@ -20,7 +20,7 @@ 20 20 21 21 **1) Have a Chirstack Server.** 22 22 23 -[[image:image-202 20525100058-1.png]]23 +[[image:image-20230821114047-4.png||height="524" width="990"]] 24 24 25 25 ChirpStack home page 26 26 ... ... @@ -38,12 +38,58 @@ 38 38 ))) 39 39 40 40 41 += 2. Node usage introduction = 41 41 42 -= 2. SemtechUDP=43 +== 2.1 Register Node == 43 43 44 -== 2.1 Step 1. Add the Network-servers == 45 45 46 +**Step 1: Add application** 46 46 48 +[[image:image-20240831154333-1.png||height="553" width="1074"]] 49 + 50 + 51 +**Step 2:Fill name** 52 + 53 +[[image:image-20230702094852-2.png]] 54 + 55 + 56 +**Step3 :Add device profile** 57 + 58 +[[image:image-20230702095114-4.png||height="448" width="1061"]] 59 + 60 + 61 +**Step4 :Configure your device profile** 62 + 63 +[[image:image-20230702095557-5.png||height="648" width="1121"]] 64 + 65 +Does node support class-c 66 + 67 +[[image:image-20230702095641-6.png||height="349" width="1114"]] 68 + 69 +Add node's decoder 70 + 71 +[[image:image-20230702095827-7.png||height="490" width="1138"]] 72 + 73 + 74 +**Step5 :add device** 75 + 76 +[[image:image-20230702094944-3.png||height="439" width="1153"]] 77 + 78 + 79 +[[image:image-20230702100312-8.png||height="550" width="1106"]] 80 + 81 + 82 +[[image:image-20230702100543-10.png||height="313" width="1099"]] 83 + 84 + 85 +[[image:image-20230702100930-11.png||height="613" width="1098"]] 86 + 87 + 88 += 3. Semtech UDP for ChirpStack v3 = 89 + 90 +== 3.1 Step 1. Add the Network-servers == 91 + 92 + 47 47 The network-Servers address varies depending on the ChirpStack server setup environment 48 48 49 49 (% class="box" %) ... ... @@ -55,27 +55,24 @@ 55 55 56 56 (% style="color:red" %)**If the user cannot add network-Servers, re-check the ChirpStack code or the server building process.** 57 57 104 +[[image:image-20220531171609-1.png||height="638" width="1268"]](% style="display:none" %) 58 58 59 -[[image:image-20220531171609-1.png]] 60 - 61 61 Add the Network-servers 62 62 63 63 109 +== 3.2 Step 2. Create Gateway-profiles == 64 64 65 -== 2.2 Step 2. Create Gateway-profiles == 66 66 112 +[[image:image-20220531171651-2.png||height="632" width="1264"]](% style="display:none" %) 67 67 68 -[[image:image-20220531171651-2.png]] 69 - 70 70 Create Gateway-profiles 71 71 72 72 117 +== 3.3 Step 3. Create Service-profiles == 73 73 74 -== 2.3 Step 3. Create Service-profiles == 75 75 120 +[[image:image-20220531171809-3.png||height="761" width="1265"]] 76 76 77 -[[image:image-20220531171809-3.png]] 78 - 79 79 Create Service-profiles 80 80 81 81 ... ... @@ -86,51 +86,59 @@ 86 86 If the user has completed the preceding steps, proceed to the next step.(% style="display:none" %) 87 87 88 88 132 +== 3.4 Step 4. Add the gateway == 89 89 90 -== 2.4 Step 4. Add the gateway == 91 91 92 - 93 93 The example gateway id is: a840411e96744150 94 94 95 95 ((( 96 96 (% style="color:red" %)**Note : The Gateway EUI and server addresses must match the ChirpStack configuration.** 97 - 98 - 99 99 ))) 100 100 101 -[[image:image-20220531171923-4.png]](% style="display:none" %) 141 +[[image:image-20220531171923-4.png||height="745" width="1253"]](% style="display:none" %) 102 102 103 103 Add the gateway 104 104 105 105 106 - 107 107 [[image:image-20220531172031-5.png]] 108 108 109 109 Configure the gateway 110 110 111 111 151 +== 3.5 Step 5. Checking gateway Status == 112 112 113 -== 2.5 Step 5. Checking gateway Status == 114 114 154 +[[image:image-20220531172158-6.png||height="704" width="1167"]](% style="display:none" %) 115 115 116 -[[image:image-20220531172158-6.png]](% style="display:none" %) 117 117 118 118 119 - 120 120 gateway Status 121 121 122 -[[image:image-20220531172304-7.png]] 160 +[[image:image-20220531172304-7.png||height="628" width="1165"]] 123 123 124 124 gateway Status 125 125 126 126 165 += 4. Semtech UDP for ChirpStack v4 = 127 127 128 -= 3.GatewayRegistration for BasicsStation=167 +== 4.1 Step 1. Add the gateway == 129 129 130 130 131 - ==3.1Introduction==170 +[[image:image-20230926092907-1.png||height="598" width="1007"]] 132 132 133 133 173 +[[image:image-20230926093057-2.png||height="541" width="1002"]] 174 + 175 + 176 +== 4.2 Step 2. Checking gateway Status == 177 + 178 +[[image:image-20230926093233-3.png||height="581" width="1018"]] 179 + 180 += 5. Gateway Registration for Basics Station = 181 + 182 +== 5.1 Introduction == 183 + 184 + 134 134 The [[Semtech Basic Station>>url:https://doc.sm.tc/station/]] backend implements the [[LNS protocol>>url:https://doc.sm.tc/station/tcproto.html]]. It exposes a WebSocket handler to which Basic Station powered gateways can connect. 135 135 136 136 ChirpStack Open-Source LoRaWAN® Network Server needs to set up a configuration that can use Semtech BasicStation. ... ... @@ -151,14 +151,13 @@ 151 151 A gateway that can access the internet normally 152 152 153 153 205 +== 5.2 Add Gateway == 154 154 155 -== 3.2 Add Gateway == 156 156 157 - 158 158 [[image:image-20220524164205-10.png]] 159 159 160 160 161 -== 3.3 Access the gateway GUI ==211 +== 5.3 Access the gateway GUI == 162 162 163 163 164 164 Access the gateway GUI interface of LoRaWAN~-~->LoRaWAN ~-~- Basic Station ... ... @@ -172,7 +172,7 @@ 172 172 ((( 173 173 Service Provider ~-~-> Choose the ChirpStack/Senet ~-~- Basic Station 174 174 175 -LNS URI ~-~-> Enter the LNS URI address, For example : wss:~/~/xxxx.chirpstack.com:43 3or ws:~/~/xxxx.chirpstack.com:3001225 +LNS URI ~-~-> Enter the LNS URI address, For example : wss:~/~/xxxx.chirpstack.com:443 or ws:~/~/xxxx.chirpstack.com:3001 176 176 177 177 LNS TLS trust ~-~-> Upload the TLS Certificate 178 178 ))) ... ... @@ -181,13 +181,13 @@ 181 181 [[image:image-20220524164341-12.png]] 182 182 183 183 184 -== 3.4 Start Station ==234 +== 5.4 Start Station == 185 185 186 186 187 187 When the user has finished the configuration, Please click **Sace&Apply** to start station to connect ChirpStack. 188 188 189 189 190 -== 3.5 Successful Connection ==240 +== 5.5 Successful Connection == 191 191 192 192 193 193 If user completes the above steps, which will see live date in the ChirpStack. ... ... @@ -195,10 +195,9 @@ 195 195 [[image:image-20220524164448-13.png]] 196 196 197 197 248 +== 5.6 Trouble Shooting == 198 198 199 -== 3.6 Trouble Shooting == 200 200 201 - 202 202 User can check the station log in the logread/system log page. 203 203 204 204 [[image:image-20220531172837-8.png]] ... ... @@ -209,46 +209,247 @@ 209 209 [[image:image-20220531172857-9.png]] 210 210 211 211 261 += 6. How the gateway connects to Chirpstack v3 via gateway-bridge = 212 212 213 -= 4. Downlink = 214 214 215 - ==4.1 ConvertHEXtoBase64==264 +(% style="color:blue" %)**Below list the support products and Requirements:** 216 216 217 -(% style="color:red" %)**Note: Chirpstack uses base64 to downlink, the end node user manual provides HEX format of the downlink commands. So user needs to convert the HEX to Base64.** 266 +1. LoRaWAN Gateway model: [[LIG16>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/171-lig16.html]], [[LG308>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/140-lg308.html]], [[DLOS8>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/160-dlos8.html]] ,[[LPS8>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/148-lps8.html]],[[LPS8N>>url:https://www.dragino.com/products/lora-lorawan-gateway/item/200-lps8n.html]],[[LG308N>>url:https://www.dragino.com/products/lora-lorawan-gateway/item/229-lg308n.html]],[[DLOS8N>>url:https://www.dragino.com/products/lora-lorawan-gateway/item/225-dlos8n.html]] 267 +1. Firmware version since: [[Chirpstack-Bridge-V3.14.6>>https://www.dragino.com/downloads/index.php?dir=LoRa_Gateway/LPS8/Firmware/Release/Chirpstack-gateway-bridge/Chirpstack-Bridge-V3.14.6-Bridge--build-v5.4.1679487778-20230322-2024/]] 218 218 219 - [[OnlineHEXtoBase64Converter>>https://base64.guru/converter/encode/hex]]:269 +(% style="color:blue" %)**What do you need to prepare** 220 220 221 - [[image:image-20221010193350-1.png]]271 +A gateway that can access the internet normally 222 222 223 223 224 - [[OnlineBase64toHexconverter>>https://base64.guru/converter/decode/hex]]274 +The following example does not have configuration certificates: 225 225 226 -[[image:image-20221010193621-2.png]] 227 227 277 +== 6.1 Configure Packet Forwarder == 228 228 229 229 230 - ==4.2 ChirpstackDownlinkNote==280 +In the Dragino gateway web interface, you need to configure the Packet Forwarder so that it forwards its data to the port. localhost:1700 or 127.0.0.1:1700 231 231 282 +* In the (% style="color:blue" %)**LoRaWAN** (%%)menu, click on (% style="color:blue" %)**LoRaWAN ~-~- Semtech UDP** 232 232 233 -[[image:image-20220601102543-2.png]] 284 +* Make sure the following settings are set: 285 +** **Service Provider:** //~-~-Custom/Private LoRaWAN~-~-// 286 +** **LoRaWAN Server Address:** //localhost or 127.0.0.1// 287 +** **Server port for upstream:** //1700// 288 +** **Server port for downstream:** //1700// 234 234 235 - ConvertthedatatoBase64290 + Click (% style="color:blue" %)**Save & Apply**. 236 236 292 +[[image:image-20221222114220-2.png||height="748" width="931"]] 237 237 238 -[[image:image-20220531173236-10.png]] 239 239 240 - CheckChripStackdownlinkDataRate295 +== 6.2 Configuring gateway frequency == 241 241 242 242 243 - [[image:image-20220525101326-11.png]]298 +(% style="color:red" %)**Note: Gateway frequencies must match** 244 244 245 - MakesuretheRX2DRis thesameinthe end node300 +[[image:image-20221222134830-3.png||height="408" width="923"]] 246 246 247 247 303 +== 6.3 Generate and modify the gateway-bridge configuration file == 248 248 249 -== 4.3 Loraserver Downlink Note == 250 250 306 +**1)Generate the gateway-bridge configuration file** 251 251 308 +By default, the configuration file is not up-to-date,so the user needs to rebuild the gateway-bridge configuration file. 309 + 310 +Users need to access the command line of the gateway through SSH,Then type the following command: 311 + 312 +(% class="box infomessage" %) 313 +((( 314 +**/opt/chirpstack-gateway-bridge/chirpstack-gateway-bridge configfile > /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml ** 315 +))) 316 + 317 + 318 +**2)modify the gateway-bridge configuration file** 319 + 320 +The user needs to modify the server address in line 252 in the configuration file 321 + 322 +(% class="box infomessage" %) 323 +((( 324 +**vim /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml ** 325 +))) 326 + 327 +[[image:image-20230415165254-1.png||height="583" width="956"]] 328 + 329 + 330 +== 6.4 Debug == 331 + 332 + 333 +After the above configuration is completed, the user can enter the command to debug the gateway-bridge connection 334 + 335 +(% class="box infomessage" %) 336 +((( 337 +**/opt/chirpstack-gateway-bridge/chirpstack-gateway-bridge ~-~-config /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml** 338 +))) 339 + 340 +If the gateway-bridge connection is normal, the debug log displays **"connected to mqtt broker"**. 341 + 342 +[[image:image-20230415170404-2.png]] 343 + 344 + 345 +If the debug log shows "**connection error**", check that the server port or server is correct 346 + 347 +[[image:image-20230415170854-3.png]] 348 + 349 + 350 +More information can be found on the **[[ChirpStack website>>https://www.chirpstack.io/docs/]]**or **[[Forum>>url:https://forum.chirpstack.io/]]** 351 + 352 + 353 +== 6.5 (Re)start and stop gateway-bridge == 354 + 355 + 356 +Use the following commands to (re)start and stop the ChirpStack Gateway Bridge Service: 357 + 358 +(% class="box infomessage" %) 359 +((( 360 +**# start** 361 + 362 +/etc/init.d/chirpstack-gateway-bridge start 363 + 364 +**# stop** 365 + 366 +/etc/init.d/chirpstack-gateway-bridge stop 367 + 368 +**# restart** 369 + 370 +/etc/init.d/chirpstack-gateway-bridge restart 371 +))) 372 + 373 + 374 += 7. How the gateway connects to Chirpstack v4 via gateway-bridge = 375 + 376 + 377 +(% style="color:blue" %)**Below list the support products and Requirements:** 378 + 379 +1. LoRaWAN Gateway model: [[LIG16>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/171-lig16.html]], [[LG308>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/140-lg308.html]], [[DLOS8>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/160-dlos8.html]] ,[[LPS8>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/148-lps8.html]],[[LPS8N>>url:https://www.dragino.com/products/lora-lorawan-gateway/item/200-lps8n.html]],[[LG308N>>url:https://www.dragino.com/products/lora-lorawan-gateway/item/229-lg308n.html]],[[DLOS8N>>url:https://www.dragino.com/products/lora-lorawan-gateway/item/225-dlos8n.html]] 380 +1. Firmware version since: [[Chirpstack-Bridge-V4>>https://www.dragino.com/downloads/index.php?dir=LoRa_Gateway/LPS8/Firmware/Release/Chirpstack-gateway-bridge/Chirpstack-Bridge-V4--build-v5.4.1670655072-20221210-1452/]] 381 + 382 +(% style="color:blue" %)**What do you need to prepare** 383 + 384 +A gateway that can access the internet normally 385 + 386 + 387 +== 7.1 Configure Packet Forwarder == 388 + 389 + 390 +In the Dragino gateway web interface, you need to configure the Packet Forwarder so that it forwards its data to the port. localhost:1700 or 127.0.0.1:1700 391 + 392 +* In the (% style="color:blue" %)**LoRaWAN**(%%) menu, click on (% style="color:blue" %)**LoRaWAN ~-~- Semtech UDP** 393 + 394 +* Make sure the following settings are set: 395 +** **Service Provider:** //~-~-Custom/Private LoRaWAN~-~-// 396 +** **LoRaWAN Server Address:** //localhost or 127.0.0.1// 397 +** **Server port for upstream:** //1700// 398 +** **Server port for downstream:** //1700// 399 + 400 + Click (% style="color:blue" %)**Save & Apply**. 401 + 402 +[[image:image-20221222114220-2.png||height="748" width="931"]] 403 + 404 + 405 +== 7.2 Configuring gateway frequency == 406 + 407 + 408 +(% style="color:red" %)**Note: Gateway frequencies must match** 409 + 410 +[[image:image-20221222134830-3.png||height="408" width="923"]] 411 + 412 + 413 +== 7.3 Modify the gateway-bridge configuration file == 414 + 415 + 416 +Run the gateway command line command to modify the gateway-bridge configuration file: 417 + 418 +(% class="box infomessage" %) 419 +((( 420 +**root@dragino-1d27d4:~~# vim /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml ** 421 +))) 422 + 423 +[[image:image-20221222113302-1.png]] 424 + 425 + 426 +[[image:image-20221222140203-4.png||height="875" width="806"]] 427 + 428 + 429 +Configure the server address to which the gateway needs to be connected,"tcp:~/~/chirpstack_address:1883" 430 + 431 +[[image:image-20221230094246-1.png||height="768" width="783"]] 432 + 433 +(% class="wikigeneratedid" id="H" %) 434 +After the modification, run the following command: **/etc/init.d/chirpstack-gateway-bridge restart** 435 + 436 + 437 +== 7.4 (Re)start and stop gateway-bridge == 438 + 439 + 440 +Use the following commands to (re)start and stop the ChirpStack Gateway Bridge Service: 441 + 442 +(% class="box infomessage" %) 443 +((( 444 +**# start** 445 + 446 +/etc/init.d/chirpstack-gateway-bridge start 447 + 448 +**# stop** 449 + 450 +/etc/init.d/chirpstack-gateway-bridge stop 451 + 452 +**# restart** 453 + 454 +/etc/init.d/chirpstack-gateway-bridge restart 455 +))) 456 + 457 + 458 +== 7.5 Successful Connection == 459 + 460 + 461 +[[image:image-20221222141754-5.png||height="488" width="1150"]] 462 + 463 + 464 +[[image:image-20221222141830-6.png||height="582" width="1153"]] 465 + 466 + 467 += 8. Downlink = 468 + 469 + 470 +=== 8.1 Chirpstack Downlink Note === 471 + 472 + 473 +==== Select HEX format for downlink ==== 474 + 475 + 476 +(% style="color:red" %)**Note: The end node user manual provides HEX format of the downlink commands, so users can directly select HEX format downlink.** 477 + 478 + 479 +[[image:image-20231108171112-5.png||height="629" width="1117"]] 480 + 481 + 482 +[[image:image-20231108171145-6.png||height="497" width="1101"]] 483 + 484 + 485 + 486 + 487 + 488 +[[image:image-20220531173236-10.png||height="597" width="1215"]] 489 + 490 +**Check ChripStack downlink DataRate** 491 + 492 + 493 + 494 +[[image:image-20220525101326-11.png]] 495 + 496 +**Make sure the RX2DR is the same in the end node** 497 + 498 + 499 +== 8.3 Loraserver Downlink Note == 500 + 501 + 252 252 User can use MQTT to send downlink payload to ChirpStack to perform downstream to LoRaWAN End 253 253 254 254 ((( ... ... @@ -266,7 +266,7 @@ 266 266 [[image:image-20220531173419-11.png]] 267 267 268 268 ((( 269 -MQTT Connect to ChirpStack 519 +**MQTT Connect to ChirpStack** 270 270 271 271 272 272 ... ... @@ -293,16 +293,14 @@ 293 293 294 294 [[image:image-20220531173519-12.png]] 295 295 296 -MQTT Connect to ChirpStack 546 +**MQTT Connect to ChirpStack** 297 297 298 298 299 -If we want to send downstream hex 030101 to end node, the BASE64 payload is AwEB 300 300 301 -[[image:image-20220531173658-14.png]] 302 - 303 - 304 304 ((( 305 -Downlink payload encode javescript code: 可以在网站上运行以下Javsscript代码: 551 +Downlink payload encode javescript code. 552 + 553 +We can run the following Javsscript code on the site: 306 306 ))) 307 307 308 308 (% class="box" %) ... ... @@ -318,15 +318,15 @@ 318 318 { 319 319 if(sha1[n] >= 'A' && sha1[n] <= 'Z') 320 320 { 321 - ascv = sha1.charCodeAt(n) - 55; 569 + ascv = sha1.charCodeAt( n ) - 55; 322 322 } 323 323 else if(sha1[n] >= 'a' && sha1[n] <= 'z') 324 324 { 325 - ascv = sha1.charCodeAt(n) - 87; 573 + ascv = sha1.charCodeAt( n ) - 87; 326 326 } 327 327 else 328 328 { 329 - ascv = sha1.charCodeAt(n) - 48; 577 + ascv = sha1.charCodeAt( n ) - 48; 330 330 } 331 331 \\ bit_arr = (bit_arr << 4) | ascv; 332 332 bit_num += 4; ... ... @@ -363,15 +363,16 @@ 363 363 ))) 364 364 365 365 614 +== 8.4 Add the decode function in Chirpstack for the payload == 366 366 367 -== 4.3 Add the decode function in Chirpstack for the payload == 368 368 369 - 370 370 User enters the payload code according to the steps. 371 371 372 -[[ image:image-20220531173754-15.png]]619 +Add the node device decoder you are using. The decoder for each node device is different. The decoder is found in this link: **[[decoder for dragino end node>>https://github.com/dragino/dragino-end-node-decoder]]** 373 373 621 +[[image:image-20220531173754-15.png||height="474" width="1334"]] 374 374 623 + 375 375 [[image:image-20220531173856-16.png]] 376 376 377 377 ... ... @@ -380,10 +380,35 @@ 380 380 [[image:image-20220531174046-19.png]] 381 381 382 382 632 += 9. Chirpstack Multicast Configuration = 383 383 384 -= 5. Multiply Uplink in ChirpStack = 385 385 635 +== 9.1 Introduction == 386 386 637 +ChirpStack has support for creating multicast-groups to which devices can be assigned. When enqueueing a downlink payload for a multicast-group, ChirpStack will analyze which gateways must be used for broadcasting to cover the complete multicast-group. This means that potentially, a single multicast downlink payload will be emitted multiple times. 638 + 639 +Multicast can be used for the following device-classes: 640 + 641 +* Class-B 642 +* Class-C 643 + 644 +== 9.2 Example to configure chirpstack Multicast == 645 + 646 + 647 +This section illustrates how to configure ChirpStack Multicast. Below is the network structure, we use our LPS8v2 as the LoRaWAN gateway and SN50v3-LB as the LoRaWAN end-node here. 648 + 649 +[[image:image-20240923105725-1.png]] 650 + 651 +The LPS8V2 is already set to connect to Chirpstack. So what we need to do now is only configure register these devices to Chirpstack: 652 + 653 + 654 +=== Step 1. Create the multicast group === 655 + 656 + 657 + 658 += 9. Multiply Uplink in ChirpStack = 659 + 660 + 387 387 ((( 388 388 nbtrans field is the value to determine the re-transmission time for unconfirmed uplink data. 389 389 ))) ... ... @@ -394,7 +394,7 @@ 394 394 395 395 ))) 396 396 397 -[[image:image-20220526091912-7.png]] 671 +[[image:image-20220526091912-7.png||height="241" width="1336"]] 398 398 399 399 400 400 ((( ... ... @@ -419,22 +419,18 @@ 419 419 420 420 421 421 422 -Duplicate transmission in short time 696 +**Duplicate transmission in short time** 423 423 424 -[[image:image-20220601102430-1.png]] 698 +[[image:image-20220601102430-1.png||height="508" width="1120"]] 425 425 426 426 701 +== 9.1 Solution == 427 427 428 -== 5.1 Solution == 429 429 430 - 431 431 This example uses the Windows version as a template, other versions can refer to this. Similiar reference: [[https:~~/~~/confluence.alitecs.de/plugins/servlet/mobile?contentId=79790102#content/view/79790102>>url:https://confluence.alitecs.de/plugins/servlet/mobile?contentId=79790102#content/view/79790102]] 432 432 433 - 434 434 ((( 435 435 (% style="color:blue" %)**1. Install the GO compilation environment: Download the corresponding version of the Go compiler at [[https:~~/~~/go.dev/dl/>>url:https://go.dev/dl/]] and install it.** 436 - 437 - 438 438 ))) 439 439 440 440 [[image:image-20220525104532-24.png]] ... ... @@ -547,7 +547,7 @@ 547 547 Finish. 548 548 549 549 550 -= **6. How to store/get all data traffic for a specific sensor, including raw payload, and uplink/ downlink history.**=820 += 10. How to store/get all data traffic for a specific sensor, including raw payload, and uplink/ downlink history. = 551 551 552 552 553 553 All data is published to the MQTT topics. if you want to store/get the data, you would have to create an MQTT handler and store the data yourself. ... ... @@ -554,22 +554,26 @@ 554 554 555 555 This example will be shown how to store/get all the data in two ways: 556 556 557 -**//1). Chirpstack ~-~-> Node-red//** 827 +(% style="color:blue" %)**//1). Chirpstack ~-~-> Node-red//** 558 558 559 559 560 -[[image:image-20221012184501-1.png]] 830 +[[image:image-20221012184501-1.png||height="608" width="1041"]] 561 561 562 -Use MQTT in Nore-red to subscribe to topics published by chirpstack-application and then continuously write to a file 563 563 833 +Use MQTT in Nore-red to subscribe to topics published by the chirpstack-application and then continuously write to a file 834 + 564 564 [[image:image-20221012174220-2.png]] 565 565 566 566 567 - Eachmessages continuously logged to a specifiedfile838 +[[image:image-20221012184655-3.png||height="395" width="1049"]] 568 568 840 + 841 +**Each message is continuously logged to a specified file** 842 + 569 569 [[image:image-20221012174352-3.png]] 570 570 571 571 572 -**//2). MQTT Sub//** 846 +(% style="color:blue" %)**//2). MQTT Sub//** 573 573 574 574 If you don't want to store the information via node-red, you can get the output via the subscribe command. 575 575 ... ... @@ -578,25 +578,135 @@ 578 578 579 579 (% class="box infomessage" %) 580 580 ((( 581 -mosquitto_sub -h localhost -t "application/#" -v 855 +**mosquitto_sub -h localhost -t "application/#" -v** 582 582 ))) 583 583 584 584 585 -**Different host** 859 +(% style="color:blue" %)**Different host** 586 586 587 587 (% class="box infomessage" %) 588 588 ((( 589 -mosquitto_sub -h IPADDRESS -p 8883 ~-~-insecure ~-~-cafile ca.pem ~-~-cert cert.pem ~-~-key key.pem -t "application/#" -v 863 +**mosquitto_sub -h IPADDRESS -p 8883 ~-~-insecure ~-~-cafile ca.pem ~-~-cert cert.pem ~-~-key key.pem -t "application/#" -v** 590 590 ))) 591 591 592 -[[image:image-20221012173639-1.png]] 866 +[[image:image-20221012173639-1.png||height="273" width="1206"]] 593 593 594 594 595 -= 7.Trouble Shooting=869 += 11. How to use Chirpstack API to batch register Sensor Node/Gateway in Chistapstack Server = 596 596 597 - ==7.1MICMismatchorMICFailed==871 +The following example is based on the built-in ChirpStack server for LPS8V2 598 598 873 +[[image:image-20231201174640-1.png||height="584" width="1148"]] 599 599 875 + 876 +== **11.1 Generate API Tokens** == 877 + 878 +Access the built-in chirpstack , click "**API Key**" and "**Add API Key**". 879 + 880 +[[image:image-20231201175118-2.png||height="597" width="1156"]] 881 + 882 +**Save the generated API Tokens** 883 + 884 +[[image:image-20231201175648-3.png||height="596" width="1155"]] 885 + 886 +[[image:image-20231204104802-1.png]] 887 + 888 + 889 +== **11.2 Template file** == 890 + 891 + 892 +Click on **"Template File Download"**, the user will download a **register.csv** template file, 893 + 894 +[[image:image-20231204105201-2.png]] 895 + 896 + 897 +Before registering in batches, the user needs to add an **Application** and **Device profile**, If you have already added them, you do not need to add them again, 898 + 899 +Open the corresponding **Application** and **Device profile** and copy their IDs 900 + 901 +[[image:image-20231204110902-5.png||height="618" width="1197"]] 902 + 903 +[[image:image-20231204111116-7.png||height="619" width="1199"]] 904 + 905 +[[image:image-20231204111834-9.png||height="273" width="1205"]] 906 + 907 +[[image:image-20231204112107-10.png||height="621" width="1203"]] 908 + 909 + 910 + 911 +== **11.3 Batch Register** == 912 + 913 +[[image:image-20231204113136-11.png||height="362" width="1062"]] 914 + 915 + 916 +**Check whether the batch registration is successful** 917 + 918 +[[image:image-20231204113212-12.png]] 919 + 920 +[[image:image-20231204113237-13.png||height="558" width="1081"]] 921 + 922 + 923 + 924 += 12. Example: Use Local Server ChirpStack and Node-Red in LPS8v2 = 925 + 926 + 927 +LPS8v2 includes a local ChirpStack Server and Node-Red. This example shows how to configure LHT65N to use with the local Node-Red server. This example assumes users already have: 928 + 929 +* LHT65N register on LPS8v2 Built-In ChirpStack server already 930 +* The user is able to see the data on the built-in ChirpStack server device page. 931 + 932 +Below are the steps to plot the sensor data on LPS8v2 Node-Red. 933 + 934 + 935 +== 12.1 Link Node-Red to Local ChirpStack == 936 + 937 + 938 +Users can download the Node-Red decoder from this link and import it into the Node-Red platform: **[[attach:LHT65N-ChirpStack-node-red.json||target="_blank"]]** 939 + 940 +For more information on importing Input Flow, check out this link: **[[Import Input Flow for Dragino Sensors>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Node-RED/#H3.A0ImportInputFlowforDraginoSensors]]** 941 + 942 +After importing the Input Flow is complete, the user needs to edit the MQTT in the node 943 + 944 + 945 +(% style="color:blue" %)**1. Change the Topic** 946 + 947 +Topic modifies it to the following format: 948 + 949 +**application/(% style="color:red" %)Application ID(%%)/device/(% style="color:red" %)End device ID(%%)/event/up** 950 + 951 +Reference link: [[**Node-RED integration** >>https://www.chirpstack.io/docs/guides/node-red-integration.html]] 952 + 953 +[[image:image-20230527143923-1.png||height="588" width="1132"]] 954 + 955 + 956 + 957 +(% style="color:blue" %)**2. Enter the MQTT configuration information** 958 + 959 +[[image:image-20230527144206-2.png||height="590" width="1136"]] 960 + 961 + 962 +(% style="color:blue" %)**3.** **Finally, click "Update" and Deploy** 963 + 964 +"Connected" indicates that the Link Node-red to Local Chirpstack is normal. 965 + 966 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/Notes%20for%20TTN/WebHome/image-20220914140918-5.png?width=1121&height=602&rev=1.1||alt="image-20220914140918-5.png"]] 967 + 968 + 969 +== 12.2 Check result. == 970 + 971 + 972 +Users can check logs by adding debug. 973 + 974 +Browser access: **Node-Red-Server-Address:1880/ui** 975 + 976 +[[image:image-20230529150923-1.png||height="424" width="1118"]] 977 + 978 + 979 += 13. Trouble Shooting = 980 + 981 +== 13.1 MIC Mismatch or MIC Failed == 982 + 983 + 600 600 ((( 601 601 When the device is registered or the device is working normally, the problem of MIC mismatch and MIC failed occurs. 602 602 ))) ... ... @@ -603,4 +603,102 @@ 603 603 604 604 ((( 605 605 Under normal circumstances, users need to change the APPKEY to solve this problem. 990 + 991 + 992 +== 13.2 The node is very close to the gateway, but the signal is poor == 993 + 994 + 995 +If you are using US915 or AU915, you found the frequency points of different subband ranges in your uplink 996 + 997 +Like that:Both 905.1Mhz and 902.3Mhz appear on uplink 998 + But they belong to Subband1 and Subband2 of US915 respectively 999 + 1000 +Cause: The server and the gateway use different frequency bands (the server uses Subband1, and the gateway uses Subband2) 1001 + 1002 + In server side, it shows the frequency is 905.1Mhz, which is sub-band2. But the RSSI is very low, Because this is not a signal in 905.1Mhz, it is on 902.3Mhz, the signal is too strong and appear a noise in 905.1Mhz. 1003 + 1004 +How to check the frequency band used by the server: 1005 + 1006 +You can view the information sent by the server: ch_mask in Unconfirmdedatadown 1007 + 1008 +[[image:image-20230821113255-1.png]] 1009 + 1010 +According to lorawan's protocol, your first ch_mask is 7 for ChMaskCntl = 7 then 125 kHz channels are disabled. Simultaneously the channels 64 to 71 are set according to the ChMask bit mask. 1011 + 1012 +[[image:image-20230821113539-2.png]] 1013 + 1014 +In the second message, the channel 0~~7 is true, which means that your server is using subband2. 1015 + 1016 +[[image:image-20230821113618-3.png]] 1017 + 1018 +**Note: lorawan's protocol link——[[LoRaWAN® Regional Parameters v1.0.3revA (lora-alliance.org)>>url:https://resources.lora-alliance.org/document/lorawan-regional-parameters-v1-0-3reva]]** 1019 + 1020 + 1021 +== 13.3 ChirpStackv4 node device displays "UPLINK_F_CNT_RETRANSMISSION" == 1022 + 1023 + 1024 +This is because the node's packets are retransmitted, and the Fcnt of these packets is the same. 1025 + 1026 +The user can Disable frame-counter validation on the chirpstack node and this warning message will not appear in the logs. 1027 + 1028 + 1029 +The packet is retransmitted because the node device has enabled the acknowledgment uplink packet mode and the node cannot receive the ACK acknowledgment packet delivered by the gateway. 1030 + 1031 + 1032 +**The possible reasons are: ** 1033 + 1034 +~1. The signal of the node device and the gateway is not good 1035 + 1036 +2. Too many node devices affect the downlink of the gateway 1037 + 1038 + 1039 +[[image:image-20240717085339-1.jpeg]] 1040 + 1041 + 1042 +* **Disable frame-counter validation** 1043 + 1044 +[[image:image-20240717102613-5.png||height="803" width="1211"]] 1045 + 1046 + 1047 +* **Result** 1048 + 1049 +[[image:image-20240717092428-4.jpeg]] 1050 + 1051 + 1052 +== 13.4 How to get the log information of the node? == 1053 + 1054 + 1055 +~1. Get information about a single node. 1056 + 1057 +* Download this file in the node's live data interface. 1058 + 1059 +[[image:image-20240117173123-1.png||height="526" width="1086"]] 1060 + 1061 +* The LoRaWAN frames download gateway receives real-time data from the current node. 1062 + 1063 +[[image:image-20240117174452-2.png||height="525" width="1081"]] 1064 + 1065 + 1066 +2. Get information about the entire Gateway. 1067 + 1068 +* Click to select the online gateway of the current node. 1069 + 1070 +[[image:image-20240117175058-4.png||height="532" width="1077"]] 1071 + 1072 + 1073 +* Download this file on the LoRaWAN frames interface. 1074 + 1075 +[[image:image-20240117175009-3.png||height="524" width="1076"]] 1076 + 1077 + 1078 + 1079 +After the data collection is completed, you can send this file directly to our technical support personnel for analysis. 1080 + 1081 + 1082 +You can also use the packet analysis tool developed by our company to check it yourself. Please refer to the following [[link>>http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20of%20Dragino%20LoRaWAN%20Packet%20Analyze%20Tool/#H4.Chirpstack]] to use this tool. 1083 + 1084 +[[image:image-20240117175738-5.png]] 1085 + 1086 +(% class="wikigeneratedid" id="H" %) 1087 + 606 606 )))
- LHT65N-ChirpStack-node-red.json
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +18.9 KB - Content
-
... ... @@ -1,0 +1,721 @@ 1 +[ 2 + { 3 + "id": "0f8b93c6ce9ba9bd", 4 + "type": "tab", 5 + "label": "流程 1", 6 + "disabled": false, 7 + "info": "", 8 + "env": [] 9 + }, 10 + { 11 + "id": "11ea7050721f9df5", 12 + "type": "mqtt in", 13 + "z": "0f8b93c6ce9ba9bd", 14 + "name": "LHT65N", 15 + "topic": "application/43b0fd94-75be-4a80-a78c-c9381fe23b05/device/a84041c8b1824695/event/up", 16 + "qos": "0", 17 + "datatype": "auto-detect", 18 + "broker": "862a790de52f4ea4", 19 + "nl": false, 20 + "rap": true, 21 + "rh": 0, 22 + "inputs": 0, 23 + "x": 100, 24 + "y": 140, 25 + "wires": [ 26 + [ 27 + "034db5cd68129249", 28 + "6e4c3938ccd21838", 29 + "d20a25c0a12cad04", 30 + "38136d7454e138e5", 31 + "239852361ed7c91d" 32 + ] 33 + ] 34 + }, 35 + { 36 + "id": "6e4c3938ccd21838", 37 + "type": "debug", 38 + "z": "0f8b93c6ce9ba9bd", 39 + "name": "", 40 + "active": true, 41 + "tosidebar": true, 42 + "console": false, 43 + "tostatus": false, 44 + "complete": "false", 45 + "statusVal": "", 46 + "statusType": "auto", 47 + "x": 490, 48 + "y": 140, 49 + "wires": [] 50 + }, 51 + { 52 + "id": "034db5cd68129249", 53 + "type": "function", 54 + "z": "0f8b93c6ce9ba9bd", 55 + "name": "", 56 + "func": "var data = msg.payload[\"deviceInfo\"]\nvar decode = msg.payload[\"object\"]\nif (decode[\"Ext_sensor\"] == \"Temperature Sensor\"){\nvar f_port = msg.payload[\"fPort\"]\nvar f_cnt = msg.payload[\"fCnt\"]\nvar data2 = decode\nvar bat =data2[\"BatV\"]\nvar bat_status=data2[\"Bat_status\"]\nvar ext_sensor=data2[\"Ext_sensor\"]\nvar hum_SHT=data2[\"Hum_SHT\"]\nif (\"TempC_DS\" in data2){\n var tempC_DS=data2[\"TempC_DS\"]\n}\nelse {\ntempC_DS=data2[\"TempC_TMP117\"]\n}\nvar tempC_SHT=data2[\"TempC_SHT\"]\nvar a1={payload:f_port},a2={payload:f_cnt},a3={payload:bat},a4={payload:bat_status},a5={payload:ext_sensor},\n a6={payload:hum_SHT},a7={payload:tempC_DS},a8={payload:tempC_SHT}\nreturn [a1,a2,a3,a4,a5,a6,a7,a8];\n}", 57 + "outputs": 9, 58 + "noerr": 0, 59 + "initialize": "", 60 + "finalize": "", 61 + "libs": [], 62 + "x": 470, 63 + "y": 260, 64 + "wires": [ 65 + [ 66 + "054041c1f8ad740a" 67 + ], 68 + [ 69 + "11286fbcb9419c65" 70 + ], 71 + [ 72 + "6f74bac1ba605862" 73 + ], 74 + [ 75 + "c9f618cca24db5e1" 76 + ], 77 + [ 78 + "7f2fc42c4bcc6ff9" 79 + ], 80 + [ 81 + "980646824d0c5239" 82 + ], 83 + [ 84 + "a2ed445e50c952ea" 85 + ], 86 + [ 87 + "13394b6f113fe555" 88 + ], 89 + [] 90 + ] 91 + }, 92 + { 93 + "id": "054041c1f8ad740a", 94 + "type": "ui_text", 95 + "z": "0f8b93c6ce9ba9bd", 96 + "group": "6c8dcef19b33b1ab", 97 + "order": 0, 98 + "width": 0, 99 + "height": 0, 100 + "name": "f_port", 101 + "label": "f_port", 102 + "format": "{{msg.payload}}", 103 + "layout": "row-spread", 104 + "className": "", 105 + "x": 770, 106 + "y": 160, 107 + "wires": [] 108 + }, 109 + { 110 + "id": "11286fbcb9419c65", 111 + "type": "ui_text", 112 + "z": "0f8b93c6ce9ba9bd", 113 + "group": "9d9e40253fa3a62f", 114 + "order": 0, 115 + "width": 0, 116 + "height": 0, 117 + "name": "f_cunt", 118 + "label": "f_cunt", 119 + "format": "{{msg.payload}}", 120 + "layout": "row-spread", 121 + "className": "", 122 + "x": 770, 123 + "y": 200, 124 + "wires": [] 125 + }, 126 + { 127 + "id": "6f74bac1ba605862", 128 + "type": "ui_chart", 129 + "z": "0f8b93c6ce9ba9bd", 130 + "name": "bat", 131 + "group": "b24db75b1499c15f", 132 + "order": 0, 133 + "width": 0, 134 + "height": 0, 135 + "label": "bat", 136 + "chartType": "line", 137 + "legend": "false", 138 + "xformat": "HH:mm:ss", 139 + "interpolate": "linear", 140 + "nodata": "", 141 + "dot": false, 142 + "ymin": "", 143 + "ymax": "", 144 + "removeOlder": 1, 145 + "removeOlderPoints": "", 146 + "removeOlderUnit": "3600", 147 + "cutout": 0, 148 + "useOneColor": false, 149 + "useUTC": false, 150 + "colors": [ 151 + "#1f77b4", 152 + "#aec7e8", 153 + "#ff7f0e", 154 + "#2ca02c", 155 + "#98df8a", 156 + "#d62728", 157 + "#ff9896", 158 + "#9467bd", 159 + "#c5b0d5" 160 + ], 161 + "outputs": 1, 162 + "useDifferentColor": false, 163 + "className": "", 164 + "x": 770, 165 + "y": 240, 166 + "wires": [ 167 + [] 168 + ] 169 + }, 170 + { 171 + "id": "c9f618cca24db5e1", 172 + "type": "ui_text", 173 + "z": "0f8b93c6ce9ba9bd", 174 + "group": "758898c4bead5e6f", 175 + "order": 6, 176 + "width": 0, 177 + "height": 0, 178 + "name": "Bat_status", 179 + "label": "Bat_status", 180 + "format": "{{msg.payload}}", 181 + "layout": "row-spread", 182 + "className": "", 183 + "x": 790, 184 + "y": 280, 185 + "wires": [] 186 + }, 187 + { 188 + "id": "7f2fc42c4bcc6ff9", 189 + "type": "ui_text", 190 + "z": "0f8b93c6ce9ba9bd", 191 + "group": "a8f02d8f9b3e80a1", 192 + "order": 0, 193 + "width": 0, 194 + "height": 0, 195 + "name": "Ext_sensor", 196 + "label": "Ext_sensor", 197 + "format": "{{msg.payload}}", 198 + "layout": "row-spread", 199 + "className": "", 200 + "x": 790, 201 + "y": 320, 202 + "wires": [] 203 + }, 204 + { 205 + "id": "980646824d0c5239", 206 + "type": "ui_chart", 207 + "z": "0f8b93c6ce9ba9bd", 208 + "name": "Hum_SHT", 209 + "group": "a9ef53ea130e5557", 210 + "order": 6, 211 + "width": 0, 212 + "height": 0, 213 + "label": "Hum_SHT", 214 + "chartType": "line", 215 + "legend": "false", 216 + "xformat": "HH:mm:ss", 217 + "interpolate": "linear", 218 + "nodata": "", 219 + "dot": false, 220 + "ymin": "", 221 + "ymax": "", 222 + "removeOlder": 1, 223 + "removeOlderPoints": "", 224 + "removeOlderUnit": "3600", 225 + "cutout": 0, 226 + "useOneColor": false, 227 + "useUTC": false, 228 + "colors": [ 229 + "#1f77b4", 230 + "#aec7e8", 231 + "#ff7f0e", 232 + "#2ca02c", 233 + "#98df8a", 234 + "#d62728", 235 + "#ff9896", 236 + "#9467bd", 237 + "#c5b0d5" 238 + ], 239 + "outputs": 1, 240 + "useDifferentColor": false, 241 + "className": "", 242 + "x": 790, 243 + "y": 360, 244 + "wires": [ 245 + [] 246 + ] 247 + }, 248 + { 249 + "id": "a2ed445e50c952ea", 250 + "type": "ui_chart", 251 + "z": "0f8b93c6ce9ba9bd", 252 + "name": "TempC_sensor", 253 + "group": "1558cd7a030388f7", 254 + "order": 6, 255 + "width": 0, 256 + "height": 0, 257 + "label": "TempC_sensor", 258 + "chartType": "line", 259 + "legend": "false", 260 + "xformat": "HH:mm:ss", 261 + "interpolate": "linear", 262 + "nodata": "", 263 + "dot": false, 264 + "ymin": "", 265 + "ymax": "", 266 + "removeOlder": 1, 267 + "removeOlderPoints": "", 268 + "removeOlderUnit": "3600", 269 + "cutout": 0, 270 + "useOneColor": false, 271 + "useUTC": false, 272 + "colors": [ 273 + "#1f77b4", 274 + "#aec7e8", 275 + "#ff7f0e", 276 + "#2ca02c", 277 + "#98df8a", 278 + "#d62728", 279 + "#ff9896", 280 + "#9467bd", 281 + "#c5b0d5" 282 + ], 283 + "outputs": 1, 284 + "useDifferentColor": false, 285 + "className": "", 286 + "x": 800, 287 + "y": 400, 288 + "wires": [ 289 + [] 290 + ] 291 + }, 292 + { 293 + "id": "13394b6f113fe555", 294 + "type": "ui_chart", 295 + "z": "0f8b93c6ce9ba9bd", 296 + "name": "TempC_SHT", 297 + "group": "f523098714ee6cd6", 298 + "order": 6, 299 + "width": 0, 300 + "height": 0, 301 + "label": "TempC_SHT", 302 + "chartType": "line", 303 + "legend": "false", 304 + "xformat": "HH:mm:ss", 305 + "interpolate": "linear", 306 + "nodata": "", 307 + "dot": false, 308 + "ymin": "", 309 + "ymax": "", 310 + "removeOlder": 1, 311 + "removeOlderPoints": "", 312 + "removeOlderUnit": "3600", 313 + "cutout": 0, 314 + "useOneColor": false, 315 + "useUTC": false, 316 + "colors": [ 317 + "#1f77b4", 318 + "#aec7e8", 319 + "#ff7f0e", 320 + "#2ca02c", 321 + "#98df8a", 322 + "#d62728", 323 + "#ff9896", 324 + "#9467bd", 325 + "#c5b0d5" 326 + ], 327 + "outputs": 1, 328 + "useDifferentColor": false, 329 + "className": "", 330 + "x": 790, 331 + "y": 440, 332 + "wires": [ 333 + [] 334 + ] 335 + }, 336 + { 337 + "id": "d20a25c0a12cad04", 338 + "type": "function", 339 + "z": "0f8b93c6ce9ba9bd", 340 + "name": "", 341 + "func": "var data = msg.payload[\"deviceInfo\"]\nvar decode = msg.payload[\"object\"]\nif (decode[\"Work_mode\"]==\"Interrupt Sensor send\"){\nvar f_port = msg.payload[\"fPort\"]\nvar f_cnt = msg.payload[\"fCnt\"]\nvar data2 = decode\nvar bat =data2[\"BatV\"]\nvar bat_status=data2[\"Bat_status\"]\nvar work_mode=data2[\"Work_mode\"]\nvar exti_pin_level=data2[\"Exti_pin_level\"]\nvar exti_status=data2[\"Exti_status\"]\nvar hum_SHT=data2[\"Hum_SHT\"]\nvar tempC_SHT=data2[\"TempC_SHT\"]\nvar a1={payload:f_port},a2={payload:f_cnt},a3={payload:bat},a4={payload:bat_status},a5={payload:work_mode},\na6={payload:exti_pin_level},a7={payload:exti_status},a8={payload:hum_SHT},a9={payload:tempC_SHT}\nreturn [a1,a2,a3,a4,a5,a6,a7,a8,a9];\n}", 342 + "outputs": 9, 343 + "noerr": 0, 344 + "initialize": "", 345 + "finalize": "", 346 + "libs": [], 347 + "x": 470, 348 + "y": 440, 349 + "wires": [ 350 + [ 351 + "054041c1f8ad740a" 352 + ], 353 + [ 354 + "11286fbcb9419c65" 355 + ], 356 + [ 357 + "6f74bac1ba605862" 358 + ], 359 + [ 360 + "c9f618cca24db5e1" 361 + ], 362 + [ 363 + "7f2fc42c4bcc6ff9" 364 + ], 365 + [ 366 + "0513bcb70cd63787" 367 + ], 368 + [ 369 + "10eed06366dc18c4" 370 + ], 371 + [ 372 + "980646824d0c5239" 373 + ], 374 + [ 375 + "13394b6f113fe555" 376 + ] 377 + ] 378 + }, 379 + { 380 + "id": "0513bcb70cd63787", 381 + "type": "ui_text", 382 + "z": "0f8b93c6ce9ba9bd", 383 + "group": "b1dc3cad430eb5b7", 384 + "order": 0, 385 + "width": 0, 386 + "height": 0, 387 + "name": "Exti_pin_level", 388 + "label": "Exti_pin_level", 389 + "format": "{{msg.payload}}", 390 + "layout": "row-spread", 391 + "className": "", 392 + "x": 780, 393 + "y": 560, 394 + "wires": [] 395 + }, 396 + { 397 + "id": "10eed06366dc18c4", 398 + "type": "ui_text", 399 + "z": "0f8b93c6ce9ba9bd", 400 + "group": "4184be11e1179998", 401 + "order": 0, 402 + "width": 0, 403 + "height": 0, 404 + "name": "Exti_status", 405 + "label": "Exti_status", 406 + "format": "{{msg.payload}}", 407 + "layout": "row-spread", 408 + "className": "", 409 + "x": 770, 410 + "y": 600, 411 + "wires": [] 412 + }, 413 + { 414 + "id": "38136d7454e138e5", 415 + "type": "function", 416 + "z": "0f8b93c6ce9ba9bd", 417 + "name": "", 418 + "func": "var data = msg.payload[\"deviceInfo\"]\nvar decode = msg.payload[\"object\"]\nif (decode[\"Work_mode\"]==\"Interrupt Sensor count\"){\nvar f_port = msg.payload[\"fPort\"]\nvar f_cnt = msg.payload[\"fCnt\"]\nvar data2 = decode\nvar bat =data2[\"BatV\"]\nvar bat_status=data2[\"Bat_status\"]\nvar work_mode=data2[\"Work_mode\"]\nvar exit_count=data2[\"Exit_count\"]\nvar hum_SHT=data2[\"Hum_SHT\"]\nvar tempC_SHT=data2[\"TempC_SHT\"]\nvar a1={payload:f_port},a2={payload:f_cnt},a3={payload:bat},a4={payload:bat_status},a5={payload:work_mode},\na6={payload:exit_count},a8={payload:hum_SHT},a9={payload:tempC_SHT}\nreturn [a1,a2,a3,a4,a5,a6,a8,a9];\n}", 419 + "outputs": 8, 420 + "noerr": 0, 421 + "initialize": "", 422 + "finalize": "", 423 + "libs": [], 424 + "x": 470, 425 + "y": 620, 426 + "wires": [ 427 + [ 428 + "054041c1f8ad740a" 429 + ], 430 + [ 431 + "11286fbcb9419c65" 432 + ], 433 + [ 434 + "6f74bac1ba605862" 435 + ], 436 + [ 437 + "c9f618cca24db5e1" 438 + ], 439 + [ 440 + "7f2fc42c4bcc6ff9" 441 + ], 442 + [ 443 + "3914f37c12607c9f" 444 + ], 445 + [ 446 + "980646824d0c5239" 447 + ], 448 + [ 449 + "13394b6f113fe555" 450 + ] 451 + ] 452 + }, 453 + { 454 + "id": "3914f37c12607c9f", 455 + "type": "ui_text", 456 + "z": "0f8b93c6ce9ba9bd", 457 + "group": "28cf5cca4c2c0bb5", 458 + "order": 0, 459 + "width": 0, 460 + "height": 0, 461 + "name": "exit_count", 462 + "label": "exit_count", 463 + "format": "{{msg.payload}}", 464 + "layout": "row-spread", 465 + "className": "", 466 + "x": 790, 467 + "y": 700, 468 + "wires": [] 469 + }, 470 + { 471 + "id": "239852361ed7c91d", 472 + "type": "function", 473 + "z": "0f8b93c6ce9ba9bd", 474 + "name": "", 475 + "func": "var data = msg.payload[\"deviceInfo\"]\nvar decode = msg.payload[\"object\"]\nif (decode[\"Work_mode\"]==\"ADC Sensor\"){\nvar f_port = msg.payload[\"fPort\"]\nvar f_cnt = msg.payload[\"fCnt\"]\nvar data2 = decode\nvar bat =data2[\"BatV\"]\nvar bat_status=data2[\"Bat_status\"]\nvar work_mode=data2[\"Work_mode\"]\nvar adc_V=data2[\"ADC_V\"]\nvar hum_SHT=data2[\"Hum_SHT\"]\nvar tempC_SHT=data2[\"TempC_SHT\"]\nvar a1={payload:f_port},a2={payload:f_cnt},a3={payload:bat},a4={payload:bat_status},a5={payload:work_mode},\na6={payload:adc_V},a8={payload:hum_SHT},a9={payload:tempC_SHT}\nreturn [a1,a2,a3,a4,a5,a6,a8,a9];\n}", 476 + "outputs": 8, 477 + "noerr": 0, 478 + "initialize": "", 479 + "finalize": "", 480 + "libs": [], 481 + "x": 470, 482 + "y": 760, 483 + "wires": [ 484 + [ 485 + "054041c1f8ad740a" 486 + ], 487 + [ 488 + "11286fbcb9419c65" 489 + ], 490 + [ 491 + "6f74bac1ba605862" 492 + ], 493 + [ 494 + "c9f618cca24db5e1" 495 + ], 496 + [ 497 + "7f2fc42c4bcc6ff9" 498 + ], 499 + [ 500 + "605688b5e60df43d" 501 + ], 502 + [ 503 + "980646824d0c5239" 504 + ], 505 + [ 506 + "13394b6f113fe555" 507 + ] 508 + ] 509 + }, 510 + { 511 + "id": "605688b5e60df43d", 512 + "type": "ui_chart", 513 + "z": "0f8b93c6ce9ba9bd", 514 + "name": "ADC_V", 515 + "group": "5f974d1fd1c0edfa", 516 + "order": 0, 517 + "width": 0, 518 + "height": 0, 519 + "label": "ADC_V", 520 + "chartType": "line", 521 + "legend": "false", 522 + "xformat": "HH:mm:ss", 523 + "interpolate": "linear", 524 + "nodata": "", 525 + "dot": false, 526 + "ymin": "", 527 + "ymax": "", 528 + "removeOlder": 1, 529 + "removeOlderPoints": "", 530 + "removeOlderUnit": "3600", 531 + "cutout": 0, 532 + "useOneColor": false, 533 + "useUTC": false, 534 + "colors": [ 535 + "#1f77b4", 536 + "#aec7e8", 537 + "#ff7f0e", 538 + "#2ca02c", 539 + "#98df8a", 540 + "#d62728", 541 + "#ff9896", 542 + "#9467bd", 543 + "#c5b0d5" 544 + ], 545 + "outputs": 1, 546 + "useDifferentColor": false, 547 + "className": "", 548 + "x": 780, 549 + "y": 780, 550 + "wires": [ 551 + [] 552 + ] 553 + }, 554 + { 555 + "id": "862a790de52f4ea4", 556 + "type": "mqtt-broker", 557 + "name": "LHT65N", 558 + "broker": "10.130.2.143", 559 + "port": "1883", 560 + "clientid": "", 561 + "autoConnect": true, 562 + "usetls": false, 563 + "protocolVersion": "4", 564 + "keepalive": "60", 565 + "cleansession": true, 566 + "birthTopic": "", 567 + "birthQos": "0", 568 + "birthPayload": "", 569 + "birthMsg": {}, 570 + "closeTopic": "", 571 + "closeQos": "0", 572 + "closePayload": "", 573 + "closeMsg": {}, 574 + "willTopic": "", 575 + "willQos": "0", 576 + "willPayload": "", 577 + "willMsg": {}, 578 + "userProps": "", 579 + "sessionExpiry": "" 580 + }, 581 + { 582 + "id": "6c8dcef19b33b1ab", 583 + "type": "ui_group", 584 + "name": "f_port", 585 + "tab": "7e01624d2b1a030f", 586 + "order": 1, 587 + "disp": true, 588 + "width": "6", 589 + "collapse": false, 590 + "className": "" 591 + }, 592 + { 593 + "id": "9d9e40253fa3a62f", 594 + "type": "ui_group", 595 + "name": "f_cunt", 596 + "tab": "7e01624d2b1a030f", 597 + "order": 2, 598 + "disp": true, 599 + "width": "6", 600 + "collapse": false, 601 + "className": "" 602 + }, 603 + { 604 + "id": "b24db75b1499c15f", 605 + "type": "ui_group", 606 + "name": "bat", 607 + "tab": "7e01624d2b1a030f", 608 + "order": 8, 609 + "disp": true, 610 + "width": "6", 611 + "collapse": false, 612 + "className": "" 613 + }, 614 + { 615 + "id": "758898c4bead5e6f", 616 + "type": "ui_group", 617 + "name": "Bat_status", 618 + "tab": "7e01624d2b1a030f", 619 + "order": 3, 620 + "disp": true, 621 + "width": "6", 622 + "collapse": false, 623 + "className": "" 624 + }, 625 + { 626 + "id": "a8f02d8f9b3e80a1", 627 + "type": "ui_group", 628 + "name": "Ext_sensor", 629 + "tab": "7e01624d2b1a030f", 630 + "order": 4, 631 + "disp": true, 632 + "width": "6", 633 + "collapse": false, 634 + "className": "" 635 + }, 636 + { 637 + "id": "a9ef53ea130e5557", 638 + "type": "ui_group", 639 + "name": "Hum_SHT", 640 + "tab": "7e01624d2b1a030f", 641 + "order": 9, 642 + "disp": true, 643 + "width": "6", 644 + "collapse": false, 645 + "className": "" 646 + }, 647 + { 648 + "id": "1558cd7a030388f7", 649 + "type": "ui_group", 650 + "name": "TempC_sensor", 651 + "tab": "7e01624d2b1a030f", 652 + "order": 10, 653 + "disp": true, 654 + "width": "6", 655 + "collapse": false, 656 + "className": "" 657 + }, 658 + { 659 + "id": "f523098714ee6cd6", 660 + "type": "ui_group", 661 + "name": "TempC_SHT", 662 + "tab": "7e01624d2b1a030f", 663 + "order": 11, 664 + "disp": true, 665 + "width": "6", 666 + "collapse": false, 667 + "className": "" 668 + }, 669 + { 670 + "id": "b1dc3cad430eb5b7", 671 + "type": "ui_group", 672 + "name": "Exti_pin_level", 673 + "tab": "7e01624d2b1a030f", 674 + "order": 6, 675 + "disp": true, 676 + "width": "6", 677 + "collapse": false, 678 + "className": "" 679 + }, 680 + { 681 + "id": "4184be11e1179998", 682 + "type": "ui_group", 683 + "name": "Exti_status", 684 + "tab": "7e01624d2b1a030f", 685 + "order": 7, 686 + "disp": true, 687 + "width": "6", 688 + "collapse": false, 689 + "className": "" 690 + }, 691 + { 692 + "id": "28cf5cca4c2c0bb5", 693 + "type": "ui_group", 694 + "name": "exit_count", 695 + "tab": "7e01624d2b1a030f", 696 + "order": 5, 697 + "disp": true, 698 + "width": "6", 699 + "collapse": false, 700 + "className": "" 701 + }, 702 + { 703 + "id": "5f974d1fd1c0edfa", 704 + "type": "ui_group", 705 + "name": "ADC_V", 706 + "tab": "7e01624d2b1a030f", 707 + "order": 12, 708 + "disp": true, 709 + "width": "6", 710 + "collapse": false, 711 + "className": "" 712 + }, 713 + { 714 + "id": "7e01624d2b1a030f", 715 + "type": "ui_tab", 716 + "name": "LHT65N", 717 + "icon": "LHT65N", 718 + "disabled": false, 719 + "hidden": false 720 + } 721 +]
- image-20221222113302-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +76.3 KB - Content
- image-20221222114220-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +64.3 KB - Content
- image-20221222134830-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +54.5 KB - Content
- image-20221222140203-4.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +91.4 KB - Content
- image-20221222141754-5.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +179.1 KB - Content
- image-20221222141830-6.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +116.7 KB - Content
- image-20221230094246-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +84.9 KB - Content
- image-20230415165254-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +67.2 KB - Content
- image-20230415170404-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +17.9 KB - Content
- image-20230415170854-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +48.4 KB - Content
- image-20230527115750-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +208.8 KB - Content
- image-20230527143923-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +222.4 KB - Content
- image-20230527144206-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +224.2 KB - Content
- image-20230529150923-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +87.2 KB - Content
- image-20230531162943-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +84.6 KB - Content
- image-20230702094608-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Bei - Size
-
... ... @@ -1,0 +1,1 @@ 1 +53.8 KB - Content
- image-20230702094852-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Bei - Size
-
... ... @@ -1,0 +1,1 @@ 1 +12.5 KB - Content
- image-20230702094944-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Bei - Size
-
... ... @@ -1,0 +1,1 @@ 1 +26.7 KB - Content
- image-20230702095114-4.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Bei - Size
-
... ... @@ -1,0 +1,1 @@ 1 +43.5 KB - Content
- image-20230702095557-5.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Bei - Size
-
... ... @@ -1,0 +1,1 @@ 1 +48.5 KB - Content
- image-20230702095641-6.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Bei - Size
-
... ... @@ -1,0 +1,1 @@ 1 +19.2 KB - Content
- image-20230702095827-7.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Bei - Size
-
... ... @@ -1,0 +1,1 @@ 1 +34.9 KB - Content
- image-20230702100312-8.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Bei - Size
-
... ... @@ -1,0 +1,1 @@ 1 +33.2 KB - Content
- image-20230702100356-9.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Bei - Size
-
... ... @@ -1,0 +1,1 @@ 1 +21.9 KB - Content
- image-20230702100543-10.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Bei - Size
-
... ... @@ -1,0 +1,1 @@ 1 +25.6 KB - Content
- image-20230702100930-11.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Bei - Size
-
... ... @@ -1,0 +1,1 @@ 1 +48.7 KB - Content
- image-20230821113255-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Bei - Size
-
... ... @@ -1,0 +1,1 @@ 1 +115.7 KB - Content
- image-20230821113539-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Bei - Size
-
... ... @@ -1,0 +1,1 @@ 1 +71.1 KB - Content
- image-20230821113618-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Bei - Size
-
... ... @@ -1,0 +1,1 @@ 1 +19.0 KB - Content
- image-20230821114047-4.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Bei - Size
-
... ... @@ -1,0 +1,1 @@ 1 +125.6 KB - Content
- image-20230926092907-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +64.0 KB - Content
- image-20230926093057-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +69.6 KB - Content
- image-20230926093233-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +95.8 KB - Content
- image-20231108140540-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ting - Size
-
... ... @@ -1,0 +1,1 @@ 1 +46.3 KB - Content
- image-20231108164914-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ting - Size
-
... ... @@ -1,0 +1,1 @@ 1 +37.2 KB - Content
- image-20231108165128-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ting - Size
-
... ... @@ -1,0 +1,1 @@ 1 +43.3 KB - Content
- image-20231108165158-4.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ting - Size
-
... ... @@ -1,0 +1,1 @@ 1 +60.8 KB - Content
- image-20231108171112-5.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ting - Size
-
... ... @@ -1,0 +1,1 @@ 1 +47.7 KB - Content
- image-20231108171145-6.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ting - Size
-
... ... @@ -1,0 +1,1 @@ 1 +39.1 KB - Content
- image-20231201174640-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +43.6 KB - Content
- image-20231201175118-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +83.2 KB - Content
- image-20231201175648-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +103.2 KB - Content
- image-20231201180103-4.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +52.6 KB - Content
- image-20231204104802-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +42.4 KB - Content
- image-20231204105201-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +33.3 KB - Content
- image-20231204105859-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +34.2 KB - Content
- image-20231204110341-4.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +104.0 KB - Content
- image-20231204110902-5.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +100.5 KB - Content
- image-20231204111022-6.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +91.6 KB - Content
- image-20231204111116-7.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +92.0 KB - Content
- image-20231204111641-8.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +97.1 KB - Content
- image-20231204111834-9.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +34.5 KB - Content
- image-20231204112107-10.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +109.7 KB - Content
- image-20231204113136-11.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +50.0 KB - Content
- image-20231204113212-12.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +45.3 KB - Content
- image-20231204113237-13.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +93.5 KB - Content
- image-20240117173123-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ting - Size
-
... ... @@ -1,0 +1,1 @@ 1 +120.8 KB - Content
- image-20240117174452-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ting - Size
-
... ... @@ -1,0 +1,1 @@ 1 +132.1 KB - Content
- image-20240117175009-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ting - Size
-
... ... @@ -1,0 +1,1 @@ 1 +120.3 KB - Content
- image-20240117175058-4.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ting - Size
-
... ... @@ -1,0 +1,1 @@ 1 +92.9 KB - Content
- image-20240117175738-5.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ting - Size
-
... ... @@ -1,0 +1,1 @@ 1 +56.8 KB - Content
- image-20240717085339-1.jpeg
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +12.6 KB - Content
- image-20240717090537-2.jpeg
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +42.5 KB - Content
- image-20240717092412-3.jpeg
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +22.4 KB - Content
- image-20240717092428-4.jpeg
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +22.4 KB - Content
- image-20240717102613-5.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +56.1 KB - Content
- image-20240831154333-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +83.4 KB - Content
- image-20240923105725-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +104.9 KB - Content
- image-20240923141847-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +82.3 KB - Content
- image-20240923142441-4.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +55.0 KB - Content
- image-20240923142446-5.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +55.0 KB - Content
- image-20240923144335-6.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +92.4 KB - Content
- image-20240923144418-7.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +61.1 KB - Content
- image-20240923144744-8.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +99.1 KB - Content
- image-20240923144749-9.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +99.1 KB - Content
- image-20240923145148-10.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +42.7 KB - Content
- image-20240923145506-12.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +76.6 KB - Content
- image-20240923145520-16.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +76.6 KB - Content
- image-20240923145624-18.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +52.9 KB - Content
- image-20240923145945-19.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +61.4 KB - Content
- image-20240923145949-20.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +61.4 KB - Content