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, 11 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,4 +1,4 @@ 1 -** ~Contents:**1 +**Contents:** 2 2 3 3 {{toc/}} 4 4 ... ... @@ -6,17 +6,14 @@ 6 6 7 7 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/]] 8 8 9 -((( 10 10 The dragino gateway can connect the ChirpStack server via Semtech UDP or Semtech Basic Station. 11 -))) 12 12 13 13 **Prerequisite** 14 14 15 15 1) Have a Chirstack Server. 16 16 17 -[[image:image -20220524163736-2.png]]15 +[[image:https://wiki.dragino.com/images/thumb/f/f4/ChirpStack_home_page.png/600px-ChirpStack_home_page.png||height="320" width="600"]] 18 18 19 - 20 20 ChirpStack home page 21 21 22 22 2) Gateway model support ... ... @@ -23,12 +23,10 @@ 23 23 24 24 (% class="box" %) 25 25 ((( 26 -((( 27 27 Semtech UDP : **All Model** 28 28 Basic Station : , , 29 29 **Note** : the firmware needs > if use the Bais station 30 30 ))) 31 -))) 32 32 33 33 = 2. Semtech UDP = 34 34 ... ... @@ -44,25 +44,25 @@ 44 44 45 45 If the user cannot add network-Servers, re-check the ChirpStack code or the server building process. 46 46 47 -[[image:image- 20220524163926-3.png]]42 +[[image:https://wiki.dragino.com/images/thumb/6/6b/Add_the_Network-servers.png/600px-Add_the_Network-servers.png||height="363" width="600"]] 48 48 49 49 Add the Network-servers 50 50 51 51 == 2.2 Step 2. Create Gateway-profiles == 52 52 53 -[[image:image- 20220524163952-4.png]]48 +[[image:https://wiki.dragino.com/images/thumb/a/a9/Create_Gateway-profiles.png/600px-Create_Gateway-profiles.png||height="363" width="600"]] 54 54 55 55 Create Gateway-profiles 56 56 57 57 == 2.3 Step 3. Create Service-profiles == 58 58 59 -[[image:image -20220524164008-5.png]]54 +[[image:https://wiki.dragino.com/images/thumb/1/1f/Create_Service-profiles.png/600px-Create_Service-profiles.png||height="363" width="600"]] 60 60 61 61 Create Service-profiles 62 62 63 63 In Step 3. Create Service-profiles, the above parameters can be set. If necessary, you can set them by yourself. This is only an example. 64 64 65 - (% style="color:red" %)**Note : Before add the gateway, the user needs to complete the preceding three steps.**60 +Note : Before add the gateway, the user needs to complete the preceding three steps. 66 66 67 67 If the user has completed the preceding steps, proceed to the next step. 68 68 ... ... @@ -70,103 +70,37 @@ 70 70 71 71 The example gateway id is: a840411e96744150 72 72 73 -((( 74 -(% style="color:red" %)**Note : The Gateway EUI and server addresses must match the ChirpStack configuration.** 75 -))) 68 +Note : The Gateway EUI and server addresses must match the ChirpStack configuration. 76 76 77 -[[image:https://wiki.dragino.com/images/thumb/c/c6/Add_the_gateway.png/600px-Add_the_gateway.png||height=" 424" width="700"]]70 +[[image:https://wiki.dragino.com/images/thumb/c/c6/Add_the_gateway.png/600px-Add_the_gateway.png||height="363" width="600"]] 78 78 79 79 Add the gateway 80 80 81 -[[image:https://wiki.dragino.com/images/thumb/1/14/ChirpStack_Configure_the_gateway.png/600px-ChirpStack_Configure_the_gateway.png||height="3 55" width="700"]]74 +[[image:https://wiki.dragino.com/images/thumb/1/14/ChirpStack_Configure_the_gateway.png/600px-ChirpStack_Configure_the_gateway.png||height="304" width="600"]] 82 82 83 83 Configure the gateway 84 84 85 85 == 2.5 Step 5. Checking gateway Status == 86 86 87 -[[image:https://wiki.dragino.com/images/thumb/2/2c/Gateway_Status_cao_1.png/600px-Gateway_Status_cao_1.png||height=" 424" width="700"]]80 +[[image:https://wiki.dragino.com/images/thumb/2/2c/Gateway_Status_cao_1.png/600px-Gateway_Status_cao_1.png||height="363" width="600"]] 88 88 89 89 gateway Status 90 90 91 -[[image:https://wiki.dragino.com/images/thumb/1/11/Gateway_Status_cao_2.png/600px-Gateway_Status_cao_2.png||height=" 424" width="700"]]84 +[[image:https://wiki.dragino.com/images/thumb/1/11/Gateway_Status_cao_2.png/600px-Gateway_Status_cao_2.png||height="363" width="600"]] 92 92 93 93 gateway Status 94 94 95 -= 3. GatewayRegistration forBasicsStation =88 += 3. Semtech Basic Station = 96 96 97 -== Introduction == 98 - 99 -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. 100 - 101 -ChirpStack Open-Source LoRaWAN® Network Server needs to set up a configuration that can use Semtech BasicStation. 102 - 103 -**Below list the support products and Requirements:** 104 - 105 -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]] 106 -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/]] 107 - 108 -**How to set up chirpStack Basic Station** 109 - 110 -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]] 111 - 112 -**What do you need to prepare** 113 - 114 -A gateway that can access the internet normally 115 - 116 -== 3.1 Add Gateway == 117 - 118 -[[image:image-20220519152235-5.png||height="338" width="699"]] 119 - 120 - 121 -== 3.2 Access the gateway GUI == 122 - 123 -Access the gateway GUI interface of LoRaWAN~-~->LoRaWAN ~-~- Basic Station 124 - 125 -[[image:image-20220519151612-4.png||height="208" width="700"]] 126 - 127 -User need to Choose the ChirpStack/Senet ~-~- Basic Station , input Server URI and Upload the TLS Certificate 128 - 129 -(% class="box" %) 130 -((( 131 -Service Provider ~-~-> Choose the ChirpStack/Senet ~-~- Basic Station 132 - 133 -LNS URI ~-~-> Enter the LNS URI address, For example : wss:~/~/xxxx.chirpstack.com:433 or ws:~/~/xxxx.chirpstack.com:3001 134 - 135 -LNS TLS trust ~-~-> Upload the TLS Certificate 136 -))) 137 - 138 -(% class="wikigeneratedid" %) 139 -[[image:image-20220519153027-6.png||height="371" width="704"]] 140 - 141 -== 3.3 Start Station == 142 - 143 -When the user has finished the configuration, Please click Sace&Apply to start station to connect ChirpStack 144 - 145 -== 3.4 Successful Connection == 146 - 147 -If user completes the above steps, which will see live date in the ChirpStack. 148 - 149 -[[image:image-20220519154215-7.png||height="400" width="707"]] 150 - 151 -== 3.5 Trouble Shooting == 152 - 153 -User can check the station log in the logread/system log page. 154 - 155 -[[image:https://wiki.dragino.com/images/thumb/7/7c/Station_log_xiao.png/600px-Station_log_xiao.png]] 156 - 157 -and recode the station log in the system/Recode log page. 158 - 159 -[[image:https://wiki.dragino.com/images/thumb/5/50/Recore_log_xiao.png/600px-Recore_log_xiao.png]] 160 - 161 161 = 4. Downlink = 162 162 163 163 == 4.1 Chirpstack Downlink Note == 164 164 165 -[[image:https://wiki.dragino.com/images/thumb/b/ba/ChirpStack_Down_5.png/600px-ChirpStack_Down_5.png||height=" 342" width="700"]]94 +[[image:https://wiki.dragino.com/images/thumb/b/ba/ChirpStack_Down_5.png/600px-ChirpStack_Down_5.png||height="293" width="600"]] 166 166 167 167 Convert the data to Base64 168 168 169 -[[image:https://wiki.dragino.com/images/thumb/2/2c/ChirpStack_Down_6.png/600px-ChirpStack_Down_6.png||height="3 49" width="697"]]98 +[[image:https://wiki.dragino.com/images/thumb/2/2c/ChirpStack_Down_6.png/600px-ChirpStack_Down_6.png||height="300" width="600"]] 170 170 171 171 Check ChripStack downlink DataRate 172 172 ... ... @@ -178,51 +178,37 @@ 178 178 179 179 User can use MQTT to send downlink payload to ChirpStack to perform downstream to LoRaWAN End 180 180 181 -((( 182 182 Below is examples: 183 -))) 184 184 185 -(% class="box" %) 186 -((( 187 -Connect to your server via MQTT: 188 -MQTT Client ID: Any 189 -Protocol:mqtt/tcp Server IP:loraserver_ip:1883 112 +{{{Connect to your server via MQTT: 113 +MQTT Client ID: Any 114 +Protocol:mqtt/tcp Server IP:loraserver_ip:1883 190 190 User name: User name Password: password 191 - )))116 +}}} 192 192 193 193 [[image:https://wiki.dragino.com/images/thumb/0/06/ChirpStack_Down_1.png/600px-ChirpStack_Down_1.png||height="578" width="600"]] 194 194 195 -((( 196 196 MQTT Connect to ChirpStack 197 -))) 198 198 199 -((( 200 200 After connect 201 -))) 202 202 203 -(% class="box" %) 204 -((( 205 -Subscribe : Format:application/ID/device/ Device EUI/rx 124 +{{{Subscribe : Format:application/ID/device/ Device EUI/rx 206 206 Example: application/7/device/00aedb3da649cb23/rx 207 -))) 208 208 209 -(% class="box" %) 210 -((( 211 -Publish: 127 +Publish: 212 212 Format: Top: application/ID/device/ Device EUI/tx 213 213 Payload: {"confirmed":true or false,"fPort":XX,"data":"xxxx"} 214 214 Example: Top: application/7/device/00aedb3da649cb23/tx 215 215 Payload: {"confirmed":true,"fPort":2,"data":"AwEB"} 216 - )))132 +}}} 217 217 218 218 [[image:https://wiki.dragino.com/images/thumb/c/c8/ChirpStack_Down_2.png/600px-ChirpStack_Down_2.png||height="342" width="600"]] 219 219 220 220 MQTT Connect to ChirpStack 221 221 222 -((( 223 -(% 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/]] 224 -))) 225 225 139 +Note: Chirpstack use base64 to downlink, so need to convert the downlink payload from HEX to base64 [[https:~~/~~/base64.us/>>url:https://base64.us/]] 140 + 226 226 [[image:https://wiki.dragino.com/images/thumb/f/f8/ChirpStack_Down_3.png/600px-ChirpStack_Down_3.png||height="309" width="600"]] 227 227 228 228 Choose to Use Hex for Encode ... ... @@ -231,13 +231,9 @@ 231 231 232 232 [[image:https://wiki.dragino.com/images/thumb/d/d2/ChirpStack_Down_4.png/600px-ChirpStack_Down_4.png||alt="ChirpStack Down 4.png" height="344" width="600"]] 233 233 234 -((( 235 235 Downlink payload encode javescript code: 可以在网站上运行以下Javsscript代码: 236 -))) 237 237 238 -(% class="box" %) 239 -((( 240 -function sha1_to_base64(sha1) 151 +{{{function sha1_to_base64(sha1) 241 241 { 242 242 var digits="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; 243 243 var base64_rep = ""; ... ... @@ -244,7 +244,8 @@ 244 244 var cnt = 0; 245 245 var bit_arr = 0; 246 246 var bit_num = 0; 247 -\\ for(var n = 0; n < sha1.length; ++n) 158 + 159 + for(var n = 0; n < sha1.length; ++n) 248 248 { 249 249 if(sha1[n] >= 'A' && sha1[n] <= 'Z') 250 250 { ... ... @@ -258,22 +258,26 @@ 258 258 { 259 259 ascv = sha1.charCodeAt(n) - 48; 260 260 } 261 -\\ bit_arr = (bit_arr << 4) | ascv; 173 + 174 + bit_arr = (bit_arr << 4) | ascv; 262 262 bit_num += 4; 263 263 if(bit_num >= 6) 264 264 { 265 - bit_num -= 6; 178 + bit_num -= 6; 266 266 base64_rep += digits[bit_arr >>> bit_num]; 267 - bit_arr &= ~ ~(-1 << bit_num);180 + bit_arr &= ~(-1 << bit_num); 268 268 } 269 269 } 270 -\\ if(bit_num > 0) 183 + 184 + if(bit_num > 0) 271 271 { 272 272 bit_arr <<= 6 - bit_num; 273 273 base64_rep += digits[bit_arr]; 274 274 } 275 -\\ var padding = base64_rep.length % 4; 276 -\\ if(padding > 0) 189 + 190 + var padding = base64_rep.length % 4; 191 + 192 + if(padding > 0) 277 277 { 278 278 for(var n = 0; n < 4 - padding; ++n) 279 279 { ... ... @@ -282,15 +282,17 @@ 282 282 } 283 283 return base64_rep; 284 284 } 285 -\\console.log(sha1_to_base64("data")); 286 -\\data is downlink payload required by end node. 287 -e.g console.log(sha1_to_base64("030101")); 288 - result: AwEB 201 + 202 +console.log(sha1_to_base64("data")); 203 + 204 +data is downlink payload required by end node. 205 + e.g console.log(sha1_to_base64("030101")); 206 + result: AwEB 289 289 AwEB is the 0x030101's base 64 Encode. 290 - \\e.g console.log(sha1_to_base64("030000"));291 - result: AwAA292 - AwAA is0x030000'sbase64Encode.293 - )))208 + 209 + e.g console.log(sha1_to_base64("030000")); 210 + result: AwAA 211 + AwAA is 0x030000's base 64 Encode.}}} 294 294 295 295 == 4.3 Add the decode function in Chirpstack for the payload == 296 296 ... ... @@ -306,29 +306,21 @@ 306 306 307 307 = 5. Multiply Uplink in ChirpStack = 308 308 309 -((( 310 310 nbtrans field is the value to determine the re-transmission time for unconfirmed uplink data. 311 -))) 312 312 313 - (((229 + 314 314 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]] 315 -))) 316 316 317 317 [[image:https://wiki.dragino.com/images/thumb/6/63/Nbtrans_1.png/600px-Nbtrans_1.png||alt="Nbtrans 1.png" height="103" width="600"]] 318 318 319 -((( 320 320 nbtrans is a field of ADR message, in unconfirm mode, it tells end node how many time it needs to transmit for every frame. 321 -))) 322 322 323 323 [[image:https://wiki.dragino.com/images/thumb/1/17/Nbtrans_2.png/300px-Nbtrans_2.png||alt="Nbtrans 2.png" height="462" width="300"]] 324 324 325 - (((238 + 326 326 Above behaviour will cause the platform shows below two cases of error: 327 -))) 328 328 329 -((( 330 330 Error of duplicate Frame Counter 331 -))) 332 332 333 333 [[image:https://wiki.dragino.com/images/7/7e/Nbtrans_3.png||alt="Nbtrans 3.png" height="677" width="600"]] 334 334 ... ... @@ -340,9 +340,7 @@ 340 340 341 341 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]] 342 342 343 -((( 344 344 ~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. 345 -))) 346 346 347 347 [[image:https://wiki.dragino.com/images/3/37/Chirpstacksolution-1.png||alt="Chirpstacksolution-1.png" height="199" width="554"]] 348 348 ... ... @@ -350,17 +350,11 @@ 350 350 351 351 [[image:https://wiki.dragino.com/images/c/ca/Chirpstacksolution-2.png||alt="Chirpstacksolution-2.png" height="283" width="361"]] 352 352 353 -((( 354 354 2. Environment variable settings:. 355 -))) 356 356 357 -((( 358 358 1) Open Computer -> Properties -> Advanced System Settings -> Environment Variables and add a "new" system variable: 359 -))) 360 360 361 -((( 362 362 2)Set the variable name GOROOT and the variable value C:\Go\ (installation directory) 363 -))) 364 364 365 365 [[image:https://wiki.dragino.com/images/f/f9/Chirpstacksolution-3.png||alt="Chirpstacksolution-3.png" height="152" width="554"]] 366 366 ... ... @@ -408,35 +408,17 @@ 408 408 409 409 5. Add the plugin and run the plugin. 410 410 411 -((( 412 412 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: 413 -))) 414 414 415 415 [[image:https://wiki.dragino.com/images/8/82/Chirpstacksolution-9.png||alt="Chirpstacksolution-9.png" height="73" width="554"]] 416 416 417 -((( 418 -((( 419 419 For example: adr_plugins=[“adr-setting”] 420 -))) 421 -))) 422 422 423 -* ((( 424 -((( 425 -Adding a single plugin format is adr_plugins=["filename"] 426 -))) 427 -))) 319 +* Adding a single plugin format is adr_plugins=["filename"] 428 428 429 -* ((( 430 -((( 431 -Adding multiple plugins The format is adr_plugins=["file name 1", "file name 2",...] 432 -))) 433 -))) 321 +* Adding multiple plugins The format is adr_plugins=["file name 1", "file name 2",...] 434 434 435 -((( 436 -((( 437 437 Finally, re-run chirpstack-network-server.exe, and then select the plugin you just compiled in Device-profiles, 438 -))) 439 -))) 440 440 441 441 [[image:https://wiki.dragino.com/images/3/39/Chirpstacksolution-10.png||alt="Chirpstacksolution-10.png" height="275" width="554"]] 442 442 ... ... @@ -446,10 +446,6 @@ 446 446 447 447 == 6.1 MIC Mismatch or MIC Failed == 448 448 449 -((( 450 450 When the device is registered or the device is working normally, the problem of MIC mismatch and MIC failed occurs. 451 -))) 452 452 453 -((( 454 454 Under normal circumstances, users need to change the APPKEY to solve this problem. 455 -)))
- image-20220519150940-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Kilight - Size
-
... ... @@ -1,1 +1,0 @@ 1 -644.9 KB - Content
- image-20220519151038-2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Kilight - Size
-
... ... @@ -1,1 +1,0 @@ 1 -680.5 KB - Content
- image-20220519151228-3.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Kilight - Size
-
... ... @@ -1,1 +1,0 @@ 1 -788.0 KB - Content
- image-20220519151612-4.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Kilight - Size
-
... ... @@ -1,1 +1,0 @@ 1 -45.2 KB - Content
- image-20220519152235-5.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Kilight - Size
-
... ... @@ -1,1 +1,0 @@ 1 -679.8 KB - Content
- image-20220519153027-6.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Kilight - Size
-
... ... @@ -1,1 +1,0 @@ 1 -72.6 KB - Content
- image-20220519154215-7.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Kilight - Size
-
... ... @@ -1,1 +1,0 @@ 1 -239.6 KB - Content
- image-20220524163736-2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -63.0 KB - Content
- image-20220524163926-3.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -44.8 KB - Content
- image-20220524163952-4.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -52.2 KB - Content
- image-20220524164008-5.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -78.2 KB - Content