Changes for page Notes for ChirpStack
Last modified by Edwin Chen on 2025/01/30 09:53
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 14 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
- image-20221222141754-5.png
- image-20221222141830-6.png
Details
- Page properties
-
- Content
-
... ... @@ -38,6 +38,7 @@ 38 38 ))) 39 39 40 40 41 + 41 41 = 2. Semtech UDP = 42 42 43 43 == 2.1 Step 1. Add the Network-servers == ... ... @@ -60,6 +60,7 @@ 60 60 Add the Network-servers 61 61 62 62 64 + 63 63 == 2.2 Step 2. Create Gateway-profiles == 64 64 65 65 ... ... @@ -68,6 +68,7 @@ 68 68 Create Gateway-profiles 69 69 70 70 73 + 71 71 == 2.3 Step 3. Create Service-profiles == 72 72 73 73 ... ... @@ -83,35 +83,30 @@ 83 83 If the user has completed the preceding steps, proceed to the next step.(% style="display:none" %) 84 84 85 85 86 -== 2.4 Step 4. Add the gateway == 87 87 90 +== 2.4 Step 4. Add the gateway == 88 88 89 89 The example gateway id is: a840411e96744150 90 90 91 91 ((( 92 92 (% style="color:red" %)**Note : The Gateway EUI and server addresses must match the ChirpStack configuration.** 93 - 94 - 95 95 ))) 96 96 97 97 [[image:image-20220531171923-4.png]](% style="display:none" %) 98 98 100 + 99 99 Add the gateway 100 100 101 - 102 - 103 103 [[image:image-20220531172031-5.png]] 104 104 105 105 Configure the gateway 106 106 107 107 108 -== 2.5 108 +== 2.5 Step 5. Checking gateway Status == 109 109 110 - 111 111 [[image:image-20220531172158-6.png]](% style="display:none" %) 112 112 113 113 114 - 115 115 gateway Status 116 116 117 117 [[image:image-20220531172304-7.png]] ... ... @@ -119,45 +119,39 @@ 119 119 gateway Status 120 120 121 121 122 -= 3. 120 += 3. Gateway Registration for Basics Station = 123 123 124 -== 3.1 122 +== 3.1 Introduction == 125 125 126 - 127 127 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. 128 128 129 129 ChirpStack Open-Source LoRaWAN® Network Server needs to set up a configuration that can use Semtech BasicStation. 130 130 128 +**Below list the support products and Requirements:** 131 131 132 -(% style="color:blue" %)**Below list the support products and Requirements:** 133 - 134 134 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]] 135 135 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/]] 136 136 137 - (% style="color:blue" %)**How to set up chirpStack Basic Station**133 +**How to set up chirpStack Basic Station** 138 138 139 139 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]] 140 140 137 +**What do you need to prepare** 141 141 142 -(% style="color:blue" %)**What do you need to prepare** 143 - 144 144 A gateway that can access the internet normally 145 145 146 146 147 -== 3.2 142 +== 3.2 Add Gateway == 148 148 149 - 150 150 [[image:image-20220524164205-10.png]] 151 151 152 152 153 -== 3.3 147 +== 3.3 Access the gateway GUI == 154 154 155 - 156 156 Access the gateway GUI interface of LoRaWAN~-~->LoRaWAN ~-~- Basic Station 157 157 158 158 [[image:image-20220524164319-11.png]] 159 159 160 - 161 161 User need to Choose the ChirpStack/Senet ~-~- Basic Station , input Server URI and Upload the TLS Certificate 162 162 163 163 (% class="box" %) ... ... @@ -173,23 +173,20 @@ 173 173 [[image:image-20220524164341-12.png]] 174 174 175 175 176 -== 3.4 168 +== 3.4 Start Station == 177 177 170 +When the user has finished the configuration, Please click Sace&Apply to start station to connect ChirpStack 178 178 179 -When the user has finished the configuration, Please click **Sace&Apply** to start station to connect ChirpStack. 180 180 173 +== 3.5 Successful Connection == 181 181 182 -== 3.5 Successful Connection == 183 - 184 - 185 185 If user completes the above steps, which will see live date in the ChirpStack. 186 186 187 187 [[image:image-20220524164448-13.png]] 188 188 189 189 190 -== 3.6 180 +== 3.6 Trouble Shooting == 191 191 192 - 193 193 User can check the station log in the logread/system log page. 194 194 195 195 [[image:image-20220531172837-8.png]] ... ... @@ -200,145 +200,31 @@ 200 200 [[image:image-20220531172857-9.png]] 201 201 202 202 203 -= 4. Howthe gateway connects to Chirpstackv4 via gateway-bridge=192 += 4. Downlink = 204 204 194 +== 4.1 Chirpstack Downlink Note == 205 205 206 -(% style="color:blue" %)**Below list the support products and Requirements:** 207 - 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/]] 210 - 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 - 262 -(% class="wikigeneratedid" id="H" %) 263 -After the modification, run the following command: **/etc/init.d/chirpstack-gateway-bridge restart** 264 - 265 - 266 -== 4.4 (Re)start and stop gateway-bridge == 267 - 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 - 287 -== 4.5 Successful Connection == 288 - 289 - 290 -[[image:image-20221222141754-5.png||height="488" width="1150"]] 291 - 292 - 293 -[[image:image-20221222141830-6.png||height="582" width="1153"]] 294 - 295 - 296 -= 5. Downlink = 297 - 298 -== 5.1 Convert HEX to Base64 == 299 - 300 - 301 -(% 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.** 302 - 303 -**[[Online HEX to Base64 Converter>>https://base64.guru/converter/encode/hex]]:** 304 - 305 -[[image:image-20221010193350-1.png]] 306 - 307 - 308 - 309 -**[[Online Base64 to Hex converter>>https://base64.guru/converter/decode/hex]]** 310 - 311 -[[image:image-20221010193621-2.png]] 312 - 313 - 314 -== 5.2 Chirpstack Downlink Note == 315 - 316 - 317 317 [[image:image-20220601102543-2.png]] 318 318 319 - **Convert the data to Base64**198 +Convert the data to Base64 320 320 321 -(% style="display:none" %) (%%) 322 322 201 +[[image:image-20220531173236-10.png]] 323 323 324 - [[image:image-20220531173236-10.png||height="597"width="1215"]]203 +Check ChripStack downlink DataRate 325 325 326 -**Check ChripStack downlink DataRate** 327 327 328 - 329 - 330 330 [[image:image-20220525101326-11.png]] 331 331 332 - **Make sure the RX2DR is the same in the end node**208 +Make sure the RX2DR is the same in the end node 333 333 334 334 335 -== 5.3Loraserver Downlink Note ==211 +== 4.2 Loraserver Downlink Note == 336 336 337 - 338 338 User can use MQTT to send downlink payload to ChirpStack to perform downstream to LoRaWAN End 339 339 340 340 ((( 341 - **Below is examples:**216 +Below is examples: 342 342 ))) 343 343 344 344 (% class="box" %) ... ... @@ -352,14 +352,13 @@ 352 352 [[image:image-20220531173419-11.png]] 353 353 354 354 ((( 355 - **MQTT Connect to ChirpStack**230 +MQTT Connect to ChirpStack 356 356 357 - 358 358 359 359 ))) 360 360 361 361 ((( 362 - **After connect**236 +After connect 363 363 ))) 364 364 365 365 (% class="box" %) ... ... @@ -379,14 +379,22 @@ 379 379 380 380 [[image:image-20220531173519-12.png]] 381 381 382 - **MQTT Connect to ChirpStack**256 +MQTT Connect to ChirpStack 383 383 384 384 385 -**If we want to send downstream hex 030101 to end node, the BASE64 payload is AwEB** 259 +((( 260 +(% 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/]] 261 +))) 386 386 387 -[[image:image-202205311736 58-14.png]]263 +[[image:image-20220531173601-13.png]] 388 388 265 +Choose to Use Hex for Encode 389 389 267 + 268 +If we want send downstream hex 030101 to end node, the BASE64 payload is AwEB 269 + 270 +[[image:image-20220531173658-14.png]] 271 + 390 390 ((( 391 391 Downlink payload encode javescript code: 可以在网站上运行以下Javsscript代码: 392 392 ))) ... ... @@ -404,15 +404,15 @@ 404 404 { 405 405 if(sha1[n] >= 'A' && sha1[n] <= 'Z') 406 406 { 407 - ascv = sha1.charCodeAt( 289 + ascv = sha1.charCodeAt(n) - 55; 408 408 } 409 409 else if(sha1[n] >= 'a' && sha1[n] <= 'z') 410 410 { 411 - ascv = sha1.charCodeAt( 293 + ascv = sha1.charCodeAt(n) - 87; 412 412 } 413 413 else 414 414 { 415 - ascv = sha1.charCodeAt( 297 + ascv = sha1.charCodeAt(n) - 48; 416 416 } 417 417 \\ bit_arr = (bit_arr << 4) | ascv; 418 418 bit_num += 4; ... ... @@ -449,12 +449,11 @@ 449 449 ))) 450 450 451 451 452 -== 4.3 334 +== 4.3 Add the decode function in Chirpstack for the payload == 453 453 454 - 455 455 User enters the payload code according to the steps. 456 456 457 -[[image:image-20220531173754-15.png ||height="474" width="1334"]]338 +[[image:image-20220531173754-15.png]] 458 458 459 459 460 460 [[image:image-20220531173856-16.png]] ... ... @@ -465,9 +465,8 @@ 465 465 [[image:image-20220531174046-19.png]] 466 466 467 467 468 -= 6.349 += 5. Multiply Uplink in ChirpStack = 469 469 470 - 471 471 ((( 472 472 nbtrans field is the value to determine the re-transmission time for unconfirmed uplink data. 473 473 ))) ... ... @@ -474,17 +474,12 @@ 474 474 475 475 ((( 476 476 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]] 477 - 478 - 479 479 ))) 480 480 481 -[[image:image-20220526091912-7.png ||height="241" width="1336"]]359 +[[image:image-20220526091912-7.png]] 482 482 483 - 484 484 ((( 485 485 nbtrans is a field of ADR message, in unconfirm mode, it tells end node how many time it needs to transmit for every frame. 486 - 487 - 488 488 ))) 489 489 490 490 [[image:image-20220525104359-21.png]] ... ... @@ -491,8 +491,6 @@ 491 491 492 492 ((( 493 493 Above behaviour will cause the platform shows below two cases of error: 494 - 495 - 496 496 ))) 497 497 498 498 ((( ... ... @@ -502,35 +502,29 @@ 502 502 [[image:image-20220525104437-22.png]] 503 503 504 504 378 +Duplicate transmission in short time 505 505 506 - **Duplicatetransmission in short time**380 +[[image:image-20220601102430-1.png]] 507 507 508 -[[image:image-20220601102430-1.png||height="598" width="1319"]] 509 509 383 +== 5.1 Solution == 510 510 511 -== 6.1 Solution == 512 - 513 - 514 514 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]] 515 515 516 - 517 517 ((( 518 -(% 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.** 519 - 520 - 388 +~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. 521 521 ))) 522 522 523 523 [[image:image-20220525104532-24.png]] 524 524 525 525 526 - **installation path:**394 +installation path: 527 527 528 528 [[image:image-20220525104554-25.png]] 529 529 530 530 531 - 532 532 ((( 533 - (% style="color:blue" %)**2.**400 +2. Environment variable settings:. 534 534 ))) 535 535 536 536 ((( ... ... @@ -538,13 +538,13 @@ 538 538 ))) 539 539 540 540 ((( 541 -2) 408 +2)Set the variable name GOROOT and the variable value C:\Go\ (installation directory) 542 542 ))) 543 543 544 544 [[image:image-20220524165433-33.png]] 545 545 546 546 547 -3) 414 +3)Modify the system variable Path and add C:\Go\bin\: 548 548 549 549 [[image:image-20220524165452-34.png]] 550 550 ... ... @@ -554,9 +554,8 @@ 554 554 [[image:image-20220524165517-35.png]] 555 555 556 556 424 +3. Modify the ADR configuration file according to your own needs, adr.setting.go is an example of the ADR configuration file. 557 557 558 -(% 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.** 559 - 560 560 The name of the plugin: Example ADR plugin: 561 561 562 562 [[image:image-20220524165540-36.png]] ... ... @@ -566,9 +566,8 @@ 566 566 [[image:image-20220524165557-37.png]] 567 567 568 568 435 +4. Compile the ADR configuration file and generate the exe file. 569 569 570 -(% style="color:blue" %)**4. Compile the ADR configuration file and generate the exe file.** 571 - 572 572 1) Create a folder named adr-setting 573 573 574 574 2) Open the adr-setting folder ... ... @@ -592,9 +592,8 @@ 592 592 [[image:image-20220524165623-38.png]] 593 593 594 594 460 +5. Add the plugin and run the plugin. 595 595 596 -(% style="color:blue" %)**5. Add the plugin and run the plugin.** 597 - 598 598 ((( 599 599 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: 600 600 ))) ... ... @@ -630,68 +630,14 @@ 630 630 Finish. 631 631 632 632 633 -= 7.Howtostore/getall data traffic for a specific sensor, includingraw payload, and uplink/ downlink history.=497 += 6. Trouble Shooting = 634 634 499 +== 6.1 MIC Mismatch or MIC Failed == 635 635 636 -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. 637 - 638 -This example will be shown how to store/get all the data in two ways: 639 - 640 -**//1). Chirpstack ~-~-> Node-red//** 641 - 642 - 643 -[[image:image-20221012184501-1.png]] 644 - 645 - 646 -Use MQTT in Nore-red to subscribe to topics published by the chirpstack-application and then continuously write to a file 647 - 648 -[[image:image-20221012174220-2.png]] 649 - 650 - 651 -[[image:image-20221012184655-3.png||height="395" width="1049"]] 652 - 653 - 654 -**Each message is continuously logged to a specified file** 655 - 656 -[[image:image-20221012174352-3.png]] 657 - 658 - 659 -**//2). MQTT Sub//** 660 - 661 -If you don't want to store the information via node-red, you can get the output via the subscribe command. 662 - 663 - 664 -**If connecting from the same machine, you can use the following command to receive data:** 665 - 666 -(% class="box infomessage" %) 667 667 ((( 668 -mosquitto_sub -h localhost -t "application/#" -v 669 -))) 670 - 671 - 672 -**Different host** 673 - 674 -(% class="box infomessage" %) 675 -((( 676 -mosquitto_sub -h IPADDRESS -p 8883 ~-~-insecure ~-~-cafile ca.pem ~-~-cert cert.pem ~-~-key key.pem -t "application/#" -v 677 -))) 678 - 679 -[[image:image-20221012173639-1.png]] 680 - 681 - 682 -= 8. Trouble Shooting = 683 - 684 -== 8.1 MIC Mismatch or MIC Failed == 685 - 686 - 687 -((( 688 688 When the device is registered or the device is working normally, the problem of MIC mismatch and MIC failed occurs. 689 689 ))) 690 690 691 691 ((( 692 692 Under normal circumstances, users need to change the APPKEY to solve this problem. 693 - 694 - 695 - 696 - 697 697 )))
- 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