Changes for page Notes for ChirpStack
Last modified by Kilight Cao on 2024/09/24 15:23
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 71 added, 0 removed)
- LHT65N-ChirpStack-node-red.json
- image-20220526091912-7.png
- image-20220531171609-1.png
- image-20220531171651-2.png
- image-20220531171809-3.png
- image-20220531171923-4.png
- image-20220531172031-5.png
- image-20220531172158-6.png
- image-20220531172304-7.png
- image-20220531172837-8.png
- image-20220531172857-9.png
- image-20220531173236-10.png
- image-20220531173419-11.png
- image-20220531173519-12.png
- image-20220531173601-13.png
- image-20220531173658-14.png
- image-20220531173754-15.png
- image-20220531173856-16.png
- image-20220531173939-17.png
- image-20220531174015-18.png
- image-20220531174046-19.png
- image-20220531174120-20.png
- image-20220601102430-1.png
- image-20220601102543-2.png
- 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
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki.Xiao ling1 +XWiki.Xiaoye - Content
-
... ... @@ -1,67 +1,127 @@ 1 -**~ Contents:** 1 +**~ Table of Contents:** 2 2 3 3 {{toc/}} 4 4 5 -= 1. Introduction = 6 6 6 + 7 + 8 += 1. Introduction = 9 + 10 + 7 7 (% style="color:black" %)The ChirpStack open-source LoRaWAN Network Server stack provides open-source components for LoRaWAN networks And the Chirpstack supports the users in building a private LoRaWAN Server. For more info please refer to this [[link>>url:https://www.chirpstack.io/]] 8 8 9 9 ((( 10 10 (% style="color:black" %)The dragino gateway can connect the ChirpStack server via Semtech UDP or Semtech Basic Station. 15 + 16 + 11 11 ))) 12 12 13 -**Prerequisite** 19 +(% style="color:blue" %)**Prerequisite:** 14 14 15 -1) Have a Chirstack Server. 21 +**1) Have a Chirstack Server.** 16 16 17 -[[image:image-202 20525100058-1.png]]23 +[[image:image-20230821114047-4.png||height="524" width="990"]] 18 18 19 19 ChirpStack home page 20 20 21 21 22 -2) Gateway model support 23 23 29 +**2) Gateway model support** 30 + 24 24 (% class="box" %) 25 25 ((( 26 26 ((( 27 27 Semtech UDP : **All Model** 28 -Basic Station : , , 29 -**Note** 35 +Basic Station : [[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]] 36 +(% style="color:red" %)**Note** (%%): the firmware needs >[[lgw~~-~~-build-v5.4.1640315898>>url:https://www.dragino.com/downloads/index.php?dir=LoRa_Gateway/LPS8/Firmware/Release/]] if use the Bais station 30 30 ))) 31 31 ))) 32 32 33 -= 2. Semtech UDP = 34 34 35 -= =2.1Step 1. Add theNetwork-servers==41 += 2. Node usage introduction = 36 36 43 +== 2.1 Register Node == 44 + 45 + 46 +**Step 1: Add application** 47 + 48 +[[image:image-20230702094608-1.png||height="537" width="1015"]] 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 + 37 37 The network-Servers address varies depending on the ChirpStack server setup environment 38 38 39 39 (% class="box" %) 40 40 ((( 41 - Windows ~-~->Network-server server * : localhost:8000 42 - Linux 97 + Windows ~-~-> Network-server server * : localhost:8000 98 + Linux ~-~-> Network-server server * : chirpstack-network-server:8000 43 43 ))) 44 44 45 -If the user cannot add network-Servers, re-check the ChirpStack code or the server building process. 46 46 47 - [[image:image-20220525100158-2.png]]102 +(% style="color:red" %)**If the user cannot add network-Servers, re-check the ChirpStack code or the server building process.** 48 48 104 +[[image:image-20220531171609-1.png||height="638" width="1268"]](% style="display:none" %) 105 + 49 49 Add the Network-servers 50 50 51 51 52 -== 2.2 Step 2. Create Gateway-profiles ==109 +== 3.2 Step 2. Create Gateway-profiles == 53 53 54 -[[image:image-20220525100255-3.png]] 55 55 112 +[[image:image-20220531171651-2.png||height="632" width="1264"]](% style="display:none" %) 113 + 56 56 Create Gateway-profiles 57 57 58 58 59 -== 2.3 Step 3. Create Service-profiles ==117 +== 3.3 Step 3. Create Service-profiles == 60 60 61 -[[image:image-20220525100322-4.png]] 62 62 120 +[[image:image-20220531171809-3.png||height="761" width="1265"]] 121 + 63 63 Create Service-profiles 64 64 124 + 65 65 In Step 3. Create Service-profiles, the above parameters can be set. If necessary, you can set them by yourself. This is only an example. 66 66 67 67 (% style="color:red" %)**Note : Before add the gateway, the user needs to complete the preceding three steps.** ... ... @@ -69,8 +69,9 @@ 69 69 If the user has completed the preceding steps, proceed to the next step.(% style="display:none" %) 70 70 71 71 72 -== 2.4 Step 4. Add the gateway ==132 +== 3.4 Step 4. Add the gateway == 73 73 134 + 74 74 The example gateway id is: a840411e96744150 75 75 76 76 ((( ... ... @@ -77,58 +77,84 @@ 77 77 (% style="color:red" %)**Note : The Gateway EUI and server addresses must match the ChirpStack configuration.** 78 78 ))) 79 79 80 -[[image:image-202205 25100350-5.png]](% style="display:none" %)141 +[[image:image-20220531171923-4.png||height="745" width="1253"]](% style="display:none" %) 81 81 82 - 83 83 Add the gateway 84 84 85 -[[image:image-20220525100417-6.png]] 86 86 146 +[[image:image-20220531172031-5.png]] 147 + 87 87 Configure the gateway 88 88 89 89 90 -== 2.5 Step 5. Checking gateway Status ==151 +== 3.5 Step 5. Checking gateway Status == 91 91 92 -[[image:image-20220525100448-7.png]](% style="display:none" %) 93 93 154 +[[image:image-20220531172158-6.png||height="704" width="1167"]](% style="display:none" %) 94 94 156 + 157 + 95 95 gateway Status 96 96 97 -[[image:image-2022052 6090446-3.png||height="653" width="1218"]]160 +[[image:image-20220531172304-7.png||height="628" width="1165"]] 98 98 99 99 gateway Status 100 100 101 -= 3. Gateway Registration for Basics Station = 102 102 103 -= =Introduction==165 += 4. Semtech UDP for ChirpStack v4 = 104 104 167 +== 4.1 Step 1. Add the gateway == 168 + 169 + 170 +[[image:image-20230926092907-1.png||height="598" width="1007"]] 171 + 172 + 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 + 105 105 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. 106 106 107 107 ChirpStack Open-Source LoRaWAN® Network Server needs to set up a configuration that can use Semtech BasicStation. 108 108 109 -**Below list the support products and Requirements:** 110 110 190 +(% style="color:blue" %)**Below list the support products and Requirements:** 191 + 111 111 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]] 112 112 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/]] 113 113 114 -**How to set up chirpStack Basic Station** 195 +(% style="color:blue" %)**How to set up chirpStack Basic Station** 115 115 116 116 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]] 117 117 118 -**What do you need to prepare** 119 119 200 +(% style="color:blue" %)**What do you need to prepare** 201 + 120 120 A gateway that can access the internet normally 121 121 122 -== 3.1 Add Gateway == 123 123 205 +== 5.2 Add Gateway == 206 + 207 + 124 124 [[image:image-20220524164205-10.png]] 125 125 126 -== 3.2 Access the gateway GUI == 127 127 211 +== 5.3 Access the gateway GUI == 212 + 213 + 128 128 Access the gateway GUI interface of LoRaWAN~-~->LoRaWAN ~-~- Basic Station 129 129 130 130 [[image:image-20220524164319-11.png]] 131 131 218 + 132 132 User need to Choose the ChirpStack/Senet ~-~- Basic Station , input Server URI and Upload the TLS Certificate 133 133 134 134 (% class="box" %) ... ... @@ -135,7 +135,7 @@ 135 135 ((( 136 136 Service Provider ~-~-> Choose the ChirpStack/Senet ~-~- Basic Station 137 137 138 -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 139 139 140 140 LNS TLS trust ~-~-> Upload the TLS Certificate 141 141 ))) ... ... @@ -143,48 +143,287 @@ 143 143 (% class="wikigeneratedid" %) 144 144 [[image:image-20220524164341-12.png]] 145 145 146 -== 3.3 Start Station == 147 147 148 - Whentheuser has finished the configuration, Please clickSace&Applyto startstationto connect ChirpStack234 +== 5.4 Start Station == 149 149 150 -== 3.4 Successful Connection == 151 151 237 +When the user has finished the configuration, Please click **Sace&Apply** to start station to connect ChirpStack. 238 + 239 + 240 +== 5.5 Successful Connection == 241 + 242 + 152 152 If user completes the above steps, which will see live date in the ChirpStack. 153 153 154 154 [[image:image-20220524164448-13.png]] 155 155 156 -== 3.5 Trouble Shooting == 157 157 248 +== 5.6 Trouble Shooting == 249 + 250 + 158 158 User can check the station log in the logread/system log page. 159 159 160 -[[image:image-202205 24164514-14.png]]253 +[[image:image-20220531172837-8.png]] 161 161 255 + 162 162 and recode the station log in the system/Recode log page. 163 163 164 -[[image:image-202205 24164541-15.png]]258 +[[image:image-20220531172857-9.png]] 165 165 166 -= 4. Downlink = 167 167 168 -= =4.1ChirpstackDownlinkNote ==261 += 6. How the gateway connects to Chirpstack v3 via gateway-bridge = 169 169 170 -[[image:image-20220525101223-9.png]] 171 171 172 - Convert thedatatoBase64264 +(% style="color:blue" %)**Below list the support products and Requirements:** 173 173 174 -[[image:image-20220526090748-4.png]] 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/]] 175 175 176 - CheckChripStackdownlink DataRate269 +(% style="color:blue" %)**How to set up chirpStack Gateway-bridge** 177 177 271 +Users can check out the ChirpStack gateway-bridge v3 [[link>>https://www.chirpstack.io/gateway-bridge/gateway/dragino/]] 272 + 273 + 274 +(% style="color:blue" %)**What do you need to prepare** 275 + 276 +A gateway that can access the internet normally 277 + 278 + 279 +The following example does not have configuration certificates: 280 + 281 + 282 +== 6.1 Configure Packet Forwarder == 283 + 284 + 285 +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 286 + 287 +* In the (% style="color:blue" %)**LoRaWAN** (%%)menu, click on (% style="color:blue" %)**LoRaWAN ~-~- Semtech UDP** 288 + 289 +* Make sure the following settings are set: 290 +** **Service Provider:** //~-~-Custom/Private LoRaWAN~-~-// 291 +** **LoRaWAN Server Address:** //localhost or 127.0.0.1// 292 +** **Server port for upstream:** //1700// 293 +** **Server port for downstream:** //1700// 294 + 295 + Click (% style="color:blue" %)**Save & Apply**. 296 + 297 +[[image:image-20221222114220-2.png||height="748" width="931"]] 298 + 299 + 300 +== 6.2 Configuring gateway frequency == 301 + 302 + 303 +(% style="color:red" %)**Note: Gateway frequencies must match** 304 + 305 +[[image:image-20221222134830-3.png||height="408" width="923"]] 306 + 307 + 308 +== 6.3 Generate and modify the gateway-bridge configuration file == 309 + 310 + 311 +**1)Generate the gateway-bridge configuration file** 312 + 313 +By default, the configuration file is not up-to-date,so the user needs to rebuild the gateway-bridge configuration file. 314 + 315 +Users need to access the command line of the gateway through SSH,Then type the following command: 316 + 317 +(% class="box infomessage" %) 318 +((( 319 +**/opt/chirpstack-gateway-bridge/chirpstack-gateway-bridge configfile > /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml ** 320 +))) 321 + 322 + 323 +**2)modify the gateway-bridge configuration file** 324 + 325 +The user needs to modify the server address in line 252 in the configuration file 326 + 327 +(% class="box infomessage" %) 328 +((( 329 +**vim /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml ** 330 +))) 331 + 332 +[[image:image-20230415165254-1.png||height="583" width="956"]] 333 + 334 + 335 +== 6.4 Debug == 336 + 337 + 338 +After the above configuration is completed, the user can enter the command to debug the gateway-bridge connection 339 + 340 +(% class="box infomessage" %) 341 +((( 342 +**/opt/chirpstack-gateway-bridge/chirpstack-gateway-bridge ~-~-config /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml** 343 +))) 344 + 345 +If the gateway-bridge connection is normal, the debug log displays **"connected to mqtt broker"**. 346 + 347 +[[image:image-20230415170404-2.png]] 348 + 349 + 350 +If the debug log shows "**connection error**", check that the server port or server is correct 351 + 352 +[[image:image-20230415170854-3.png]] 353 + 354 + 355 +More information can be found on the **[[ChirpStack website>>https://www.chirpstack.io/docs/]]**or **[[Forum>>url:https://forum.chirpstack.io/]]** 356 + 357 + 358 +== 6.5 (Re)start and stop gateway-bridge == 359 + 360 + 361 +Use the following commands to (re)start and stop the ChirpStack Gateway Bridge Service: 362 + 363 +(% class="box infomessage" %) 364 +((( 365 +**# start** 366 + 367 +/etc/init.d/chirpstack-gateway-bridge start 368 + 369 +**# stop** 370 + 371 +/etc/init.d/chirpstack-gateway-bridge stop 372 + 373 +**# restart** 374 + 375 +/etc/init.d/chirpstack-gateway-bridge restart 376 +))) 377 + 378 + 379 += 7. How the gateway connects to Chirpstack v4 via gateway-bridge = 380 + 381 + 382 +(% style="color:blue" %)**Below list the support products and Requirements:** 383 + 384 +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]] 385 +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/]] 386 + 387 +(% style="color:blue" %)**How to set up chirpStack Gateway-bridge** 388 + 389 +Users can check out the ChirpStack gateway-bridge v4 [[link>>https://www.chirpstack.io/docs/chirpstack-gateway-bridge/install/dragino.html]] 390 + 391 + 392 +(% style="color:blue" %)**What do you need to prepare** 393 + 394 +A gateway that can access the internet normally 395 + 396 + 397 +== 7.1 Configure Packet Forwarder == 398 + 399 + 400 +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 401 + 402 +* In the (% style="color:blue" %)**LoRaWAN**(%%) menu, click on (% style="color:blue" %)**LoRaWAN ~-~- Semtech UDP** 403 + 404 +* Make sure the following settings are set: 405 +** **Service Provider:** //~-~-Custom/Private LoRaWAN~-~-// 406 +** **LoRaWAN Server Address:** //localhost or 127.0.0.1// 407 +** **Server port for upstream:** //1700// 408 +** **Server port for downstream:** //1700// 409 + 410 + Click (% style="color:blue" %)**Save & Apply**. 411 + 412 +[[image:image-20221222114220-2.png||height="748" width="931"]] 413 + 414 + 415 +== 7.2 Configuring gateway frequency == 416 + 417 + 418 +(% style="color:red" %)**Note: Gateway frequencies must match** 419 + 420 +[[image:image-20221222134830-3.png||height="408" width="923"]] 421 + 422 + 423 +== 7.3 Modify the gateway-bridge configuration file == 424 + 425 + 426 +Run the gateway command line command to modify the gateway-bridge configuration file: 427 + 428 +(% class="box infomessage" %) 429 +((( 430 +**root@dragino-1d27d4:~~# vim /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml ** 431 +))) 432 + 433 +[[image:image-20221222113302-1.png]] 434 + 435 + 436 +[[image:image-20221222140203-4.png||height="875" width="806"]] 437 + 438 + 439 +[[image:image-20221230094246-1.png||height="768" width="783"]] 440 + 441 +(% class="wikigeneratedid" id="H" %) 442 +After the modification, run the following command: **/etc/init.d/chirpstack-gateway-bridge restart** 443 + 444 + 445 +== 7.4 (Re)start and stop gateway-bridge == 446 + 447 + 448 +Use the following commands to (re)start and stop the ChirpStack Gateway Bridge Service: 449 + 450 +(% class="box infomessage" %) 451 +((( 452 +**# start** 453 + 454 +/etc/init.d/chirpstack-gateway-bridge start 455 + 456 +**# stop** 457 + 458 +/etc/init.d/chirpstack-gateway-bridge stop 459 + 460 +**# restart** 461 + 462 +/etc/init.d/chirpstack-gateway-bridge restart 463 +))) 464 + 465 + 466 +== 7.5 Successful Connection == 467 + 468 + 469 +[[image:image-20221222141754-5.png||height="488" width="1150"]] 470 + 471 + 472 +[[image:image-20221222141830-6.png||height="582" width="1153"]] 473 + 474 + 475 += 8. Downlink = 476 + 477 + 478 +=== 8.1 Chirpstack Downlink Note === 479 + 480 + 481 +==== Select HEX format for downlink ==== 482 + 483 + 484 +(% style="color:red" %)**Note: The end node user manual provides HEX format of the downlink commands, so users can directly select HEX format downlink.** 485 + 486 + 487 +[[image:image-20231108171112-5.png||height="629" width="1117"]] 488 + 489 + 490 +[[image:image-20231108171145-6.png||height="497" width="1101"]] 491 + 492 + 493 + 494 + 495 + 496 +[[image:image-20220531173236-10.png||height="597" width="1215"]] 497 + 498 +**Check ChripStack downlink DataRate** 499 + 500 + 501 + 178 178 [[image:image-20220525101326-11.png]] 179 179 180 -Make sure the RX2DR is the same in the end node 504 +**Make sure the RX2DR is the same in the end node** 181 181 182 -== 4.2 Loraserver Downlink Note == 183 183 507 +== 8.3 Loraserver Downlink Note == 508 + 509 + 184 184 User can use MQTT to send downlink payload to ChirpStack to perform downstream to LoRaWAN End 185 185 186 186 ((( 187 -Below is examples: 513 +**Below is examples:** 188 188 ))) 189 189 190 190 (% class="box" %) ... ... @@ -195,14 +195,17 @@ 195 195 User name: User name Password: password 196 196 ))) 197 197 198 -[[image:image-202205 25101401-12.png]]524 +[[image:image-20220531173419-11.png]] 199 199 200 200 ((( 201 -MQTT Connect to ChirpStack 527 +**MQTT Connect to ChirpStack** 528 + 529 + 530 + 202 202 ))) 203 203 204 204 ((( 205 -After connect 534 +**After connect** 206 206 ))) 207 207 208 208 (% class="box" %) ... ... @@ -220,24 +220,16 @@ 220 220 Payload: {"confirmed":true,"fPort":2,"data":"AwEB"} 221 221 ))) 222 222 223 -[[image:image-202205 25101436-13.png]]552 +[[image:image-20220531173519-12.png]] 224 224 225 -MQTT Connect to ChirpStack 554 +**MQTT Connect to ChirpStack** 226 226 227 -((( 228 -(% 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/]] 229 -))) 230 230 231 -[[image:image-20220525101505-14.png]] 232 232 233 -Choose to Use Hex for Encode 234 - 235 -If we want send downstream hex 030101 to end node, the BASE64 payload is AwEB 236 - 237 -[[image:image-20220525104025-15.png]] 238 - 239 239 ((( 240 -Downlink payload encode javescript code: 可以在网站上运行以下Javsscript代码: 559 +Downlink payload encode javescript code. 560 + 561 +We can run the following Javsscript code on the site: 241 241 ))) 242 242 243 243 (% class="box" %) ... ... @@ -253,15 +253,15 @@ 253 253 { 254 254 if(sha1[n] >= 'A' && sha1[n] <= 'Z') 255 255 { 256 - ascv = sha1.charCodeAt(n) - 55; 577 + ascv = sha1.charCodeAt( n ) - 55; 257 257 } 258 258 else if(sha1[n] >= 'a' && sha1[n] <= 'z') 259 259 { 260 - ascv = sha1.charCodeAt(n) - 87; 581 + ascv = sha1.charCodeAt( n ) - 87; 261 261 } 262 262 else 263 263 { 264 - ascv = sha1.charCodeAt(n) - 48; 585 + ascv = sha1.charCodeAt( n ) - 48; 265 265 } 266 266 \\ bit_arr = (bit_arr << 4) | ascv; 267 267 bit_num += 4; ... ... @@ -297,21 +297,28 @@ 297 297 AwAA is 0x030000's base 64 Encode. 298 298 ))) 299 299 300 -== 4.3 Add the decode function in Chirpstack for the payload == 301 301 622 +== 8.4 Add the decode function in Chirpstack for the payload == 623 + 624 + 302 302 User enters the payload code according to the steps. 303 303 304 -[[ image:image-20220525104051-16.png]]627 +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]]** 305 305 306 -[[image:image-202205 25104155-17.png]]629 +[[image:image-20220531173754-15.png||height="474" width="1334"]] 307 307 308 308 309 -[[image:image-202205 26091602-5.png]]632 +[[image:image-20220531173856-16.png]] 310 310 311 -[[image:image-20220525104258-19.png]] 312 312 313 - =5.Multiply Uplink in ChirpStack =635 +[[image:image-20220531174120-20.png]] 314 314 637 +[[image:image-20220531174046-19.png]] 638 + 639 + 640 += 9. Multiply Uplink in ChirpStack = 641 + 642 + 315 315 ((( 316 316 nbtrans field is the value to determine the re-transmission time for unconfirmed uplink data. 317 317 ))) ... ... @@ -318,12 +318,17 @@ 318 318 319 319 ((( 320 320 ChirpStack will auto adjust nbtrans according to uplink rssi. [[link to source>>url:https://github.com/brocaar/chirpstack-network-server/blob/master/internal/adr/adr.go]] 649 + 650 + 321 321 ))) 322 322 323 -[[image:image-2022052 5104328-20.png]]653 +[[image:image-20220526091912-7.png||height="241" width="1336"]] 324 324 655 + 325 325 ((( 326 326 nbtrans is a field of ADR message, in unconfirm mode, it tells end node how many time it needs to transmit for every frame. 658 + 659 + 327 327 ))) 328 328 329 329 [[image:image-20220525104359-21.png]] ... ... @@ -330,6 +330,8 @@ 330 330 331 331 ((( 332 332 Above behaviour will cause the platform shows below two cases of error: 666 + 667 + 333 333 ))) 334 334 335 335 ((( ... ... @@ -338,26 +338,33 @@ 338 338 339 339 [[image:image-20220525104437-22.png]] 340 340 341 -Duplicate transmission in short time 342 342 343 -[[image:image-20220525104502-23.png]] 344 344 345 - == 5.1 Solution==678 +**Duplicate transmission in short time** 346 346 680 +[[image:image-20220601102430-1.png||height="508" width="1120"]] 681 + 682 + 683 +== 9.1 Solution == 684 + 685 + 347 347 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]] 348 348 349 349 ((( 350 - ~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.689 +(% 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.** 351 351 ))) 352 352 353 353 [[image:image-20220525104532-24.png]] 354 354 355 -installation path: 356 356 695 +**installation path:** 696 + 357 357 [[image:image-20220525104554-25.png]] 358 358 699 + 700 + 359 359 ((( 360 -2. Environment variable settings: .702 +(% style="color:blue" %)**2. Environment variable settings:** 361 361 ))) 362 362 363 363 ((( ... ... @@ -365,21 +365,25 @@ 365 365 ))) 366 366 367 367 ((( 368 -2)Set the variable name GOROOT and the variable value C:\Go\ (installation directory) 710 +2) Set the variable name GOROOT and the variable value C:\Go\ (installation directory) 369 369 ))) 370 370 371 371 [[image:image-20220524165433-33.png]] 372 372 373 -3)Modify the system variable Path and add C:\Go\bin\: 374 374 716 +3) Modify the system variable Path and add C:\Go\bin\: 717 + 375 375 [[image:image-20220524165452-34.png]] 376 376 720 + 377 377 User variable setting file generation directory: D:\go: 378 378 379 379 [[image:image-20220524165517-35.png]] 380 380 381 -3. Modify the ADR configuration file according to your own needs, adr.setting.go is an example of the ADR configuration file. 382 382 726 + 727 +(% 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.** 728 + 383 383 The name of the plugin: Example ADR plugin: 384 384 385 385 [[image:image-20220524165540-36.png]] ... ... @@ -388,8 +388,10 @@ 388 388 389 389 [[image:image-20220524165557-37.png]] 390 390 391 -4. Compile the ADR configuration file and generate the exe file. 392 392 738 + 739 +(% style="color:blue" %)**4. Compile the ADR configuration file and generate the exe file.** 740 + 393 393 1) Create a folder named adr-setting 394 394 395 395 2) Open the adr-setting folder ... ... @@ -412,8 +412,10 @@ 412 412 413 413 [[image:image-20220524165623-38.png]] 414 414 415 -5. Add the plugin and run the plugin. 416 416 764 + 765 +(% style="color:blue" %)**5. Add the plugin and run the plugin.** 766 + 417 417 ((( 418 418 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: 419 419 ))) ... ... @@ -448,14 +448,156 @@ 448 448 449 449 Finish. 450 450 451 -= 6. Trouble Shooting = 452 452 453 -= =6.1MICMismatchorMIC Failed ==802 += 10. How to store/get all data traffic for a specific sensor, including raw payload, and uplink/ downlink history. = 454 454 804 + 805 +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. 806 + 807 +This example will be shown how to store/get all the data in two ways: 808 + 809 +(% style="color:blue" %)**//1). Chirpstack ~-~-> Node-red//** 810 + 811 + 812 +[[image:image-20221012184501-1.png||height="608" width="1041"]] 813 + 814 + 815 +Use MQTT in Nore-red to subscribe to topics published by the chirpstack-application and then continuously write to a file 816 + 817 +[[image:image-20221012174220-2.png]] 818 + 819 + 820 +[[image:image-20221012184655-3.png||height="395" width="1049"]] 821 + 822 + 823 +**Each message is continuously logged to a specified file** 824 + 825 +[[image:image-20221012174352-3.png]] 826 + 827 + 828 +(% style="color:blue" %)**//2). MQTT Sub//** 829 + 830 +If you don't want to store the information via node-red, you can get the output via the subscribe command. 831 + 832 + 833 +**If connecting from the same machine, you can use the following command to receive data:** 834 + 835 +(% class="box infomessage" %) 455 455 ((( 837 +**mosquitto_sub -h localhost -t "application/#" -v** 838 +))) 839 + 840 + 841 +(% style="color:blue" %)**Different host** 842 + 843 +(% class="box infomessage" %) 844 +((( 845 +**mosquitto_sub -h IPADDRESS -p 8883 ~-~-insecure ~-~-cafile ca.pem ~-~-cert cert.pem ~-~-key key.pem -t "application/#" -v** 846 +))) 847 + 848 +[[image:image-20221012173639-1.png||height="273" width="1206"]] 849 + 850 + 851 +How to use Chirpstack API to batch register Sensor Node/Gateway in Chistapstack Server 852 + 853 +The following example is based on the built-in ChirpStack server for LPS8V2 854 + 855 + 856 += 11. Example: Use Local Server ChirpStack and Node-Red in LPS8v2 = 857 + 858 + 859 +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: 860 + 861 +* LHT65N register on LPS8v2 Built-In ChirpStack server already 862 +* The user is able to see the data on the built-in ChirpStack server device page. 863 + 864 +Below are the steps to plot the sensor data on LPS8v2 Node-Red. 865 + 866 + 867 +== 11.1 Link Node-Red to Local ChirpStack == 868 + 869 + 870 +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"]]** 871 + 872 +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]]** 873 + 874 +After importing the Input Flow is complete, the user needs to edit the MQTT in the node 875 + 876 + 877 +(% style="color:blue" %)**1. Change the Topic** 878 + 879 +Topic modifies it to the following format: 880 + 881 +**application/(% style="color:red" %)Application ID(%%)/device/(% style="color:red" %)End device ID(%%)/event/up** 882 + 883 +Reference link: [[**Node-RED integration** >>https://www.chirpstack.io/docs/guides/node-red-integration.html]] 884 + 885 +[[image:image-20230527143923-1.png||height="588" width="1132"]] 886 + 887 + 888 + 889 +(% style="color:blue" %)**2. Enter the MQTT configuration information** 890 + 891 +[[image:image-20230527144206-2.png||height="590" width="1136"]] 892 + 893 + 894 +(% style="color:blue" %)**3.** **Finally, click "Update" and Deploy** 895 + 896 +"Connected" indicates that the Link Node-red to Local Chirpstack is normal. 897 + 898 +[[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"]] 899 + 900 + 901 +== 11.2 Check result. == 902 + 903 + 904 +Users can check logs by adding debug. 905 + 906 +Browser access: **Node-Red-Server-Address:1880/ui** 907 + 908 +[[image:image-20230529150923-1.png||height="424" width="1118"]] 909 + 910 + 911 += 12. Trouble Shooting = 912 + 913 +== 12.1 MIC Mismatch or MIC Failed == 914 + 915 + 916 +((( 456 456 When the device is registered or the device is working normally, the problem of MIC mismatch and MIC failed occurs. 457 457 ))) 458 458 459 459 ((( 460 460 Under normal circumstances, users need to change the APPKEY to solve this problem. 922 + 923 + 924 +== 12.2 The node is very close to the gateway, but the signal is poor == 925 + 926 + 927 +If you are using US915 or AU915, you found the frequency points of different subband ranges in your uplink 928 + 929 +Like that:Both 905.1Mhz and 902.3Mhz appear on uplink 930 + But they belong to Subband1 and Subband2 of US915 respectively 931 + 932 +Cause: The server and the gateway use different frequency bands (the server uses Subband1, and the gateway uses Subband2) 933 + 934 + 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. 935 + 936 +How to check the frequency band used by the server: 937 + 938 +You can view the information sent by the server: ch_mask in Unconfirmdedatadown 939 + 940 +[[image:image-20230821113255-1.png]] 941 + 942 +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. 943 + 944 +[[image:image-20230821113539-2.png]] 945 + 946 +In the second message, the channel 0~~7 is true, which means that your server is using subband2. 947 + 948 +[[image:image-20230821113618-3.png]] 949 + 950 +**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]]** 951 + 952 + 461 461 )))
- 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-20220526091912-7.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +94.9 KB - Content
- image-20220531171609-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +79.4 KB - Content
- image-20220531171651-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +86.3 KB - Content
- image-20220531171809-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +126.4 KB - Content
- image-20220531171923-4.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +113.1 KB - Content
- image-20220531172031-5.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +62.4 KB - Content
- image-20220531172158-6.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +108.7 KB - Content
- image-20220531172304-7.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +162.5 KB - Content
- image-20220531172837-8.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +67.9 KB - Content
- image-20220531172857-9.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +36.6 KB - Content
- image-20220531173236-10.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +160.2 KB - Content
- image-20220531173419-11.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +104.3 KB - Content
- image-20220531173519-12.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +63.9 KB - Content
- image-20220531173601-13.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +67.6 KB - Content
- image-20220531173658-14.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +59.3 KB - Content
- image-20220531173754-15.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +41.7 KB - Content
- image-20220531173856-16.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +46.7 KB - Content
- image-20220531173939-17.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +41.4 KB - Content
- image-20220531174015-18.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +27.4 KB - Content
- image-20220531174046-19.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +27.2 KB - Content
- image-20220531174120-20.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +41.4 KB - Content
- image-20220601102430-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +139.4 KB - Content
- image-20220601102543-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +51.5 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