<
From version < 9.1 >
edited by Kilight Cao
on 2022/05/19 15:43
To version < 1.2 >
edited by Xiaoling
on 2022/05/16 11:21
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Kilight
1 +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="373" 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="355" 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. Gateway Registration for Basics Station =
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="349" 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: AwAA     
291 - AwAA is 0x030000's base 64 Encode.
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
Copyright ©2010-2022 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0