Changes for page Notes for ChirpStack
Last modified by Edwin Chen on 2025/01/30 09:53
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 14 added, 0 removed)
- 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
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Edwin1 +XWiki.Kilight - Content
-
... ... @@ -38,7 +38,6 @@ 38 38 ))) 39 39 40 40 41 - 42 42 = 2. Semtech UDP = 43 43 44 44 == 2.1 Step 1. Add the Network-servers == ... ... @@ -61,7 +61,6 @@ 61 61 Add the Network-servers 62 62 63 63 64 - 65 65 == 2.2 Step 2. Create Gateway-profiles == 66 66 67 67 ... ... @@ -70,7 +70,6 @@ 70 70 Create Gateway-profiles 71 71 72 72 73 - 74 74 == 2.3 Step 3. Create Service-profiles == 75 75 76 76 ... ... @@ -86,7 +86,6 @@ 86 86 If the user has completed the preceding steps, proceed to the next step.(% style="display:none" %) 87 87 88 88 89 - 90 90 == 2.4 Step 4. Add the gateway == 91 91 92 92 ... ... @@ -109,7 +109,6 @@ 109 109 Configure the gateway 110 110 111 111 112 - 113 113 == 2.5 Step 5. Checking gateway Status == 114 114 115 115 ... ... @@ -124,10 +124,8 @@ 124 124 gateway Status 125 125 126 126 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,142 @@ 209 209 [[image:image-20220531172857-9.png]] 210 210 211 211 203 += 4. How the gateway connects to Chirpstack v4 via gateway-bridge = 212 212 213 -= 4. Downlink = 214 214 215 - ==4.1 ChirpstackDownlinkNote==206 +(% style="color:blue" %)**Below list the support products and Requirements:** 216 216 208 +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]] 209 +1. Firmware version since: [[Chirpstack-gateway-bridge>>url:https://www.dragino.com/downloads/index.php?dir=LoRa_Gateway/LPS8/Firmware/Release/Chirpstack-gateway-bridge/]] 217 217 211 +(% style="color:blue" %)**How to set up chirpStack Gateway-bridge** 212 + 213 +Users can check out the ChirpStack gateway-bridge v4 [[link>>https://www.chirpstack.io/docs/chirpstack-gateway-bridge/install/dragino.html]] 214 + 215 + 216 +(% style="color:blue" %)**What do you need to prepare** 217 + 218 +A gateway that can access the internet normally 219 + 220 + 221 +== 4.1 Configure Packet Forwarder == 222 + 223 + 224 +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 225 + 226 +* In the **LoRaWAN** menu, click on **LoRaWAN ~-~- Semtech UDP** 227 +* Make sure the following settings are set: 228 +** **Service Provider:** //~-~-Custom/Private LoRaWAN~-~-// 229 +** **LoRaWAN Server Address:** //localhost or 127.0.0.1// 230 +** **Server port for upstream:** //1700// 231 +** **Server port for downstream:** //1700// 232 + 233 + Click **Save & Apply**. 234 + 235 +[[image:image-20221222114220-2.png||height="748" width="931"]] 236 + 237 + 238 +== 4.2 Configuring gateway frequency == 239 + 240 + 241 +(% style="color:red" %)**Note: Gateway frequencies must match** 242 + 243 +[[image:image-20221222134830-3.png||height="408" width="923"]] 244 + 245 + 246 +== 4.3 Modify the gateway-bridge configuration file == 247 + 248 + 249 +Run the gateway command line command to modify the gateway-bridge configuration file: 250 + 251 +(% class="box infomessage" %) 252 +((( 253 +root@dragino-1d27d4:~~# vim /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml 254 +))) 255 + 256 +[[image:image-20221222113302-1.png]] 257 + 258 + 259 +[[image:image-20221222140203-4.png||height="875" width="806"]] 260 + 261 +[[image:image-20221230094246-1.png||height="768" width="783"]] 262 + 263 +(% class="wikigeneratedid" id="H" %) 264 +After the modification, run the following command: **/etc/init.d/chirpstack-gateway-bridge restart** 265 + 266 + 267 +== 4.4 (Re)start and stop gateway-bridge == 268 + 269 + 270 +Use the following commands to (re)start and stop the ChirpStack Gateway Bridge Service: 271 + 272 +(% class="box infomessage" %) 273 +((( 274 +**# start** 275 + 276 +/etc/init.d/chirpstack-gateway-bridge start 277 + 278 +**# stop** 279 + 280 +/etc/init.d/chirpstack-gateway-bridge stop 281 + 282 +**# restart** 283 + 284 +/etc/init.d/chirpstack-gateway-bridge restart 285 +))) 286 + 287 + 288 +== 4.5 Successful Connection == 289 + 290 + 291 +[[image:image-20221222141754-5.png||height="488" width="1150"]] 292 + 293 + 294 +[[image:image-20221222141830-6.png||height="582" width="1153"]] 295 + 296 + 297 += 5. Downlink = 298 + 299 +== 5.1 Convert HEX to Base64 == 300 + 301 + 302 +(% 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.** 303 + 304 +**[[Online HEX to Base64 Converter>>https://base64.guru/converter/encode/hex]]:** 305 + 306 +[[image:image-20221010193350-1.png]] 307 + 308 + 309 + 310 +**[[Online Base64 to Hex converter>>https://base64.guru/converter/decode/hex]]** 311 + 312 +[[image:image-20221010193621-2.png]] 313 + 314 + 315 +== 5.2 Chirpstack Downlink Note == 316 + 317 + 218 218 [[image:image-20220601102543-2.png]] 219 219 220 -Convert the data to Base64 320 +**Convert the data to Base64** 221 221 322 +(% style="display:none" %) (%%) 222 222 223 -[[image:image-20220531173236-10.png]] 224 224 225 - Check ChripStackdownlink DataRate325 +[[image:image-20220531173236-10.png||height="597" width="1215"]] 226 226 327 +**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 331 +[[image:image-20220525101326-11.png]] 232 232 333 +**Make sure the RX2DR is the same in the end node** 233 233 234 -== 4.2 Loraserver Downlink Note == 235 235 336 +== 5.3 Loraserver Downlink Note == 236 236 338 + 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 356 +**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 383 +**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 -))) 386 +**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; 408 + 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; 412 + ascv = sha1.charCodeAt( n ) - 87; 321 321 } 322 322 else 323 323 { 324 - ascv = sha1.charCodeAt(n) - 48; 416 + ascv = sha1.charCodeAt( n ) - 48; 325 325 } 326 326 \\ bit_arr = (bit_arr << 4) | ascv; 327 327 bit_num += 4; ... ... @@ -358,13 +358,12 @@ 358 358 ))) 359 359 360 360 361 - 362 362 == 4.3 Add the decode function in Chirpstack for the payload == 363 363 364 364 365 365 User enters the payload code according to the steps. 366 366 367 -[[image:image-20220531173754-15.png]] 458 +[[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 469 += 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]] 482 +[[image:image-20220526091912-7.png||height="241" width="1336"]] 393 393 394 394 395 395 ((( ... ... @@ -414,15 +414,14 @@ 414 414 415 415 416 416 417 -Duplicate transmission in short time 507 +**Duplicate transmission in short time** 418 418 419 -[[image:image-20220601102430-1.png]] 509 +[[image:image-20220601102430-1.png||height="598" width="1319"]] 420 420 421 421 512 +== 6.1 Solution == 422 422 423 -== 5.1 Solution == 424 424 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]] 427 427 428 428 ... ... @@ -542,16 +542,68 @@ 542 542 Finish. 543 543 544 544 634 += 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==637 +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 639 +This example will be shown how to store/get all the data in two ways: 550 550 641 +**//1). Chirpstack ~-~-> Node-red//** 642 + 643 + 644 +[[image:image-20221012184501-1.png]] 645 + 646 + 647 +Use MQTT in Nore-red to subscribe to topics published by the chirpstack-application and then continuously write to a file 648 + 649 +[[image:image-20221012174220-2.png]] 650 + 651 + 652 +[[image:image-20221012184655-3.png||height="395" width="1049"]] 653 + 654 + 655 +**Each message is continuously logged to a specified file** 656 + 657 +[[image:image-20221012174352-3.png]] 658 + 659 + 660 +**//2). MQTT Sub//** 661 + 662 +If you don't want to store the information via node-red, you can get the output via the subscribe command. 663 + 664 + 665 +**If connecting from the same machine, you can use the following command to receive data:** 666 + 667 +(% class="box infomessage" %) 551 551 ((( 669 +mosquitto_sub -h localhost -t "application/#" -v 670 +))) 671 + 672 + 673 +**Different host** 674 + 675 +(% class="box infomessage" %) 676 +((( 677 +mosquitto_sub -h IPADDRESS -p 8883 ~-~-insecure ~-~-cafile ca.pem ~-~-cert cert.pem ~-~-key key.pem -t "application/#" -v 678 +))) 679 + 680 +[[image:image-20221012173639-1.png]] 681 + 682 + 683 += 8. Trouble Shooting = 684 + 685 +== 8.1 MIC Mismatch or MIC Failed == 686 + 687 + 688 +((( 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 555 555 ((( 556 556 Under normal circumstances, users need to change the APPKEY to solve this problem. 694 + 695 + 696 + 697 + 557 557 )))
- image-20221010193621-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Edwin - Size
-
... ... @@ -1,0 +1,1 @@ 1 +34.2 KB - Content
- image-20221012173639-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoye - Size
-
... ... @@ -1,0 +1,1 @@ 1 +56.2 KB - Content
- image-20221012174220-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoye - Size
-
... ... @@ -1,0 +1,1 @@ 1 +14.8 KB - Content
- image-20221012174352-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoye - Size
-
... ... @@ -1,0 +1,1 @@ 1 +93.0 KB - Content
- image-20221012184501-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoye - Size
-
... ... @@ -1,0 +1,1 @@ 1 +91.3 KB - Content
- image-20221012184631-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoye - Size
-
... ... @@ -1,0 +1,1 @@ 1 +32.4 KB - Content
- image-20221012184655-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoye - Size
-
... ... @@ -1,0 +1,1 @@ 1 +45.4 KB - Content
- image-20221222113302-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +76.3 KB - Content
- image-20221222114220-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +64.3 KB - Content
- image-20221222134830-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +54.5 KB - Content
- image-20221222140203-4.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +91.4 KB - Content
- image-20221222141754-5.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +179.1 KB - Content
- image-20221222141830-6.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +116.7 KB - Content
- image-20221230094246-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +84.9 KB - Content