Changes for page Notes for ChirpStack
Last modified by Kilight Cao on 2024/09/24 15:23
Change comment:
Uploaded new attachment "image-20220525100058-1.png", version {1}
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 89 removed)
- LHT65N-ChirpStack-node-red.json
- image-20220525100158-2.png
- image-20220525100255-3.png
- image-20220525100322-4.png
- image-20220525100350-5.png
- image-20220525100417-6.png
- image-20220525100448-7.png
- image-20220525100516-8.png
- image-20220525101223-9.png
- image-20220525101247-10.png
- image-20220525101326-11.png
- image-20220525101401-12.png
- image-20220525101436-13.png
- image-20220525101505-14.png
- image-20220525104025-15.png
- image-20220525104051-16.png
- image-20220525104155-17.png
- image-20220525104223-18.png
- image-20220525104258-19.png
- image-20220525104328-20.png
- image-20220525104359-21.png
- image-20220525104437-22.png
- image-20220525104502-23.png
- image-20220525104532-24.png
- image-20220525104554-25.png
- image-20220525104647-26.png
- image-20220526085155-1.png
- image-20220526085310-2.png
- image-20220526090446-3.png
- image-20220526090748-4.png
- image-20220526091602-5.png
- image-20220526091801-6.png
- 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
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Kilight1 +XWiki.Xiaoling - Content
-
... ... @@ -1,205 +1,128 @@ 1 -**~ Table ofContents:**1 +**~ Contents:** 2 2 3 3 {{toc/}} 4 4 5 += 1. Introduction = 5 5 6 - 7 - 8 -= 1. Introduction = 9 - 10 - 11 11 (% 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/]] 12 12 13 13 ((( 14 14 (% style="color:black" %)The dragino gateway can connect the ChirpStack server via Semtech UDP or Semtech Basic Station. 15 - 16 - 17 17 ))) 18 18 19 - (% style="color:blue" %)**Prerequisite:**13 +**Prerequisite** 20 20 21 - **1) Have a Chirstack Server.**15 +1) Have a Chirstack Server. 22 22 23 -[[image:image-2022052 5100058-1.png]]17 +[[image:image-20220524163736-2.png]] 24 24 19 + 25 25 ChirpStack home page 26 26 22 +2) Gateway model support 27 27 28 - 29 -**2) Gateway model support** 30 - 31 31 (% class="box" %) 32 32 ((( 33 33 ((( 34 34 Semtech UDP : **All Model** 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 station28 +Basic Station : , , 29 +**Note** : the firmware needs > if use the Bais station 37 37 ))) 38 38 ))) 39 39 40 -= 2. Nodeusage introduction=33 += 2. Semtech UDP = 41 41 42 -== 2.1 RegisterNode ==35 +== 2.1 Step 1. Add the Network-servers == 43 43 44 -Step 1: Add application 45 - 46 -[[image:image-20230702094608-1.png||height="537" width="1015"]] 47 - 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 - 88 88 The network-Servers address varies depending on the ChirpStack server setup environment 89 89 90 90 (% class="box" %) 91 91 ((( 92 - Windows ~-~-> 93 - Linux 41 + Windows ~-~->Network-server server * : localhost:8000 42 + Linux ~-~->Network-server server * : chirpstack-network-server:8000 94 94 ))) 95 95 45 +If the user cannot add network-Servers, re-check the ChirpStack code or the server building process. 96 96 97 - (% style="color:red" %)**If the user cannot add network-Servers, re-check the ChirpStack code or the server buildingprocess.**47 +[[image:image-20220524163926-3.png]] 98 98 99 - 100 -[[image:image-20220531171609-1.png||height="638" width="1268"]](% style="display:none" %) 101 - 102 102 Add the Network-servers 103 103 51 +== 2.2 Step 2. Create Gateway-profiles == 104 104 105 - == 3.2 Step 2. CreateGateway-profiles ==53 +[[image:image-20220524163952-4.png]] 106 106 107 - 108 -[[image:image-20220531171651-2.png||height="632" width="1264"]](% style="display:none" %) 109 - 110 110 Create Gateway-profiles 111 111 57 +== 2.3 Step 3. Create Service-profiles == 112 112 113 - == 3.3 Step 3. CreateService-profiles ==59 +[[image:image-20220524164008-5.png]] 114 114 115 - 116 -[[image:image-20220531171809-3.png||height="761" width="1265"]] 117 - 118 118 Create Service-profiles 119 119 120 - 121 121 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. 122 122 123 123 (% style="color:red" %)**Note : Before add the gateway, the user needs to complete the preceding three steps.** 124 124 125 -If the user has completed the preceding steps, proceed to the next step. (% style="display:none" %)67 +If the user has completed the preceding steps, proceed to the next step. 126 126 69 +== 2.4 Step 4. Add the gateway == 127 127 128 -== 3.4 Step 4. Add the gateway == 129 - 130 - 131 131 The example gateway id is: a840411e96744150 132 132 133 133 ((( 134 134 (% style="color:red" %)**Note : The Gateway EUI and server addresses must match the ChirpStack configuration.** 135 - 136 - 137 137 ))) 138 138 139 -[[image:image-202205 31171923-4.png||height="745" width="1253"]](% style="display:none" %)77 +[[image:image-20220524164029-6.png]] 140 140 141 141 Add the gateway 142 142 81 +[[image:image-20220524164048-7.png]] 143 143 144 - 145 -[[image:image-20220531172031-5.png]] 146 - 147 147 Configure the gateway 148 148 85 +== 2.5 Step 5. Checking gateway Status == 149 149 150 - == 3.5 Step5.Checkinggateway Status ==87 +[[image:image-20220524164104-8.png]] 151 151 152 - 153 -[[image:image-20220531172158-6.png||height="704" width="1167"]](% style="display:none" %) 154 - 155 - 156 - 157 157 gateway Status 158 158 159 -[[image:image-202205 31172304-7.png||height="628" width="1165"]]91 +[[image:image-20220524164129-9.png]] 160 160 161 161 gateway Status 162 162 95 += 3. Gateway Registration for Basics Station = 163 163 164 -= 4. Gateway Registration for Basics Station =97 +== Introduction == 165 165 166 -== 4.1 Introduction == 167 - 168 - 169 169 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. 170 170 171 171 ChirpStack Open-Source LoRaWAN® Network Server needs to set up a configuration that can use Semtech BasicStation. 172 172 103 +**Below list the support products and Requirements:** 173 173 174 -(% style="color:blue" %)**Below list the support products and Requirements:** 175 - 176 176 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]] 177 177 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/]] 178 178 179 - (% style="color:blue" %)**How to set up chirpStack Basic Station**108 +**How to set up chirpStack Basic Station** 180 180 181 181 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]] 182 182 112 +**What do you need to prepare** 183 183 184 -(% style="color:blue" %)**What do you need to prepare** 185 - 186 186 A gateway that can access the internet normally 187 187 116 +== 3.1 Add Gateway == 188 188 189 -== 4.2 Add Gateway == 190 - 191 - 192 192 [[image:image-20220524164205-10.png]] 193 193 120 +== 3.2 Access the gateway GUI == 194 194 195 -== 4.3 Access the gateway GUI == 196 - 197 - 198 198 Access the gateway GUI interface of LoRaWAN~-~->LoRaWAN ~-~- Basic Station 199 199 200 200 [[image:image-20220524164319-11.png]] 201 201 202 - 203 203 User need to Choose the ChirpStack/Senet ~-~- Basic Station , input Server URI and Upload the TLS Certificate 204 204 205 205 (% class="box" %) ... ... @@ -206,7 +206,7 @@ 206 206 ((( 207 207 Service Provider ~-~-> Choose the ChirpStack/Senet ~-~- Basic Station 208 208 209 -LNS URI ~-~-> Enter the LNS URI address, For example : wss:~/~/xxxx.chirpstack.com:4 43 or ws:~/~/xxxx.chirpstack.com:3001132 +LNS URI ~-~-> Enter the LNS URI address, For example : wss:~/~/xxxx.chirpstack.com:433 or ws:~/~/xxxx.chirpstack.com:3001 210 210 211 211 LNS TLS trust ~-~-> Upload the TLS Certificate 212 212 ))) ... ... @@ -214,293 +214,48 @@ 214 214 (% class="wikigeneratedid" %) 215 215 [[image:image-20220524164341-12.png]] 216 216 140 +== 3.3 Start Station == 217 217 218 - ==4.4StartStation==142 +When the user has finished the configuration, Please click Sace&Apply to start station to connect ChirpStack 219 219 144 +== 3.4 Successful Connection == 220 220 221 -When the user has finished the configuration, Please click **Sace&Apply** to start station to connect ChirpStack. 222 - 223 - 224 -== 4.5 Successful Connection == 225 - 226 - 227 227 If user completes the above steps, which will see live date in the ChirpStack. 228 228 229 229 [[image:image-20220524164448-13.png]] 230 230 150 +== 3.5 Trouble Shooting == 231 231 232 -== 4.6 Trouble Shooting == 233 - 234 - 235 235 User can check the station log in the logread/system log page. 236 236 237 -[[image:image-202205 31172837-8.png]]154 +[[image:image-20220524164514-14.png]] 238 238 239 - 240 240 and recode the station log in the system/Recode log page. 241 241 242 -[[image:image-202205 31172857-9.png]]158 +[[image:image-20220524164541-15.png]] 243 243 160 += 4. Downlink = 244 244 245 -= 5.Howthe gateway connects toChirpstackv3 viagateway-bridge=162 +== 4.1 Chirpstack Downlink Note == 246 246 164 +[[image:image-20220524164613-16.png]] 247 247 248 - (% style="color:blue" %)**Below list thesupport productsandRequirements:**166 +Convert the data to Base64 249 249 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/]] 168 +[[image:image-20220524164632-17.png]] 252 252 253 - (% style="color:blue"%)**How to set up chirpStackGateway-bridge**170 +Check ChripStack downlink DataRate 254 254 255 - Users can check out the ChirpStackgateway-bridge v3 [[link>>https://www.chirpstack.io/gateway-bridge/gateway/dragino/]]172 +[[image:image-20220524164724-18.png]] 256 256 174 +Make sure the RX2DR is the same in the end node 257 257 258 - (%style="color:blue"%)**What doyouneedtoprepare**176 +== 4.2 Loraserver Downlink Note == 259 259 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 - 492 -[[image:image-20220525101326-11.png]] 493 - 494 -**Make sure the RX2DR is the same in the end node** 495 - 496 - 497 -== 7.3 Loraserver Downlink Note == 498 - 499 - 500 500 User can use MQTT to send downlink payload to ChirpStack to perform downstream to LoRaWAN End 501 501 502 502 ((( 503 - **Below is examples:**181 +Below is examples: 504 504 ))) 505 505 506 506 (% class="box" %) ... ... @@ -511,17 +511,14 @@ 511 511 User name: User name Password: password 512 512 ))) 513 513 514 -[[image:image-202205 31173419-11.png]]192 +[[image:image-20220524164806-19.png]] 515 515 516 516 ((( 517 -**MQTT Connect to ChirpStack** 518 - 519 - 520 - 195 +MQTT Connect to ChirpStack 521 521 ))) 522 522 523 523 ((( 524 - **After connect**199 +After connect 525 525 ))) 526 526 527 527 (% class="box" %) ... ... @@ -539,16 +539,22 @@ 539 539 Payload: {"confirmed":true,"fPort":2,"data":"AwEB"} 540 540 ))) 541 541 542 -[[image:image-202205 31173519-12.png]]217 +[[image:image-20220524164829-20.png]] 543 543 544 - **MQTT Connect to ChirpStack**219 +MQTT Connect to ChirpStack 545 545 221 +((( 222 +(% 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/]] 223 +))) 546 546 547 - **If we want to send downstreamhex030101 to end node, the BASE64ayload is AwEB**225 +[[image:image-20220524164849-21.png]] 548 548 549 - [[image:image-20220531173658-14.png]]227 +Choose to Use Hex for Encode 550 550 229 +If we want send downstream hex 030101 to end node, the BASE64 payload is AwEB 551 551 231 +[[image:image-20220524164907-22.png]] 232 + 552 552 ((( 553 553 Downlink payload encode javescript code: 可以在网站上运行以下Javsscript代码: 554 554 ))) ... ... @@ -566,15 +566,15 @@ 566 566 { 567 567 if(sha1[n] >= 'A' && sha1[n] <= 'Z') 568 568 { 569 - ascv = sha1.charCodeAt( 250 + ascv = sha1.charCodeAt(n) - 55; 570 570 } 571 571 else if(sha1[n] >= 'a' && sha1[n] <= 'z') 572 572 { 573 - ascv = sha1.charCodeAt( 254 + ascv = sha1.charCodeAt(n) - 87; 574 574 } 575 575 else 576 576 { 577 - ascv = sha1.charCodeAt( 258 + ascv = sha1.charCodeAt(n) - 48; 578 578 } 579 579 \\ bit_arr = (bit_arr << 4) | ascv; 580 580 bit_num += 4; ... ... @@ -610,28 +610,20 @@ 610 610 AwAA is 0x030000's base 64 Encode. 611 611 ))) 612 612 294 +== 4.3 Add the decode function in Chirpstack for the payload == 613 613 614 -== 7.4 Add the decode function in Chirpstack for the payload == 615 - 616 - 617 617 User enters the payload code according to the steps. 618 618 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 draginoend node>>https://github.com/dragino/dragino-end-node-decoder]]**298 +[[image:image-20220524165001-23.png]] 620 620 621 -[[image:image-202205 31173754-15.png||height="474" width="1334"]]300 +[[image:image-20220524165028-24.png]] 622 622 302 +[[image:image-20220524165100-25.png]] 623 623 624 -[[image:image-202205 31173856-16.png]]304 +[[image:image-20220524165116-26.png]] 625 625 306 += 5. Multiply Uplink in ChirpStack = 626 626 627 -[[image:image-20220531174120-20.png]] 628 - 629 -[[image:image-20220531174046-19.png]] 630 - 631 - 632 -= 8. Multiply Uplink in ChirpStack = 633 - 634 - 635 635 ((( 636 636 nbtrans field is the value to determine the re-transmission time for unconfirmed uplink data. 637 637 ))) ... ... @@ -638,25 +638,18 @@ 638 638 639 639 ((( 640 640 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 - 643 643 ))) 644 644 645 -[[image:image-20220526 091912-7.png||height="241" width="1336"]]316 +[[image:image-20220524165141-27.png]] 646 646 647 - 648 648 ((( 649 649 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 - 652 652 ))) 653 653 654 -[[image:image-202205251 04359-21.png]]322 +[[image:image-20220524165158-28.png]] 655 655 656 656 ((( 657 657 Above behaviour will cause the platform shows below two cases of error: 658 - 659 - 660 660 ))) 661 661 662 662 ((( ... ... @@ -663,38 +663,28 @@ 663 663 Error of duplicate Frame Counter 664 664 ))) 665 665 666 -[[image:image-2022052 5104437-22.png]]332 +[[image:image-20220524165301-29.png]] 667 667 334 +Duplicate transmission in short time 668 668 336 +[[image:image-20220524165319-30.png]] 669 669 670 - **Duplicate transmissionin short time**338 +== 5.1 Solution == 671 671 672 -[[image:image-20220601102430-1.png||height="598" width="1319"]] 673 - 674 - 675 -== 8.1 Solution == 676 - 677 - 678 678 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]] 679 679 680 - 681 681 ((( 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 - 343 +~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. 685 685 ))) 686 686 687 -[[image:image-2022052 5104532-24.png]]346 +[[image:image-20220524165339-31.png]] 688 688 348 +installation path: 689 689 690 - **installation path:**350 +[[image:image-20220524165400-32.png]] 691 691 692 -[[image:image-20220525104554-25.png]] 693 - 694 - 695 - 696 696 ((( 697 - (% style="color:blue" %)**2.**353 +2. Environment variable settings:. 698 698 ))) 699 699 700 700 ((( ... ... @@ -702,25 +702,21 @@ 702 702 ))) 703 703 704 704 ((( 705 -2) 361 +2)Set the variable name GOROOT and the variable value C:\Go\ (installation directory) 706 706 ))) 707 707 708 708 [[image:image-20220524165433-33.png]] 709 709 366 +3)Modify the system variable Path and add C:\Go\bin\: 710 710 711 -3) Modify the system variable Path and add C:\Go\bin\: 712 - 713 713 [[image:image-20220524165452-34.png]] 714 714 715 - 716 716 User variable setting file generation directory: D:\go: 717 717 718 718 [[image:image-20220524165517-35.png]] 719 719 374 +3. Modify the ADR configuration file according to your own needs, adr.setting.go is an example of the ADR configuration file. 720 720 721 - 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 - 724 724 The name of the plugin: Example ADR plugin: 725 725 726 726 [[image:image-20220524165540-36.png]] ... ... @@ -729,10 +729,8 @@ 729 729 730 730 [[image:image-20220524165557-37.png]] 731 731 384 +4. Compile the ADR configuration file and generate the exe file. 732 732 733 - 734 -(% style="color:blue" %)**4. Compile the ADR configuration file and generate the exe file.** 735 - 736 736 1) Create a folder named adr-setting 737 737 738 738 2) Open the adr-setting folder ... ... @@ -755,10 +755,8 @@ 755 755 756 756 [[image:image-20220524165623-38.png]] 757 757 408 +5. Add the plugin and run the plugin. 758 758 759 - 760 -(% style="color:blue" %)**5. Add the plugin and run the plugin.** 761 - 762 762 ((( 763 763 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: 764 764 ))) ... ... @@ -789,125 +789,18 @@ 789 789 ))) 790 790 ))) 791 791 792 -[[image:image-2022052 5104647-26.png]]440 +[[image:image-20220524165659-40.png]] 793 793 794 794 Finish. 795 795 444 += 6. Trouble Shooting = 796 796 797 -= 9.Howtostore/getall data trafficforaspecific sensor, includingraw payload, and uplink/ downlink history.=446 +== 6.1 MIC Mismatch or MIC Failed == 798 798 799 - 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" %) 831 831 ((( 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 -((( 906 906 When the device is registered or the device is working normally, the problem of MIC mismatch and MIC failed occurs. 907 907 ))) 908 908 909 909 ((( 910 910 Under normal circumstances, users need to change the APPKEY to solve this problem. 911 - 912 - 913 913 )))
- LHT65N-ChirpStack-node-red.json
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Kilight - Size
-
... ... @@ -1,1 +1,0 @@ 1 -18.9 KB - Content
-
... ... @@ -1,721 +1,0 @@ 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-20220525100158-2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -52.2 KB - Content
- image-20220525100255-3.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -60.1 KB - Content
- image-20220525100322-4.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -91.1 KB - Content
- image-20220525100350-5.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -79.8 KB - Content
- image-20220525100417-6.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -86.3 KB - Content
- image-20220525100448-7.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -77.4 KB - Content
- image-20220525100516-8.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -126.2 KB - Content
- image-20220525101223-9.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -36.4 KB - Content
- image-20220525101247-10.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -91.0 KB - Content
- image-20220525101326-11.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -120.2 KB - Content
- image-20220525101401-12.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -93.1 KB - Content
- image-20220525101436-13.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -63.9 KB - Content
- image-20220525101505-14.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -165.4 KB - Content
- image-20220525104025-15.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -77.3 KB - Content
- image-20220525104051-16.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -27.1 KB - Content
- image-20220525104155-17.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -46.8 KB - Content
- image-20220525104223-18.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -87.7 KB - Content
- image-20220525104258-19.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -44.9 KB - Content
- image-20220525104328-20.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -36.9 KB - Content
- image-20220525104359-21.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -136.3 KB - Content
- image-20220525104437-22.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -23.0 KB - Content
- image-20220525104502-23.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -59.2 KB - Content
- image-20220525104532-24.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -45.7 KB - Content
- image-20220525104554-25.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -24.5 KB - Content
- image-20220525104647-26.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -23.9 KB - Content
- image-20220526085155-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -116.8 KB - Content
- image-20220526085310-2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -141.7 KB - Content
- image-20220526090446-3.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -342.8 KB - Content
- image-20220526090748-4.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -214.7 KB - Content
- image-20220526091602-5.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -129.2 KB - Content
- image-20220526091801-6.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -88.1 KB - Content
- image-20220526091912-7.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -94.9 KB - Content
- image-20220531171609-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -79.4 KB - Content
- image-20220531171651-2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -86.3 KB - Content
- image-20220531171809-3.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -126.4 KB - Content
- image-20220531171923-4.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -113.1 KB - Content
- image-20220531172031-5.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -62.4 KB - Content
- image-20220531172158-6.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -108.7 KB - Content
- image-20220531172304-7.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -162.5 KB - Content
- image-20220531172837-8.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -67.9 KB - Content
- image-20220531172857-9.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -36.6 KB - Content
- image-20220531173236-10.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -160.2 KB - Content
- image-20220531173419-11.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -104.3 KB - Content
- image-20220531173519-12.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -63.9 KB - Content
- image-20220531173601-13.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -67.6 KB - Content
- image-20220531173658-14.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -59.3 KB - Content
- image-20220531173754-15.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -41.7 KB - Content
- image-20220531173856-16.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -46.7 KB - Content
- image-20220531173939-17.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -41.4 KB - Content
- image-20220531174015-18.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -27.4 KB - Content
- image-20220531174046-19.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -27.2 KB - Content
- image-20220531174120-20.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -41.4 KB - Content
- image-20220601102430-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -139.4 KB - Content
- image-20220601102543-2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -51.5 KB - Content
- image-20221010193350-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Edwin - Size
-
... ... @@ -1,1 +1,0 @@ 1 -42.7 KB - Content
- image-20221010193621-2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Edwin - Size
-
... ... @@ -1,1 +1,0 @@ 1 -34.2 KB - Content
- image-20221012173639-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoye - Size
-
... ... @@ -1,1 +1,0 @@ 1 -56.2 KB - Content
- image-20221012174220-2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoye - Size
-
... ... @@ -1,1 +1,0 @@ 1 -14.8 KB - Content
- image-20221012174352-3.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoye - Size
-
... ... @@ -1,1 +1,0 @@ 1 -93.0 KB - Content
- image-20221012184501-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoye - Size
-
... ... @@ -1,1 +1,0 @@ 1 -91.3 KB - Content
- image-20221012184631-2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoye - Size
-
... ... @@ -1,1 +1,0 @@ 1 -32.4 KB - Content
- image-20221012184655-3.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoye - Size
-
... ... @@ -1,1 +1,0 @@ 1 -45.4 KB - Content
- image-20221222113302-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Kilight - Size
-
... ... @@ -1,1 +1,0 @@ 1 -76.3 KB - Content
- image-20221222114220-2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Kilight - Size
-
... ... @@ -1,1 +1,0 @@ 1 -64.3 KB - Content
- image-20221222134830-3.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Kilight - Size
-
... ... @@ -1,1 +1,0 @@ 1 -54.5 KB - Content
- image-20221222140203-4.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Kilight - Size
-
... ... @@ -1,1 +1,0 @@ 1 -91.4 KB - Content
- image-20221222141754-5.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Kilight - Size
-
... ... @@ -1,1 +1,0 @@ 1 -179.1 KB - Content
- image-20221222141830-6.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Kilight - Size
-
... ... @@ -1,1 +1,0 @@ 1 -116.7 KB - Content
- image-20221230094246-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Kilight - Size
-
... ... @@ -1,1 +1,0 @@ 1 -84.9 KB - Content
- image-20230415165254-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Kilight - Size
-
... ... @@ -1,1 +1,0 @@ 1 -67.2 KB - Content
- image-20230415170404-2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Kilight - Size
-
... ... @@ -1,1 +1,0 @@ 1 -17.9 KB - Content
- image-20230415170854-3.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Kilight - Size
-
... ... @@ -1,1 +1,0 @@ 1 -48.4 KB - Content
- image-20230527115750-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Kilight - Size
-
... ... @@ -1,1 +1,0 @@ 1 -208.8 KB - Content
- image-20230527143923-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Kilight - Size
-
... ... @@ -1,1 +1,0 @@ 1 -222.4 KB - Content
- image-20230527144206-2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Kilight - Size
-
... ... @@ -1,1 +1,0 @@ 1 -224.2 KB - Content
- image-20230529150923-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Kilight - Size
-
... ... @@ -1,1 +1,0 @@ 1 -87.2 KB - Content
- image-20230531162943-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Kilight - Size
-
... ... @@ -1,1 +1,0 @@ 1 -84.6 KB - Content
- image-20230702094608-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Bei - Size
-
... ... @@ -1,1 +1,0 @@ 1 -53.8 KB - Content
- image-20230702094852-2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Bei - Size
-
... ... @@ -1,1 +1,0 @@ 1 -12.5 KB - Content
- image-20230702094944-3.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Bei - Size
-
... ... @@ -1,1 +1,0 @@ 1 -26.7 KB - Content
- image-20230702095114-4.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Bei - Size
-
... ... @@ -1,1 +1,0 @@ 1 -43.5 KB - Content
- image-20230702095557-5.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Bei - Size
-
... ... @@ -1,1 +1,0 @@ 1 -48.5 KB - Content
- image-20230702095641-6.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Bei - Size
-
... ... @@ -1,1 +1,0 @@ 1 -19.2 KB - Content
- image-20230702095827-7.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Bei - Size
-
... ... @@ -1,1 +1,0 @@ 1 -34.9 KB - Content
- image-20230702100312-8.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Bei - Size
-
... ... @@ -1,1 +1,0 @@ 1 -33.2 KB - Content
- image-20230702100356-9.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Bei - Size
-
... ... @@ -1,1 +1,0 @@ 1 -21.9 KB - Content
- image-20230702100543-10.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Bei - Size
-
... ... @@ -1,1 +1,0 @@ 1 -25.6 KB - Content
- image-20230702100930-11.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Bei - Size
-
... ... @@ -1,1 +1,0 @@ 1 -48.7 KB - Content