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, 7 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Xiaoye1 +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,47 +209,125 @@ 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 -(% class="wikigeneratedid" %) 216 -== 4.1 Convert HEX to Base64 == 212 +(% style="color:blue" %)**Below list the support products and Requirements:** 217 217 214 +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]] 215 +1. Firmware version since: [[Chirpstack-gateway-bridge>>url:https://www.dragino.com/downloads/index.php?dir=LoRa_Gateway/LPS8/Firmware/Release/Chirpstack-gateway-bridge/]] 216 + 217 +(% style="color:blue" %)**How to set up chirpStack Gateway-bridge** 218 + 219 +Users can check out the ChirpStack gateway-bridge v4 [[link>>https://www.chirpstack.io/docs/chirpstack-gateway-bridge/install/dragino.html]] 220 + 221 + 222 +(% style="color:blue" %)**What do you need to prepare** 223 + 224 +A gateway that can access the internet normally 225 + 226 +== 4.1 Configure Packet Forwarder == 227 + 228 +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 229 + 230 +* In the **LoRaWAN** menu, click on **LoRaWAN ~-~- Semtech UDP** 231 +* Make sure the following settings are set: 232 +** **Service Provider:** //~-~-Custom/Private LoRaWAN~-~-// 233 +** **LoRaWAN Server Address:** //localhost or 127.0.0.1// 234 +** **Server port for upstream:** //1700// 235 +** **Server port for downstream:** //1700// 236 + 237 + Click **Save & Apply**. 238 + 239 +[[image:image-20221222114220-2.png||height="748" width="931"]] 240 + 241 + 242 +== 4.2 Configuring gateway frequency == 243 + 244 +Note: Gateway frequencies must match 245 + 246 +[[image:image-20221222134830-3.png||height="408" width="923"]] 247 + 248 + 249 +== 4.3 Modify the gateway-bridge configuration file == 250 + 251 + 252 +Run the gateway command line command to modify the gateway-bridge configuration file: 253 + 254 +(% class="box infomessage" %) 255 +((( 256 +root@dragino-1d27d4:~~# vim /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml 257 +))) 258 + 259 +[[image:image-20221222113302-1.png]] 260 + 261 +[[image:image-20221222140203-4.png||height="875" width="806"]] 262 + 263 + 264 +(% class="wikigeneratedid" id="H" %) 265 +After the modification, run the following command: **/etc/init.d/chirpstack-gateway-bridge restart** 266 + 267 +== 4.3 (Re)start and stop gateway-bridge == 268 + 269 +Use the following commands to (re)start and stop the ChirpStack Gateway Bridge Service: 270 + 271 +(% class="box infomessage" %) 272 +((( 273 +**# start** 274 + 275 +/etc/init.d/chirpstack-gateway-bridge start 276 + 277 +**# stop** 278 + 279 +/etc/init.d/chirpstack-gateway-bridge stop 280 + 281 +**# restart** 282 + 283 +/etc/init.d/chirpstack-gateway-bridge restart 284 +))) 285 + 286 += 5. Downlink = 287 + 288 +== 5.1 Convert HEX to Base64 == 289 + 290 + 218 218 (% 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.** 219 219 220 -[[Online HEX to Base64 Converter>>https://base64.guru/converter/encode/hex]]: 293 +**[[Online HEX to Base64 Converter>>https://base64.guru/converter/encode/hex]]:** 221 221 222 222 [[image:image-20221010193350-1.png]] 223 223 224 224 225 -[[Online Base64 to Hex converter>>https://base64.guru/converter/decode/hex]] 226 226 299 +**[[Online Base64 to Hex converter>>https://base64.guru/converter/decode/hex]]** 300 + 227 227 [[image:image-20221010193621-2.png]] 228 228 229 229 304 +== 5.2 Chirpstack Downlink Note == 230 230 231 -== 4.2 Chirpstack Downlink Note == 232 232 233 - 234 234 [[image:image-20220601102543-2.png]] 235 235 236 -Convert the data to Base64 309 +**Convert the data to Base64** 237 237 311 +(% style="display:none" %) (%%) 238 238 239 -[[image:image-20220531173236-10.png]] 240 240 241 - Check ChripStackdownlink DataRate314 +[[image:image-20220531173236-10.png||height="597" width="1215"]] 242 242 316 +**Check ChripStack downlink DataRate** 243 243 244 -[[image:image-20220525101326-11.png]] 245 245 246 -Make sure the RX2DR is the same in the end node 247 247 320 +[[image:image-20220525101326-11.png]] 248 248 322 +**Make sure the RX2DR is the same in the end node** 249 249 250 -== 4.3 Loraserver Downlink Note == 251 251 325 +== 5.3 Loraserver Downlink Note == 252 252 327 + 253 253 User can use MQTT to send downlink payload to ChirpStack to perform downstream to LoRaWAN End 254 254 255 255 ((( ... ... @@ -267,7 +267,7 @@ 267 267 [[image:image-20220531173419-11.png]] 268 268 269 269 ((( 270 -MQTT Connect to ChirpStack 345 +**MQTT Connect to ChirpStack** 271 271 272 272 273 273 ... ... @@ -294,10 +294,10 @@ 294 294 295 295 [[image:image-20220531173519-12.png]] 296 296 297 -MQTT Connect to ChirpStack 372 +**MQTT Connect to ChirpStack** 298 298 299 299 300 -If we want to send downstream hex 030101 to end node, the BASE64 payload is AwEB 375 +**If we want to send downstream hex 030101 to end node, the BASE64 payload is AwEB** 301 301 302 302 [[image:image-20220531173658-14.png]] 303 303 ... ... @@ -319,15 +319,15 @@ 319 319 { 320 320 if(sha1[n] >= 'A' && sha1[n] <= 'Z') 321 321 { 322 - ascv = sha1.charCodeAt(n) - 55; 397 + ascv = sha1.charCodeAt( n ) - 55; 323 323 } 324 324 else if(sha1[n] >= 'a' && sha1[n] <= 'z') 325 325 { 326 - ascv = sha1.charCodeAt(n) - 87; 401 + ascv = sha1.charCodeAt( n ) - 87; 327 327 } 328 328 else 329 329 { 330 - ascv = sha1.charCodeAt(n) - 48; 405 + ascv = sha1.charCodeAt( n ) - 48; 331 331 } 332 332 \\ bit_arr = (bit_arr << 4) | ascv; 333 333 bit_num += 4; ... ... @@ -370,7 +370,7 @@ 370 370 371 371 User enters the payload code according to the steps. 372 372 373 -[[image:image-20220531173754-15.png]] 448 +[[image:image-20220531173754-15.png||height="474" width="1334"]] 374 374 375 375 376 376 [[image:image-20220531173856-16.png]] ... ... @@ -381,10 +381,9 @@ 381 381 [[image:image-20220531174046-19.png]] 382 382 383 383 459 += 6. Multiply Uplink in ChirpStack = 384 384 385 -= 5. Multiply Uplink in ChirpStack = 386 386 387 - 388 388 ((( 389 389 nbtrans field is the value to determine the re-transmission time for unconfirmed uplink data. 390 390 ))) ... ... @@ -395,7 +395,7 @@ 395 395 396 396 ))) 397 397 398 -[[image:image-20220526091912-7.png]] 472 +[[image:image-20220526091912-7.png||height="241" width="1336"]] 399 399 400 400 401 401 ((( ... ... @@ -420,13 +420,13 @@ 420 420 421 421 422 422 423 -Duplicate transmission in short time 497 +**Duplicate transmission in short time** 424 424 425 -[[image:image-20220601102430-1.png]] 499 +[[image:image-20220601102430-1.png||height="598" width="1319"]] 426 426 427 427 428 428 429 -== 5.1 Solution ==503 +== 6.1 Solution == 430 430 431 431 432 432 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]] ... ... @@ -548,13 +548,61 @@ 548 548 Finish. 549 549 550 550 625 += 7. How to store/get all data traffic for a specific sensor, including raw payload, and uplink/ downlink history. = 551 551 552 -= 6. Trouble Shooting = 553 553 554 - ==6.1MICMismatch or MICFailed==628 +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. 555 555 630 +This example will be shown how to store/get all the data in two ways: 556 556 632 +**//1). Chirpstack ~-~-> Node-red//** 633 + 634 + 635 +[[image:image-20221012184501-1.png]] 636 + 637 + 638 +Use MQTT in Nore-red to subscribe to topics published by the chirpstack-application and then continuously write to a file 639 + 640 +[[image:image-20221012174220-2.png]] 641 + 642 + 643 +[[image:image-20221012184655-3.png||height="395" width="1049"]] 644 + 645 + 646 +**Each message is continuously logged to a specified file** 647 + 648 +[[image:image-20221012174352-3.png]] 649 + 650 + 651 +**//2). MQTT Sub//** 652 + 653 +If you don't want to store the information via node-red, you can get the output via the subscribe command. 654 + 655 + 656 +**If connecting from the same machine, you can use the following command to receive data:** 657 + 658 +(% class="box infomessage" %) 557 557 ((( 660 +mosquitto_sub -h localhost -t "application/#" -v 661 +))) 662 + 663 + 664 +**Different host** 665 + 666 +(% class="box infomessage" %) 667 +((( 668 +mosquitto_sub -h IPADDRESS -p 8883 ~-~-insecure ~-~-cafile ca.pem ~-~-cert cert.pem ~-~-key key.pem -t "application/#" -v 669 +))) 670 + 671 +[[image:image-20221012173639-1.png]] 672 + 673 + 674 += 8. Trouble Shooting = 675 + 676 +== 8.1 MIC Mismatch or MIC Failed == 677 + 678 + 679 +((( 558 558 When the device is registered or the device is working normally, the problem of MIC mismatch and MIC failed occurs. 559 559 ))) 560 560
- 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