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, 16 removed)
- image-20220531173754-15.png
- image-20220531173856-16.png
- image-20220531173939-17.png
- image-20220531174015-18.png
- image-20220531174046-19.png
- image-20220531174120-20.png
- image-20220601102430-1.png
- image-20220601102543-2.png
- 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
Details
- Page properties
-
- Content
-
... ... @@ -1,4 +1,4 @@ 1 -**~ Table ofContents:**1 +**~ Contents:** 2 2 3 3 {{toc/}} 4 4 ... ... @@ -5,20 +5,17 @@ 5 5 6 6 7 7 8 -= 1. 8 += 1. Introduction = 9 9 10 - 11 11 (% style="color:black" %)The ChirpStack open-source LoRaWAN Network Server stack provides open-source components for LoRaWAN networks And the Chirpstack supports the users in building a private LoRaWAN Server. For more info please refer to this [[link>>url:https://www.chirpstack.io/]] 12 12 13 13 ((( 14 14 (% style="color:black" %)The dragino gateway can connect the ChirpStack server via Semtech UDP or Semtech Basic Station. 15 - 16 - 17 17 ))) 18 18 19 - (% style="color:blue" %)**Prerequisite:**16 +**Prerequisite** 20 20 21 - **1) Have a Chirstack Server.**18 +1) Have a Chirstack Server. 22 22 23 23 [[image:image-20220525100058-1.png]] 24 24 ... ... @@ -25,55 +25,47 @@ 25 25 ChirpStack home page 26 26 27 27 25 +2) Gateway model support 28 28 29 -**2) Gateway model support** 30 - 31 31 (% class="box" %) 32 32 ((( 33 33 ((( 34 34 Semtech UDP : **All Model** 35 -Basic Station : [[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]]36 - (% style="color:red" %)**Note**(%%): the firmware needs >[[lgw~~-~~-build-v5.4.1640315898>>url:https://www.dragino.com/downloads/index.php?dir=LoRa_Gateway/LPS8/Firmware/Release/]]if use the Bais station31 +Basic Station : , , 32 +**Note** : the firmware needs > if use the Bais station 37 37 ))) 38 38 ))) 39 39 40 40 41 41 42 -= 2. 38 += 2. Semtech UDP = 43 43 44 -== 2.1 40 +== 2.1 Step 1. Add the Network-servers == 45 45 46 - 47 47 The network-Servers address varies depending on the ChirpStack server setup environment 48 48 49 49 (% class="box" %) 50 50 ((( 51 - Windows ~-~-> 52 - Linux 46 + Windows ~-~->Network-server server * : localhost:8000 47 + Linux ~-~->Network-server server * : chirpstack-network-server:8000 53 53 ))) 54 54 50 +If the user cannot add network-Servers, re-check the ChirpStack code or the server building process. 55 55 56 -(% style="color:red" %)**If the user cannot add network-Servers, re-check the ChirpStack code or the server building process.** 57 - 58 - 59 59 [[image:image-20220531171609-1.png]] 60 60 61 61 Add the Network-servers 62 62 63 63 57 +== 2.2 Step 2. Create Gateway-profiles == 64 64 65 -== 2.2 Step 2. Create Gateway-profiles == 66 - 67 - 68 68 [[image:image-20220531171651-2.png]] 69 69 70 70 Create Gateway-profiles 71 71 72 72 64 +== 2.3 Step 3. Create Service-profiles == 73 73 74 -== 2.3 Step 3. Create Service-profiles == 75 - 76 - 77 77 [[image:image-20220531171809-3.png]] 78 78 79 79 Create Service-profiles ... ... @@ -86,37 +86,29 @@ 86 86 If the user has completed the preceding steps, proceed to the next step.(% style="display:none" %) 87 87 88 88 78 +== 2.4 Step 4. Add the gateway == 89 89 90 -== 2.4 Step 4. Add the gateway == 91 - 92 - 93 93 The example gateway id is: a840411e96744150 94 94 95 95 ((( 96 96 (% style="color:red" %)**Note : The Gateway EUI and server addresses must match the ChirpStack configuration.** 97 - 98 - 99 99 ))) 100 100 101 101 [[image:image-20220531171923-4.png]](% style="display:none" %) 102 102 88 + 103 103 Add the gateway 104 104 105 - 106 - 107 107 [[image:image-20220531172031-5.png]] 108 108 109 109 Configure the gateway 110 110 111 111 96 +== 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 108 += 3. Gateway Registration for Basics Station = 127 127 128 -= 3. Gateway Registration for Basics Station =110 +== 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 116 +**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**121 +**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 125 +**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 130 +== 3.2 Add Gateway == 154 154 155 - 156 156 [[image:image-20220524164205-10.png]] 157 157 158 158 159 -== 3.3 135 +== 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 156 +== 3.4 Start Station == 183 183 158 +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 161 +== 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 168 +== 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,53 +206,31 @@ 206 206 [[image:image-20220531172857-9.png]] 207 207 208 208 180 += 4. Downlink = 209 209 210 -= 4. 182 +== 4.1 Chirpstack Downlink Note == 211 211 212 - == 4.1 Convert HEX to Base64 ==184 +[[image:image-20220525101223-9.png]] 213 213 186 +Convert the data to Base64 214 214 215 -(% 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.** 216 216 217 - **[[Online HEX to Base64 Converter>>https://base64.guru/converter/encode/hex]]:**189 +[[image:image-20220531173236-10.png]] 218 218 219 - [[image:image-20221010193350-1.png]]191 +Check ChripStack downlink DataRate 220 220 221 221 222 - 223 -**[[Online Base64 to Hex converter>>https://base64.guru/converter/decode/hex]]** 224 - 225 -[[image:image-20221010193621-2.png]] 226 - 227 - 228 -== 4.2 Chirpstack Downlink Note == 229 - 230 - 231 -[[image:image-20220601102543-2.png]] 232 - 233 -**Convert the data to Base64** 234 - 235 -(% style="display:none" %) (%%) 236 - 237 - 238 -[[image:image-20220531173236-10.png||height="597" width="1215"]] 239 - 240 -**Check ChripStack downlink DataRate** 241 - 242 - 243 - 244 244 [[image:image-20220525101326-11.png]] 245 245 246 - **Make sure the RX2DR is the same in the end node**196 +Make sure the RX2DR is the same in the end node 247 247 248 248 249 -== 4. 3Loraserver Downlink Note ==199 +== 4.2 Loraserver Downlink Note == 250 250 251 - 252 252 User can use MQTT to send downlink payload to ChirpStack to perform downstream to LoRaWAN End 253 253 254 254 ((( 255 - **Below is examples:**204 +Below is examples: 256 256 ))) 257 257 258 258 (% class="box" %) ... ... @@ -266,14 +266,13 @@ 266 266 [[image:image-20220531173419-11.png]] 267 267 268 268 ((( 269 - **MQTT Connect to ChirpStack**218 +MQTT Connect to ChirpStack 270 270 271 - 272 272 273 273 ))) 274 274 275 275 ((( 276 - **After connect**224 +After connect 277 277 ))) 278 278 279 279 (% class="box" %) ... ... @@ -293,14 +293,22 @@ 293 293 294 294 [[image:image-20220531173519-12.png]] 295 295 296 - **MQTT Connect to ChirpStack**244 +MQTT Connect to ChirpStack 297 297 298 298 299 -**If we want to send downstream hex 030101 to end node, the BASE64 payload is AwEB** 247 +((( 248 +(% 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/]] 249 +))) 300 300 301 -[[image:image-202205311736 58-14.png]]251 +[[image:image-20220531173601-13.png]] 302 302 253 +Choose to Use Hex for Encode 303 303 255 + 256 +If we want send downstream hex 030101 to end node, the BASE64 payload is AwEB 257 + 258 +[[image:image-20220531173658-14.png]] 259 + 304 304 ((( 305 305 Downlink payload encode javescript code: 可以在网站上运行以下Javsscript代码: 306 306 ))) ... ... @@ -318,15 +318,15 @@ 318 318 { 319 319 if(sha1[n] >= 'A' && sha1[n] <= 'Z') 320 320 { 321 - ascv = sha1.charCodeAt( 277 + ascv = sha1.charCodeAt(n) - 55; 322 322 } 323 323 else if(sha1[n] >= 'a' && sha1[n] <= 'z') 324 324 { 325 - ascv = sha1.charCodeAt( 281 + ascv = sha1.charCodeAt(n) - 87; 326 326 } 327 327 else 328 328 { 329 - ascv = sha1.charCodeAt( 285 + ascv = sha1.charCodeAt(n) - 48; 330 330 } 331 331 \\ bit_arr = (bit_arr << 4) | ascv; 332 332 bit_num += 4; ... ... @@ -363,26 +363,22 @@ 363 363 ))) 364 364 365 365 322 +== 4.3 Add the decode function in Chirpstack for the payload == 366 366 367 -== 4.3 Add the decode function in Chirpstack for the payload == 368 - 369 - 370 370 User enters the payload code according to the steps. 371 371 372 -[[image:image-202205 31173754-15.png||height="474" width="1334"]]326 +[[image:image-20220525104051-16.png]] 373 373 328 +[[image:image-20220525104155-17.png]] 374 374 375 -[[image:image-20220531173856-16.png]] 376 376 331 +[[image:image-20220526091602-5.png]] 377 377 378 -[[image:image-202205 31174120-20.png]]333 +[[image:image-20220526091801-6.png]] 379 379 380 -[[image:image-20220531174046-19.png]] 381 381 336 += 5. Multiply Uplink in ChirpStack = 382 382 383 -= 5. Multiply Uplink in ChirpStack = 384 - 385 - 386 386 ((( 387 387 nbtrans field is the value to determine the re-transmission time for unconfirmed uplink data. 388 388 ))) ... ... @@ -389,17 +389,12 @@ 389 389 390 390 ((( 391 391 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]] 392 - 393 - 394 394 ))) 395 395 396 -[[image:image-20220526091912-7.png ||height="241" width="1336"]]346 +[[image:image-20220526091912-7.png]] 397 397 398 - 399 399 ((( 400 400 nbtrans is a field of ADR message, in unconfirm mode, it tells end node how many time it needs to transmit for every frame. 401 - 402 - 403 403 ))) 404 404 405 405 [[image:image-20220525104359-21.png]] ... ... @@ -406,8 +406,6 @@ 406 406 407 407 ((( 408 408 Above behaviour will cause the platform shows below two cases of error: 409 - 410 - 411 411 ))) 412 412 413 413 ((( ... ... @@ -417,36 +417,29 @@ 417 417 [[image:image-20220525104437-22.png]] 418 418 419 419 365 +Duplicate transmission in short time 420 420 421 - **Duplicatetransmission in short time**367 +[[image:image-20220525104502-23.png]] 422 422 423 -[[image:image-20220601102430-1.png||height="598" width="1319"]] 424 424 370 +== 5.1 Solution == 425 425 426 - 427 -== 5.1 Solution == 428 - 429 - 430 430 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]] 431 431 432 - 433 433 ((( 434 -(% 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.** 435 - 436 - 375 +~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. 437 437 ))) 438 438 439 439 [[image:image-20220525104532-24.png]] 440 440 441 441 442 - **installation path:**381 +installation path: 443 443 444 444 [[image:image-20220525104554-25.png]] 445 445 446 446 447 - 448 448 ((( 449 - (% style="color:blue" %)**2.**387 +2. Environment variable settings:. 450 450 ))) 451 451 452 452 ((( ... ... @@ -454,25 +454,23 @@ 454 454 ))) 455 455 456 456 ((( 457 -2) 395 +2)Set the variable name GOROOT and the variable value C:\Go\ (installation directory) 458 458 ))) 459 459 460 460 [[image:image-20220524165433-33.png]] 461 461 462 462 463 -3) 401 +3)Modify the system variable Path and add C:\Go\bin\: 464 464 465 465 [[image:image-20220524165452-34.png]] 466 466 467 - 468 468 User variable setting file generation directory: D:\go: 469 469 470 470 [[image:image-20220524165517-35.png]] 471 471 472 472 410 +3. Modify the ADR configuration file according to your own needs, adr.setting.go is an example of the ADR configuration file. 473 473 474 -(% 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.** 475 - 476 476 The name of the plugin: Example ADR plugin: 477 477 478 478 [[image:image-20220524165540-36.png]] ... ... @@ -482,9 +482,8 @@ 482 482 [[image:image-20220524165557-37.png]] 483 483 484 484 421 +4. Compile the ADR configuration file and generate the exe file. 485 485 486 -(% style="color:blue" %)**4. Compile the ADR configuration file and generate the exe file.** 487 - 488 488 1) Create a folder named adr-setting 489 489 490 490 2) Open the adr-setting folder ... ... @@ -508,9 +508,8 @@ 508 508 [[image:image-20220524165623-38.png]] 509 509 510 510 446 +5. Add the plugin and run the plugin. 511 511 512 -(% style="color:blue" %)**5. Add the plugin and run the plugin.** 513 - 514 514 ((( 515 515 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: 516 516 ))) ... ... @@ -546,61 +546,11 @@ 546 546 Finish. 547 547 548 548 549 -= 6. Howtostore/getall data traffic for a specific sensor, includingraw payload, and uplink/ downlink history.=483 += 6. Trouble Shooting = 550 550 485 +== 6.1 MIC Mismatch or MIC Failed == 551 551 552 -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. 553 - 554 -This example will be shown how to store/get all the data in two ways: 555 - 556 -**//1). Chirpstack ~-~-> Node-red//** 557 - 558 - 559 -[[image:image-20221012184501-1.png]] 560 - 561 - 562 -Use MQTT in Nore-red to subscribe to topics published by the chirpstack-application and then continuously write to a file 563 - 564 -[[image:image-20221012174220-2.png]] 565 - 566 - 567 -[[image:image-20221012184655-3.png||height="395" width="1049"]] 568 - 569 - 570 -**Each message is continuously logged to a specified file** 571 - 572 -[[image:image-20221012174352-3.png]] 573 - 574 - 575 -**//2). MQTT Sub//** 576 - 577 -If you don't want to store the information via node-red, you can get the output via the subscribe command. 578 - 579 - 580 -**If connecting from the same machine, you can use the following command to receive data:** 581 - 582 -(% class="box infomessage" %) 583 583 ((( 584 -mosquitto_sub -h localhost -t "application/#" -v 585 -))) 586 - 587 - 588 -**Different host** 589 - 590 -(% class="box infomessage" %) 591 -((( 592 -mosquitto_sub -h IPADDRESS -p 8883 ~-~-insecure ~-~-cafile ca.pem ~-~-cert cert.pem ~-~-key key.pem -t "application/#" -v 593 -))) 594 - 595 -[[image:image-20221012173639-1.png]] 596 - 597 - 598 -= 7. Trouble Shooting = 599 - 600 -== 7.1 MIC Mismatch or MIC Failed == 601 - 602 - 603 -((( 604 604 When the device is registered or the device is working normally, the problem of MIC mismatch and MIC failed occurs. 605 605 ))) 606 606
- image-20220531173754-15.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -41.7 KB - Content
- image-20220531173856-16.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -46.7 KB - Content
- image-20220531173939-17.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -41.4 KB - Content
- image-20220531174015-18.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -27.4 KB - Content
- image-20220531174046-19.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -27.2 KB - Content
- image-20220531174120-20.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -41.4 KB - Content
- image-20220601102430-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -139.4 KB - Content
- image-20220601102543-2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -51.5 KB - Content
- 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