Changes for page Notes for ChirpStack
Last modified by Edwin Chen on 2025/01/30 09:53
Change comment:
Uploaded new attachment "image-20221222140203-4.png", version {1}
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 12 added, 0 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. Xiaoling1 +XWiki.Kilight - Content
-
... ... @@ -87,29 +87,36 @@ 87 87 88 88 89 89 90 -== 2.4 Step 4. Add the gateway == 90 +== 2.4 Step 4. Add the gateway == 91 91 92 + 92 92 The example gateway id is: a840411e96744150 93 93 94 94 ((( 95 95 (% style="color:red" %)**Note : The Gateway EUI and server addresses must match the ChirpStack configuration.** 97 + 98 + 96 96 ))) 97 97 98 98 [[image:image-20220531171923-4.png]](% style="display:none" %) 99 99 100 - 101 101 Add the gateway 102 102 105 + 106 + 103 103 [[image:image-20220531172031-5.png]] 104 104 105 105 Configure the gateway 106 106 107 107 108 -== 2.5 Step 5. Checking gateway Status == 109 109 113 +== 2.5 Step 5. Checking gateway Status == 114 + 115 + 110 110 [[image:image-20220531172158-6.png]](% style="display:none" %) 111 111 112 112 119 + 113 113 gateway Status 114 114 115 115 [[image:image-20220531172304-7.png]] ... ... @@ -117,39 +117,46 @@ 117 117 gateway Status 118 118 119 119 120 -= 3. Gateway Registration for Basics Station = 121 121 122 -= =3.1Introduction ==128 += 3. Gateway Registration for Basics Station = 123 123 130 +== 3.1 Introduction == 131 + 132 + 124 124 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. 125 125 126 126 ChirpStack Open-Source LoRaWAN® Network Server needs to set up a configuration that can use Semtech BasicStation. 127 127 128 -**Below list the support products and Requirements:** 129 129 138 +(% style="color:blue" %)**Below list the support products and Requirements:** 139 + 130 130 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]] 131 131 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/]] 132 132 133 -**How to set up chirpStack Basic Station** 143 +(% style="color:blue" %)**How to set up chirpStack Basic Station** 134 134 135 135 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]] 136 136 137 -**What do you need to prepare** 138 138 148 +(% style="color:blue" %)**What do you need to prepare** 149 + 139 139 A gateway that can access the internet normally 140 140 141 141 142 -== 3.2 Add Gateway == 153 +== 3.2 Add Gateway == 143 143 155 + 144 144 [[image:image-20220524164205-10.png]] 145 145 146 146 147 -== 3.3 Access the gateway GUI == 159 +== 3.3 Access the gateway GUI == 148 148 161 + 149 149 Access the gateway GUI interface of LoRaWAN~-~->LoRaWAN ~-~- Basic Station 150 150 151 151 [[image:image-20220524164319-11.png]] 152 152 166 + 153 153 User need to Choose the ChirpStack/Senet ~-~- Basic Station , input Server URI and Upload the TLS Certificate 154 154 155 155 (% class="box" %) ... ... @@ -165,20 +165,23 @@ 165 165 [[image:image-20220524164341-12.png]] 166 166 167 167 168 -== 3.4 Start Station == 182 +== 3.4 Start Station == 169 169 170 -When the user has finished the configuration, Please click Sace&Apply to start station to connect ChirpStack 171 171 185 +When the user has finished the configuration, Please click **Sace&Apply** to start station to connect ChirpStack. 172 172 173 -== 3.5 Successful Connection == 174 174 188 +== 3.5 Successful Connection == 189 + 190 + 175 175 If user completes the above steps, which will see live date in the ChirpStack. 176 176 177 177 [[image:image-20220524164448-13.png]] 178 178 179 179 180 -== 3.6 Trouble Shooting == 196 +== 3.6 Trouble Shooting == 181 181 198 + 182 182 User can check the station log in the logread/system log page. 183 183 184 184 [[image:image-20220531172837-8.png]] ... ... @@ -189,31 +189,75 @@ 189 189 [[image:image-20220531172857-9.png]] 190 190 191 191 192 -= 4. Downlink =209 += 4. How the gateway connects to Chirpstack v4 via gateway-bridge = 193 193 194 -== 4.1 Chirpstack Downlink Note == 195 195 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 + 196 196 [[image:image-20220601102543-2.png]] 197 197 198 -Convert the data to Base64 255 +**Convert the data to Base64** 199 199 257 +(% style="display:none" %) (%%) 200 200 201 -[[image:image-20220531173236-10.png]] 202 202 203 - Check ChripStackdownlink DataRate260 +[[image:image-20220531173236-10.png||height="597" width="1215"]] 204 204 262 +**Check ChripStack downlink DataRate** 205 205 264 + 265 + 206 206 [[image:image-20220525101326-11.png]] 207 207 208 -Make sure the RX2DR is the same in the end node 268 +**Make sure the RX2DR is the same in the end node** 209 209 210 210 211 -== 4.2Loraserver Downlink Note ==271 +== 5.3 Loraserver Downlink Note == 212 212 273 + 213 213 User can use MQTT to send downlink payload to ChirpStack to perform downstream to LoRaWAN End 214 214 215 215 ((( 216 -Below is examples: 277 +**Below is examples:** 217 217 ))) 218 218 219 219 (% class="box" %) ... ... @@ -227,13 +227,14 @@ 227 227 [[image:image-20220531173419-11.png]] 228 228 229 229 ((( 230 -MQTT Connect to ChirpStack 291 +**MQTT Connect to ChirpStack** 231 231 293 + 232 232 233 233 ))) 234 234 235 235 ((( 236 -After connect 298 +**After connect** 237 237 ))) 238 238 239 239 (% class="box" %) ... ... @@ -253,22 +253,14 @@ 253 253 254 254 [[image:image-20220531173519-12.png]] 255 255 256 -MQTT Connect to ChirpStack 318 +**MQTT Connect to ChirpStack** 257 257 258 258 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 -))) 321 +**If we want to send downstream hex 030101 to end node, the BASE64 payload is AwEB** 262 262 263 -[[image:image-20220531173601-13.png]] 264 - 265 -Choose to Use Hex for Encode 266 - 267 - 268 -If we want send downstream hex 030101 to end node, the BASE64 payload is AwEB 269 - 270 270 [[image:image-20220531173658-14.png]] 271 271 325 + 272 272 ((( 273 273 Downlink payload encode javescript code: 可以在网站上运行以下Javsscript代码: 274 274 ))) ... ... @@ -286,15 +286,15 @@ 286 286 { 287 287 if(sha1[n] >= 'A' && sha1[n] <= 'Z') 288 288 { 289 - ascv = sha1.charCodeAt(n) - 55; 343 + ascv = sha1.charCodeAt( n ) - 55; 290 290 } 291 291 else if(sha1[n] >= 'a' && sha1[n] <= 'z') 292 292 { 293 - ascv = sha1.charCodeAt(n) - 87; 347 + ascv = sha1.charCodeAt( n ) - 87; 294 294 } 295 295 else 296 296 { 297 - ascv = sha1.charCodeAt(n) - 48; 351 + ascv = sha1.charCodeAt( n ) - 48; 298 298 } 299 299 \\ bit_arr = (bit_arr << 4) | ascv; 300 300 bit_num += 4; ... ... @@ -331,11 +331,13 @@ 331 331 ))) 332 332 333 333 334 -== 4.3 Add the decode function in Chirpstack for the payload == 335 335 389 +== 4.3 Add the decode function in Chirpstack for the payload == 390 + 391 + 336 336 User enters the payload code according to the steps. 337 337 338 -[[image:image-20220531173754-15.png]] 394 +[[image:image-20220531173754-15.png||height="474" width="1334"]] 339 339 340 340 341 341 [[image:image-20220531173856-16.png]] ... ... @@ -346,8 +346,9 @@ 346 346 [[image:image-20220531174046-19.png]] 347 347 348 348 349 -= 5. Multiply Uplink in ChirpStack =405 += 6. Multiply Uplink in ChirpStack = 350 350 407 + 351 351 ((( 352 352 nbtrans field is the value to determine the re-transmission time for unconfirmed uplink data. 353 353 ))) ... ... @@ -354,12 +354,17 @@ 354 354 355 355 ((( 356 356 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 + 357 357 ))) 358 358 359 -[[image:image-20220526091912-7.png]] 418 +[[image:image-20220526091912-7.png||height="241" width="1336"]] 360 360 420 + 361 361 ((( 362 362 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 + 363 363 ))) 364 364 365 365 [[image:image-20220525104359-21.png]] ... ... @@ -366,6 +366,8 @@ 366 366 367 367 ((( 368 368 Above behaviour will cause the platform shows below two cases of error: 431 + 432 + 369 369 ))) 370 370 371 371 ((( ... ... @@ -375,29 +375,36 @@ 375 375 [[image:image-20220525104437-22.png]] 376 376 377 377 378 -Duplicate transmission in short time 379 379 380 - [[image:image-20220601102430-1.png]]443 +**Duplicate transmission in short time** 381 381 445 +[[image:image-20220601102430-1.png||height="598" width="1319"]] 382 382 383 -== 5.1 Solution == 384 384 448 + 449 +== 6.1 Solution == 450 + 451 + 385 385 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]] 386 386 454 + 387 387 ((( 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. 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 + 389 389 ))) 390 390 391 391 [[image:image-20220525104532-24.png]] 392 392 393 393 394 -installation path: 464 +**installation path:** 395 395 396 396 [[image:image-20220525104554-25.png]] 397 397 398 398 469 + 399 399 ((( 400 -2. Environment variable settings: .471 +(% style="color:blue" %)**2. Environment variable settings:** 401 401 ))) 402 402 403 403 ((( ... ... @@ -405,13 +405,13 @@ 405 405 ))) 406 406 407 407 ((( 408 -2)Set the variable name GOROOT and the variable value C:\Go\ (installation directory) 479 +2) Set the variable name GOROOT and the variable value C:\Go\ (installation directory) 409 409 ))) 410 410 411 411 [[image:image-20220524165433-33.png]] 412 412 413 413 414 -3)Modify the system variable Path and add C:\Go\bin\: 485 +3) Modify the system variable Path and add C:\Go\bin\: 415 415 416 416 [[image:image-20220524165452-34.png]] 417 417 ... ... @@ -421,8 +421,9 @@ 421 421 [[image:image-20220524165517-35.png]] 422 422 423 423 424 -3. Modify the ADR configuration file according to your own needs, adr.setting.go is an example of the ADR configuration file. 425 425 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 + 426 426 The name of the plugin: Example ADR plugin: 427 427 428 428 [[image:image-20220524165540-36.png]] ... ... @@ -432,8 +432,9 @@ 432 432 [[image:image-20220524165557-37.png]] 433 433 434 434 435 -4. Compile the ADR configuration file and generate the exe file. 436 436 508 +(% style="color:blue" %)**4. Compile the ADR configuration file and generate the exe file.** 509 + 437 437 1) Create a folder named adr-setting 438 438 439 439 2) Open the adr-setting folder ... ... @@ -457,8 +457,9 @@ 457 457 [[image:image-20220524165623-38.png]] 458 458 459 459 460 -5. Add the plugin and run the plugin. 461 461 534 +(% style="color:blue" %)**5. Add the plugin and run the plugin.** 535 + 462 462 ((( 463 463 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: 464 464 ))) ... ... @@ -494,11 +494,61 @@ 494 494 Finish. 495 495 496 496 497 -= 6.TroubleShooting =571 += 7. How to store/get all data traffic for a specific sensor, including raw payload, and uplink/ downlink history. = 498 498 499 -== 6.1 MIC Mismatch or MIC Failed == 500 500 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" %) 501 501 ((( 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 +((( 502 502 When the device is registered or the device is working normally, the problem of MIC mismatch and MIC failed occurs. 503 503 ))) 504 504
- image-20221010193350-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Edwin - Size
-
... ... @@ -1,0 +1,1 @@ 1 +42.7 KB - Content
- image-20221010193621-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Edwin - Size
-
... ... @@ -1,0 +1,1 @@ 1 +34.2 KB - Content
- image-20221012173639-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoye - Size
-
... ... @@ -1,0 +1,1 @@ 1 +56.2 KB - Content
- image-20221012174220-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoye - Size
-
... ... @@ -1,0 +1,1 @@ 1 +14.8 KB - Content
- image-20221012174352-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoye - Size
-
... ... @@ -1,0 +1,1 @@ 1 +93.0 KB - Content
- 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