Changes for page Notes for ChirpStack
Last modified by Edwin Chen on 2025/01/30 09:53
Change comment:
Uploaded new attachment "image-20221222114220-2.png", version {1}
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 10 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Xiaoling1 +XWiki.Kilight - Content
-
... ... @@ -109,11 +109,14 @@ 109 109 Configure the gateway 110 110 111 111 112 -== 2.5 Step 5. Checking gateway Status == 113 113 113 +== 2.5 Step 5. Checking gateway Status == 114 + 115 + 114 114 [[image:image-20220531172158-6.png]](% style="display:none" %) 115 115 116 116 119 + 117 117 gateway Status 118 118 119 119 [[image:image-20220531172304-7.png]] ... ... @@ -121,39 +121,46 @@ 121 121 gateway Status 122 122 123 123 124 -= 3. Gateway Registration for Basics Station = 125 125 126 -= =3.1Introduction ==128 += 3. Gateway Registration for Basics Station = 127 127 130 +== 3.1 Introduction == 131 + 132 + 128 128 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. 129 129 130 130 ChirpStack Open-Source LoRaWAN® Network Server needs to set up a configuration that can use Semtech BasicStation. 131 131 132 -**Below list the support products and Requirements:** 133 133 138 +(% style="color:blue" %)**Below list the support products and Requirements:** 139 + 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 -**How to set up chirpStack Basic Station** 143 +(% style="color:blue" %)**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 141 -**What do you need to prepare** 142 142 148 +(% style="color:blue" %)**What do you need to prepare** 149 + 143 143 A gateway that can access the internet normally 144 144 145 145 146 -== 3.2 Add Gateway == 153 +== 3.2 Add Gateway == 147 147 155 + 148 148 [[image:image-20220524164205-10.png]] 149 149 150 150 151 -== 3.3 Access the gateway GUI == 159 +== 3.3 Access the gateway GUI == 152 152 161 + 153 153 Access the gateway GUI interface of LoRaWAN~-~->LoRaWAN ~-~- Basic Station 154 154 155 155 [[image:image-20220524164319-11.png]] 156 156 166 + 157 157 User need to Choose the ChirpStack/Senet ~-~- Basic Station , input Server URI and Upload the TLS Certificate 158 158 159 159 (% class="box" %) ... ... @@ -169,20 +169,23 @@ 169 169 [[image:image-20220524164341-12.png]] 170 170 171 171 172 -== 3.4 Start Station == 182 +== 3.4 Start Station == 173 173 174 -When the user has finished the configuration, Please click Sace&Apply to start station to connect ChirpStack 175 175 185 +When the user has finished the configuration, Please click **Sace&Apply** to start station to connect ChirpStack. 176 176 177 -== 3.5 Successful Connection == 178 178 188 +== 3.5 Successful Connection == 189 + 190 + 179 179 If user completes the above steps, which will see live date in the ChirpStack. 180 180 181 181 [[image:image-20220524164448-13.png]] 182 182 183 183 184 -== 3.6 Trouble Shooting == 196 +== 3.6 Trouble Shooting == 185 185 198 + 186 186 User can check the station log in the logread/system log page. 187 187 188 188 [[image:image-20220531172837-8.png]] ... ... @@ -193,31 +193,53 @@ 193 193 [[image:image-20220531172857-9.png]] 194 194 195 195 196 -= 4. Downlink = 197 197 198 -= =4.1ChirpstackDownlinkNote==210 += 4. Downlink = 199 199 212 +== 4.1 Convert HEX to Base64 == 213 + 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 + 217 +**[[Online HEX to Base64 Converter>>https://base64.guru/converter/encode/hex]]:** 218 + 219 +[[image:image-20221010193350-1.png]] 220 + 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 + 200 200 [[image:image-20220601102543-2.png]] 201 201 202 -Convert the data to Base64 233 +**Convert the data to Base64** 203 203 235 +(% style="display:none" %) (%%) 204 204 205 -[[image:image-20220531173236-10.png]] 206 206 207 - Check ChripStackdownlink DataRate238 +[[image:image-20220531173236-10.png||height="597" width="1215"]] 208 208 240 +**Check ChripStack downlink DataRate** 209 209 242 + 243 + 210 210 [[image:image-20220525101326-11.png]] 211 211 212 -Make sure the RX2DR is the same in the end node 246 +**Make sure the RX2DR is the same in the end node** 213 213 214 214 215 -== 4. 2Loraserver Downlink Note ==249 +== 4.3 Loraserver Downlink Note == 216 216 251 + 217 217 User can use MQTT to send downlink payload to ChirpStack to perform downstream to LoRaWAN End 218 218 219 219 ((( 220 -Below is examples: 255 +**Below is examples:** 221 221 ))) 222 222 223 223 (% class="box" %) ... ... @@ -231,13 +231,14 @@ 231 231 [[image:image-20220531173419-11.png]] 232 232 233 233 ((( 234 -MQTT Connect to ChirpStack 269 +**MQTT Connect to ChirpStack** 235 235 271 + 236 236 237 237 ))) 238 238 239 239 ((( 240 -After connect 276 +**After connect** 241 241 ))) 242 242 243 243 (% class="box" %) ... ... @@ -257,22 +257,14 @@ 257 257 258 258 [[image:image-20220531173519-12.png]] 259 259 260 -MQTT Connect to ChirpStack 296 +**MQTT Connect to ChirpStack** 261 261 262 262 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 -))) 299 +**If we want to send downstream hex 030101 to end node, the BASE64 payload is AwEB** 266 266 267 -[[image:image-20220531173601-13.png]] 268 - 269 -Choose to Use Hex for Encode 270 - 271 - 272 -If we want send downstream hex 030101 to end node, the BASE64 payload is AwEB 273 - 274 274 [[image:image-20220531173658-14.png]] 275 275 303 + 276 276 ((( 277 277 Downlink payload encode javescript code: 可以在网站上运行以下Javsscript代码: 278 278 ))) ... ... @@ -290,15 +290,15 @@ 290 290 { 291 291 if(sha1[n] >= 'A' && sha1[n] <= 'Z') 292 292 { 293 - ascv = sha1.charCodeAt(n) - 55; 321 + ascv = sha1.charCodeAt( n ) - 55; 294 294 } 295 295 else if(sha1[n] >= 'a' && sha1[n] <= 'z') 296 296 { 297 - ascv = sha1.charCodeAt(n) - 87; 325 + ascv = sha1.charCodeAt( n ) - 87; 298 298 } 299 299 else 300 300 { 301 - ascv = sha1.charCodeAt(n) - 48; 329 + ascv = sha1.charCodeAt( n ) - 48; 302 302 } 303 303 \\ bit_arr = (bit_arr << 4) | ascv; 304 304 bit_num += 4; ... ... @@ -335,11 +335,13 @@ 335 335 ))) 336 336 337 337 338 -== 4.3 Add the decode function in Chirpstack for the payload == 339 339 367 +== 4.3 Add the decode function in Chirpstack for the payload == 368 + 369 + 340 340 User enters the payload code according to the steps. 341 341 342 -[[image:image-20220531173754-15.png]] 372 +[[image:image-20220531173754-15.png||height="474" width="1334"]] 343 343 344 344 345 345 [[image:image-20220531173856-16.png]] ... ... @@ -350,8 +350,9 @@ 350 350 [[image:image-20220531174046-19.png]] 351 351 352 352 353 -= 5. Multiply Uplink in ChirpStack = 383 += 5. Multiply Uplink in ChirpStack = 354 354 385 + 355 355 ((( 356 356 nbtrans field is the value to determine the re-transmission time for unconfirmed uplink data. 357 357 ))) ... ... @@ -358,12 +358,17 @@ 358 358 359 359 ((( 360 360 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 + 361 361 ))) 362 362 363 -[[image:image-20220526091912-7.png]] 396 +[[image:image-20220526091912-7.png||height="241" width="1336"]] 364 364 398 + 365 365 ((( 366 366 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 + 367 367 ))) 368 368 369 369 [[image:image-20220525104359-21.png]] ... ... @@ -370,6 +370,8 @@ 370 370 371 371 ((( 372 372 Above behaviour will cause the platform shows below two cases of error: 409 + 410 + 373 373 ))) 374 374 375 375 ((( ... ... @@ -379,29 +379,36 @@ 379 379 [[image:image-20220525104437-22.png]] 380 380 381 381 382 -Duplicate transmission in short time 383 383 384 - [[image:image-20220601102430-1.png]]421 +**Duplicate transmission in short time** 385 385 423 +[[image:image-20220601102430-1.png||height="598" width="1319"]] 386 386 387 -== 5.1 Solution == 388 388 426 + 427 +== 5.1 Solution == 428 + 429 + 389 389 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]] 390 390 432 + 391 391 ((( 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. 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 + 393 393 ))) 394 394 395 395 [[image:image-20220525104532-24.png]] 396 396 397 397 398 -installation path: 442 +**installation path:** 399 399 400 400 [[image:image-20220525104554-25.png]] 401 401 402 402 447 + 403 403 ((( 404 -2. Environment variable settings: .449 +(% style="color:blue" %)**2. Environment variable settings:** 405 405 ))) 406 406 407 407 ((( ... ... @@ -409,13 +409,13 @@ 409 409 ))) 410 410 411 411 ((( 412 -2)Set the variable name GOROOT and the variable value C:\Go\ (installation directory) 457 +2) Set the variable name GOROOT and the variable value C:\Go\ (installation directory) 413 413 ))) 414 414 415 415 [[image:image-20220524165433-33.png]] 416 416 417 417 418 -3)Modify the system variable Path and add C:\Go\bin\: 463 +3) Modify the system variable Path and add C:\Go\bin\: 419 419 420 420 [[image:image-20220524165452-34.png]] 421 421 ... ... @@ -425,8 +425,9 @@ 425 425 [[image:image-20220524165517-35.png]] 426 426 427 427 428 -3. Modify the ADR configuration file according to your own needs, adr.setting.go is an example of the ADR configuration file. 429 429 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 + 430 430 The name of the plugin: Example ADR plugin: 431 431 432 432 [[image:image-20220524165540-36.png]] ... ... @@ -436,8 +436,9 @@ 436 436 [[image:image-20220524165557-37.png]] 437 437 438 438 439 -4. Compile the ADR configuration file and generate the exe file. 440 440 486 +(% style="color:blue" %)**4. Compile the ADR configuration file and generate the exe file.** 487 + 441 441 1) Create a folder named adr-setting 442 442 443 443 2) Open the adr-setting folder ... ... @@ -461,8 +461,9 @@ 461 461 [[image:image-20220524165623-38.png]] 462 462 463 463 464 -5. Add the plugin and run the plugin. 465 465 512 +(% style="color:blue" %)**5. Add the plugin and run the plugin.** 513 + 466 466 ((( 467 467 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: 468 468 ))) ... ... @@ -498,11 +498,61 @@ 498 498 Finish. 499 499 500 500 501 -= 6. TroubleShooting =549 += 6. How to store/get all data traffic for a specific sensor, including raw payload, and uplink/ downlink history. = 502 502 503 -== 6.1 MIC Mismatch or MIC Failed == 504 504 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" %) 505 505 ((( 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 +((( 506 506 When the device is registered or the device is working normally, the problem of MIC mismatch and MIC failed occurs. 507 507 ))) 508 508
- 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