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