<
From version < 10.3 >
edited by Xiaoling
on 2022/05/24 16:39
To version < 1.3 >
edited by Xiaoling
on 2022/05/16 11:21
>
Change comment: There is no comment for this version

Summary

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:https://wiki.dragino.com/images/thumb/6/6b/Add_the_Network-servers.png/600px-Add_the_Network-servers.png||height="424" width="700"]]
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:https://wiki.dragino.com/images/thumb/a/a9/Create_Gateway-profiles.png/600px-Create_Gateway-profiles.png||height="424" width="700"]]
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:https://wiki.dragino.com/images/thumb/1/1f/Create_Service-profiles.png/600px-Create_Service-profiles.png||height="424" width="700"]]
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="355" 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. Gateway Registration for Basics Station =
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="349" 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: AwAA     
292 - AwAA is 0x030000's base 64 Encode.
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
Copyright ©2010-2022 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0