Changes for page Notes for ChirpStack
Last modified by Edwin Chen on 2025/01/30 09:53
Change comment:
Uploaded new attachment "image-20221222140203-4.png", version {1}
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 12 added, 0 removed)
- 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
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Xiaoling1 +XWiki.Kilight - Content
-
... ... @@ -127,7 +127,6 @@ 127 127 128 128 = 3. Gateway Registration for Basics Station = 129 129 130 - 131 131 == 3.1 Introduction == 132 132 133 133 ... ... @@ -151,7 +151,6 @@ 151 151 A gateway that can access the internet normally 152 152 153 153 154 - 155 155 == 3.2 Add Gateway == 156 156 157 157 ... ... @@ -195,7 +195,6 @@ 195 195 [[image:image-20220524164448-13.png]] 196 196 197 197 198 - 199 199 == 3.6 Trouble Shooting == 200 200 201 201 ... ... @@ -209,31 +209,71 @@ 209 209 [[image:image-20220531172857-9.png]] 210 210 211 211 209 += 4. How the gateway connects to Chirpstack v4 via gateway-bridge = 212 212 213 -= 4. Downlink = 214 214 215 -== 4.1 hirpstackDownlink Note ==212 +=== 4.1 Configure Packet Forwarder === 216 216 214 +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 217 217 216 +* In the **LoRaWAN** menu, click on **LoRaWAN ~-~- Semtech UDP** 217 +* Make sure the following settings are set: 218 +** **Service Provider:** //~-~-Custom/Private LoRaWAN~-~-// 219 +** **LoRaWAN Server Address:** //localhost or 127.0.0.1// 220 +** **Server port for upstream:** //1700// 221 +** **Server port for downstream:** //1700// 222 + 223 + Click **Save & Apply**. 224 + 225 +[[image:image-20221222114220-2.png||height="748" width="931"]] 226 + 227 + 228 +4.2 229 + 230 +[[image:image-20221222113302-1.png]] 231 + 232 += 5. Downlink = 233 + 234 +== 5.1 Convert HEX to Base64 == 235 + 236 + 237 +(% 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.** 238 + 239 +**[[Online HEX to Base64 Converter>>https://base64.guru/converter/encode/hex]]:** 240 + 241 +[[image:image-20221010193350-1.png]] 242 + 243 + 244 + 245 +**[[Online Base64 to Hex converter>>https://base64.guru/converter/decode/hex]]** 246 + 247 +[[image:image-20221010193621-2.png]] 248 + 249 + 250 +== 5.2 Chirpstack Downlink Note == 251 + 252 + 218 218 [[image:image-20220601102543-2.png]] 219 219 220 -Convert the data to Base64 255 +**Convert the data to Base64** 221 221 257 +(% style="display:none" %) (%%) 222 222 223 -[[image:image-20220531173236-10.png]] 224 224 225 - Check ChripStackdownlink DataRate260 +[[image:image-20220531173236-10.png||height="597" width="1215"]] 226 226 262 +**Check ChripStack downlink DataRate** 227 227 228 -[[image:image-20220525101326-11.png]] 229 229 230 -Make sure the RX2DR is the same in the end node 231 231 266 +[[image:image-20220525101326-11.png]] 232 232 268 +**Make sure the RX2DR is the same in the end node** 233 233 234 -== 4.2 Loraserver Downlink Note == 235 235 271 +== 5.3 Loraserver Downlink Note == 236 236 273 + 237 237 User can use MQTT to send downlink payload to ChirpStack to perform downstream to LoRaWAN End 238 238 239 239 ((( ... ... @@ -251,7 +251,7 @@ 251 251 [[image:image-20220531173419-11.png]] 252 252 253 253 ((( 254 -MQTT Connect to ChirpStack 291 +**MQTT Connect to ChirpStack** 255 255 256 256 257 257 ... ... @@ -278,21 +278,11 @@ 278 278 279 279 [[image:image-20220531173519-12.png]] 280 280 281 -MQTT Connect to ChirpStack 318 +**MQTT Connect to ChirpStack** 282 282 283 283 284 -((( 285 -(% 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/]]** 286 -))) 321 +**If we want to send downstream hex 030101 to end node, the BASE64 payload is AwEB** 287 287 288 -[[image:image-20220531173601-13.png]] 289 - 290 -Choose to Use Hex for Encode 291 - 292 - 293 - 294 -If we want send downstream hex 030101 to end node, the BASE64 payload is AwEB 295 - 296 296 [[image:image-20220531173658-14.png]] 297 297 298 298 ... ... @@ -313,15 +313,15 @@ 313 313 { 314 314 if(sha1[n] >= 'A' && sha1[n] <= 'Z') 315 315 { 316 - ascv = sha1.charCodeAt(n) - 55; 343 + ascv = sha1.charCodeAt( n ) - 55; 317 317 } 318 318 else if(sha1[n] >= 'a' && sha1[n] <= 'z') 319 319 { 320 - ascv = sha1.charCodeAt(n) - 87; 347 + ascv = sha1.charCodeAt( n ) - 87; 321 321 } 322 322 else 323 323 { 324 - ascv = sha1.charCodeAt(n) - 48; 351 + ascv = sha1.charCodeAt( n ) - 48; 325 325 } 326 326 \\ bit_arr = (bit_arr << 4) | ascv; 327 327 bit_num += 4; ... ... @@ -364,7 +364,7 @@ 364 364 365 365 User enters the payload code according to the steps. 366 366 367 -[[image:image-20220531173754-15.png]] 394 +[[image:image-20220531173754-15.png||height="474" width="1334"]] 368 368 369 369 370 370 [[image:image-20220531173856-16.png]] ... ... @@ -375,10 +375,9 @@ 375 375 [[image:image-20220531174046-19.png]] 376 376 377 377 405 += 6. Multiply Uplink in ChirpStack = 378 378 379 -= 5. Multiply Uplink in ChirpStack = 380 380 381 - 382 382 ((( 383 383 nbtrans field is the value to determine the re-transmission time for unconfirmed uplink data. 384 384 ))) ... ... @@ -389,7 +389,7 @@ 389 389 390 390 ))) 391 391 392 -[[image:image-20220526091912-7.png]] 418 +[[image:image-20220526091912-7.png||height="241" width="1336"]] 393 393 394 394 395 395 ((( ... ... @@ -414,13 +414,13 @@ 414 414 415 415 416 416 417 -Duplicate transmission in short time 443 +**Duplicate transmission in short time** 418 418 419 -[[image:image-20220601102430-1.png]] 445 +[[image:image-20220601102430-1.png||height="598" width="1319"]] 420 420 421 421 422 422 423 -== 5.1 Solution ==449 +== 6.1 Solution == 424 424 425 425 426 426 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]] ... ... @@ -542,13 +542,61 @@ 542 542 Finish. 543 543 544 544 571 += 7. How to store/get all data traffic for a specific sensor, including raw payload, and uplink/ downlink history. = 545 545 546 -= 6. Trouble Shooting = 547 547 548 - ==6.1MICMismatch or MICFailed==574 +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. 549 549 576 +This example will be shown how to store/get all the data in two ways: 550 550 578 +**//1). Chirpstack ~-~-> Node-red//** 579 + 580 + 581 +[[image:image-20221012184501-1.png]] 582 + 583 + 584 +Use MQTT in Nore-red to subscribe to topics published by the chirpstack-application and then continuously write to a file 585 + 586 +[[image:image-20221012174220-2.png]] 587 + 588 + 589 +[[image:image-20221012184655-3.png||height="395" width="1049"]] 590 + 591 + 592 +**Each message is continuously logged to a specified file** 593 + 594 +[[image:image-20221012174352-3.png]] 595 + 596 + 597 +**//2). MQTT Sub//** 598 + 599 +If you don't want to store the information via node-red, you can get the output via the subscribe command. 600 + 601 + 602 +**If connecting from the same machine, you can use the following command to receive data:** 603 + 604 +(% class="box infomessage" %) 551 551 ((( 606 +mosquitto_sub -h localhost -t "application/#" -v 607 +))) 608 + 609 + 610 +**Different host** 611 + 612 +(% class="box infomessage" %) 613 +((( 614 +mosquitto_sub -h IPADDRESS -p 8883 ~-~-insecure ~-~-cafile ca.pem ~-~-cert cert.pem ~-~-key key.pem -t "application/#" -v 615 +))) 616 + 617 +[[image:image-20221012173639-1.png]] 618 + 619 + 620 += 8. Trouble Shooting = 621 + 622 +== 8.1 MIC Mismatch or MIC Failed == 623 + 624 + 625 +((( 552 552 When the device is registered or the device is working normally, the problem of MIC mismatch and MIC failed occurs. 553 553 ))) 554 554
- image-20221010193350-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Edwin - Size
-
... ... @@ -1,0 +1,1 @@ 1 +42.7 KB - Content
- image-20221010193621-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Edwin - Size
-
... ... @@ -1,0 +1,1 @@ 1 +34.2 KB - Content
- image-20221012173639-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoye - Size
-
... ... @@ -1,0 +1,1 @@ 1 +56.2 KB - Content
- image-20221012174220-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoye - Size
-
... ... @@ -1,0 +1,1 @@ 1 +14.8 KB - Content
- image-20221012174352-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoye - Size
-
... ... @@ -1,0 +1,1 @@ 1 +93.0 KB - Content
- image-20221012184501-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoye - Size
-
... ... @@ -1,0 +1,1 @@ 1 +91.3 KB - Content
- image-20221012184631-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoye - Size
-
... ... @@ -1,0 +1,1 @@ 1 +32.4 KB - Content
- image-20221012184655-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoye - Size
-
... ... @@ -1,0 +1,1 @@ 1 +45.4 KB - Content
- image-20221222113302-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +76.3 KB - Content
- image-20221222114220-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +64.3 KB - Content
- image-20221222134830-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +54.5 KB - Content
- image-20221222140203-4.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +91.4 KB - Content