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, 0 added, 12 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. Kilight1 +XWiki.Xiaoling - Content
-
... ... @@ -109,14 +109,11 @@ 109 109 Configure the gateway 110 110 111 111 112 +== 2.5 Step 5. Checking gateway Status == 112 112 113 -== 2.5 Step 5. Checking gateway Status == 114 - 115 - 116 116 [[image:image-20220531172158-6.png]](% style="display:none" %) 117 117 118 118 119 - 120 120 gateway Status 121 121 122 122 [[image:image-20220531172304-7.png]] ... ... @@ -124,46 +124,39 @@ 124 124 gateway Status 125 125 126 126 124 += 3. Gateway Registration for Basics Station = 127 127 128 -= 3. Gateway Registration for Basics Station =126 +== 3.1 Introduction == 129 129 130 -== 3.1 Introduction == 131 - 132 - 133 133 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. 134 134 135 135 ChirpStack Open-Source LoRaWAN® Network Server needs to set up a configuration that can use Semtech BasicStation. 136 136 132 +**Below list the support products and Requirements:** 137 137 138 -(% style="color:blue" %)**Below list the support products and Requirements:** 139 - 140 140 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]] 141 141 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/]] 142 142 143 - (% style="color:blue" %)**How to set up chirpStack Basic Station**137 +**How to set up chirpStack Basic Station** 144 144 145 145 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]] 146 146 141 +**What do you need to prepare** 147 147 148 -(% style="color:blue" %)**What do you need to prepare** 149 - 150 150 A gateway that can access the internet normally 151 151 152 152 153 -== 3.2 146 +== 3.2 Add Gateway == 154 154 155 - 156 156 [[image:image-20220524164205-10.png]] 157 157 158 158 159 -== 3.3 151 +== 3.3 Access the gateway GUI == 160 160 161 - 162 162 Access the gateway GUI interface of LoRaWAN~-~->LoRaWAN ~-~- Basic Station 163 163 164 164 [[image:image-20220524164319-11.png]] 165 165 166 - 167 167 User need to Choose the ChirpStack/Senet ~-~- Basic Station , input Server URI and Upload the TLS Certificate 168 168 169 169 (% class="box" %) ... ... @@ -179,23 +179,20 @@ 179 179 [[image:image-20220524164341-12.png]] 180 180 181 181 182 -== 3.4 172 +== 3.4 Start Station == 183 183 174 +When the user has finished the configuration, Please click Sace&Apply to start station to connect ChirpStack 184 184 185 -When the user has finished the configuration, Please click **Sace&Apply** to start station to connect ChirpStack. 186 186 177 +== 3.5 Successful Connection == 187 187 188 -== 3.5 Successful Connection == 189 - 190 - 191 191 If user completes the above steps, which will see live date in the ChirpStack. 192 192 193 193 [[image:image-20220524164448-13.png]] 194 194 195 195 196 -== 3.6 184 +== 3.6 Trouble Shooting == 197 197 198 - 199 199 User can check the station log in the logread/system log page. 200 200 201 201 [[image:image-20220531172837-8.png]] ... ... @@ -206,115 +206,31 @@ 206 206 [[image:image-20220531172857-9.png]] 207 207 208 208 209 -= 4. Howthe gateway connects to Chirpstackv4 via gateway-bridge=196 += 4. Downlink = 210 210 198 +== 4.1 Chirpstack Downlink Note == 211 211 212 -== 4.1 Configure Packet Forwarder == 213 - 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 215 - 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 Configuring gateway frequency == 229 - 230 -Note: Gateway frequencies must match 231 - 232 -[[image:image-20221222134830-3.png||height="408" width="923"]] 233 - 234 - 235 -== 4.3 Modify the gateway-bridge configuration file == 236 - 237 - 238 -Run the gateway command line command to modify the gateway-bridge configuration file: 239 - 240 -(% class="box infomessage" %) 241 -((( 242 -root@dragino-1d27d4:~~# vim /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml 243 -))) 244 - 245 -[[image:image-20221222113302-1.png]] 246 - 247 -[[image:image-20221222140203-4.png||height="875" width="806"]] 248 - 249 - 250 -(% class="wikigeneratedid" id="H" %) 251 -After the modification, run the following command: **/etc/init.d/chirpstack-gateway-bridge restart** 252 - 253 -== 4.3 (Re)start and stop gateway-bridge == 254 - 255 -Use the following commands to (re)start and stop the ChirpStack Gateway Bridge Service: 256 - 257 -(% class="box infomessage" %) 258 -((( 259 -**# start** 260 - 261 -/etc/init.d/chirpstack-gateway-bridge start 262 - 263 -**# stop** 264 - 265 -/etc/init.d/chirpstack-gateway-bridge stop 266 - 267 -**# restart** 268 - 269 -/etc/init.d/chirpstack-gateway-bridge restart 270 -))) 271 - 272 -= 5. Downlink = 273 - 274 -== 5.1 Convert HEX to Base64 == 275 - 276 - 277 -(% 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.** 278 - 279 -**[[Online HEX to Base64 Converter>>https://base64.guru/converter/encode/hex]]:** 280 - 281 -[[image:image-20221010193350-1.png]] 282 - 283 - 284 - 285 -**[[Online Base64 to Hex converter>>https://base64.guru/converter/decode/hex]]** 286 - 287 -[[image:image-20221010193621-2.png]] 288 - 289 - 290 -== 5.2 Chirpstack Downlink Note == 291 - 292 - 293 293 [[image:image-20220601102543-2.png]] 294 294 295 - **Convert the data to Base64**202 +Convert the data to Base64 296 296 297 -(% style="display:none" %) (%%) 298 298 205 +[[image:image-20220531173236-10.png]] 299 299 300 - [[image:image-20220531173236-10.png||height="597"width="1215"]]207 +Check ChripStack downlink DataRate 301 301 302 -**Check ChripStack downlink DataRate** 303 303 304 - 305 - 306 306 [[image:image-20220525101326-11.png]] 307 307 308 - **Make sure the RX2DR is the same in the end node**212 +Make sure the RX2DR is the same in the end node 309 309 310 310 311 -== 5.3Loraserver Downlink Note ==215 +== 4.2 Loraserver Downlink Note == 312 312 313 - 314 314 User can use MQTT to send downlink payload to ChirpStack to perform downstream to LoRaWAN End 315 315 316 316 ((( 317 - **Below is examples:**220 +Below is examples: 318 318 ))) 319 319 320 320 (% class="box" %) ... ... @@ -328,14 +328,13 @@ 328 328 [[image:image-20220531173419-11.png]] 329 329 330 330 ((( 331 - **MQTT Connect to ChirpStack**234 +MQTT Connect to ChirpStack 332 332 333 - 334 334 335 335 ))) 336 336 337 337 ((( 338 - **After connect**240 +After connect 339 339 ))) 340 340 341 341 (% class="box" %) ... ... @@ -355,14 +355,22 @@ 355 355 356 356 [[image:image-20220531173519-12.png]] 357 357 358 - **MQTT Connect to ChirpStack**260 +MQTT Connect to ChirpStack 359 359 360 360 361 -**If we want to send downstream hex 030101 to end node, the BASE64 payload is AwEB** 263 +((( 264 +(% 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/]] 265 +))) 362 362 363 -[[image:image-202205311736 58-14.png]]267 +[[image:image-20220531173601-13.png]] 364 364 269 +Choose to Use Hex for Encode 365 365 271 + 272 +If we want send downstream hex 030101 to end node, the BASE64 payload is AwEB 273 + 274 +[[image:image-20220531173658-14.png]] 275 + 366 366 ((( 367 367 Downlink payload encode javescript code: 可以在网站上运行以下Javsscript代码: 368 368 ))) ... ... @@ -380,15 +380,15 @@ 380 380 { 381 381 if(sha1[n] >= 'A' && sha1[n] <= 'Z') 382 382 { 383 - ascv = sha1.charCodeAt( 293 + ascv = sha1.charCodeAt(n) - 55; 384 384 } 385 385 else if(sha1[n] >= 'a' && sha1[n] <= 'z') 386 386 { 387 - ascv = sha1.charCodeAt( 297 + ascv = sha1.charCodeAt(n) - 87; 388 388 } 389 389 else 390 390 { 391 - ascv = sha1.charCodeAt( 301 + ascv = sha1.charCodeAt(n) - 48; 392 392 } 393 393 \\ bit_arr = (bit_arr << 4) | ascv; 394 394 bit_num += 4; ... ... @@ -425,13 +425,11 @@ 425 425 ))) 426 426 427 427 338 +== 4.3 Add the decode function in Chirpstack for the payload == 428 428 429 -== 4.3 Add the decode function in Chirpstack for the payload == 430 - 431 - 432 432 User enters the payload code according to the steps. 433 433 434 -[[image:image-20220531173754-15.png ||height="474" width="1334"]]342 +[[image:image-20220531173754-15.png]] 435 435 436 436 437 437 [[image:image-20220531173856-16.png]] ... ... @@ -442,9 +442,8 @@ 442 442 [[image:image-20220531174046-19.png]] 443 443 444 444 445 -= 6.353 += 5. Multiply Uplink in ChirpStack = 446 446 447 - 448 448 ((( 449 449 nbtrans field is the value to determine the re-transmission time for unconfirmed uplink data. 450 450 ))) ... ... @@ -451,17 +451,12 @@ 451 451 452 452 ((( 453 453 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]] 454 - 455 - 456 456 ))) 457 457 458 -[[image:image-20220526091912-7.png ||height="241" width="1336"]]363 +[[image:image-20220526091912-7.png]] 459 459 460 - 461 461 ((( 462 462 nbtrans is a field of ADR message, in unconfirm mode, it tells end node how many time it needs to transmit for every frame. 463 - 464 - 465 465 ))) 466 466 467 467 [[image:image-20220525104359-21.png]] ... ... @@ -468,8 +468,6 @@ 468 468 469 469 ((( 470 470 Above behaviour will cause the platform shows below two cases of error: 471 - 472 - 473 473 ))) 474 474 475 475 ((( ... ... @@ -479,36 +479,29 @@ 479 479 [[image:image-20220525104437-22.png]] 480 480 481 481 382 +Duplicate transmission in short time 482 482 483 - **Duplicatetransmission in short time**384 +[[image:image-20220601102430-1.png]] 484 484 485 -[[image:image-20220601102430-1.png||height="598" width="1319"]] 486 486 387 +== 5.1 Solution == 487 487 488 - 489 -== 6.1 Solution == 490 - 491 - 492 492 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]] 493 493 494 - 495 495 ((( 496 -(% 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.** 497 - 498 - 392 +~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. 499 499 ))) 500 500 501 501 [[image:image-20220525104532-24.png]] 502 502 503 503 504 - **installation path:**398 +installation path: 505 505 506 506 [[image:image-20220525104554-25.png]] 507 507 508 508 509 - 510 510 ((( 511 - (% style="color:blue" %)**2.**404 +2. Environment variable settings:. 512 512 ))) 513 513 514 514 ((( ... ... @@ -516,13 +516,13 @@ 516 516 ))) 517 517 518 518 ((( 519 -2) 412 +2)Set the variable name GOROOT and the variable value C:\Go\ (installation directory) 520 520 ))) 521 521 522 522 [[image:image-20220524165433-33.png]] 523 523 524 524 525 -3) 418 +3)Modify the system variable Path and add C:\Go\bin\: 526 526 527 527 [[image:image-20220524165452-34.png]] 528 528 ... ... @@ -532,9 +532,8 @@ 532 532 [[image:image-20220524165517-35.png]] 533 533 534 534 428 +3. Modify the ADR configuration file according to your own needs, adr.setting.go is an example of the ADR configuration file. 535 535 536 -(% 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.** 537 - 538 538 The name of the plugin: Example ADR plugin: 539 539 540 540 [[image:image-20220524165540-36.png]] ... ... @@ -544,9 +544,8 @@ 544 544 [[image:image-20220524165557-37.png]] 545 545 546 546 439 +4. Compile the ADR configuration file and generate the exe file. 547 547 548 -(% style="color:blue" %)**4. Compile the ADR configuration file and generate the exe file.** 549 - 550 550 1) Create a folder named adr-setting 551 551 552 552 2) Open the adr-setting folder ... ... @@ -570,9 +570,8 @@ 570 570 [[image:image-20220524165623-38.png]] 571 571 572 572 464 +5. Add the plugin and run the plugin. 573 573 574 -(% style="color:blue" %)**5. Add the plugin and run the plugin.** 575 - 576 576 ((( 577 577 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: 578 578 ))) ... ... @@ -608,61 +608,11 @@ 608 608 Finish. 609 609 610 610 611 -= 7.Howtostore/getall data traffic for a specific sensor, includingraw payload, and uplink/ downlink history.=501 += 6. Trouble Shooting = 612 612 503 +== 6.1 MIC Mismatch or MIC Failed == 613 613 614 -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. 615 - 616 -This example will be shown how to store/get all the data in two ways: 617 - 618 -**//1). Chirpstack ~-~-> Node-red//** 619 - 620 - 621 -[[image:image-20221012184501-1.png]] 622 - 623 - 624 -Use MQTT in Nore-red to subscribe to topics published by the chirpstack-application and then continuously write to a file 625 - 626 -[[image:image-20221012174220-2.png]] 627 - 628 - 629 -[[image:image-20221012184655-3.png||height="395" width="1049"]] 630 - 631 - 632 -**Each message is continuously logged to a specified file** 633 - 634 -[[image:image-20221012174352-3.png]] 635 - 636 - 637 -**//2). MQTT Sub//** 638 - 639 -If you don't want to store the information via node-red, you can get the output via the subscribe command. 640 - 641 - 642 -**If connecting from the same machine, you can use the following command to receive data:** 643 - 644 -(% class="box infomessage" %) 645 645 ((( 646 -mosquitto_sub -h localhost -t "application/#" -v 647 -))) 648 - 649 - 650 -**Different host** 651 - 652 -(% class="box infomessage" %) 653 -((( 654 -mosquitto_sub -h IPADDRESS -p 8883 ~-~-insecure ~-~-cafile ca.pem ~-~-cert cert.pem ~-~-key key.pem -t "application/#" -v 655 -))) 656 - 657 -[[image:image-20221012173639-1.png]] 658 - 659 - 660 -= 8. Trouble Shooting = 661 - 662 -== 8.1 MIC Mismatch or MIC Failed == 663 - 664 - 665 -((( 666 666 When the device is registered or the device is working normally, the problem of MIC mismatch and MIC failed occurs. 667 667 ))) 668 668
- 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