Changes for page Notes for ChirpStack
Last modified by Kilight Cao on 2024/09/24 15:23
Change comment:
Uploaded new attachment "image-20230821113255-1.png", version {1}
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 55 added, 0 removed)
- LHT65N-ChirpStack-node-red.json
- 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
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Xiaoling1 +XWiki.Bei - Content
-
... ... @@ -1,4 +1,4 @@ 1 -**~ Contents:** 1 +**~ Table of Contents:** 2 2 3 3 {{toc/}} 4 4 ... ... @@ -5,17 +5,20 @@ 5 5 6 6 7 7 8 -= 1. Introduction = 8 += 1. Introduction = 9 9 10 + 10 10 (% 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/]] 11 11 12 12 ((( 13 13 (% style="color:black" %)The dragino gateway can connect the ChirpStack server via Semtech UDP or Semtech Basic Station. 15 + 16 + 14 14 ))) 15 15 16 -**Prerequisite** 19 +(% style="color:blue" %)**Prerequisite:** 17 17 18 -1) Have a Chirstack Server. 21 +**1) Have a Chirstack Server.** 19 19 20 20 [[image:image-20220525100058-1.png]] 21 21 ... ... @@ -22,49 +22,96 @@ 22 22 ChirpStack home page 23 23 24 24 25 -2) Gateway model support 26 26 29 +**2) Gateway model support** 30 + 27 27 (% class="box" %) 28 28 ((( 29 29 ((( 30 30 Semtech UDP : **All Model** 31 -Basic Station : , , 32 -**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 33 33 ))) 34 34 ))) 35 35 40 += 2. Node usage introduction = 36 36 42 +== 2.1 Register Node == 37 37 38 - = 2.SemtechUDP=44 +Step 1: Add application 39 39 40 - ==2.1Step 1.Add theNetwork-servers==46 +[[image:image-20230702094608-1.png||height="537" width="1015"]] 41 41 48 +Step 2:Fill name 49 + 50 +[[image:image-20230702094852-2.png]] 51 + 52 +Step4 :Add device profile 53 + 54 +[[image:image-20230702095114-4.png||height="448" width="1061"]] 55 + 56 + 57 +Step5 :Configure your device profile 58 + 59 +[[image:image-20230702095557-5.png||height="648" width="1121"]] 60 + 61 +Does node support class-c 62 + 63 +[[image:image-20230702095641-6.png||height="349" width="1114"]] 64 + 65 +Add node's decoder 66 + 67 +[[image:image-20230702095827-7.png||height="490" width="1138"]] 68 + 69 + 70 +Step6 :add device 71 + 72 +[[image:image-20230702094944-3.png||height="439" width="1153"]] 73 + 74 + 75 + 76 +[[image:image-20230702100312-8.png||height="585" width="1176"]] 77 + 78 +[[image:image-20230702100543-10.png||height="313" width="1099"]] 79 + 80 +[[image:image-20230702100930-11.png||height="613" width="1098"]] 81 + 82 + 83 += 3. Semtech UDP = 84 + 85 +== 3.1 Step 1. Add the Network-servers == 86 + 87 + 42 42 The network-Servers address varies depending on the ChirpStack server setup environment 43 43 44 44 (% class="box" %) 45 45 ((( 46 - Windows ~-~->Network-server server * : localhost:8000 47 - Linux 92 + Windows ~-~-> Network-server server * : localhost:8000 93 + Linux ~-~-> Network-server server * : chirpstack-network-server:8000 48 48 ))) 49 49 50 -If the user cannot add network-Servers, re-check the ChirpStack code or the server building process. 51 51 52 - [[image:image-20220531171609-1.png]]97 +(% style="color:red" %)**If the user cannot add network-Servers, re-check the ChirpStack code or the server building process.** 53 53 99 + 100 +[[image:image-20220531171609-1.png||height="638" width="1268"]](% style="display:none" %) 101 + 54 54 Add the Network-servers 55 55 56 56 57 -== 2.2 Step 2. Create Gateway-profiles ==105 +== 3.2 Step 2. Create Gateway-profiles == 58 58 59 -[[image:image-20220531171651-2.png]] 60 60 108 +[[image:image-20220531171651-2.png||height="632" width="1264"]](% style="display:none" %) 109 + 61 61 Create Gateway-profiles 62 62 63 63 64 -== 2.3 Step 3. Create Service-profiles ==113 +== 3.3 Step 3. Create Service-profiles == 65 65 66 -[[image:image-20220531171809-3.png]] 67 67 116 +[[image:image-20220531171809-3.png||height="761" width="1265"]] 117 + 68 68 Create Service-profiles 69 69 70 70 ... ... @@ -75,69 +75,81 @@ 75 75 If the user has completed the preceding steps, proceed to the next step.(% style="display:none" %) 76 76 77 77 78 -== 2.4 Step 4. Add the gateway ==128 +== 3.4 Step 4. Add the gateway == 79 79 130 + 80 80 The example gateway id is: a840411e96744150 81 81 82 82 ((( 83 83 (% style="color:red" %)**Note : The Gateway EUI and server addresses must match the ChirpStack configuration.** 135 + 136 + 84 84 ))) 85 85 86 -[[image:image-202205 25100350-5.png]](% style="display:none" %)139 +[[image:image-20220531171923-4.png||height="745" width="1253"]](% style="display:none" %) 87 87 88 - 89 89 Add the gateway 90 90 91 -[[image:image-20220525100417-6.png]] 92 92 144 + 145 +[[image:image-20220531172031-5.png]] 146 + 93 93 Configure the gateway 94 94 95 95 96 -== 2.5 Step 5. Checking gateway Status ==150 +== 3.5 Step 5. Checking gateway Status == 97 97 98 -[[image:image-20220525100448-7.png]](% style="display:none" %) 99 99 153 +[[image:image-20220531172158-6.png||height="704" width="1167"]](% style="display:none" %) 100 100 155 + 156 + 101 101 gateway Status 102 102 103 -[[image:image-2022052 6090446-3.png||height="653" width="1218"]]159 +[[image:image-20220531172304-7.png||height="628" width="1165"]] 104 104 105 105 gateway Status 106 106 107 107 108 -= 3. Gateway Registration for Basics Station =164 += 4. Gateway Registration for Basics Station = 109 109 110 -== Introduction == 166 +== 4.1 Introduction == 111 111 168 + 112 112 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. 113 113 114 114 ChirpStack Open-Source LoRaWAN® Network Server needs to set up a configuration that can use Semtech BasicStation. 115 115 116 -**Below list the support products and Requirements:** 117 117 174 +(% style="color:blue" %)**Below list the support products and Requirements:** 175 + 118 118 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]] 119 119 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/]] 120 120 121 -**How to set up chirpStack Basic Station** 179 +(% style="color:blue" %)**How to set up chirpStack Basic Station** 122 122 123 123 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]] 124 124 125 -**What do you need to prepare** 126 126 184 +(% style="color:blue" %)**What do you need to prepare** 185 + 127 127 A gateway that can access the internet normally 128 128 129 129 130 -== 3.1Add Gateway ==189 +== 4.2 Add Gateway == 131 131 191 + 132 132 [[image:image-20220524164205-10.png]] 133 133 134 134 135 -== 3.2Access the gateway GUI ==195 +== 4.3 Access the gateway GUI == 136 136 197 + 137 137 Access the gateway GUI interface of LoRaWAN~-~->LoRaWAN ~-~- Basic Station 138 138 139 139 [[image:image-20220524164319-11.png]] 140 140 202 + 141 141 User need to Choose the ChirpStack/Senet ~-~- Basic Station , input Server URI and Upload the TLS Certificate 142 142 143 143 (% class="box" %) ... ... @@ -144,7 +144,7 @@ 144 144 ((( 145 145 Service Provider ~-~-> Choose the ChirpStack/Senet ~-~- Basic Station 146 146 147 -LNS URI ~-~-> Enter the LNS URI address, For example : wss:~/~/xxxx.chirpstack.com:43 3or ws:~/~/xxxx.chirpstack.com:3001209 +LNS URI ~-~-> Enter the LNS URI address, For example : wss:~/~/xxxx.chirpstack.com:443 or ws:~/~/xxxx.chirpstack.com:3001 148 148 149 149 LNS TLS trust ~-~-> Upload the TLS Certificate 150 150 ))) ... ... @@ -153,55 +153,292 @@ 153 153 [[image:image-20220524164341-12.png]] 154 154 155 155 156 -== 3.3Start Station ==218 +== 4.4 Start Station == 157 157 158 -When the user has finished the configuration, Please click Sace&Apply to start station to connect ChirpStack 159 159 221 +When the user has finished the configuration, Please click **Sace&Apply** to start station to connect ChirpStack. 160 160 161 -== 3.4 Successful Connection == 162 162 224 +== 4.5 Successful Connection == 225 + 226 + 163 163 If user completes the above steps, which will see live date in the ChirpStack. 164 164 165 165 [[image:image-20220524164448-13.png]] 166 166 167 167 168 -== 3.5Trouble Shooting ==232 +== 4.6 Trouble Shooting == 169 169 234 + 170 170 User can check the station log in the logread/system log page. 171 171 172 -[[image:image-202205 24164514-14.png]]237 +[[image:image-20220531172837-8.png]] 173 173 174 174 175 175 and recode the station log in the system/Recode log page. 176 176 177 -[[image:image-202205 24164541-15.png]]242 +[[image:image-20220531172857-9.png]] 178 178 179 179 180 -= 4.Downlink =245 += 5. How the gateway connects to Chirpstack v3 via gateway-bridge = 181 181 182 -== 4.1 Chirpstack Downlink Note == 183 183 184 - [[image:image-20220525101223-9.png]]248 +(% style="color:blue" %)**Below list the support products and Requirements:** 185 185 186 -Convert the data to Base64 250 +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]] 251 +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/]] 187 187 253 +(% style="color:blue" %)**How to set up chirpStack Gateway-bridge** 188 188 189 - [[image:image-20220526090748-4.png]]255 +Users can check out the ChirpStack gateway-bridge v3 [[link>>https://www.chirpstack.io/gateway-bridge/gateway/dragino/]] 190 190 191 -Check ChripStack downlink DataRate 192 192 258 +(% style="color:blue" %)**What do you need to prepare** 193 193 260 +A gateway that can access the internet normally 261 + 262 + 263 +The following example does not have configuration certificates: 264 + 265 + 266 +== 5.1 Configure Packet Forwarder == 267 + 268 + 269 +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 270 + 271 +* In the (% style="color:blue" %)**LoRaWAN** (%%)menu, click on (% style="color:blue" %)**LoRaWAN ~-~- Semtech UDP** 272 + 273 +* Make sure the following settings are set: 274 +** **Service Provider:** //~-~-Custom/Private LoRaWAN~-~-// 275 +** **LoRaWAN Server Address:** //localhost or 127.0.0.1// 276 +** **Server port for upstream:** //1700// 277 +** **Server port for downstream:** //1700// 278 + 279 + Click (% style="color:blue" %)**Save & Apply**. 280 + 281 +[[image:image-20221222114220-2.png||height="748" width="931"]] 282 + 283 + 284 +== 5.2 Configuring gateway frequency == 285 + 286 + 287 +(% style="color:red" %)**Note: Gateway frequencies must match** 288 + 289 +[[image:image-20221222134830-3.png||height="408" width="923"]] 290 + 291 + 292 +== 5.3 Generate and modify the gateway-bridge configuration file == 293 + 294 + 295 +**1)Generate the gateway-bridge configuration file** 296 + 297 +By default, the configuration file is not up-to-date,so the user needs to rebuild the gateway-bridge configuration file. 298 + 299 +Users need to access the command line of the gateway through SSH,Then type the following command: 300 + 301 +(% class="box infomessage" %) 302 +((( 303 +**/opt/chirpstack-gateway-bridge/chirpstack-gateway-bridge configfile > /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml ** 304 +))) 305 + 306 + 307 +**2)modify the gateway-bridge configuration file** 308 + 309 +The user needs to modify the server address in line 252 in the configuration file 310 + 311 +(% class="box infomessage" %) 312 +((( 313 +**vim /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml ** 314 +))) 315 + 316 +[[image:image-20230415165254-1.png||height="583" width="956"]] 317 + 318 + 319 +== 5.4 Debug == 320 + 321 + 322 +After the above configuration is completed, the user can enter the command to debug the gateway-bridge connection 323 + 324 +(% class="box infomessage" %) 325 +((( 326 +**/opt/chirpstack-gateway-bridge/chirpstack-gateway-bridge ~-~-config /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml** 327 +))) 328 + 329 +If the gateway-bridge connection is normal, the debug log displays **"connected to mqtt broker"**. 330 + 331 +[[image:image-20230415170404-2.png]] 332 + 333 + 334 +If the debug log shows "**connection error**", check that the server port or server is correct 335 + 336 +[[image:image-20230415170854-3.png]] 337 + 338 + 339 +More information can be found on the **[[ChirpStack website>>https://www.chirpstack.io/docs/]]**or **[[Forum>>url:https://forum.chirpstack.io/]]** 340 + 341 + 342 +== 5.5 (Re)start and stop gateway-bridge == 343 + 344 + 345 +Use the following commands to (re)start and stop the ChirpStack Gateway Bridge Service: 346 + 347 +(% class="box infomessage" %) 348 +((( 349 +**# start** 350 + 351 +/etc/init.d/chirpstack-gateway-bridge start 352 + 353 +**# stop** 354 + 355 +/etc/init.d/chirpstack-gateway-bridge stop 356 + 357 +**# restart** 358 + 359 +/etc/init.d/chirpstack-gateway-bridge restart 360 +))) 361 + 362 + 363 += 6. How the gateway connects to Chirpstack v4 via gateway-bridge = 364 + 365 + 366 +(% style="color:blue" %)**Below list the support products and Requirements:** 367 + 368 +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]] 369 +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/]] 370 + 371 +(% style="color:blue" %)**How to set up chirpStack Gateway-bridge** 372 + 373 +Users can check out the ChirpStack gateway-bridge v4 [[link>>https://www.chirpstack.io/docs/chirpstack-gateway-bridge/install/dragino.html]] 374 + 375 + 376 +(% style="color:blue" %)**What do you need to prepare** 377 + 378 +A gateway that can access the internet normally 379 + 380 + 381 +== 6.1 Configure Packet Forwarder == 382 + 383 + 384 +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 385 + 386 +* In the (% style="color:blue" %)**LoRaWAN**(%%) menu, click on (% style="color:blue" %)**LoRaWAN ~-~- Semtech UDP** 387 + 388 +* Make sure the following settings are set: 389 +** **Service Provider:** //~-~-Custom/Private LoRaWAN~-~-// 390 +** **LoRaWAN Server Address:** //localhost or 127.0.0.1// 391 +** **Server port for upstream:** //1700// 392 +** **Server port for downstream:** //1700// 393 + 394 + Click (% style="color:blue" %)**Save & Apply**. 395 + 396 +[[image:image-20221222114220-2.png||height="748" width="931"]] 397 + 398 + 399 +== 6.2 Configuring gateway frequency == 400 + 401 + 402 +(% style="color:red" %)**Note: Gateway frequencies must match** 403 + 404 +[[image:image-20221222134830-3.png||height="408" width="923"]] 405 + 406 + 407 +== 6.3 Modify the gateway-bridge configuration file == 408 + 409 + 410 +Run the gateway command line command to modify the gateway-bridge configuration file: 411 + 412 +(% class="box infomessage" %) 413 +((( 414 +**root@dragino-1d27d4:~~# vim /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml ** 415 +))) 416 + 417 +[[image:image-20221222113302-1.png]] 418 + 419 + 420 +[[image:image-20221222140203-4.png||height="875" width="806"]] 421 + 422 +[[image:image-20221230094246-1.png||height="768" width="783"]] 423 + 424 +(% class="wikigeneratedid" id="H" %) 425 +After the modification, run the following command: **/etc/init.d/chirpstack-gateway-bridge restart** 426 + 427 + 428 +== 6.4 (Re)start and stop gateway-bridge == 429 + 430 + 431 +Use the following commands to (re)start and stop the ChirpStack Gateway Bridge Service: 432 + 433 +(% class="box infomessage" %) 434 +((( 435 +**# start** 436 + 437 +/etc/init.d/chirpstack-gateway-bridge start 438 + 439 +**# stop** 440 + 441 +/etc/init.d/chirpstack-gateway-bridge stop 442 + 443 +**# restart** 444 + 445 +/etc/init.d/chirpstack-gateway-bridge restart 446 +))) 447 + 448 + 449 +== 6.5 Successful Connection == 450 + 451 + 452 +[[image:image-20221222141754-5.png||height="488" width="1150"]] 453 + 454 + 455 +[[image:image-20221222141830-6.png||height="582" width="1153"]] 456 + 457 + 458 += 7. Downlink = 459 + 460 +== 7.1 Convert HEX to Base64 == 461 + 462 + 463 +(% style="color:red" %)**Note: Chirpstack uses base64 to downlink, the end node user manual provides HEX format of the downlink commands. So user needs to convert the HEX to Base64.** 464 + 465 +**[[Online HEX to Base64 Converter>>https://base64.guru/converter/encode/hex]]:** 466 + 467 +[[image:image-20221010193350-1.png]] 468 + 469 + 470 + 471 +**[[Online Base64 to Hex converter>>https://base64.guru/converter/decode/hex]]** 472 + 473 +[[image:image-20221010193621-2.png]] 474 + 475 + 476 +== 7.2 Chirpstack Downlink Note == 477 + 478 + 479 +[[image:image-20220601102543-2.png]] 480 + 481 +**Convert the data to Base64** 482 + 483 +(% style="display:none" %) (%%) 484 + 485 + 486 +[[image:image-20220531173236-10.png||height="597" width="1215"]] 487 + 488 +**Check ChripStack downlink DataRate** 489 + 490 + 491 + 194 194 [[image:image-20220525101326-11.png]] 195 195 196 -Make sure the RX2DR is the same in the end node 494 +**Make sure the RX2DR is the same in the end node** 197 197 198 198 199 -== 4.2Loraserver Downlink Note ==497 +== 7.3 Loraserver Downlink Note == 200 200 499 + 201 201 User can use MQTT to send downlink payload to ChirpStack to perform downstream to LoRaWAN End 202 202 203 203 ((( 204 -Below is examples: 503 +**Below is examples:** 205 205 ))) 206 206 207 207 (% class="box" %) ... ... @@ -212,16 +212,17 @@ 212 212 User name: User name Password: password 213 213 ))) 214 214 215 -[[image:image-202205 25101401-12.png]]514 +[[image:image-20220531173419-11.png]] 216 216 217 217 ((( 218 -MQTT Connect to ChirpStack 517 +**MQTT Connect to ChirpStack** 219 219 519 + 220 220 221 221 ))) 222 222 223 223 ((( 224 -After connect 524 +**After connect** 225 225 ))) 226 226 227 227 (% class="box" %) ... ... @@ -239,24 +239,16 @@ 239 239 Payload: {"confirmed":true,"fPort":2,"data":"AwEB"} 240 240 ))) 241 241 242 -[[image:image-202205 25101436-13.png]]542 +[[image:image-20220531173519-12.png]] 243 243 244 -MQTT Connect to ChirpStack 544 +**MQTT Connect to ChirpStack** 245 245 246 246 247 -((( 248 -(% 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/]] 249 -))) 547 +**If we want to send downstream hex 030101 to end node, the BASE64 payload is AwEB** 250 250 251 -[[image:image-202205 25101505-14.png]]549 +[[image:image-20220531173658-14.png]] 252 252 253 -Choose to Use Hex for Encode 254 254 255 - 256 -If we want send downstream hex 030101 to end node, the BASE64 payload is AwEB 257 - 258 -[[image:image-20220525104025-15.png]] 259 - 260 260 ((( 261 261 Downlink payload encode javescript code: 可以在网站上运行以下Javsscript代码: 262 262 ))) ... ... @@ -274,15 +274,15 @@ 274 274 { 275 275 if(sha1[n] >= 'A' && sha1[n] <= 'Z') 276 276 { 277 - ascv = sha1.charCodeAt(n) - 55; 569 + ascv = sha1.charCodeAt( n ) - 55; 278 278 } 279 279 else if(sha1[n] >= 'a' && sha1[n] <= 'z') 280 280 { 281 - ascv = sha1.charCodeAt(n) - 87; 573 + ascv = sha1.charCodeAt( n ) - 87; 282 282 } 283 283 else 284 284 { 285 - ascv = sha1.charCodeAt(n) - 48; 577 + ascv = sha1.charCodeAt( n ) - 48; 286 286 } 287 287 \\ bit_arr = (bit_arr << 4) | ascv; 288 288 bit_num += 4; ... ... @@ -319,22 +319,27 @@ 319 319 ))) 320 320 321 321 322 -== 4.3Add the decode function in Chirpstack for the payload ==614 +== 7.4 Add the decode function in Chirpstack for the payload == 323 323 616 + 324 324 User enters the payload code according to the steps. 325 325 326 -[[ image:image-20220525104051-16.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]]** 327 327 328 -[[image:image-202205 25104155-17.png]]621 +[[image:image-20220531173754-15.png||height="474" width="1334"]] 329 329 330 330 331 -[[image:image-202205 26091602-5.png]]624 +[[image:image-20220531173856-16.png]] 332 332 333 -[[image:image-20220526091801-6.png]] 334 334 627 +[[image:image-20220531174120-20.png]] 335 335 336 - =5.Multiply Uplink in ChirpStack =629 +[[image:image-20220531174046-19.png]] 337 337 631 + 632 += 8. Multiply Uplink in ChirpStack = 633 + 634 + 338 338 ((( 339 339 nbtrans field is the value to determine the re-transmission time for unconfirmed uplink data. 340 340 ))) ... ... @@ -341,12 +341,17 @@ 341 341 342 342 ((( 343 343 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]] 641 + 642 + 344 344 ))) 345 345 346 -[[image:image-20220526091912-7.png]] 645 +[[image:image-20220526091912-7.png||height="241" width="1336"]] 347 347 647 + 348 348 ((( 349 349 nbtrans is a field of ADR message, in unconfirm mode, it tells end node how many time it needs to transmit for every frame. 650 + 651 + 350 350 ))) 351 351 352 352 [[image:image-20220525104359-21.png]] ... ... @@ -353,6 +353,8 @@ 353 353 354 354 ((( 355 355 Above behaviour will cause the platform shows below two cases of error: 658 + 659 + 356 356 ))) 357 357 358 358 ((( ... ... @@ -362,29 +362,35 @@ 362 362 [[image:image-20220525104437-22.png]] 363 363 364 364 365 -Duplicate transmission in short time 366 366 367 - [[image:image-20220525104502-23.png]]670 +**Duplicate transmission in short time** 368 368 672 +[[image:image-20220601102430-1.png||height="598" width="1319"]] 369 369 370 -== 5.1 Solution == 371 371 675 +== 8.1 Solution == 676 + 677 + 372 372 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]] 373 373 680 + 374 374 ((( 375 -~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. 682 +(% 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.** 683 + 684 + 376 376 ))) 377 377 378 378 [[image:image-20220525104532-24.png]] 379 379 380 380 381 -installation path: 690 +**installation path:** 382 382 383 383 [[image:image-20220525104554-25.png]] 384 384 385 385 695 + 386 386 ((( 387 -2. Environment variable settings: .697 +(% style="color:blue" %)**2. Environment variable settings:** 388 388 ))) 389 389 390 390 ((( ... ... @@ -392,23 +392,25 @@ 392 392 ))) 393 393 394 394 ((( 395 -2)Set the variable name GOROOT and the variable value C:\Go\ (installation directory) 705 +2) Set the variable name GOROOT and the variable value C:\Go\ (installation directory) 396 396 ))) 397 397 398 398 [[image:image-20220524165433-33.png]] 399 399 400 400 401 -3)Modify the system variable Path and add C:\Go\bin\: 711 +3) Modify the system variable Path and add C:\Go\bin\: 402 402 403 403 [[image:image-20220524165452-34.png]] 404 404 715 + 405 405 User variable setting file generation directory: D:\go: 406 406 407 407 [[image:image-20220524165517-35.png]] 408 408 409 409 410 -3. Modify the ADR configuration file according to your own needs, adr.setting.go is an example of the ADR configuration file. 411 411 722 +(% 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.** 723 + 412 412 The name of the plugin: Example ADR plugin: 413 413 414 414 [[image:image-20220524165540-36.png]] ... ... @@ -418,8 +418,9 @@ 418 418 [[image:image-20220524165557-37.png]] 419 419 420 420 421 -4. Compile the ADR configuration file and generate the exe file. 422 422 734 +(% style="color:blue" %)**4. Compile the ADR configuration file and generate the exe file.** 735 + 423 423 1) Create a folder named adr-setting 424 424 425 425 2) Open the adr-setting folder ... ... @@ -443,8 +443,9 @@ 443 443 [[image:image-20220524165623-38.png]] 444 444 445 445 446 -5. Add the plugin and run the plugin. 447 447 760 +(% style="color:blue" %)**5. Add the plugin and run the plugin.** 761 + 448 448 ((( 449 449 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: 450 450 ))) ... ... @@ -480,14 +480,120 @@ 480 480 Finish. 481 481 482 482 483 -= 6.TroubleShooting =797 += 9. How to store/get all data traffic for a specific sensor, including raw payload, and uplink/ downlink history. = 484 484 485 -== 6.1 MIC Mismatch or MIC Failed == 486 486 800 +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. 801 + 802 +This example will be shown how to store/get all the data in two ways: 803 + 804 +(% style="color:blue" %)**//1). Chirpstack ~-~-> Node-red//** 805 + 806 + 807 +[[image:image-20221012184501-1.png]] 808 + 809 + 810 +Use MQTT in Nore-red to subscribe to topics published by the chirpstack-application and then continuously write to a file 811 + 812 +[[image:image-20221012174220-2.png]] 813 + 814 + 815 +[[image:image-20221012184655-3.png||height="395" width="1049"]] 816 + 817 + 818 +**Each message is continuously logged to a specified file** 819 + 820 +[[image:image-20221012174352-3.png]] 821 + 822 + 823 +(% style="color:blue" %)**//2). MQTT Sub//** 824 + 825 +If you don't want to store the information via node-red, you can get the output via the subscribe command. 826 + 827 + 828 +**If connecting from the same machine, you can use the following command to receive data:** 829 + 830 +(% class="box infomessage" %) 487 487 ((( 832 +**mosquitto_sub -h localhost -t "application/#" -v** 833 +))) 834 + 835 + 836 +(% style="color:blue" %)**Different host** 837 + 838 +(% class="box infomessage" %) 839 +((( 840 +**mosquitto_sub -h IPADDRESS -p 8883 ~-~-insecure ~-~-cafile ca.pem ~-~-cert cert.pem ~-~-key key.pem -t "application/#" -v** 841 +))) 842 + 843 +[[image:image-20221012173639-1.png]] 844 + 845 += 10. Example: Use Local Server ChirpStack and Node-Red in LPS8v2 = 846 + 847 + 848 +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: 849 + 850 +* LHT65N register on LPS8v2 Built-In ChirpStack server already 851 +* The user is able to see the data on the built-in ChirpStack server device page. 852 + 853 +Below are the steps to plot the sensor data on LPS8v2 Node-Red. 854 + 855 + 856 +== 10.1 Link Node-Red to Local ChirpStack == 857 + 858 + 859 +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"]]** 860 + 861 +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]]** 862 + 863 +After importing the Input Flow is complete, the user needs to edit the MQTT in the node 864 + 865 + 866 +(% style="color:blue" %)**1. Change the Topic** 867 + 868 +Topic modifies it to the following format: 869 + 870 +**application/(% style="color:red" %)Application ID(%%)/device/(% style="color:red" %)End device ID(%%)/event/up** 871 + 872 +Reference link: [[**Node-RED integration** >>https://www.chirpstack.io/docs/guides/node-red-integration.html]] 873 + 874 +[[image:image-20230527143923-1.png||height="588" width="1132"]] 875 + 876 + 877 + 878 +(% style="color:blue" %)**2. Enter the MQTT configuration information** 879 + 880 +[[image:image-20230527144206-2.png||height="590" width="1136"]] 881 + 882 + 883 +(% style="color:blue" %)3. **Finally, click "Update" and Deploy** 884 + 885 +"Connected" indicates that the Link Node-red to Local Chirpstack is normal. 886 + 887 +[[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"]] 888 + 889 + 890 +== 10.2 Check result. == 891 + 892 + 893 +Users can check logs by adding debug. 894 + 895 +Browser access: **Node-Red-Server-Address:1880/ui** 896 + 897 +[[image:image-20230529150923-1.png||height="424" width="1118"]] 898 + 899 + 900 += 11. Trouble Shooting = 901 + 902 +== 11.1 MIC Mismatch or MIC Failed == 903 + 904 + 905 +((( 488 488 When the device is registered or the device is working normally, the problem of MIC mismatch and MIC failed occurs. 489 489 ))) 490 490 491 491 ((( 492 492 Under normal circumstances, users need to change the APPKEY to solve this problem. 911 + 912 + 493 493 )))
- 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-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