Changes for page Notes for ChirpStack
Last modified by Kilight Cao on 2024/09/24 15:23
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 32 added, 0 removed)
- LHT65N-ChirpStack-node-red.json
- image-20221012184631-2.png
- image-20221012184655-3.png
- image-20221222113302-1.png
- image-20221222114220-2.png
- image-20221222134830-3.png
- image-20221222140203-4.png
- image-20221222141754-5.png
- image-20221222141830-6.png
- image-20221230094246-1.png
- image-20230415165254-1.png
- image-20230415170404-2.png
- image-20230415170854-3.png
- image-20230527115750-1.png
- image-20230527143923-1.png
- image-20230527144206-2.png
- image-20230529150923-1.png
- image-20230531162943-1.png
- image-20230702094608-1.png
- image-20230702094852-2.png
- image-20230702094944-3.png
- image-20230702095114-4.png
- image-20230702095557-5.png
- image-20230702095641-6.png
- image-20230702095827-7.png
- image-20230702100312-8.png
- image-20230702100356-9.png
- image-20230702100543-10.png
- image-20230702100930-11.png
- image-20230821113255-1.png
- image-20230821113539-2.png
- image-20230821113618-3.png
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Xiaoye1 +XWiki.Bei - Content
-
... ... @@ -37,13 +37,54 @@ 37 37 ))) 38 38 ))) 39 39 40 += 2. Node usage introduction = 40 40 42 +== 2.1 Register Node == 41 41 42 - = 2.SemtechUDP=44 +Step 1: Add application 43 43 44 - ==2.1Step 1.Add theNetwork-servers==46 +[[image:image-20230702094608-1.png||height="537" width="1015"]] 45 45 48 +Step 2:Fill name 46 46 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 + 47 47 The network-Servers address varies depending on the ChirpStack server setup environment 48 48 49 49 (% class="box" %) ... ... @@ -56,26 +56,24 @@ 56 56 (% style="color:red" %)**If the user cannot add network-Servers, re-check the ChirpStack code or the server building process.** 57 57 58 58 59 -[[image:image-20220531171609-1.png]] 100 +[[image:image-20220531171609-1.png||height="638" width="1268"]](% style="display:none" %) 60 60 61 61 Add the Network-servers 62 62 63 63 105 +== 3.2 Step 2. Create Gateway-profiles == 64 64 65 -== 2.2 Step 2. Create Gateway-profiles == 66 66 108 +[[image:image-20220531171651-2.png||height="632" width="1264"]](% style="display:none" %) 67 67 68 -[[image:image-20220531171651-2.png]] 69 - 70 70 Create Gateway-profiles 71 71 72 72 113 +== 3.3 Step 3. Create Service-profiles == 73 73 74 -== 2.3 Step 3. Create Service-profiles == 75 75 116 +[[image:image-20220531171809-3.png||height="761" width="1265"]] 76 76 77 -[[image:image-20220531171809-3.png]] 78 - 79 79 Create Service-profiles 80 80 81 81 ... ... @@ -86,10 +86,9 @@ 86 86 If the user has completed the preceding steps, proceed to the next step.(% style="display:none" %) 87 87 88 88 128 +== 3.4 Step 4. Add the gateway == 89 89 90 -== 2.4 Step 4. Add the gateway == 91 91 92 - 93 93 The example gateway id is: a840411e96744150 94 94 95 95 ((( ... ... @@ -98,7 +98,7 @@ 98 98 99 99 ))) 100 100 101 -[[image:image-20220531171923-4.png]](% style="display:none" %) 139 +[[image:image-20220531171923-4.png||height="745" width="1253"]](% style="display:none" %) 102 102 103 103 Add the gateway 104 104 ... ... @@ -109,28 +109,25 @@ 109 109 Configure the gateway 110 110 111 111 150 +== 3.5 Step 5. Checking gateway Status == 112 112 113 -== 2.5 Step 5. Checking gateway Status == 114 114 153 +[[image:image-20220531172158-6.png||height="704" width="1167"]](% style="display:none" %) 115 115 116 -[[image:image-20220531172158-6.png]](% style="display:none" %) 117 117 118 118 119 - 120 120 gateway Status 121 121 122 -[[image:image-20220531172304-7.png]] 159 +[[image:image-20220531172304-7.png||height="628" width="1165"]] 123 123 124 124 gateway Status 125 125 126 126 164 += 4. Gateway Registration for Basics Station = 127 127 128 -= 3.Gateway Registration for Basics Station =166 +== 4.1 Introduction == 129 129 130 130 131 -== 3.1 Introduction == 132 - 133 - 134 134 The [[Semtech Basic Station>>url:https://doc.sm.tc/station/]] backend implements the [[LNS protocol>>url:https://doc.sm.tc/station/tcproto.html]]. It exposes a WebSocket handler to which Basic Station powered gateways can connect. 135 135 136 136 ChirpStack Open-Source LoRaWAN® Network Server needs to set up a configuration that can use Semtech BasicStation. ... ... @@ -151,14 +151,13 @@ 151 151 A gateway that can access the internet normally 152 152 153 153 189 +== 4.2 Add Gateway == 154 154 155 -== 3.2 Add Gateway == 156 156 157 - 158 158 [[image:image-20220524164205-10.png]] 159 159 160 160 161 -== 3.3 Access the gateway GUI ==195 +== 4.3 Access the gateway GUI == 162 162 163 163 164 164 Access the gateway GUI interface of LoRaWAN~-~->LoRaWAN ~-~- Basic Station ... ... @@ -172,7 +172,7 @@ 172 172 ((( 173 173 Service Provider ~-~-> Choose the ChirpStack/Senet ~-~- Basic Station 174 174 175 -LNS URI ~-~-> Enter the LNS URI address, For example : wss:~/~/xxxx.chirpstack.com:43 3or ws:~/~/xxxx.chirpstack.com:3001209 +LNS URI ~-~-> Enter the LNS URI address, For example : wss:~/~/xxxx.chirpstack.com:443 or ws:~/~/xxxx.chirpstack.com:3001 176 176 177 177 LNS TLS trust ~-~-> Upload the TLS Certificate 178 178 ))) ... ... @@ -181,13 +181,13 @@ 181 181 [[image:image-20220524164341-12.png]] 182 182 183 183 184 -== 3.4 Start Station ==218 +== 4.4 Start Station == 185 185 186 186 187 187 When the user has finished the configuration, Please click **Sace&Apply** to start station to connect ChirpStack. 188 188 189 189 190 -== 3.5 Successful Connection ==224 +== 4.5 Successful Connection == 191 191 192 192 193 193 If user completes the above steps, which will see live date in the ChirpStack. ... ... @@ -195,10 +195,9 @@ 195 195 [[image:image-20220524164448-13.png]] 196 196 197 197 232 +== 4.6 Trouble Shooting == 198 198 199 -== 3.6 Trouble Shooting == 200 200 201 - 202 202 User can check the station log in the logread/system log page. 203 203 204 204 [[image:image-20220531172837-8.png]] ... ... @@ -209,46 +209,261 @@ 209 209 [[image:image-20220531172857-9.png]] 210 210 211 211 245 += 5. How the gateway connects to Chirpstack v3 via gateway-bridge = 212 212 213 -= 4. Downlink = 214 214 215 - ==4.1 ConvertHEXtoBase64==248 +(% style="color:blue" %)**Below list the support products and Requirements:** 216 216 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/]] 252 + 253 +(% style="color:blue" %)**How to set up chirpStack Gateway-bridge** 254 + 255 +Users can check out the ChirpStack gateway-bridge v3 [[link>>https://www.chirpstack.io/gateway-bridge/gateway/dragino/]] 256 + 257 + 258 +(% style="color:blue" %)**What do you need to prepare** 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 + 217 217 (% style="color:red" %)**Note: Chirpstack uses base64 to downlink, the end node user manual provides HEX format of the downlink commands. So user needs to convert the HEX to Base64.** 218 218 219 -[[Online HEX to Base64 Converter>>https://base64.guru/converter/encode/hex]]: 465 +**[[Online HEX to Base64 Converter>>https://base64.guru/converter/encode/hex]]:** 220 220 221 221 [[image:image-20221010193350-1.png]] 222 222 223 223 224 -[[Online Base64 to Hex converter>>https://base64.guru/converter/decode/hex]] 225 225 471 +**[[Online Base64 to Hex converter>>https://base64.guru/converter/decode/hex]]** 472 + 226 226 [[image:image-20221010193621-2.png]] 227 227 228 228 476 +== 7.2 Chirpstack Downlink Note == 229 229 230 -== 4.2 Chirpstack Downlink Note == 231 231 232 - 233 233 [[image:image-20220601102543-2.png]] 234 234 235 -Convert the data to Base64 481 +**Convert the data to Base64** 236 236 483 +(% style="display:none" %) (%%) 237 237 238 -[[image:image-20220531173236-10.png]] 239 239 240 - Check ChripStackdownlink DataRate486 +[[image:image-20220531173236-10.png||height="597" width="1215"]] 241 241 488 +**Check ChripStack downlink DataRate** 242 242 243 -[[image:image-20220525101326-11.png]] 244 244 245 -Make sure the RX2DR is the same in the end node 246 246 492 +[[image:image-20220525101326-11.png]] 247 247 494 +**Make sure the RX2DR is the same in the end node** 248 248 249 -== 4.3 Loraserver Downlink Note == 250 250 497 +== 7.3 Loraserver Downlink Note == 251 251 499 + 252 252 User can use MQTT to send downlink payload to ChirpStack to perform downstream to LoRaWAN End 253 253 254 254 ((( ... ... @@ -266,7 +266,7 @@ 266 266 [[image:image-20220531173419-11.png]] 267 267 268 268 ((( 269 -MQTT Connect to ChirpStack 517 +**MQTT Connect to ChirpStack** 270 270 271 271 272 272 ... ... @@ -293,10 +293,10 @@ 293 293 294 294 [[image:image-20220531173519-12.png]] 295 295 296 -MQTT Connect to ChirpStack 544 +**MQTT Connect to ChirpStack** 297 297 298 298 299 -If we want to send downstream hex 030101 to end node, the BASE64 payload is AwEB 547 +**If we want to send downstream hex 030101 to end node, the BASE64 payload is AwEB** 300 300 301 301 [[image:image-20220531173658-14.png]] 302 302 ... ... @@ -318,15 +318,15 @@ 318 318 { 319 319 if(sha1[n] >= 'A' && sha1[n] <= 'Z') 320 320 { 321 - ascv = sha1.charCodeAt(n) - 55; 569 + ascv = sha1.charCodeAt( n ) - 55; 322 322 } 323 323 else if(sha1[n] >= 'a' && sha1[n] <= 'z') 324 324 { 325 - ascv = sha1.charCodeAt(n) - 87; 573 + ascv = sha1.charCodeAt( n ) - 87; 326 326 } 327 327 else 328 328 { 329 - ascv = sha1.charCodeAt(n) - 48; 577 + ascv = sha1.charCodeAt( n ) - 48; 330 330 } 331 331 \\ bit_arr = (bit_arr << 4) | ascv; 332 332 bit_num += 4; ... ... @@ -363,15 +363,16 @@ 363 363 ))) 364 364 365 365 614 +== 7.4 Add the decode function in Chirpstack for the payload == 366 366 367 -== 4.3 Add the decode function in Chirpstack for the payload == 368 368 369 - 370 370 User enters the payload code according to the steps. 371 371 372 -[[ image:image-20220531173754-15.png]]619 +Add the node device decoder you are using. The decoder for each node device is different. The decoder is found in this link: **[[decoder for dragino end node>>https://github.com/dragino/dragino-end-node-decoder]]** 373 373 621 +[[image:image-20220531173754-15.png||height="474" width="1334"]] 374 374 623 + 375 375 [[image:image-20220531173856-16.png]] 376 376 377 377 ... ... @@ -380,10 +380,9 @@ 380 380 [[image:image-20220531174046-19.png]] 381 381 382 382 632 += 8. Multiply Uplink in ChirpStack = 383 383 384 -= 5. Multiply Uplink in ChirpStack = 385 385 386 - 387 387 ((( 388 388 nbtrans field is the value to determine the re-transmission time for unconfirmed uplink data. 389 389 ))) ... ... @@ -394,7 +394,7 @@ 394 394 395 395 ))) 396 396 397 -[[image:image-20220526091912-7.png]] 645 +[[image:image-20220526091912-7.png||height="241" width="1336"]] 398 398 399 399 400 400 ((( ... ... @@ -419,15 +419,14 @@ 419 419 420 420 421 421 422 -Duplicate transmission in short time 670 +**Duplicate transmission in short time** 423 423 424 -[[image:image-20220601102430-1.png]] 672 +[[image:image-20220601102430-1.png||height="598" width="1319"]] 425 425 426 426 675 +== 8.1 Solution == 427 427 428 -== 5.1 Solution == 429 429 430 - 431 431 This example uses the Windows version as a template, other versions can refer to this. Similiar reference: [[https:~~/~~/confluence.alitecs.de/plugins/servlet/mobile?contentId=79790102#content/view/79790102>>url:https://confluence.alitecs.de/plugins/servlet/mobile?contentId=79790102#content/view/79790102]] 432 432 433 433 ... ... @@ -547,7 +547,7 @@ 547 547 Finish. 548 548 549 549 550 -= **6. How to store/get all data traffic for a specific sensor, including raw payload, and uplink/ downlink history.**=797 += 9. How to store/get all data traffic for a specific sensor, including raw payload, and uplink/ downlink history. = 551 551 552 552 553 553 All data is published to the MQTT topics. if you want to store/get the data, you would have to create an MQTT handler and store the data yourself. ... ... @@ -554,22 +554,26 @@ 554 554 555 555 This example will be shown how to store/get all the data in two ways: 556 556 557 -**//1). Chirpstack ~-~-> Node-red//** 804 +(% style="color:blue" %)**//1). Chirpstack ~-~-> Node-red//** 558 558 559 -[[image:https://github.com/chirpstack/node-red-contrib-chirpstack/blob/master/example_flow.png?raw=true||alt="example_flow.png"]] 560 560 807 +[[image:image-20221012184501-1.png]] 561 561 562 -Use MQTT in Nore-red to subscribe to topics published by chirpstack-application and then continuously write to a file 563 563 810 +Use MQTT in Nore-red to subscribe to topics published by the chirpstack-application and then continuously write to a file 811 + 564 564 [[image:image-20221012174220-2.png]] 565 565 566 566 567 - Eachmessages continuously logged to a specifiedfile815 +[[image:image-20221012184655-3.png||height="395" width="1049"]] 568 568 817 + 818 +**Each message is continuously logged to a specified file** 819 + 569 569 [[image:image-20221012174352-3.png]] 570 570 571 571 572 -**//2). MQTT Sub//** 823 +(% style="color:blue" %)**//2). MQTT Sub//** 573 573 574 574 If you don't want to store the information via node-red, you can get the output via the subscribe command. 575 575 ... ... @@ -578,25 +578,79 @@ 578 578 579 579 (% class="box infomessage" %) 580 580 ((( 581 -mosquitto_sub -h localhost -t "application/#" -v 832 +**mosquitto_sub -h localhost -t "application/#" -v** 582 582 ))) 583 583 584 584 585 -**Different host** 836 +(% style="color:blue" %)**Different host** 586 586 587 587 (% class="box infomessage" %) 588 588 ((( 589 -mosquitto_sub -h IPADDRESS -p 8883 ~-~-insecure ~-~-cafile ca.pem ~-~-cert cert.pem ~-~-key key.pem -t "application/#" -v 840 +**mosquitto_sub -h IPADDRESS -p 8883 ~-~-insecure ~-~-cafile ca.pem ~-~-cert cert.pem ~-~-key key.pem -t "application/#" -v** 590 590 ))) 591 591 592 592 [[image:image-20221012173639-1.png]] 593 593 845 += 10. Example: Use Local Server ChirpStack and Node-Red in LPS8v2 = 594 594 595 -= 7. Trouble Shooting = 596 596 597 - ==7.1MICMismatch orMICFailed==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: 598 598 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. 599 599 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 + 600 600 ((( 601 601 When the device is registered or the device is working normally, the problem of MIC mismatch and MIC failed occurs. 602 602 ))) ... ... @@ -603,4 +603,32 @@ 603 603 604 604 ((( 605 605 Under normal circumstances, users need to change the APPKEY to solve this problem. 911 + 912 + 913 +== 11.2 The node is very close to the gateway, but the signal is poor == 914 + 915 +If you are using US915 or AU915, you found the frequency points of different subband ranges in your uplink 916 + 917 +Like that:Both 905.1Mhz and 902.3Mhz appear on uplink 918 + But they belong to Subband1 and Subband2 of US915 respectively 919 + 920 +Cause: The server and the gateway use different frequency bands (the server uses Subband1, and the gateway uses Subband2) 921 + 922 + In server side, it shows the frequency is 905.1Mhz, which is sub-band2. But the RSSI is very low, Because this is not a signal in 905.1Mhz, it is on 902.3Mhz, the signal is too strong and appear a noise in 905.1Mhz. 923 + 924 +How to check the frequency band used by the server: 925 + 926 +You can view the information sent by the server: ch_mask in Unconfirmdedatadown 927 + 928 +[[image:image-20230821113255-1.png]] 929 + 930 +According to lorawan's protocol, your first ch_mask is 7 for ChMaskCntl = 7 then 125 kHz channels are disabled. Simultaneously the channels 64 to 71 are set according to the ChMask bit mask. 931 + 932 +[[image:image-20230821113539-2.png]] 933 + 934 +In the second message, the channel 0~~7 is true, which means that your server is using subband2. 935 + 936 +[[image:image-20230821113618-3.png]] 937 + 938 +Note:lorawan's protocol link——[[LoRaWAN® Regional Parameters v1.0.3revA (lora-alliance.org)>>url:https://resources.lora-alliance.org/document/lorawan-regional-parameters-v1-0-3reva]] 606 606 )))
- LHT65N-ChirpStack-node-red.json
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +18.9 KB - Content
-
... ... @@ -1,0 +1,721 @@ 1 +[ 2 + { 3 + "id": "0f8b93c6ce9ba9bd", 4 + "type": "tab", 5 + "label": "流程 1", 6 + "disabled": false, 7 + "info": "", 8 + "env": [] 9 + }, 10 + { 11 + "id": "11ea7050721f9df5", 12 + "type": "mqtt in", 13 + "z": "0f8b93c6ce9ba9bd", 14 + "name": "LHT65N", 15 + "topic": "application/43b0fd94-75be-4a80-a78c-c9381fe23b05/device/a84041c8b1824695/event/up", 16 + "qos": "0", 17 + "datatype": "auto-detect", 18 + "broker": "862a790de52f4ea4", 19 + "nl": false, 20 + "rap": true, 21 + "rh": 0, 22 + "inputs": 0, 23 + "x": 100, 24 + "y": 140, 25 + "wires": [ 26 + [ 27 + "034db5cd68129249", 28 + "6e4c3938ccd21838", 29 + "d20a25c0a12cad04", 30 + "38136d7454e138e5", 31 + "239852361ed7c91d" 32 + ] 33 + ] 34 + }, 35 + { 36 + "id": "6e4c3938ccd21838", 37 + "type": "debug", 38 + "z": "0f8b93c6ce9ba9bd", 39 + "name": "", 40 + "active": true, 41 + "tosidebar": true, 42 + "console": false, 43 + "tostatus": false, 44 + "complete": "false", 45 + "statusVal": "", 46 + "statusType": "auto", 47 + "x": 490, 48 + "y": 140, 49 + "wires": [] 50 + }, 51 + { 52 + "id": "034db5cd68129249", 53 + "type": "function", 54 + "z": "0f8b93c6ce9ba9bd", 55 + "name": "", 56 + "func": "var data = msg.payload[\"deviceInfo\"]\nvar decode = msg.payload[\"object\"]\nif (decode[\"Ext_sensor\"] == \"Temperature Sensor\"){\nvar f_port = msg.payload[\"fPort\"]\nvar f_cnt = msg.payload[\"fCnt\"]\nvar data2 = decode\nvar bat =data2[\"BatV\"]\nvar bat_status=data2[\"Bat_status\"]\nvar ext_sensor=data2[\"Ext_sensor\"]\nvar hum_SHT=data2[\"Hum_SHT\"]\nif (\"TempC_DS\" in data2){\n var tempC_DS=data2[\"TempC_DS\"]\n}\nelse {\ntempC_DS=data2[\"TempC_TMP117\"]\n}\nvar tempC_SHT=data2[\"TempC_SHT\"]\nvar a1={payload:f_port},a2={payload:f_cnt},a3={payload:bat},a4={payload:bat_status},a5={payload:ext_sensor},\n a6={payload:hum_SHT},a7={payload:tempC_DS},a8={payload:tempC_SHT}\nreturn [a1,a2,a3,a4,a5,a6,a7,a8];\n}", 57 + "outputs": 9, 58 + "noerr": 0, 59 + "initialize": "", 60 + "finalize": "", 61 + "libs": [], 62 + "x": 470, 63 + "y": 260, 64 + "wires": [ 65 + [ 66 + "054041c1f8ad740a" 67 + ], 68 + [ 69 + "11286fbcb9419c65" 70 + ], 71 + [ 72 + "6f74bac1ba605862" 73 + ], 74 + [ 75 + "c9f618cca24db5e1" 76 + ], 77 + [ 78 + "7f2fc42c4bcc6ff9" 79 + ], 80 + [ 81 + "980646824d0c5239" 82 + ], 83 + [ 84 + "a2ed445e50c952ea" 85 + ], 86 + [ 87 + "13394b6f113fe555" 88 + ], 89 + [] 90 + ] 91 + }, 92 + { 93 + "id": "054041c1f8ad740a", 94 + "type": "ui_text", 95 + "z": "0f8b93c6ce9ba9bd", 96 + "group": "6c8dcef19b33b1ab", 97 + "order": 0, 98 + "width": 0, 99 + "height": 0, 100 + "name": "f_port", 101 + "label": "f_port", 102 + "format": "{{msg.payload}}", 103 + "layout": "row-spread", 104 + "className": "", 105 + "x": 770, 106 + "y": 160, 107 + "wires": [] 108 + }, 109 + { 110 + "id": "11286fbcb9419c65", 111 + "type": "ui_text", 112 + "z": "0f8b93c6ce9ba9bd", 113 + "group": "9d9e40253fa3a62f", 114 + "order": 0, 115 + "width": 0, 116 + "height": 0, 117 + "name": "f_cunt", 118 + "label": "f_cunt", 119 + "format": "{{msg.payload}}", 120 + "layout": "row-spread", 121 + "className": "", 122 + "x": 770, 123 + "y": 200, 124 + "wires": [] 125 + }, 126 + { 127 + "id": "6f74bac1ba605862", 128 + "type": "ui_chart", 129 + "z": "0f8b93c6ce9ba9bd", 130 + "name": "bat", 131 + "group": "b24db75b1499c15f", 132 + "order": 0, 133 + "width": 0, 134 + "height": 0, 135 + "label": "bat", 136 + "chartType": "line", 137 + "legend": "false", 138 + "xformat": "HH:mm:ss", 139 + "interpolate": "linear", 140 + "nodata": "", 141 + "dot": false, 142 + "ymin": "", 143 + "ymax": "", 144 + "removeOlder": 1, 145 + "removeOlderPoints": "", 146 + "removeOlderUnit": "3600", 147 + "cutout": 0, 148 + "useOneColor": false, 149 + "useUTC": false, 150 + "colors": [ 151 + "#1f77b4", 152 + "#aec7e8", 153 + "#ff7f0e", 154 + "#2ca02c", 155 + "#98df8a", 156 + "#d62728", 157 + "#ff9896", 158 + "#9467bd", 159 + "#c5b0d5" 160 + ], 161 + "outputs": 1, 162 + "useDifferentColor": false, 163 + "className": "", 164 + "x": 770, 165 + "y": 240, 166 + "wires": [ 167 + [] 168 + ] 169 + }, 170 + { 171 + "id": "c9f618cca24db5e1", 172 + "type": "ui_text", 173 + "z": "0f8b93c6ce9ba9bd", 174 + "group": "758898c4bead5e6f", 175 + "order": 6, 176 + "width": 0, 177 + "height": 0, 178 + "name": "Bat_status", 179 + "label": "Bat_status", 180 + "format": "{{msg.payload}}", 181 + "layout": "row-spread", 182 + "className": "", 183 + "x": 790, 184 + "y": 280, 185 + "wires": [] 186 + }, 187 + { 188 + "id": "7f2fc42c4bcc6ff9", 189 + "type": "ui_text", 190 + "z": "0f8b93c6ce9ba9bd", 191 + "group": "a8f02d8f9b3e80a1", 192 + "order": 0, 193 + "width": 0, 194 + "height": 0, 195 + "name": "Ext_sensor", 196 + "label": "Ext_sensor", 197 + "format": "{{msg.payload}}", 198 + "layout": "row-spread", 199 + "className": "", 200 + "x": 790, 201 + "y": 320, 202 + "wires": [] 203 + }, 204 + { 205 + "id": "980646824d0c5239", 206 + "type": "ui_chart", 207 + "z": "0f8b93c6ce9ba9bd", 208 + "name": "Hum_SHT", 209 + "group": "a9ef53ea130e5557", 210 + "order": 6, 211 + "width": 0, 212 + "height": 0, 213 + "label": "Hum_SHT", 214 + "chartType": "line", 215 + "legend": "false", 216 + "xformat": "HH:mm:ss", 217 + "interpolate": "linear", 218 + "nodata": "", 219 + "dot": false, 220 + "ymin": "", 221 + "ymax": "", 222 + "removeOlder": 1, 223 + "removeOlderPoints": "", 224 + "removeOlderUnit": "3600", 225 + "cutout": 0, 226 + "useOneColor": false, 227 + "useUTC": false, 228 + "colors": [ 229 + "#1f77b4", 230 + "#aec7e8", 231 + "#ff7f0e", 232 + "#2ca02c", 233 + "#98df8a", 234 + "#d62728", 235 + "#ff9896", 236 + "#9467bd", 237 + "#c5b0d5" 238 + ], 239 + "outputs": 1, 240 + "useDifferentColor": false, 241 + "className": "", 242 + "x": 790, 243 + "y": 360, 244 + "wires": [ 245 + [] 246 + ] 247 + }, 248 + { 249 + "id": "a2ed445e50c952ea", 250 + "type": "ui_chart", 251 + "z": "0f8b93c6ce9ba9bd", 252 + "name": "TempC_sensor", 253 + "group": "1558cd7a030388f7", 254 + "order": 6, 255 + "width": 0, 256 + "height": 0, 257 + "label": "TempC_sensor", 258 + "chartType": "line", 259 + "legend": "false", 260 + "xformat": "HH:mm:ss", 261 + "interpolate": "linear", 262 + "nodata": "", 263 + "dot": false, 264 + "ymin": "", 265 + "ymax": "", 266 + "removeOlder": 1, 267 + "removeOlderPoints": "", 268 + "removeOlderUnit": "3600", 269 + "cutout": 0, 270 + "useOneColor": false, 271 + "useUTC": false, 272 + "colors": [ 273 + "#1f77b4", 274 + "#aec7e8", 275 + "#ff7f0e", 276 + "#2ca02c", 277 + "#98df8a", 278 + "#d62728", 279 + "#ff9896", 280 + "#9467bd", 281 + "#c5b0d5" 282 + ], 283 + "outputs": 1, 284 + "useDifferentColor": false, 285 + "className": "", 286 + "x": 800, 287 + "y": 400, 288 + "wires": [ 289 + [] 290 + ] 291 + }, 292 + { 293 + "id": "13394b6f113fe555", 294 + "type": "ui_chart", 295 + "z": "0f8b93c6ce9ba9bd", 296 + "name": "TempC_SHT", 297 + "group": "f523098714ee6cd6", 298 + "order": 6, 299 + "width": 0, 300 + "height": 0, 301 + "label": "TempC_SHT", 302 + "chartType": "line", 303 + "legend": "false", 304 + "xformat": "HH:mm:ss", 305 + "interpolate": "linear", 306 + "nodata": "", 307 + "dot": false, 308 + "ymin": "", 309 + "ymax": "", 310 + "removeOlder": 1, 311 + "removeOlderPoints": "", 312 + "removeOlderUnit": "3600", 313 + "cutout": 0, 314 + "useOneColor": false, 315 + "useUTC": false, 316 + "colors": [ 317 + "#1f77b4", 318 + "#aec7e8", 319 + "#ff7f0e", 320 + "#2ca02c", 321 + "#98df8a", 322 + "#d62728", 323 + "#ff9896", 324 + "#9467bd", 325 + "#c5b0d5" 326 + ], 327 + "outputs": 1, 328 + "useDifferentColor": false, 329 + "className": "", 330 + "x": 790, 331 + "y": 440, 332 + "wires": [ 333 + [] 334 + ] 335 + }, 336 + { 337 + "id": "d20a25c0a12cad04", 338 + "type": "function", 339 + "z": "0f8b93c6ce9ba9bd", 340 + "name": "", 341 + "func": "var data = msg.payload[\"deviceInfo\"]\nvar decode = msg.payload[\"object\"]\nif (decode[\"Work_mode\"]==\"Interrupt Sensor send\"){\nvar f_port = msg.payload[\"fPort\"]\nvar f_cnt = msg.payload[\"fCnt\"]\nvar data2 = decode\nvar bat =data2[\"BatV\"]\nvar bat_status=data2[\"Bat_status\"]\nvar work_mode=data2[\"Work_mode\"]\nvar exti_pin_level=data2[\"Exti_pin_level\"]\nvar exti_status=data2[\"Exti_status\"]\nvar hum_SHT=data2[\"Hum_SHT\"]\nvar tempC_SHT=data2[\"TempC_SHT\"]\nvar a1={payload:f_port},a2={payload:f_cnt},a3={payload:bat},a4={payload:bat_status},a5={payload:work_mode},\na6={payload:exti_pin_level},a7={payload:exti_status},a8={payload:hum_SHT},a9={payload:tempC_SHT}\nreturn [a1,a2,a3,a4,a5,a6,a7,a8,a9];\n}", 342 + "outputs": 9, 343 + "noerr": 0, 344 + "initialize": "", 345 + "finalize": "", 346 + "libs": [], 347 + "x": 470, 348 + "y": 440, 349 + "wires": [ 350 + [ 351 + "054041c1f8ad740a" 352 + ], 353 + [ 354 + "11286fbcb9419c65" 355 + ], 356 + [ 357 + "6f74bac1ba605862" 358 + ], 359 + [ 360 + "c9f618cca24db5e1" 361 + ], 362 + [ 363 + "7f2fc42c4bcc6ff9" 364 + ], 365 + [ 366 + "0513bcb70cd63787" 367 + ], 368 + [ 369 + "10eed06366dc18c4" 370 + ], 371 + [ 372 + "980646824d0c5239" 373 + ], 374 + [ 375 + "13394b6f113fe555" 376 + ] 377 + ] 378 + }, 379 + { 380 + "id": "0513bcb70cd63787", 381 + "type": "ui_text", 382 + "z": "0f8b93c6ce9ba9bd", 383 + "group": "b1dc3cad430eb5b7", 384 + "order": 0, 385 + "width": 0, 386 + "height": 0, 387 + "name": "Exti_pin_level", 388 + "label": "Exti_pin_level", 389 + "format": "{{msg.payload}}", 390 + "layout": "row-spread", 391 + "className": "", 392 + "x": 780, 393 + "y": 560, 394 + "wires": [] 395 + }, 396 + { 397 + "id": "10eed06366dc18c4", 398 + "type": "ui_text", 399 + "z": "0f8b93c6ce9ba9bd", 400 + "group": "4184be11e1179998", 401 + "order": 0, 402 + "width": 0, 403 + "height": 0, 404 + "name": "Exti_status", 405 + "label": "Exti_status", 406 + "format": "{{msg.payload}}", 407 + "layout": "row-spread", 408 + "className": "", 409 + "x": 770, 410 + "y": 600, 411 + "wires": [] 412 + }, 413 + { 414 + "id": "38136d7454e138e5", 415 + "type": "function", 416 + "z": "0f8b93c6ce9ba9bd", 417 + "name": "", 418 + "func": "var data = msg.payload[\"deviceInfo\"]\nvar decode = msg.payload[\"object\"]\nif (decode[\"Work_mode\"]==\"Interrupt Sensor count\"){\nvar f_port = msg.payload[\"fPort\"]\nvar f_cnt = msg.payload[\"fCnt\"]\nvar data2 = decode\nvar bat =data2[\"BatV\"]\nvar bat_status=data2[\"Bat_status\"]\nvar work_mode=data2[\"Work_mode\"]\nvar exit_count=data2[\"Exit_count\"]\nvar hum_SHT=data2[\"Hum_SHT\"]\nvar tempC_SHT=data2[\"TempC_SHT\"]\nvar a1={payload:f_port},a2={payload:f_cnt},a3={payload:bat},a4={payload:bat_status},a5={payload:work_mode},\na6={payload:exit_count},a8={payload:hum_SHT},a9={payload:tempC_SHT}\nreturn [a1,a2,a3,a4,a5,a6,a8,a9];\n}", 419 + "outputs": 8, 420 + "noerr": 0, 421 + "initialize": "", 422 + "finalize": "", 423 + "libs": [], 424 + "x": 470, 425 + "y": 620, 426 + "wires": [ 427 + [ 428 + "054041c1f8ad740a" 429 + ], 430 + [ 431 + "11286fbcb9419c65" 432 + ], 433 + [ 434 + "6f74bac1ba605862" 435 + ], 436 + [ 437 + "c9f618cca24db5e1" 438 + ], 439 + [ 440 + "7f2fc42c4bcc6ff9" 441 + ], 442 + [ 443 + "3914f37c12607c9f" 444 + ], 445 + [ 446 + "980646824d0c5239" 447 + ], 448 + [ 449 + "13394b6f113fe555" 450 + ] 451 + ] 452 + }, 453 + { 454 + "id": "3914f37c12607c9f", 455 + "type": "ui_text", 456 + "z": "0f8b93c6ce9ba9bd", 457 + "group": "28cf5cca4c2c0bb5", 458 + "order": 0, 459 + "width": 0, 460 + "height": 0, 461 + "name": "exit_count", 462 + "label": "exit_count", 463 + "format": "{{msg.payload}}", 464 + "layout": "row-spread", 465 + "className": "", 466 + "x": 790, 467 + "y": 700, 468 + "wires": [] 469 + }, 470 + { 471 + "id": "239852361ed7c91d", 472 + "type": "function", 473 + "z": "0f8b93c6ce9ba9bd", 474 + "name": "", 475 + "func": "var data = msg.payload[\"deviceInfo\"]\nvar decode = msg.payload[\"object\"]\nif (decode[\"Work_mode\"]==\"ADC Sensor\"){\nvar f_port = msg.payload[\"fPort\"]\nvar f_cnt = msg.payload[\"fCnt\"]\nvar data2 = decode\nvar bat =data2[\"BatV\"]\nvar bat_status=data2[\"Bat_status\"]\nvar work_mode=data2[\"Work_mode\"]\nvar adc_V=data2[\"ADC_V\"]\nvar hum_SHT=data2[\"Hum_SHT\"]\nvar tempC_SHT=data2[\"TempC_SHT\"]\nvar a1={payload:f_port},a2={payload:f_cnt},a3={payload:bat},a4={payload:bat_status},a5={payload:work_mode},\na6={payload:adc_V},a8={payload:hum_SHT},a9={payload:tempC_SHT}\nreturn [a1,a2,a3,a4,a5,a6,a8,a9];\n}", 476 + "outputs": 8, 477 + "noerr": 0, 478 + "initialize": "", 479 + "finalize": "", 480 + "libs": [], 481 + "x": 470, 482 + "y": 760, 483 + "wires": [ 484 + [ 485 + "054041c1f8ad740a" 486 + ], 487 + [ 488 + "11286fbcb9419c65" 489 + ], 490 + [ 491 + "6f74bac1ba605862" 492 + ], 493 + [ 494 + "c9f618cca24db5e1" 495 + ], 496 + [ 497 + "7f2fc42c4bcc6ff9" 498 + ], 499 + [ 500 + "605688b5e60df43d" 501 + ], 502 + [ 503 + "980646824d0c5239" 504 + ], 505 + [ 506 + "13394b6f113fe555" 507 + ] 508 + ] 509 + }, 510 + { 511 + "id": "605688b5e60df43d", 512 + "type": "ui_chart", 513 + "z": "0f8b93c6ce9ba9bd", 514 + "name": "ADC_V", 515 + "group": "5f974d1fd1c0edfa", 516 + "order": 0, 517 + "width": 0, 518 + "height": 0, 519 + "label": "ADC_V", 520 + "chartType": "line", 521 + "legend": "false", 522 + "xformat": "HH:mm:ss", 523 + "interpolate": "linear", 524 + "nodata": "", 525 + "dot": false, 526 + "ymin": "", 527 + "ymax": "", 528 + "removeOlder": 1, 529 + "removeOlderPoints": "", 530 + "removeOlderUnit": "3600", 531 + "cutout": 0, 532 + "useOneColor": false, 533 + "useUTC": false, 534 + "colors": [ 535 + "#1f77b4", 536 + "#aec7e8", 537 + "#ff7f0e", 538 + "#2ca02c", 539 + "#98df8a", 540 + "#d62728", 541 + "#ff9896", 542 + "#9467bd", 543 + "#c5b0d5" 544 + ], 545 + "outputs": 1, 546 + "useDifferentColor": false, 547 + "className": "", 548 + "x": 780, 549 + "y": 780, 550 + "wires": [ 551 + [] 552 + ] 553 + }, 554 + { 555 + "id": "862a790de52f4ea4", 556 + "type": "mqtt-broker", 557 + "name": "LHT65N", 558 + "broker": "10.130.2.143", 559 + "port": "1883", 560 + "clientid": "", 561 + "autoConnect": true, 562 + "usetls": false, 563 + "protocolVersion": "4", 564 + "keepalive": "60", 565 + "cleansession": true, 566 + "birthTopic": "", 567 + "birthQos": "0", 568 + "birthPayload": "", 569 + "birthMsg": {}, 570 + "closeTopic": "", 571 + "closeQos": "0", 572 + "closePayload": "", 573 + "closeMsg": {}, 574 + "willTopic": "", 575 + "willQos": "0", 576 + "willPayload": "", 577 + "willMsg": {}, 578 + "userProps": "", 579 + "sessionExpiry": "" 580 + }, 581 + { 582 + "id": "6c8dcef19b33b1ab", 583 + "type": "ui_group", 584 + "name": "f_port", 585 + "tab": "7e01624d2b1a030f", 586 + "order": 1, 587 + "disp": true, 588 + "width": "6", 589 + "collapse": false, 590 + "className": "" 591 + }, 592 + { 593 + "id": "9d9e40253fa3a62f", 594 + "type": "ui_group", 595 + "name": "f_cunt", 596 + "tab": "7e01624d2b1a030f", 597 + "order": 2, 598 + "disp": true, 599 + "width": "6", 600 + "collapse": false, 601 + "className": "" 602 + }, 603 + { 604 + "id": "b24db75b1499c15f", 605 + "type": "ui_group", 606 + "name": "bat", 607 + "tab": "7e01624d2b1a030f", 608 + "order": 8, 609 + "disp": true, 610 + "width": "6", 611 + "collapse": false, 612 + "className": "" 613 + }, 614 + { 615 + "id": "758898c4bead5e6f", 616 + "type": "ui_group", 617 + "name": "Bat_status", 618 + "tab": "7e01624d2b1a030f", 619 + "order": 3, 620 + "disp": true, 621 + "width": "6", 622 + "collapse": false, 623 + "className": "" 624 + }, 625 + { 626 + "id": "a8f02d8f9b3e80a1", 627 + "type": "ui_group", 628 + "name": "Ext_sensor", 629 + "tab": "7e01624d2b1a030f", 630 + "order": 4, 631 + "disp": true, 632 + "width": "6", 633 + "collapse": false, 634 + "className": "" 635 + }, 636 + { 637 + "id": "a9ef53ea130e5557", 638 + "type": "ui_group", 639 + "name": "Hum_SHT", 640 + "tab": "7e01624d2b1a030f", 641 + "order": 9, 642 + "disp": true, 643 + "width": "6", 644 + "collapse": false, 645 + "className": "" 646 + }, 647 + { 648 + "id": "1558cd7a030388f7", 649 + "type": "ui_group", 650 + "name": "TempC_sensor", 651 + "tab": "7e01624d2b1a030f", 652 + "order": 10, 653 + "disp": true, 654 + "width": "6", 655 + "collapse": false, 656 + "className": "" 657 + }, 658 + { 659 + "id": "f523098714ee6cd6", 660 + "type": "ui_group", 661 + "name": "TempC_SHT", 662 + "tab": "7e01624d2b1a030f", 663 + "order": 11, 664 + "disp": true, 665 + "width": "6", 666 + "collapse": false, 667 + "className": "" 668 + }, 669 + { 670 + "id": "b1dc3cad430eb5b7", 671 + "type": "ui_group", 672 + "name": "Exti_pin_level", 673 + "tab": "7e01624d2b1a030f", 674 + "order": 6, 675 + "disp": true, 676 + "width": "6", 677 + "collapse": false, 678 + "className": "" 679 + }, 680 + { 681 + "id": "4184be11e1179998", 682 + "type": "ui_group", 683 + "name": "Exti_status", 684 + "tab": "7e01624d2b1a030f", 685 + "order": 7, 686 + "disp": true, 687 + "width": "6", 688 + "collapse": false, 689 + "className": "" 690 + }, 691 + { 692 + "id": "28cf5cca4c2c0bb5", 693 + "type": "ui_group", 694 + "name": "exit_count", 695 + "tab": "7e01624d2b1a030f", 696 + "order": 5, 697 + "disp": true, 698 + "width": "6", 699 + "collapse": false, 700 + "className": "" 701 + }, 702 + { 703 + "id": "5f974d1fd1c0edfa", 704 + "type": "ui_group", 705 + "name": "ADC_V", 706 + "tab": "7e01624d2b1a030f", 707 + "order": 12, 708 + "disp": true, 709 + "width": "6", 710 + "collapse": false, 711 + "className": "" 712 + }, 713 + { 714 + "id": "7e01624d2b1a030f", 715 + "type": "ui_tab", 716 + "name": "LHT65N", 717 + "icon": "LHT65N", 718 + "disabled": false, 719 + "hidden": false 720 + } 721 +]
- image-20221012184631-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoye - Size
-
... ... @@ -1,0 +1,1 @@ 1 +32.4 KB - Content
- image-20221012184655-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoye - Size
-
... ... @@ -1,0 +1,1 @@ 1 +45.4 KB - Content
- image-20221222113302-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +76.3 KB - Content
- image-20221222114220-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +64.3 KB - Content
- image-20221222134830-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +54.5 KB - Content
- image-20221222140203-4.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +91.4 KB - Content
- image-20221222141754-5.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +179.1 KB - Content
- image-20221222141830-6.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +116.7 KB - Content
- image-20221230094246-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +84.9 KB - Content
- image-20230415165254-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +67.2 KB - Content
- image-20230415170404-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +17.9 KB - Content
- image-20230415170854-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +48.4 KB - Content
- image-20230527115750-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +208.8 KB - Content
- image-20230527143923-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +222.4 KB - Content
- image-20230527144206-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +224.2 KB - Content
- image-20230529150923-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +87.2 KB - Content
- image-20230531162943-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +84.6 KB - Content
- image-20230702094608-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Bei - Size
-
... ... @@ -1,0 +1,1 @@ 1 +53.8 KB - Content
- image-20230702094852-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Bei - Size
-
... ... @@ -1,0 +1,1 @@ 1 +12.5 KB - Content
- image-20230702094944-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Bei - Size
-
... ... @@ -1,0 +1,1 @@ 1 +26.7 KB - Content
- image-20230702095114-4.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Bei - Size
-
... ... @@ -1,0 +1,1 @@ 1 +43.5 KB - Content
- image-20230702095557-5.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Bei - Size
-
... ... @@ -1,0 +1,1 @@ 1 +48.5 KB - Content
- image-20230702095641-6.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Bei - Size
-
... ... @@ -1,0 +1,1 @@ 1 +19.2 KB - Content
- image-20230702095827-7.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Bei - Size
-
... ... @@ -1,0 +1,1 @@ 1 +34.9 KB - Content
- image-20230702100312-8.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Bei - Size
-
... ... @@ -1,0 +1,1 @@ 1 +33.2 KB - Content
- image-20230702100356-9.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Bei - Size
-
... ... @@ -1,0 +1,1 @@ 1 +21.9 KB - Content
- image-20230702100543-10.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Bei - Size
-
... ... @@ -1,0 +1,1 @@ 1 +25.6 KB - Content
- image-20230702100930-11.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Bei - Size
-
... ... @@ -1,0 +1,1 @@ 1 +48.7 KB - Content
- image-20230821113255-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Bei - Size
-
... ... @@ -1,0 +1,1 @@ 1 +115.7 KB - Content
- image-20230821113539-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Bei - Size
-
... ... @@ -1,0 +1,1 @@ 1 +71.1 KB - Content
- image-20230821113618-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Bei - Size
-
... ... @@ -1,0 +1,1 @@ 1 +19.0 KB - Content