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, 11 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Kilight1 +XWiki.Xiaoling - Content
-
... ... @@ -125,11 +125,12 @@ 125 125 126 126 127 127 128 -= 3. 128 += 3. Gateway Registration for Basics Station = 129 129 130 -== 3.1 Introduction == 131 131 131 +== 3.1 Introduction == 132 132 133 + 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. ... ... @@ -140,6 +140,9 @@ 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 144 + 145 + 146 + 143 143 (% style="color:blue" %)**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]] ... ... @@ -150,20 +150,18 @@ 150 150 A gateway that can access the internet normally 151 151 152 152 153 -== 3.2 Add Gateway == 154 154 158 +== 3.2 Add Gateway == 155 155 156 156 [[image:image-20220524164205-10.png]] 157 157 158 158 159 -== 3.3 163 +== 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 184 +== 3.4 Start Station == 183 183 186 +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 189 +== 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 196 +== 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,75 +206,31 @@ 206 206 [[image:image-20220531172857-9.png]] 207 207 208 208 209 -= 4. Howthe gateway connects to Chirpstackv4 via gateway-bridge=208 += 4. Downlink = 210 210 210 +== 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 229 - 230 -[[image:image-20221222113302-1.png]] 231 - 232 -= 5. Downlink = 233 - 234 -== 5.1 Convert HEX to Base64 == 235 - 236 - 237 -(% 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.** 238 - 239 -**[[Online HEX to Base64 Converter>>https://base64.guru/converter/encode/hex]]:** 240 - 241 -[[image:image-20221010193350-1.png]] 242 - 243 - 244 - 245 -**[[Online Base64 to Hex converter>>https://base64.guru/converter/decode/hex]]** 246 - 247 -[[image:image-20221010193621-2.png]] 248 - 249 - 250 -== 5.2 Chirpstack Downlink Note == 251 - 252 - 253 253 [[image:image-20220601102543-2.png]] 254 254 255 - **Convert the data to Base64**214 +Convert the data to Base64 256 256 257 -(% style="display:none" %) (%%) 258 258 217 +[[image:image-20220531173236-10.png]] 259 259 260 - [[image:image-20220531173236-10.png||height="597"width="1215"]]219 +Check ChripStack downlink DataRate 261 261 262 -**Check ChripStack downlink DataRate** 263 263 264 - 265 - 266 266 [[image:image-20220525101326-11.png]] 267 267 268 - **Make sure the RX2DR is the same in the end node**224 +Make sure the RX2DR is the same in the end node 269 269 270 270 271 -== 5.3Loraserver Downlink Note ==227 +== 4.2 Loraserver Downlink Note == 272 272 273 - 274 274 User can use MQTT to send downlink payload to ChirpStack to perform downstream to LoRaWAN End 275 275 276 276 ((( 277 - **Below is examples:**232 +Below is examples: 278 278 ))) 279 279 280 280 (% class="box" %) ... ... @@ -288,14 +288,13 @@ 288 288 [[image:image-20220531173419-11.png]] 289 289 290 290 ((( 291 - **MQTT Connect to ChirpStack**246 +MQTT Connect to ChirpStack 292 292 293 - 294 294 295 295 ))) 296 296 297 297 ((( 298 - **After connect**252 +After connect 299 299 ))) 300 300 301 301 (% class="box" %) ... ... @@ -315,14 +315,22 @@ 315 315 316 316 [[image:image-20220531173519-12.png]] 317 317 318 - **MQTT Connect to ChirpStack**272 +MQTT Connect to ChirpStack 319 319 320 320 321 -**If we want to send downstream hex 030101 to end node, the BASE64 payload is AwEB** 275 +((( 276 +(% 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/]] 277 +))) 322 322 323 -[[image:image-202205311736 58-14.png]]279 +[[image:image-20220531173601-13.png]] 324 324 281 +Choose to Use Hex for Encode 325 325 283 + 284 +If we want send downstream hex 030101 to end node, the BASE64 payload is AwEB 285 + 286 +[[image:image-20220531173658-14.png]] 287 + 326 326 ((( 327 327 Downlink payload encode javescript code: 可以在网站上运行以下Javsscript代码: 328 328 ))) ... ... @@ -340,15 +340,15 @@ 340 340 { 341 341 if(sha1[n] >= 'A' && sha1[n] <= 'Z') 342 342 { 343 - ascv = sha1.charCodeAt( 305 + ascv = sha1.charCodeAt(n) - 55; 344 344 } 345 345 else if(sha1[n] >= 'a' && sha1[n] <= 'z') 346 346 { 347 - ascv = sha1.charCodeAt( 309 + ascv = sha1.charCodeAt(n) - 87; 348 348 } 349 349 else 350 350 { 351 - ascv = sha1.charCodeAt( 313 + ascv = sha1.charCodeAt(n) - 48; 352 352 } 353 353 \\ bit_arr = (bit_arr << 4) | ascv; 354 354 bit_num += 4; ... ... @@ -385,13 +385,11 @@ 385 385 ))) 386 386 387 387 350 +== 4.3 Add the decode function in Chirpstack for the payload == 388 388 389 -== 4.3 Add the decode function in Chirpstack for the payload == 390 - 391 - 392 392 User enters the payload code according to the steps. 393 393 394 -[[image:image-20220531173754-15.png ||height="474" width="1334"]]354 +[[image:image-20220531173754-15.png]] 395 395 396 396 397 397 [[image:image-20220531173856-16.png]] ... ... @@ -402,9 +402,8 @@ 402 402 [[image:image-20220531174046-19.png]] 403 403 404 404 405 -= 6.365 += 5. Multiply Uplink in ChirpStack = 406 406 407 - 408 408 ((( 409 409 nbtrans field is the value to determine the re-transmission time for unconfirmed uplink data. 410 410 ))) ... ... @@ -411,17 +411,12 @@ 411 411 412 412 ((( 413 413 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]] 414 - 415 - 416 416 ))) 417 417 418 -[[image:image-20220526091912-7.png ||height="241" width="1336"]]375 +[[image:image-20220526091912-7.png]] 419 419 420 - 421 421 ((( 422 422 nbtrans is a field of ADR message, in unconfirm mode, it tells end node how many time it needs to transmit for every frame. 423 - 424 - 425 425 ))) 426 426 427 427 [[image:image-20220525104359-21.png]] ... ... @@ -428,8 +428,6 @@ 428 428 429 429 ((( 430 430 Above behaviour will cause the platform shows below two cases of error: 431 - 432 - 433 433 ))) 434 434 435 435 ((( ... ... @@ -439,36 +439,29 @@ 439 439 [[image:image-20220525104437-22.png]] 440 440 441 441 394 +Duplicate transmission in short time 442 442 443 - **Duplicatetransmission in short time**396 +[[image:image-20220601102430-1.png]] 444 444 445 -[[image:image-20220601102430-1.png||height="598" width="1319"]] 446 446 399 +== 5.1 Solution == 447 447 448 - 449 -== 6.1 Solution == 450 - 451 - 452 452 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]] 453 453 454 - 455 455 ((( 456 -(% 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.** 457 - 458 - 404 +~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. 459 459 ))) 460 460 461 461 [[image:image-20220525104532-24.png]] 462 462 463 463 464 - **installation path:**410 +installation path: 465 465 466 466 [[image:image-20220525104554-25.png]] 467 467 468 468 469 - 470 470 ((( 471 - (% style="color:blue" %)**2.**416 +2. Environment variable settings:. 472 472 ))) 473 473 474 474 ((( ... ... @@ -476,13 +476,13 @@ 476 476 ))) 477 477 478 478 ((( 479 -2) 424 +2)Set the variable name GOROOT and the variable value C:\Go\ (installation directory) 480 480 ))) 481 481 482 482 [[image:image-20220524165433-33.png]] 483 483 484 484 485 -3) 430 +3)Modify the system variable Path and add C:\Go\bin\: 486 486 487 487 [[image:image-20220524165452-34.png]] 488 488 ... ... @@ -492,9 +492,8 @@ 492 492 [[image:image-20220524165517-35.png]] 493 493 494 494 440 +3. Modify the ADR configuration file according to your own needs, adr.setting.go is an example of the ADR configuration file. 495 495 496 -(% 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.** 497 - 498 498 The name of the plugin: Example ADR plugin: 499 499 500 500 [[image:image-20220524165540-36.png]] ... ... @@ -504,9 +504,8 @@ 504 504 [[image:image-20220524165557-37.png]] 505 505 506 506 451 +4. Compile the ADR configuration file and generate the exe file. 507 507 508 -(% style="color:blue" %)**4. Compile the ADR configuration file and generate the exe file.** 509 - 510 510 1) Create a folder named adr-setting 511 511 512 512 2) Open the adr-setting folder ... ... @@ -530,9 +530,8 @@ 530 530 [[image:image-20220524165623-38.png]] 531 531 532 532 476 +5. Add the plugin and run the plugin. 533 533 534 -(% style="color:blue" %)**5. Add the plugin and run the plugin.** 535 - 536 536 ((( 537 537 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: 538 538 ))) ... ... @@ -568,61 +568,11 @@ 568 568 Finish. 569 569 570 570 571 -= 7.Howtostore/getall data traffic for a specific sensor, includingraw payload, and uplink/ downlink history.=513 += 6. Trouble Shooting = 572 572 515 +== 6.1 MIC Mismatch or MIC Failed == 573 573 574 -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. 575 - 576 -This example will be shown how to store/get all the data in two ways: 577 - 578 -**//1). Chirpstack ~-~-> Node-red//** 579 - 580 - 581 -[[image:image-20221012184501-1.png]] 582 - 583 - 584 -Use MQTT in Nore-red to subscribe to topics published by the chirpstack-application and then continuously write to a file 585 - 586 -[[image:image-20221012174220-2.png]] 587 - 588 - 589 -[[image:image-20221012184655-3.png||height="395" width="1049"]] 590 - 591 - 592 -**Each message is continuously logged to a specified file** 593 - 594 -[[image:image-20221012174352-3.png]] 595 - 596 - 597 -**//2). MQTT Sub//** 598 - 599 -If you don't want to store the information via node-red, you can get the output via the subscribe command. 600 - 601 - 602 -**If connecting from the same machine, you can use the following command to receive data:** 603 - 604 -(% class="box infomessage" %) 605 605 ((( 606 -mosquitto_sub -h localhost -t "application/#" -v 607 -))) 608 - 609 - 610 -**Different host** 611 - 612 -(% class="box infomessage" %) 613 -((( 614 -mosquitto_sub -h IPADDRESS -p 8883 ~-~-insecure ~-~-cafile ca.pem ~-~-cert cert.pem ~-~-key key.pem -t "application/#" -v 615 -))) 616 - 617 -[[image:image-20221012173639-1.png]] 618 - 619 - 620 -= 8. Trouble Shooting = 621 - 622 -== 8.1 MIC Mismatch or MIC Failed == 623 - 624 - 625 -((( 626 626 When the device is registered or the device is working normally, the problem of MIC mismatch and MIC failed occurs. 627 627 ))) 628 628
- 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