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