Hide last authors
Xiaoling 108.4 1 **~ Table of Contents:**
Xiaoling 1.2 2
Xiaoling 1.1 3 {{toc/}}
4
Xiaoling 86.4 5
6
7
Xiaoling 108.4 8 = 1.  Introduction =
Xiaoling 1.1 9
Xiaoling 108.4 10
Kilight Cao 53.1 11 (% style="color:black" %)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/]]
Xiaoling 1.1 12
Xiaoling 1.5 13 (((
Kilight Cao 51.1 14 (% style="color:black" %)The dragino gateway can connect the ChirpStack server via Semtech UDP or Semtech Basic Station.
Xiaoling 108.4 15
16
Xiaoling 1.5 17 )))
Xiaoling 1.1 18
Xiaoling 108.4 19 (% style="color:blue" %)**Prerequisite:**
Xiaoling 1.1 20
Xiaoling 108.4 21 **1) Have a Chirstack Server.**
Xiaoling 1.1 22
Xiaoling 54.2 23 [[image:image-20220525100058-1.png]]
Xiaoling 1.1 24
Xiaoling 1.2 25 ChirpStack home page
Xiaoling 1.1 26
Xiaoling 54.2 27
Xiaoling 1.1 28
Xiaoling 108.4 29 **2) Gateway model support**
30
Xiaoling 1.2 31 (% class="box" %)
32 (((
Xiaoling 1.5 33 (((
Xiaoling 1.2 34 Semtech UDP : **All Model**
Xiaoling 108.4 35 Basic Station : [[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]]
36 (% style="color:red" %)**Note** (%%): the firmware needs >[[lgw~~-~~-build-v5.4.1640315898>>url:https://www.dragino.com/downloads/index.php?dir=LoRa_Gateway/LPS8/Firmware/Release/]]  if use the Bais station
Xiaoling 1.2 37 )))
Xiaoling 1.5 38 )))
Xiaoling 1.1 39
Bei Jinggeng 164.1 40 = 2.  Node usage introduction =
Xiaoling 86.5 41
Bei Jinggeng 164.1 42 == 2.1 Register Node ==
Xiaoling 1.1 43
Bei Jinggeng 164.1 44 Step 1: Add application
Xiaoling 1.1 45
Bei Jinggeng 164.1 46 [[image:image-20230702094608-1.png||height="537" width="1015"]]
Xiaoling 108.4 47
Bei Jinggeng 164.1 48 Step 2:Fill name
49
50 [[image:image-20230702094852-2.png]]
51
52 Step4 :Add device profile
53
54 [[image:image-20230702095114-4.png||height="448" width="1061"]]
55
56
57 Step5 :Configure your device profile
58
59 [[image:image-20230702095557-5.png||height="648" width="1121"]]
60
61 Does node support class-c
62
63 [[image:image-20230702095641-6.png||height="349" width="1114"]]
64
65 Add node's decoder
66
67 [[image:image-20230702095827-7.png||height="490" width="1138"]]
68
69
70 Step6 :add device
71
72 [[image:image-20230702094944-3.png||height="439" width="1153"]]
73
74
75
76 [[image:image-20230702100312-8.png||height="585" width="1176"]]
77
78 [[image:image-20230702100543-10.png||height="313" width="1099"]]
79
80 [[image:image-20230702100930-11.png||height="613" width="1098"]]
81
82
83 = 3.  Semtech UDP =
84
85 == 3.1  Step 1. Add the Network-servers ==
86
87
Xiaoling 1.2 88 The network-Servers address varies depending on the ChirpStack server setup environment
Xiaoling 1.1 89
Xiaoling 1.3 90 (% class="box" %)
91 (((
Xiaoling 108.5 92 Windows       ~-~->  Network-server server *  :  localhost:8000
93 Linux  ~-~->  Network-server server *  :  chirpstack-network-server:8000
Xiaoling 1.3 94 )))
Xiaoling 1.1 95
Xiaoling 108.4 96
Xiaoling 108.6 97 (% style="color:red" %)**If the user cannot add network-Servers, re-check the ChirpStack code or the server building process.**
Xiaoling 1.1 98
Xiaoling 108.4 99
Xiaoling 151.2 100 [[image:image-20220531171609-1.png||height="638" width="1268"]](% style="display:none" %)
Xiaoling 1.2 101
102 Add the Network-servers
103
Xiaoling 84.2 104
Bei Jinggeng 164.1 105 == 3.2  Step 2. Create Gateway-profiles ==
Xiaoling 1.2 106
Xiaoling 108.6 107
Xiaoling 151.2 108 [[image:image-20220531171651-2.png||height="632" width="1264"]](% style="display:none" %)
Xiaoling 1.2 109
110 Create Gateway-profiles
111
Xiaoling 84.2 112
Bei Jinggeng 164.1 113 == 3.3  Step 3. Create Service-profiles ==
Xiaoling 108.6 114
115
Xiaoling 151.2 116 [[image:image-20220531171809-3.png||height="761" width="1265"]]
Xiaoling 1.2 117
118 Create Service-profiles
119
Xiaoling 89.3 120
Xiaoling 1.2 121 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.
122
Xiaoling 1.4 123 (% style="color:red" %)**Note : Before add the gateway, the user needs to complete the preceding three steps.**
Xiaoling 1.2 124
Xiaoling 84.2 125 If the user has completed the preceding steps, proceed to the next step.(% style="display:none" %)
Xiaoling 1.2 126
Xiaoling 84.2 127
Bei Jinggeng 164.1 128 == 3.4  Step 4. Add the gateway ==
Xiaoling 1.2 129
Xiaoling 108.7 130
Xiaoling 1.2 131 The example gateway id is: a840411e96744150
132
Xiaoling 1.5 133 (((
Xiaoling 1.4 134 (% style="color:red" %)**Note : The Gateway EUI and server addresses must match the ChirpStack configuration.**
Xiaoling 108.7 135
136
Xiaoling 1.5 137 )))
Xiaoling 1.2 138
Xiaoling 151.2 139 [[image:image-20220531171923-4.png||height="745" width="1253"]](% style="display:none" %)
Xiaoling 1.2 140
141 Add the gateway
142
Xiaoling 108.7 143
144
Xiaoling 91.2 145 [[image:image-20220531172031-5.png]]
Xiaoling 1.2 146
147 Configure the gateway
148
Xiaoling 84.2 149
Bei Jinggeng 164.1 150 == 3.5  Step 5. Checking gateway Status ==
Xiaoling 108.8 151
152
Xiaoling 151.2 153 [[image:image-20220531172158-6.png||height="704" width="1167"]](% style="display:none" %)
Xiaoling 1.2 154
Xiaoling 84.2 155
Xiaoling 108.8 156
Xiaoling 1.2 157 gateway Status
158
Xiaoling 151.2 159 [[image:image-20220531172304-7.png||height="628" width="1165"]]
Xiaoling 1.2 160
161 gateway Status
162
Xiaoling 86.6 163
Bei Jinggeng 164.1 164 = 4.  Gateway Registration for Basics Station =
Xiaoling 1.2 165
Bei Jinggeng 164.1 166 == 4.1  Introduction ==
Kilight Cao 9.1 167
Xiaoling 108.8 168
Kilight Cao 9.1 169 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.
170
171 ChirpStack Open-Source LoRaWAN® Network Server needs to set up a configuration that can use Semtech BasicStation.
172
173
Xiaoling 108.8 174 (% style="color:blue" %)**Below list the support products and Requirements:**
175
Kilight Cao 9.1 176 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]]
177 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/]]
178
Xiaoling 108.8 179 (% style="color:blue" %)**How to set up chirpStack Basic Station**
180
Kilight Cao 9.1 181 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]]
182
183
Xiaoling 108.8 184 (% style="color:blue" %)**What do you need to prepare**
185
Kilight Cao 9.1 186 A gateway that can access the internet normally
187
Xiaoling 86.7 188
Bei Jinggeng 164.1 189 == 4.2  Add Gateway ==
Kilight Cao 9.1 190
Xiaoling 108.9 191
Xiaoling 20.2 192 [[image:image-20220524164205-10.png]]
Kilight Cao 9.1 193
Xiaoling 86.8 194
Bei Jinggeng 164.1 195 == 4.3  Access the gateway GUI ==
Kilight Cao 9.1 196
Xiaoling 108.9 197
Kilight Cao 9.1 198 Access the gateway GUI interface of LoRaWAN~-~->LoRaWAN ~-~- Basic Station
199
Xiaoling 20.2 200 [[image:image-20220524164319-11.png]]
Kilight Cao 9.1 201
Xiaoling 108.9 202
Kilight Cao 9.1 203 User need to Choose the ChirpStack/Senet ~-~- Basic Station , input Server URI and Upload the TLS Certificate
204
205 (% class="box" %)
206 (((
207 Service Provider  ~-~->  Choose the ChirpStack/Senet ~-~- Basic Station
208
Kilight Cao 165.1 209 LNS URI  ~-~->  Enter the LNS URI address, For example : wss:~/~/xxxx.chirpstack.com:443 or ws:~/~/xxxx.chirpstack.com:3001
Kilight Cao 9.1 210
211 LNS TLS trust  ~-~->  Upload the TLS Certificate
212 )))
213
214 (% class="wikigeneratedid" %)
Xiaoling 20.2 215 [[image:image-20220524164341-12.png]]
Kilight Cao 9.1 216
Xiaoling 86.9 217
Bei Jinggeng 164.1 218 == 4.4  Start Station ==
Kilight Cao 9.1 219
Xiaoling 108.9 220
Xiaoling 108.14 221 When the user has finished the configuration, Please click **Sace&Apply** to start station to connect ChirpStack.
Kilight Cao 9.1 222
Xiaoling 86.10 223
Bei Jinggeng 164.1 224 == 4.5  Successful Connection ==
Kilight Cao 9.1 225
Xiaoling 108.9 226
Kilight Cao 9.1 227 If user completes the above steps, which will see live date in the ChirpStack.
228
Xiaoling 23.2 229 [[image:image-20220524164448-13.png]]
Kilight Cao 9.1 230
Xiaoling 86.11 231
Bei Jinggeng 164.1 232 == 4.6  Trouble Shooting ==
Xiaoling 108.9 233
234
Kilight Cao 9.1 235 User can check the station log in the logread/system log page.
236
Xiaoling 95.2 237 [[image:image-20220531172837-8.png]]
Kilight Cao 9.1 238
Xiaoling 86.13 239
Kilight Cao 9.1 240 and recode the station log in the system/Recode log page.
241
Xiaoling 95.2 242 [[image:image-20220531172857-9.png]]
Kilight Cao 9.1 243
Xiaoling 86.12 244
Bei Jinggeng 164.1 245 = 5.  How the gateway connects to Chirpstack v3 via gateway-bridge =
Xiaoling 108.9 246
Xiaoling 1.2 247
Kilight Cao 128.1 248 (% style="color:blue" %)**Below list the support products and Requirements:**
249
250 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]],[[LPS8N>>url:https://www.dragino.com/products/lora-lorawan-gateway/item/200-lps8n.html]],[[LG308N>>url:https://www.dragino.com/products/lora-lorawan-gateway/item/229-lg308n.html]],[[DLOS8N>>url:https://www.dragino.com/products/lora-lorawan-gateway/item/225-dlos8n.html]]
Kilight Cao 138.1 251 1. Firmware version since: [[Chirpstack-Bridge-V3.14.6>>https://www.dragino.com/downloads/index.php?dir=LoRa_Gateway/LPS8/Firmware/Release/Chirpstack-gateway-bridge/Chirpstack-Bridge-V3.14.6-Bridge--build-v5.4.1679487778-20230322-2024/]]
Kilight Cao 128.1 252
253 (% style="color:blue" %)**How to set up chirpStack Gateway-bridge**
254
Kilight Cao 138.1 255 Users can check out the ChirpStack gateway-bridge v3 [[link>>https://www.chirpstack.io/gateway-bridge/gateway/dragino/]]
Kilight Cao 128.1 256
257
258 (% style="color:blue" %)**What do you need to prepare**
259
260 A gateway that can access the internet normally
261
Xiaoling 1.2 262
Kilight Cao 138.1 263 The following example does not have configuration certificates:
264
Xiaoling 138.2 265
Bei Jinggeng 164.1 266 == 5.1  Configure Packet Forwarder ==
Xiaoling 131.2 267
268
Kilight Cao 124.1 269 In the Dragino gateway web interface, you need to configure the Packet Forwarder so that it forwards its data to the port. localhost:1700 or 127.0.0.1:1700
Xiaoling 121.2 270
Xiaoling 138.3 271 * In the (% style="color:blue" %)**LoRaWAN** (%%)menu, click on (% style="color:blue" %)**LoRaWAN ~-~- Semtech UDP**
Xiaoling 138.2 272
Kilight Cao 124.1 273 * Make sure the following settings are set:
Xiaoling 138.4 274 ** **Service Provider:** //~-~-Custom/Private LoRaWAN~-~-//
275 ** **LoRaWAN Server Address:** //localhost or 127.0.0.1//
276 ** **Server port for upstream:** //1700//
277 ** **Server port for downstream:** //1700//
Xiaoling 138.2 278
Xiaoling 138.3 279 Click (% style="color:blue" %)**Save & Apply**.
Kilight Cao 124.1 280
281 [[image:image-20221222114220-2.png||height="748" width="931"]]
282
283
Bei Jinggeng 164.1 284 == 5.2  Configuring gateway frequency ==
Kilight Cao 124.1 285
Kilight Cao 127.1 286
Xiaoling 131.2 287 (% style="color:red" %)**Note: Gateway frequencies must match**
288
Kilight Cao 127.1 289 [[image:image-20221222134830-3.png||height="408" width="923"]]
290
291
Bei Jinggeng 164.1 292 == 5.3  Generate and modify the gateway-bridge configuration file ==
Kilight Cao 127.1 293
294
Kilight Cao 138.1 295 **1)Generate the gateway-bridge configuration file**
296
297 By default, the configuration file is not up-to-date,so the user needs to rebuild the gateway-bridge configuration file.
298
299 Users need to access the command line of the gateway through SSH,Then type the following command:
300
301 (% class="box infomessage" %)
302 (((
Xiaoling 138.5 303 **/opt/chirpstack-gateway-bridge/chirpstack-gateway-bridge configfile > /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml **
Kilight Cao 138.1 304 )))
305
306
307 **2)modify the gateway-bridge configuration file**
308
309 The user needs to modify the server address in line 252 in the configuration file
310
311 (% class="box infomessage" %)
312 (((
Xiaoling 138.5 313 **vim /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml **
Kilight Cao 138.1 314 )))
315
316 [[image:image-20230415165254-1.png||height="583" width="956"]]
317
318
Bei Jinggeng 164.1 319 == 5.4  Debug ==
Kilight Cao 138.1 320
321
322 After the above configuration is completed, the user can enter the command to debug the gateway-bridge connection
323
324 (% class="box infomessage" %)
325 (((
Xiaoling 138.5 326 **/opt/chirpstack-gateway-bridge/chirpstack-gateway-bridge ~-~-config /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml**
Kilight Cao 138.1 327 )))
328
329 If the gateway-bridge connection is normal, the debug log displays **"connected to mqtt broker"**.
330
331 [[image:image-20230415170404-2.png]]
332
333
334 If the debug log shows "**connection error**", check that the server port or server is correct
335
336 [[image:image-20230415170854-3.png]]
337
338
339 More information can be found on the **[[ChirpStack website>>https://www.chirpstack.io/docs/]]**or **[[Forum>>url:https://forum.chirpstack.io/]]**
340
341
Bei Jinggeng 164.1 342 == 5.5  (Re)start and stop gateway-bridge ==
Kilight Cao 138.1 343
344
345 Use the following commands to (re)start and stop the ChirpStack Gateway Bridge Service:
346
347 (% class="box infomessage" %)
348 (((
349 **# start**
350
351 /etc/init.d/chirpstack-gateway-bridge start
352
353 **# stop**
354
355 /etc/init.d/chirpstack-gateway-bridge stop
356
357 **# restart**
358
359 /etc/init.d/chirpstack-gateway-bridge restart
360 )))
361
362
Bei Jinggeng 164.1 363 = 6.  How the gateway connects to Chirpstack v4 via gateway-bridge =
Kilight Cao 138.1 364
365
366 (% style="color:blue" %)**Below list the support products and Requirements:**
367
368 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]],[[LPS8N>>url:https://www.dragino.com/products/lora-lorawan-gateway/item/200-lps8n.html]],[[LG308N>>url:https://www.dragino.com/products/lora-lorawan-gateway/item/229-lg308n.html]],[[DLOS8N>>url:https://www.dragino.com/products/lora-lorawan-gateway/item/225-dlos8n.html]]
369 1. Firmware version since: [[Chirpstack-Bridge-V4>>https://www.dragino.com/downloads/index.php?dir=LoRa_Gateway/LPS8/Firmware/Release/Chirpstack-gateway-bridge/Chirpstack-Bridge-V4--build-v5.4.1670655072-20221210-1452/]]
370
371 (% style="color:blue" %)**How to set up chirpStack Gateway-bridge**
372
373 Users can check out the ChirpStack gateway-bridge v4 [[link>>https://www.chirpstack.io/docs/chirpstack-gateway-bridge/install/dragino.html]]
374
375
376 (% style="color:blue" %)**What do you need to prepare**
377
378 A gateway that can access the internet normally
379
380
Bei Jinggeng 164.1 381 == 6.1  Configure Packet Forwarder ==
Kilight Cao 138.1 382
383
384 In the Dragino gateway web interface, you need to configure the Packet Forwarder so that it forwards its data to the port. localhost:1700 or 127.0.0.1:1700
385
Xiaoling 138.5 386 * In the (% style="color:blue" %)**LoRaWAN**(%%) menu, click on (% style="color:blue" %)**LoRaWAN ~-~- Semtech UDP**
387
Kilight Cao 138.1 388 * Make sure the following settings are set:
389 ** **Service Provider:** //~-~-Custom/Private LoRaWAN~-~-//
390 ** **LoRaWAN Server Address:** //localhost or 127.0.0.1//
391 ** **Server port for upstream:** //1700//
392 ** **Server port for downstream:** //1700//
393
Xiaoling 138.5 394 Click (% style="color:blue" %)**Save & Apply**.
Kilight Cao 138.1 395
396 [[image:image-20221222114220-2.png||height="748" width="931"]]
397
398
Bei Jinggeng 164.1 399 == 6.2  Configuring gateway frequency ==
Kilight Cao 138.1 400
401
402 (% style="color:red" %)**Note: Gateway frequencies must match**
403
404 [[image:image-20221222134830-3.png||height="408" width="923"]]
405
406
Bei Jinggeng 164.1 407 == 6.3  Modify the gateway-bridge configuration file ==
Kilight Cao 138.1 408
409
Kilight Cao 127.1 410 Run the gateway command line command to modify the gateway-bridge configuration file:
411
412 (% class="box infomessage" %)
413 (((
Xiaoling 138.5 414 **root@dragino-1d27d4:~~#  vim /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml **
Kilight Cao 127.1 415 )))
416
Kilight Cao 124.1 417 [[image:image-20221222113302-1.png]]
418
Xiaoling 131.2 419
Kilight Cao 127.1 420 [[image:image-20221222140203-4.png||height="875" width="806"]]
421
Kilight Cao 133.1 422 [[image:image-20221230094246-1.png||height="768" width="783"]]
Kilight Cao 127.1 423
424 (% class="wikigeneratedid" id="H" %)
425 After the modification, run the following command: **/etc/init.d/chirpstack-gateway-bridge restart**
426
427
Bei Jinggeng 164.1 428 == 6.4  (Re)start and stop gateway-bridge ==
Xiaoling 131.2 429
430
Kilight Cao 127.1 431 Use the following commands to (re)start and stop the ChirpStack Gateway Bridge Service:
432
433 (% class="box infomessage" %)
434 (((
435 **# start**
436
437 /etc/init.d/chirpstack-gateway-bridge start
438
439 **# stop**
440
441 /etc/init.d/chirpstack-gateway-bridge stop
442
443 **# restart**
444
445 /etc/init.d/chirpstack-gateway-bridge restart
446 )))
447
Kilight Cao 131.1 448
Bei Jinggeng 164.1 449 == 6.5  Successful Connection ==
Kilight Cao 131.1 450
Xiaoling 131.2 451
Kilight Cao 131.1 452 [[image:image-20221222141754-5.png||height="488" width="1150"]]
453
Xiaoling 131.2 454
Kilight Cao 131.1 455 [[image:image-20221222141830-6.png||height="582" width="1153"]]
456
Xiaoling 131.2 457
Bei Jinggeng 164.1 458 = 7.  Downlink =
Kilight Cao 124.1 459
Bei Jinggeng 164.1 460 == 7.1  Convert HEX to Base64 ==
Kilight Cao 124.1 461
462
Edwin Chen 111.1 463 (% 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.**
Xiaoling 108.9 464
Xiaoling 121.2 465 **[[Online HEX to Base64 Converter>>https://base64.guru/converter/encode/hex]]:**
Edwin Chen 111.1 466
467 [[image:image-20221010193350-1.png]]
468
469
470
Xiaoling 121.2 471 **[[Online Base64 to Hex converter>>https://base64.guru/converter/decode/hex]]**
472
Edwin Chen 111.1 473 [[image:image-20221010193621-2.png]]
474
475
Bei Jinggeng 164.1 476 == 7.2  Chirpstack Downlink Note ==
Edwin Chen 111.1 477
478
Xiaoling 108.2 479 [[image:image-20220601102543-2.png]]
Xiaoling 1.2 480
Xiaoling 121.2 481 **Convert the data to Base64**
Xiaoling 1.2 482
Xiaoling 121.2 483 (% style="display:none" %) (%%)
Xiaoling 86.14 484
Xiaoling 1.2 485
Xiaoling 121.2 486 [[image:image-20220531173236-10.png||height="597" width="1215"]]
Xiaoling 1.2 487
Xiaoling 121.2 488 **Check ChripStack downlink DataRate**
Xiaoling 86.15 489
Xiaoling 121.2 490
491
Xiaoling 65.2 492 [[image:image-20220525101326-11.png]]
Xiaoling 1.2 493
Xiaoling 121.2 494 **Make sure the RX2DR is the same in the end node**
Xiaoling 1.2 495
Xiaoling 86.16 496
Bei Jinggeng 164.1 497 == 7.3  Loraserver Downlink Note ==
Xiaoling 108.9 498
499
Xiaoling 1.2 500 User can use MQTT to send downlink payload to ChirpStack to perform downstream to LoRaWAN End
501
Xiaoling 1.5 502 (((
Xiaoling 108.9 503 **Below is examples:**
Xiaoling 1.5 504 )))
Xiaoling 1.2 505
Xiaoling 1.4 506 (% class="box" %)
507 (((
508 Connect to your server via MQTT:
509 MQTT Client ID: Any   
510 Protocol:mqtt/tcp   Server IP:loraserver_ip:1883
Xiaoling 1.2 511 User name: User name Password: password
Xiaoling 1.4 512 )))
Xiaoling 1.2 513
Xiaoling 97.2 514 [[image:image-20220531173419-11.png]]
Xiaoling 1.2 515
Xiaoling 1.5 516 (((
Xiaoling 121.2 517 **MQTT Connect to ChirpStack**
Xiaoling 86.17 518
Xiaoling 108.9 519
Xiaoling 86.17 520
Xiaoling 1.5 521 )))
Xiaoling 1.2 522
Xiaoling 1.5 523 (((
Xiaoling 108.9 524 **After connect**
Xiaoling 1.5 525 )))
Xiaoling 1.2 526
Xiaoling 1.4 527 (% class="box" %)
528 (((
529 Subscribe : Format:application/ID/device/ Device EUI/rx
Xiaoling 1.2 530 Example: application/7/device/00aedb3da649cb23/rx
Xiaoling 1.4 531 )))
Xiaoling 1.2 532
Xiaoling 1.4 533 (% class="box" %)
534 (((
535 Publish:
Xiaoling 1.2 536 Format: Top: application/ID/device/ Device EUI/tx
537 Payload: {"confirmed":true or false,"fPort":XX,"data":"xxxx"}
538 Example: Top: application/7/device/00aedb3da649cb23/tx
539 Payload: {"confirmed":true,"fPort":2,"data":"AwEB"}
Xiaoling 1.4 540 )))
Xiaoling 1.2 541
Xiaoling 98.2 542 [[image:image-20220531173519-12.png]]
Xiaoling 1.2 543
Xiaoling 121.2 544 **MQTT Connect to ChirpStack**
Xiaoling 1.2 545
Xiaoling 86.18 546
Xiaoling 121.2 547 **If we want to send downstream hex 030101 to end node, the BASE64 payload is AwEB**
Xiaoling 1.2 548
Xiaoling 100.2 549 [[image:image-20220531173658-14.png]]
Xiaoling 1.2 550
Xiaoling 108.9 551
Xiaoling 1.5 552 (((
Xiaoling 1.2 553 Downlink payload encode javescript code: 可以在网站上运行以下Javsscript代码:
Xiaoling 1.5 554 )))
Xiaoling 1.2 555
Xiaoling 1.4 556 (% class="box" %)
557 (((
558 function sha1_to_base64(sha1)
Xiaoling 1.2 559 {
560 var digits="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
561 var base64_rep = "";
562 var cnt = 0;
563 var bit_arr = 0;
564 var bit_num = 0;
Xiaoling 1.5 565 \\ for(var n = 0; n < sha1.length; ++n)
Xiaoling 1.2 566 {
567 if(sha1[n] >= 'A' && sha1[n] <= 'Z')
568 {
Jean-Philippe Gagné 121.1 569 ascv = sha1.charCodeAt( n ) - 55;
Xiaoling 1.2 570 }
571 else if(sha1[n] >= 'a' && sha1[n] <= 'z')
572 {
Jean-Philippe Gagné 121.1 573 ascv = sha1.charCodeAt( n ) - 87;
Xiaoling 1.2 574 }
575 else
576 {
Jean-Philippe Gagné 121.1 577 ascv = sha1.charCodeAt( n ) - 48;
Xiaoling 1.2 578 }
Xiaoling 1.5 579 \\ bit_arr = (bit_arr << 4) | ascv;
Xiaoling 1.2 580 bit_num += 4;
581 if(bit_num >= 6)
582 {
Xiaoling 1.4 583 bit_num -= 6;        
Xiaoling 1.2 584 base64_rep += digits[bit_arr >>> bit_num];
Xiaoling 1.4 585 bit_arr &= ~~(-1 << bit_num);
Xiaoling 1.2 586 }
587 }
Xiaoling 1.5 588 \\ if(bit_num > 0)
Xiaoling 1.2 589 {
590 bit_arr <<= 6 - bit_num;
591 base64_rep += digits[bit_arr];
592 }
Xiaoling 1.5 593 \\ var padding = base64_rep.length % 4;   
594 \\ if(padding > 0)
Xiaoling 1.2 595 {
596 for(var n = 0; n < 4 - padding; ++n)
597 {
598 base64_rep += "=";
599 }
600 }
601 return base64_rep;
602 }
Xiaoling 1.5 603 \\console.log(sha1_to_base64("data"));
604 \\data is downlink payload required by end node.
Xiaoling 1.4 605 e.g console.log(sha1_to_base64("030101"));
606 ​result: AwEB     
Xiaoling 1.2 607 AwEB is the 0x030101's base 64 Encode.
Xiaoling 1.5 608 \\​e.g console.log(sha1_to_base64("030000"));
Xiaoling 1.4 609 ​result: AwAA     
610 AwAA is 0x030000's base 64 Encode.
611 )))
Xiaoling 1.2 612
Xiaoling 86.21 613
Bei Jinggeng 164.1 614 == 7.4  Add the decode function in Chirpstack for the payload ==
Xiaoling 108.9 615
616
Xiaoling 1.2 617 User enters the payload code according to the steps.
618
Kilight Cao 150.1 619 Add the node device decoder you are using. The decoder for each node device is different. The decoder is found in this link: **[[decoder for dragino end node>>https://github.com/dragino/dragino-end-node-decoder]]**
620
Xiaoling 121.2 621 [[image:image-20220531173754-15.png||height="474" width="1334"]]
Xiaoling 1.2 622
623
Xiaoling 102.2 624 [[image:image-20220531173856-16.png]]
Xiaoling 1.2 625
Xiaoling 102.2 626
Xiaoling 106.2 627 [[image:image-20220531174120-20.png]]
Xiaoling 84.2 628
Xiaoling 105.2 629 [[image:image-20220531174046-19.png]]
Xiaoling 1.2 630
Xiaoling 86.22 631
Bei Jinggeng 164.1 632 = 8.  Multiply Uplink in ChirpStack =
Xiaoling 108.9 633
634
Xiaoling 1.4 635 (((
Xiaoling 1.2 636 nbtrans field is the value to determine the re-transmission time for unconfirmed uplink data.
Xiaoling 1.4 637 )))
Xiaoling 1.2 638
Xiaoling 1.4 639 (((
Xiaoling 1.2 640 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]]
Xiaoling 108.9 641
642
Xiaoling 1.4 643 )))
Xiaoling 1.2 644
Xiaoling 121.2 645 [[image:image-20220526091912-7.png||height="241" width="1336"]]
Xiaoling 1.2 646
Xiaoling 108.9 647
Xiaoling 1.5 648 (((
Xiaoling 1.2 649 nbtrans is a field of ADR message, in unconfirm mode, it tells end node how many time it needs to transmit for every frame.
Xiaoling 108.9 650
651
Xiaoling 1.5 652 )))
Xiaoling 1.2 653
Xiaoling 76.2 654 [[image:image-20220525104359-21.png]]
Xiaoling 1.2 655
Xiaoling 1.4 656 (((
Xiaoling 1.2 657 Above behaviour will cause the platform shows below two cases of error:
Xiaoling 108.9 658
659
Xiaoling 1.4 660 )))
Xiaoling 1.2 661
Xiaoling 1.4 662 (((
Xiaoling 1.2 663 Error of duplicate Frame Counter
Xiaoling 1.4 664 )))
Xiaoling 1.2 665
Xiaoling 76.2 666 [[image:image-20220525104437-22.png]]
Xiaoling 1.2 667
Xiaoling 86.23 668
Xiaoling 108.9 669
Xiaoling 121.2 670 **Duplicate transmission in short time**
Xiaoling 1.2 671
Xiaoling 121.2 672 [[image:image-20220601102430-1.png||height="598" width="1319"]]
Xiaoling 1.2 673
Xiaoling 86.24 674
Bei Jinggeng 164.1 675 == 8.1  Solution ==
Xiaoling 108.9 676
677
Xiaoling 1.2 678 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]]
679
Xiaoling 108.9 680
Xiaoling 1.5 681 (((
Xiaoling 108.11 682 (% 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.**
Xiaoling 108.9 683
684
Xiaoling 1.5 685 )))
Xiaoling 1.2 686
Xiaoling 79.2 687 [[image:image-20220525104532-24.png]]
Xiaoling 1.2 688
Xiaoling 86.25 689
Xiaoling 108.9 690 **installation path:**
Xiaoling 1.2 691
Xiaoling 79.2 692 [[image:image-20220525104554-25.png]]
Xiaoling 1.2 693
Xiaoling 86.25 694
Xiaoling 108.9 695
Xiaoling 1.5 696 (((
Xiaoling 108.11 697 (% style="color:blue" %)**2.  Environment variable settings:**
Xiaoling 1.5 698 )))
Xiaoling 1.2 699
Xiaoling 1.5 700 (((
Xiaoling 1.2 701 1) Open Computer -> Properties -> Advanced System Settings -> Environment Variables and add a "new" system variable:
Xiaoling 1.5 702 )))
Xiaoling 1.2 703
Xiaoling 1.5 704 (((
Xiaoling 108.9 705 2) Set the variable name GOROOT and the variable value C:\Go\ (installation directory)
Xiaoling 1.5 706 )))
Xiaoling 1.2 707
Xiaoling 43.2 708 [[image:image-20220524165433-33.png]]
Xiaoling 1.2 709
Xiaoling 86.26 710
Xiaoling 108.9 711 3) Modify the system variable Path and add C:\Go\bin\:
Xiaoling 1.2 712
Xiaoling 43.2 713 [[image:image-20220524165452-34.png]]
Xiaoling 1.2 714
Xiaoling 106.3 715
Xiaoling 1.2 716 User variable setting file generation directory: D:\go:
717
Xiaoling 43.2 718 [[image:image-20220524165517-35.png]]
Xiaoling 1.2 719
Xiaoling 86.27 720
Xiaoling 1.2 721
Xiaoling 108.11 722 (% 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.**
Xiaoling 108.9 723
Xiaoling 1.2 724 The name of the plugin: Example ADR plugin:
725
Xiaoling 48.2 726 [[image:image-20220524165540-36.png]]
Xiaoling 1.2 727
728 Set Nbtrans: Nbtrans=1 (Nbtrans is the number of retransmissions, if it is 1, no retransmission, it is recommended to be 1). To enable it, you need to uncomment.
729
Xiaoling 48.2 730 [[image:image-20220524165557-37.png]]
Xiaoling 1.2 731
Xiaoling 86.28 732
Xiaoling 1.2 733
Xiaoling 108.11 734 (% style="color:blue" %)**4.  Compile the ADR configuration file and generate the exe file.**
Xiaoling 108.9 735
Xiaoling 1.2 736 1) Create a folder named adr-setting
737
738 2) Open the adr-setting folder
739
740 3) Put adr.setting.go in this folder.
741
742 4) Open the computer cmd and run the following commands in sequencecd adr-setting
743
744 go mod init adr-setting
745
746 go get github.com/brocaar/chirpstack-network-server/v3/adr
747
748 go get github.com/hashicorp/go-plugin
749
750 go get adr-setting
751
752 go build
753
754 5) Finally generate this file:
755
Xiaoling 48.2 756 [[image:image-20220524165623-38.png]]
Xiaoling 1.2 757
Xiaoling 86.29 758
Xiaoling 1.2 759
Xiaoling 108.11 760 (% style="color:blue" %)**5.  Add the plugin and run the plugin.**
Xiaoling 108.9 761
Xiaoling 1.5 762 (((
Xiaoling 1.2 763 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:
Xiaoling 1.5 764 )))
Xiaoling 1.2 765
Xiaoling 48.2 766 [[image:image-20220524165641-39.png]]
Xiaoling 1.2 767
Xiaoling 1.4 768 (((
Xiaoling 1.5 769 (((
Xiaoling 1.2 770 For example: adr_plugins=[“adr-setting”]
Xiaoling 1.4 771 )))
Xiaoling 1.5 772 )))
Xiaoling 1.2 773
Xiaoling 1.4 774 * (((
Xiaoling 1.5 775 (((
Xiaoling 1.4 776 Adding a single plugin format is adr_plugins=["filename"]
777 )))
Xiaoling 1.5 778 )))
Xiaoling 1.2 779
Xiaoling 1.4 780 * (((
Xiaoling 1.5 781 (((
Xiaoling 1.4 782 Adding multiple plugins The format is adr_plugins=["file name 1", "file name 2",...]
783 )))
Xiaoling 1.5 784 )))
Xiaoling 1.2 785
Xiaoling 1.4 786 (((
Xiaoling 1.5 787 (((
Xiaoling 1.2 788 Finally, re-run chirpstack-network-server.exe, and then select the plugin you just compiled in Device-profiles,
Xiaoling 1.4 789 )))
Xiaoling 1.5 790 )))
Xiaoling 1.2 791
Xiaoling 79.2 792 [[image:image-20220525104647-26.png]]
Xiaoling 1.2 793
794 Finish.
795
Xiaoling 86.30 796
Bei Jinggeng 164.1 797 = 9.  How to store/get all data traffic for a specific sensor, including raw payload, and uplink/ downlink history. =
Xiaoling 108.9 798
Xiaoling 1.2 799
Xiaoye 115.1 800 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.
Xiaoling 1.2 801
Xiaoye 115.1 802 This example will be shown how to store/get all the data in two ways:
Xiaoling 108.9 803
Xiaoling 138.5 804 (% style="color:blue" %)**//1). Chirpstack ~-~-> Node-red//**
Xiaoye 115.1 805
806
Xiaoye 117.1 807 [[image:image-20221012184501-1.png]]
Xiaoye 115.1 808
Xiaoling 121.2 809
Xiaoye 120.1 810 Use MQTT in Nore-red to subscribe to topics published by the chirpstack-application and then continuously write to a file
Xiaoye 115.1 811
812 [[image:image-20221012174220-2.png]]
813
814
Xiaoye 120.1 815 [[image:image-20221012184655-3.png||height="395" width="1049"]]
816
817
Xiaoling 121.2 818 **Each message is continuously logged to a specified file**
Xiaoye 115.1 819
820 [[image:image-20221012174352-3.png]]
821
822
Xiaoling 138.5 823 (% style="color:blue" %)**//2). MQTT  Sub//**
Xiaoye 115.1 824
825 If you don't want to store the information via node-red, you can get the output via the subscribe command.
826
827
828 **If connecting from the same machine, you can use the following command to receive data:**
829
830 (% class="box infomessage" %)
Xiaoling 1.4 831 (((
Xiaoling 138.5 832 **mosquitto_sub -h localhost -t "application/#" -v**
Xiaoye 115.1 833 )))
834
835
Xiaoling 138.5 836 (% style="color:blue" %)**Different host**
Xiaoye 115.1 837
838 (% class="box infomessage" %)
839 (((
Xiaoling 138.5 840 **mosquitto_sub -h IPADDRESS -p 8883 ~-~-insecure ~-~-cafile ca.pem ~-~-cert cert.pem ~-~-key key.pem -t "application/#" -v**
Xiaoye 115.1 841 )))
842
843 [[image:image-20221012173639-1.png]]
844
Bei Jinggeng 164.1 845 = 10.  Example: Use Local Server ChirpStack and Node-Red in LPS8v2 =
Xiaoye 115.1 846
847
Kilight Cao 151.1 848 LPS8v2 includes a local ChirpStack Server and Node-Red. This example shows how to configure LHT65N to use with the local Node-Red server. This example assumes users already have:
Xiaoye 115.1 849
Kilight Cao 141.1 850 * LHT65N register on LPS8v2 Built-In ChirpStack server already
851 * The user is able to see the data on the built-in ChirpStack server device page.
Xiaoye 115.1 852
Kilight Cao 141.1 853 Below are the steps to plot the sensor data on LPS8v2 Node-Red.
854
Xiaoling 147.2 855
Bei Jinggeng 164.1 856 == 10.1 Link Node-Red to Local ChirpStack ==
Kilight Cao 141.1 857
Xiaoling 147.2 858
Kilight Cao 145.1 859 Users can download the Node-Red decoder from this link and import it into the Node-Red platform:  **[[attach:LHT65N-ChirpStack-node-red.json||target="_blank"]]**
Kilight Cao 141.1 860
861 For more information on importing Input Flow, check out this link: **[[Import Input Flow for Dragino Sensors>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Node-RED/#H3.A0ImportInputFlowforDraginoSensors]]**
862
863 After importing the Input Flow is complete, the user needs to edit the MQTT in the node
864
865
Kilight Cao 145.1 866 (% style="color:blue" %)**1. Change the Topic**
867
Kilight Cao 141.1 868 Topic modifies it to the following format:
869
Kilight Cao 145.1 870 **application/(% style="color:red" %)Application ID(%%)/device/(% style="color:red" %)End device ID(%%)/event/up**
Kilight Cao 141.1 871
Kilight Cao 152.1 872 Reference link: [[**Node-RED integration** >>https://www.chirpstack.io/docs/guides/node-red-integration.html]]
873
Kilight Cao 145.1 874 [[image:image-20230527143923-1.png||height="588" width="1132"]]
Kilight Cao 141.1 875
876
Kilight Cao 145.1 877
878 (% style="color:blue" %)**2. Enter the MQTT configuration information**
879
880 [[image:image-20230527144206-2.png||height="590" width="1136"]]
881
882
Kilight Cao 147.1 883 (% style="color:blue" %)3. **Finally, click "Update" and Deploy**
884
885 "Connected" indicates that the Link Node-red to Local Chirpstack is normal.
886
887 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/Notes%20for%20TTN/WebHome/image-20220914140918-5.png?width=1121&height=602&rev=1.1||alt="image-20220914140918-5.png"]]
888
889
Bei Jinggeng 164.1 890 == 10.2 Check result. ==
Kilight Cao 147.1 891
Xiaoling 147.2 892
Kilight Cao 147.1 893 Users can check logs by adding debug.
894
895 Browser access: **Node-Red-Server-Address:1880/ui**
896
897 [[image:image-20230529150923-1.png||height="424" width="1118"]]
898
Xiaoling 147.2 899
Bei Jinggeng 164.1 900 = 11.  Trouble Shooting =
Kilight Cao 141.1 901
Bei Jinggeng 164.1 902 == 11.1  MIC Mismatch or MIC Failed ==
Kilight Cao 141.1 903
904
Xiaoye 115.1 905 (((
Xiaoling 1.2 906 When the device is registered or the device is working normally, the problem of MIC mismatch and MIC failed occurs.
Xiaoling 1.4 907 )))
Xiaoling 1.2 908
Xiaoling 1.4 909 (((
Xiaoling 1.2 910 Under normal circumstances, users need to change the APPKEY to solve this problem.
Xiaoling 131.2 911
912
Xiaoling 1.4 913 )))
Copyright ©2010-2022 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0