Changes for page Notes for ChirpStack
Last modified by Kilight Cao on 2024/09/24 15:23
<
edited by Kilight Cao
on 2024/09/24 15:23
on 2024/09/24 15:23
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 94 added, 0 removed)
- LHT65N-ChirpStack-node-red.json
- SN50v3-LB_协议008(AU915)(1).bin
- image-20221010193350-1.png
- image-20221010193621-2.png
- image-20221012173639-1.png
- image-20221012174220-2.png
- image-20221012174352-3.png
- image-20221012184501-1.png
- image-20221012184631-2.png
- image-20221012184655-3.png
- 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
- image-20240923145953-21.png
- image-20240923151236-22.png
- image-20240923151814-23.png
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Xiaoling1 +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. ... ... @@ -141,7 +141,6 @@ 141 141 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]] 142 142 1. Firmware version since :[[lgw~~-~~-build-v5.4.1651822913>>url:https://www.dragino.com/downloads/index.php?dir=LoRa_Gateway/LPS8/Firmware/Test_Firmware/lgw--build-v5.4.1651822913-20220506-1543/]] 143 143 144 - 145 145 (% style="color:blue" %)**How to set up chirpStack Basic Station** 146 146 147 147 Users can check out the ChirpStack Basic Station [[link>>https://www.chirpstack.io/gateway-bridge/backends/basic-station/]] and [[forum>>https://forum.chirpstack.io/search?q=basic%20station]] ... ... @@ -152,14 +152,13 @@ 152 152 A gateway that can access the internet normally 153 153 154 154 205 +== 5.2 Add Gateway == 155 155 156 -== 3.2 Add Gateway == 157 157 158 - 159 159 [[image:image-20220524164205-10.png]] 160 160 161 161 162 -== 3.3 Access the gateway GUI ==211 +== 5.3 Access the gateway GUI == 163 163 164 164 165 165 Access the gateway GUI interface of LoRaWAN~-~->LoRaWAN ~-~- Basic Station ... ... @@ -173,7 +173,7 @@ 173 173 ((( 174 174 Service Provider ~-~-> Choose the ChirpStack/Senet ~-~- Basic Station 175 175 176 -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 177 177 178 178 LNS TLS trust ~-~-> Upload the TLS Certificate 179 179 ))) ... ... @@ -182,13 +182,13 @@ 182 182 [[image:image-20220524164341-12.png]] 183 183 184 184 185 -== 3.4 Start Station ==234 +== 5.4 Start Station == 186 186 187 187 188 -When the user has finished the configuration, Please click Sace&Apply to start station to connect ChirpStack 237 +When the user has finished the configuration, Please click **Sace&Apply** to start station to connect ChirpStack. 189 189 190 190 191 -== 3.5 Successful Connection ==240 +== 5.5 Successful Connection == 192 192 193 193 194 194 If user completes the above steps, which will see live date in the ChirpStack. ... ... @@ -196,10 +196,9 @@ 196 196 [[image:image-20220524164448-13.png]] 197 197 198 198 248 +== 5.6 Trouble Shooting == 199 199 200 -== 3.6 Trouble Shooting == 201 201 202 - 203 203 User can check the station log in the logread/system log page. 204 204 205 205 [[image:image-20220531172837-8.png]] ... ... @@ -210,31 +210,247 @@ 210 210 [[image:image-20220531172857-9.png]] 211 211 212 212 261 += 6. How the gateway connects to Chirpstack v3 via gateway-bridge = 213 213 214 -= 4. Downlink = 215 215 216 - ==4.1 ChirpstackDownlinkNote==264 +(% style="color:blue" %)**Below list the support products and Requirements:** 217 217 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 - [[image:image-20220601102543-2.png]]269 +(% style="color:blue" %)**What do you need to prepare** 220 220 221 - ConvertthedataoBase64271 +A gateway that can access the internet normally 222 222 223 223 224 - [[image:image-20220531173236-10.png]]274 +The following example does not have configuration certificates: 225 225 226 -Check ChripStack downlink DataRate 227 227 277 +== 6.1 Configure Packet Forwarder == 228 228 229 -[[image:image-20220525101326-11.png]] 230 230 231 - Makesure theRX2DRis thesameintheendnode280 +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 232 232 282 +* In the (% style="color:blue" %)**LoRaWAN** (%%)menu, click on (% style="color:blue" %)**LoRaWAN ~-~- Semtech UDP** 233 233 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 - ==4.2LoraserverDownlinkNote=290 + Click (% style="color:blue" %)**Save & Apply**. 236 236 292 +[[image:image-20221222114220-2.png||height="748" width="931"]] 237 237 294 + 295 +== 6.2 Configuring gateway frequency == 296 + 297 + 298 +(% style="color:red" %)**Note: Gateway frequencies must match** 299 + 300 +[[image:image-20221222134830-3.png||height="408" width="923"]] 301 + 302 + 303 +== 6.3 Generate and modify the gateway-bridge configuration file == 304 + 305 + 306 +**1)Generate the gateway-bridge configuration file** 307 + 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 + 238 238 User can use MQTT to send downlink payload to ChirpStack to perform downstream to LoRaWAN End 239 239 240 240 ((( ... ... @@ -252,7 +252,7 @@ 252 252 [[image:image-20220531173419-11.png]] 253 253 254 254 ((( 255 -MQTT Connect to ChirpStack 519 +**MQTT Connect to ChirpStack** 256 256 257 257 258 258 ... ... @@ -279,26 +279,14 @@ 279 279 280 280 [[image:image-20220531173519-12.png]] 281 281 282 -MQTT Connect to ChirpStack 546 +**MQTT Connect to ChirpStack** 283 283 284 284 285 -((( 286 -(% style="color:red" %)**Note: Chirpstack use base64 to downlink, so need to convert the downlink payload from HEX to base64 [[https:~~/~~/base64.us/>>url:https://base64.us/]]** 287 -))) 288 288 289 -[[image:image-20220531173601-13.png]] 290 - 291 -Choose to Use Hex for Encode 292 - 293 - 294 - 295 -If we want send downstream hex 030101 to end node, the BASE64 payload is AwEB 296 - 297 -[[image:image-20220531173658-14.png]] 298 - 299 - 300 300 ((( 301 -Downlink payload encode javescript code: 可以在网站上运行以下Javsscript代码: 551 +Downlink payload encode javescript code. 552 + 553 +We can run the following Javsscript code on the site: 302 302 ))) 303 303 304 304 (% class="box" %) ... ... @@ -314,15 +314,15 @@ 314 314 { 315 315 if(sha1[n] >= 'A' && sha1[n] <= 'Z') 316 316 { 317 - ascv = sha1.charCodeAt(n) - 55; 569 + ascv = sha1.charCodeAt( n ) - 55; 318 318 } 319 319 else if(sha1[n] >= 'a' && sha1[n] <= 'z') 320 320 { 321 - ascv = sha1.charCodeAt(n) - 87; 573 + ascv = sha1.charCodeAt( n ) - 87; 322 322 } 323 323 else 324 324 { 325 - ascv = sha1.charCodeAt(n) - 48; 577 + ascv = sha1.charCodeAt( n ) - 48; 326 326 } 327 327 \\ bit_arr = (bit_arr << 4) | ascv; 328 328 bit_num += 4; ... ... @@ -359,15 +359,16 @@ 359 359 ))) 360 360 361 361 614 +== 8.4 Add the decode function in Chirpstack for the payload == 362 362 363 -== 4.3 Add the decode function in Chirpstack for the payload == 364 364 365 - 366 366 User enters the payload code according to the steps. 367 367 368 -[[ 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]]** 369 369 621 +[[image:image-20220531173754-15.png||height="474" width="1334"]] 370 370 623 + 371 371 [[image:image-20220531173856-16.png]] 372 372 373 373 ... ... @@ -376,11 +376,146 @@ 376 376 [[image:image-20220531174046-19.png]] 377 377 378 378 632 += 9. Chirpstack Multicast Configuration = 379 379 380 -= 5. Multiply Uplink in ChirpStack = 381 381 635 +== 9.1 Introduction == 382 382 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 two SN50v3-LB as the LoRaWAN end-node here. 648 + 649 +[[image:image-20240923105725-1.png]] 650 + 651 + 652 +This example assumes that the user already has the prerequisites: 653 + 654 +* (% style="color:blue" %)**SN50v3-LB Software Location: **(%%)**[[SN50v3-LB_protocol_008(AU915).bin>>attach:https://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/SN50v3-LB/#H3.ConfigureSN50v3-LB2FLS||target="_blank"]] .**Users need to flash them with the firmware support Multicast. 655 +* (% style="color:blue" %)**SN50v3-LB Configure: **(%%)Enable CLASS C and DISFCNTCHECK(The downlink fcnt is not compared with the fcnt of the node). 656 + 657 +(% class="wikigeneratedid" %) 658 + **AT command:** (% style="color:blue" %)**AT+CLASS=C** 659 + 660 +(% class="wikigeneratedid" %) 661 + (% style="color:blue" %)**AT+DISFCNTCHECK=1** 662 + 663 +(% class="wikigeneratedid" %) 664 +For details on how to configure the SN50v3-LB, please refer to the link:** [[Configure SN50v3-LB>>https://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/SN50v3-LB/#H3.ConfigureSN50v3-LB2FLS]]** 665 + 666 +* (% style="color:blue" %)**Chirpstack Configuration: **(%%)LPS8v2 gateway and SN50v3-LB register on ChirpStack server already 667 + 668 +Register LPS8v2 gateway to Chirpstack. See section :[[https:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Notes%20for%20ChirpStack/#H4.A0SemtechUDPforChirpStackv4>>https://wiki.dragino.com/xwiki/bin/view/Main/Notes%20for%20ChirpStack/#H4.A0SemtechUDPforChirpStackv4]] 669 + 670 +Register SN50v3-LB to Chirpstack. See section :[[https:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Notes%20for%20ChirpStack/#H2.A0Nodeusageintroduction>>https://wiki.dragino.com/xwiki/bin/view/Main/Notes%20for%20ChirpStack/#H2.A0Nodeusageintroduction]] 671 + 672 + 673 +=== Step 1. Create the multicast group === 674 + 675 + 676 +Create the multicast group on the corresponding **Application~-~->multicast groups~-~->Add multicast-group** interface, For example, multicast_test01_au915 677 + 678 +[[image:image-20240923141847-3.png||height="620" width="1207"]] 679 + 680 + 681 +Enter the Multicast address,Multicast network session key,Multicast application session key. 682 + 683 +Use the default LoRaWAN settings, as below: 684 + 685 +* EU868: 869525000hz, DR0 686 + 687 +* US915: 923300000hz, DR8 688 + 689 +* CN470: 505300000hz, DR0 690 + 691 +* AU915: 923300000hz, DR8 692 + 693 +* AS923: 923200000hz, DR2 694 + 695 +* KR920: 921900000hz, DR0 696 + 697 +* IN865: 866550000hz, DR2 698 + 699 +* RU864: 869100000hz, DR0 700 + 701 +Group type: **Class-C** 702 + 703 +Class-C scheduling type : **Delay** 704 + 705 +[[image:image-20240923142446-5.png||height="720" width="1208"]] 706 + 707 + 708 +=== Step 2. Add gateways and devices to the multicast group === 709 + 710 + 711 +Select a gateway on the "**Gateways**" screen, click "**selected gateways"**, and click "**Add to multicast-group**" to add the gateway to the corresponding multicast group, for example, **multicast_test01_au915**. 712 + 713 +[[image:image-20240923144335-6.png||height="619" width="1209"]] 714 + 715 +[[image:image-20240923144418-7.png||height="572" width="1206"]] 716 + 717 + 718 +On the **Application->Devices** interface, select two SN50v3-LB nodes registered with multicast support, and then click "**Selected devices**". and click "**Add to multicast-group**" to add the node to the corresponding multicast group 719 + 720 +[[image:image-20240923144749-9.png||height="623" width="1211"]] 721 + 722 + 723 +Access the multicast group to check whether two SN50V3-LBs and gateways are added successfully 724 + 725 +[[image:image-20240923145148-10.png||height="601" width="1218"]] 726 + 727 + 728 +=== Step 3. Use the API for multicast Downlink === 729 + 730 + 731 +To use API Downlink, user first need to generate an API key 732 + 733 +[[image:image-20240923145624-18.png||height="429" width="1211"]] 734 + 735 +[[image:image-20240923145520-16.png||height="422" width="1212"]] 736 + 737 + 738 +For example:**[[https:~~/~~/www.chirpstack.io/docs/chirpstack/api/index.html>>url:https://www.chirpstack.io/docs/chirpstack/api/index.html]]** 739 + 740 +[[image:image-20240923145953-21.png||height="808" width="1222"]] 741 + 742 + 743 +Users can access the Linux console of the gateway via SSH, and then use the curl command to multicast Downlink 744 + 745 +The format is as follows: 746 + 747 +(% class="box infomessage" %) 383 383 ((( 749 +curl -X POST 'http:~/~/**Chirpstack_Server_Address**:8090/api/multicast-groups/**Multicast_Groups_ID**/queue' -H "Content-Type: application/json" -H "Authorization: Bearer **eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJjaGlycHN0YWNrIiwiaXNzIjoiY2hpcnBzdGFjayIsInN1YiI6IjM3YmRiNzBjLTNjODgtNDFjMi04YmQ2LTgyMDI4ZjdkNzY3NyIsInR5cCI6ImtleSJ9.p1xvRP1PAdwLnLAJn9w6ef612KM8oPZSa_2v4UYPV0w**" -d '{ 750 + "queueItem": { 751 + "data": "EjRWeA==", 752 + "fCnt": 0, 753 + "fPort": 123 754 + } 755 +}' 756 +))) 757 + 758 +In the command,eyJ........._2v4UYPV0w is the API key, which can be obtained from the Chirpstack server and the data format is base64, 759 + 760 + 761 +=== Result === 762 + 763 +Connecting to the SN50v3-LB using the serial USB-TTL port can check that two SN50v3-LBs are receiving Downlink at the same time 764 + 765 +[[image:image-20240923151814-23.png||height="563" width="1255"]] 766 + 767 + 768 += 10. Multiply Uplink in ChirpStack = 769 + 770 + 771 +((( 384 384 nbtrans field is the value to determine the re-transmission time for unconfirmed uplink data. 385 385 ))) 386 386 ... ... @@ -390,7 +390,7 @@ 390 390 391 391 ))) 392 392 393 -[[image:image-20220526091912-7.png]] 781 +[[image:image-20220526091912-7.png||height="241" width="1336"]] 394 394 395 395 396 396 ((( ... ... @@ -415,22 +415,18 @@ 415 415 416 416 417 417 418 -Duplicate transmission in short time 806 +**Duplicate transmission in short time** 419 419 420 -[[image:image-20220601102430-1.png]] 808 +[[image:image-20220601102430-1.png||height="508" width="1120"]] 421 421 422 422 811 +== 10.1 Solution == 423 423 424 -== 5.1 Solution == 425 425 426 - 427 427 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]] 428 428 429 - 430 430 ((( 431 -(% 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.** 432 - 433 - 817 +(% 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.** 434 434 ))) 435 435 436 436 [[image:image-20220525104532-24.png]] ... ... @@ -443,7 +443,7 @@ 443 443 444 444 445 445 ((( 446 -(% style="color:blue" %)**2. Environment variable settings:** 830 +(% style="color:blue" %)**2. Environment variable settings:** 447 447 ))) 448 448 449 449 ((( ... ... @@ -468,7 +468,7 @@ 468 468 469 469 470 470 471 -(% style="color:blue" %)**3. Modify the ADR configuration file according to your own needs, adr.setting.go is an example of the ADR configuration file.** 855 +(% style="color:blue" %)**3. Modify the ADR configuration file according to your own needs, adr.setting.go is an example of the ADR configuration file.** 472 472 473 473 The name of the plugin: Example ADR plugin: 474 474 ... ... @@ -480,7 +480,7 @@ 480 480 481 481 482 482 483 -(% style="color:blue" %)**4. Compile the ADR configuration file and generate the exe file.** 867 +(% style="color:blue" %)**4. Compile the ADR configuration file and generate the exe file.** 484 484 485 485 1) Create a folder named adr-setting 486 486 ... ... @@ -506,7 +506,7 @@ 506 506 507 507 508 508 509 -(% style="color:blue" %)**5. Add the plugin and run the plugin.** 893 +(% style="color:blue" %)**5. Add the plugin and run the plugin.** 510 510 511 511 ((( 512 512 The exe file generated in the previous step is placed in the same root directory as chirpstack-network-server.toml, and the ADR plugin is added to the toml file. The location of the addition is as follows: ... ... @@ -543,16 +543,272 @@ 543 543 Finish. 544 544 545 545 930 += 11. How to store/get all data traffic for a specific sensor, including raw payload, and uplink/ downlink history. = 546 546 547 -= 6. Trouble Shooting = 548 548 549 - ==6.1MICMismatch or MICFailed==933 +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. 550 550 935 +This example will be shown how to store/get all the data in two ways: 551 551 937 +(% style="color:blue" %)**//1). Chirpstack ~-~-> Node-red//** 938 + 939 + 940 +[[image:image-20221012184501-1.png||height="608" width="1041"]] 941 + 942 + 943 +Use MQTT in Nore-red to subscribe to topics published by the chirpstack-application and then continuously write to a file 944 + 945 +[[image:image-20221012174220-2.png]] 946 + 947 + 948 +[[image:image-20221012184655-3.png||height="395" width="1049"]] 949 + 950 + 951 +**Each message is continuously logged to a specified file** 952 + 953 +[[image:image-20221012174352-3.png]] 954 + 955 + 956 +(% style="color:blue" %)**//2). MQTT Sub//** 957 + 958 +If you don't want to store the information via node-red, you can get the output via the subscribe command. 959 + 960 + 961 +**If connecting from the same machine, you can use the following command to receive data:** 962 + 963 +(% class="box infomessage" %) 552 552 ((( 965 +**mosquitto_sub -h localhost -t "application/#" -v** 966 +))) 967 + 968 + 969 +(% style="color:blue" %)**Different host** 970 + 971 +(% class="box infomessage" %) 972 +((( 973 +**mosquitto_sub -h IPADDRESS -p 8883 ~-~-insecure ~-~-cafile ca.pem ~-~-cert cert.pem ~-~-key key.pem -t "application/#" -v** 974 +))) 975 + 976 +[[image:image-20221012173639-1.png||height="273" width="1206"]] 977 + 978 + 979 += 12. How to use Chirpstack API to batch register Sensor Node/Gateway in Chistapstack Server = 980 + 981 +The following example is based on the built-in ChirpStack server for LPS8V2 982 + 983 +[[image:image-20231201174640-1.png||height="584" width="1148"]] 984 + 985 + 986 +== **12.1 Generate API Tokens** == 987 + 988 +Access the built-in chirpstack , click "**API Key**" and "**Add API Key**". 989 + 990 +[[image:image-20231201175118-2.png||height="597" width="1156"]] 991 + 992 +**Save the generated API Tokens** 993 + 994 +[[image:image-20231201175648-3.png||height="596" width="1155"]] 995 + 996 +[[image:image-20231204104802-1.png]] 997 + 998 + 999 +== **12.2 Template file** == 1000 + 1001 + 1002 +Click on **"Template File Download"**, the user will download a **register.csv** template file, 1003 + 1004 +[[image:image-20231204105201-2.png]] 1005 + 1006 + 1007 +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, 1008 + 1009 +Open the corresponding **Application** and **Device profile** and copy their IDs 1010 + 1011 +[[image:image-20231204110902-5.png||height="618" width="1197"]] 1012 + 1013 +[[image:image-20231204111116-7.png||height="619" width="1199"]] 1014 + 1015 +[[image:image-20231204111834-9.png||height="273" width="1205"]] 1016 + 1017 +[[image:image-20231204112107-10.png||height="621" width="1203"]] 1018 + 1019 + 1020 + 1021 +== **12.3 Batch Register** == 1022 + 1023 +[[image:image-20231204113136-11.png||height="362" width="1062"]] 1024 + 1025 + 1026 +**Check whether the batch registration is successful** 1027 + 1028 +[[image:image-20231204113212-12.png]] 1029 + 1030 +[[image:image-20231204113237-13.png||height="558" width="1081"]] 1031 + 1032 + 1033 + 1034 += 13. Example: Use Local Server ChirpStack and Node-Red in LPS8v2 = 1035 + 1036 + 1037 +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: 1038 + 1039 +* LHT65N register on LPS8v2 Built-In ChirpStack server already 1040 +* The user is able to see the data on the built-in ChirpStack server device page. 1041 + 1042 +Below are the steps to plot the sensor data on LPS8v2 Node-Red. 1043 + 1044 + 1045 +== 13.1 Link Node-Red to Local ChirpStack == 1046 + 1047 + 1048 +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"]]** 1049 + 1050 +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]]** 1051 + 1052 +After importing the Input Flow is complete, the user needs to edit the MQTT in the node 1053 + 1054 + 1055 +(% style="color:blue" %)**1. Change the Topic** 1056 + 1057 +Topic modifies it to the following format: 1058 + 1059 +**application/(% style="color:red" %)Application ID(%%)/device/(% style="color:red" %)End device ID(%%)/event/up** 1060 + 1061 +Reference link: [[**Node-RED integration** >>https://www.chirpstack.io/docs/guides/node-red-integration.html]] 1062 + 1063 +[[image:image-20230527143923-1.png||height="588" width="1132"]] 1064 + 1065 + 1066 + 1067 +(% style="color:blue" %)**2. Enter the MQTT configuration information** 1068 + 1069 +[[image:image-20230527144206-2.png||height="590" width="1136"]] 1070 + 1071 + 1072 +(% style="color:blue" %)**3.** **Finally, click "Update" and Deploy** 1073 + 1074 +"Connected" indicates that the Link Node-red to Local Chirpstack is normal. 1075 + 1076 +[[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"]] 1077 + 1078 + 1079 +== 13.2 Check result. == 1080 + 1081 + 1082 +Users can check logs by adding debug. 1083 + 1084 +Browser access: **Node-Red-Server-Address:1880/ui** 1085 + 1086 +[[image:image-20230529150923-1.png||height="424" width="1118"]] 1087 + 1088 + 1089 += 14. Trouble Shooting = 1090 + 1091 +== 14.1 MIC Mismatch or MIC Failed == 1092 + 1093 + 1094 +((( 553 553 When the device is registered or the device is working normally, the problem of MIC mismatch and MIC failed occurs. 554 554 ))) 555 555 556 556 ((( 557 557 Under normal circumstances, users need to change the APPKEY to solve this problem. 1100 + 1101 + 1102 +== 14.2 The node is very close to the gateway, but the signal is poor == 1103 + 1104 + 1105 +If you are using US915 or AU915, you found the frequency points of different subband ranges in your uplink 1106 + 1107 +Like that:Both 905.1Mhz and 902.3Mhz appear on uplink 1108 + But they belong to Subband1 and Subband2 of US915 respectively 1109 + 1110 +Cause: The server and the gateway use different frequency bands (the server uses Subband1, and the gateway uses Subband2) 1111 + 1112 + 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. 1113 + 1114 +How to check the frequency band used by the server: 1115 + 1116 +You can view the information sent by the server: ch_mask in Unconfirmdedatadown 1117 + 1118 +[[image:image-20230821113255-1.png]] 1119 + 1120 +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. 1121 + 1122 +[[image:image-20230821113539-2.png]] 1123 + 1124 +In the second message, the channel 0~~7 is true, which means that your server is using subband2. 1125 + 1126 +[[image:image-20230821113618-3.png]] 1127 + 1128 +**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]]** 1129 + 1130 + 1131 +== 14.3 ChirpStackv4 node device displays "UPLINK_F_CNT_RETRANSMISSION" == 1132 + 1133 + 1134 +This is because the node's packets are retransmitted, and the Fcnt of these packets is the same. 1135 + 1136 +The user can Disable frame-counter validation on the chirpstack node and this warning message will not appear in the logs. 1137 + 1138 + 1139 +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. 1140 + 1141 + 1142 +**The possible reasons are: ** 1143 + 1144 +~1. The signal of the node device and the gateway is not good 1145 + 1146 +2. Too many node devices affect the downlink of the gateway 1147 + 1148 + 1149 +[[image:image-20240717085339-1.jpeg]] 1150 + 1151 + 1152 +* **Disable frame-counter validation** 1153 + 1154 +[[image:image-20240717102613-5.png||height="803" width="1211"]] 1155 + 1156 + 1157 +* **Result** 1158 + 1159 +[[image:image-20240717092428-4.jpeg]] 1160 + 1161 + 1162 +== 14.4 How to get the log information of the node? == 1163 + 1164 + 1165 +~1. Get information about a single node. 1166 + 1167 +* Download this file in the node's live data interface. 1168 + 1169 +[[image:image-20240117173123-1.png||height="526" width="1086"]] 1170 + 1171 +* The LoRaWAN frames download gateway receives real-time data from the current node. 1172 + 1173 +[[image:image-20240117174452-2.png||height="525" width="1081"]] 1174 + 1175 + 1176 +2. Get information about the entire Gateway. 1177 + 1178 +* Click to select the online gateway of the current node. 1179 + 1180 +[[image:image-20240117175058-4.png||height="532" width="1077"]] 1181 + 1182 + 1183 +* Download this file on the LoRaWAN frames interface. 1184 + 1185 +[[image:image-20240117175009-3.png||height="524" width="1076"]] 1186 + 1187 + 1188 + 1189 +After the data collection is completed, you can send this file directly to our technical support personnel for analysis. 1190 + 1191 + 1192 +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. 1193 + 1194 +[[image:image-20240117175738-5.png]] 1195 + 1196 +(% class="wikigeneratedid" id="H" %) 1197 + 558 558 )))
- 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 +]
- SN50v3-LB_协议008(AU915)(1).bin
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +89.2 KB - Content
- image-20221010193350-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Edwin - Size
-
... ... @@ -1,0 +1,1 @@ 1 +42.7 KB - Content
- image-20221010193621-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Edwin - Size
-
... ... @@ -1,0 +1,1 @@ 1 +34.2 KB - Content
- image-20221012173639-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoye - Size
-
... ... @@ -1,0 +1,1 @@ 1 +56.2 KB - Content
- image-20221012174220-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoye - Size
-
... ... @@ -1,0 +1,1 @@ 1 +14.8 KB - Content
- image-20221012174352-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoye - Size
-
... ... @@ -1,0 +1,1 @@ 1 +93.0 KB - Content
- image-20221012184501-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoye - Size
-
... ... @@ -1,0 +1,1 @@ 1 +91.3 KB - Content
- image-20221012184631-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoye - Size
-
... ... @@ -1,0 +1,1 @@ 1 +32.4 KB - Content
- image-20221012184655-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoye - Size
-
... ... @@ -1,0 +1,1 @@ 1 +45.4 KB - Content
- 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
- image-20240923145953-21.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +61.4 KB - Content
- image-20240923151236-22.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +70.2 KB - Content
- image-20240923151814-23.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +115.8 KB - Content