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
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
Kilight Cao 176.1 83 = 3.  Semtech UDP for ChirpStack v3 =
Bei Jinggeng 164.1 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
Kilight Cao 176.1 163 = 4.  Semtech UDP for ChirpStack v4 =
Xiaoling 86.6 164
Xiaoling 1.2 165
Kilight Cao 176.1 166 == 4.1  Step 1. Add the gateway ==
Kilight Cao 9.1 167
Kilight Cao 176.1 168 [[image:image-20230926092907-1.png||height="598" width="1007"]]
Xiaoling 108.8 169
Kilight Cao 176.1 170
171 [[image:image-20230926093057-2.png||height="541" width="1002"]]
172
173
174 == 4.2  Step 2. Checking gateway Status ==
175
176 [[image:image-20230926093233-3.png||height="581" width="1018"]]
177
178 = 5.  Gateway Registration for Basics Station =
179
180 == 5.1  Introduction ==
181
182
Kilight Cao 9.1 183 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.
184
185 ChirpStack Open-Source LoRaWAN® Network Server needs to set up a configuration that can use Semtech BasicStation.
186
187
Xiaoling 108.8 188 (% style="color:blue" %)**Below list the support products and Requirements:**
189
Kilight Cao 9.1 190 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]]
191 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/]]
192
Xiaoling 108.8 193 (% style="color:blue" %)**How to set up chirpStack Basic Station**
194
Kilight Cao 9.1 195 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]]
196
197
Xiaoling 108.8 198 (% style="color:blue" %)**What do you need to prepare**
199
Kilight Cao 9.1 200 A gateway that can access the internet normally
201
Xiaoling 86.7 202
Kilight Cao 176.1 203 == 5.2  Add Gateway ==
Kilight Cao 9.1 204
Xiaoling 108.9 205
Xiaoling 20.2 206 [[image:image-20220524164205-10.png]]
Kilight Cao 9.1 207
Xiaoling 86.8 208
Kilight Cao 176.1 209 == 5.3  Access the gateway GUI ==
Kilight Cao 9.1 210
Xiaoling 108.9 211
Kilight Cao 9.1 212 Access the gateway GUI interface of LoRaWAN~-~->LoRaWAN ~-~- Basic Station
213
Xiaoling 20.2 214 [[image:image-20220524164319-11.png]]
Kilight Cao 9.1 215
Xiaoling 108.9 216
Kilight Cao 9.1 217 User need to Choose the ChirpStack/Senet ~-~- Basic Station , input Server URI and Upload the TLS Certificate
218
219 (% class="box" %)
220 (((
221 Service Provider  ~-~->  Choose the ChirpStack/Senet ~-~- Basic Station
222
Kilight Cao 165.1 223 LNS URI  ~-~->  Enter the LNS URI address, For example : wss:~/~/xxxx.chirpstack.com:443 or ws:~/~/xxxx.chirpstack.com:3001
Kilight Cao 9.1 224
225 LNS TLS trust  ~-~->  Upload the TLS Certificate
226 )))
227
228 (% class="wikigeneratedid" %)
Xiaoling 20.2 229 [[image:image-20220524164341-12.png]]
Kilight Cao 9.1 230
Xiaoling 86.9 231
Kilight Cao 176.1 232 == 5.4  Start Station ==
Kilight Cao 9.1 233
Xiaoling 108.9 234
Xiaoling 108.14 235 When the user has finished the configuration, Please click **Sace&Apply** to start station to connect ChirpStack.
Kilight Cao 9.1 236
Xiaoling 86.10 237
Kilight Cao 176.1 238 == 5.5  Successful Connection ==
Kilight Cao 9.1 239
Xiaoling 108.9 240
Kilight Cao 9.1 241 If user completes the above steps, which will see live date in the ChirpStack.
242
Xiaoling 23.2 243 [[image:image-20220524164448-13.png]]
Kilight Cao 9.1 244
Xiaoling 86.11 245
Kilight Cao 176.1 246 == 5.6  Trouble Shooting ==
Xiaoling 108.9 247
248
Kilight Cao 9.1 249 User can check the station log in the logread/system log page.
250
Xiaoling 95.2 251 [[image:image-20220531172837-8.png]]
Kilight Cao 9.1 252
Xiaoling 86.13 253
Kilight Cao 9.1 254 and recode the station log in the system/Recode log page.
255
Xiaoling 95.2 256 [[image:image-20220531172857-9.png]]
Kilight Cao 9.1 257
Xiaoling 86.12 258
Kilight Cao 176.1 259 = 6.  How the gateway connects to Chirpstack v3 via gateway-bridge =
Xiaoling 108.9 260
Xiaoling 1.2 261
Kilight Cao 128.1 262 (% style="color:blue" %)**Below list the support products and Requirements:**
263
264 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 265 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 266
267 (% style="color:blue" %)**How to set up chirpStack Gateway-bridge**
268
Kilight Cao 138.1 269 Users can check out the ChirpStack gateway-bridge v3 [[link>>https://www.chirpstack.io/gateway-bridge/gateway/dragino/]]
Kilight Cao 128.1 270
271
272 (% style="color:blue" %)**What do you need to prepare**
273
274 A gateway that can access the internet normally
275
Xiaoling 1.2 276
Kilight Cao 138.1 277 The following example does not have configuration certificates:
278
Xiaoling 138.2 279
Kilight Cao 176.1 280 == 6.1  Configure Packet Forwarder ==
Xiaoling 131.2 281
282
Kilight Cao 124.1 283 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 284
Xiaoling 138.3 285 * In the (% style="color:blue" %)**LoRaWAN** (%%)menu, click on (% style="color:blue" %)**LoRaWAN ~-~- Semtech UDP**
Xiaoling 138.2 286
Kilight Cao 124.1 287 * Make sure the following settings are set:
Xiaoling 138.4 288 ** **Service Provider:** //~-~-Custom/Private LoRaWAN~-~-//
289 ** **LoRaWAN Server Address:** //localhost or 127.0.0.1//
290 ** **Server port for upstream:** //1700//
291 ** **Server port for downstream:** //1700//
Xiaoling 138.2 292
Xiaoling 138.3 293 Click (% style="color:blue" %)**Save & Apply**.
Kilight Cao 124.1 294
295 [[image:image-20221222114220-2.png||height="748" width="931"]]
296
297
Kilight Cao 176.1 298 == 6.2  Configuring gateway frequency ==
Kilight Cao 124.1 299
Kilight Cao 127.1 300
Xiaoling 131.2 301 (% style="color:red" %)**Note: Gateway frequencies must match**
302
Kilight Cao 127.1 303 [[image:image-20221222134830-3.png||height="408" width="923"]]
304
305
Kilight Cao 176.1 306 == 6.3  Generate and modify the gateway-bridge configuration file ==
Kilight Cao 127.1 307
308
Kilight Cao 138.1 309 **1)Generate the gateway-bridge configuration file**
310
311 By default, the configuration file is not up-to-date,so the user needs to rebuild the gateway-bridge configuration file.
312
313 Users need to access the command line of the gateway through SSH,Then type the following command:
314
315 (% class="box infomessage" %)
316 (((
Xiaoling 138.5 317 **/opt/chirpstack-gateway-bridge/chirpstack-gateway-bridge configfile > /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml **
Kilight Cao 138.1 318 )))
319
320
321 **2)modify the gateway-bridge configuration file**
322
323 The user needs to modify the server address in line 252 in the configuration file
324
325 (% class="box infomessage" %)
326 (((
Xiaoling 138.5 327 **vim /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml **
Kilight Cao 138.1 328 )))
329
330 [[image:image-20230415165254-1.png||height="583" width="956"]]
331
332
Kilight Cao 176.1 333 == 6.4  Debug ==
Kilight Cao 138.1 334
335
336 After the above configuration is completed, the user can enter the command to debug the gateway-bridge connection
337
338 (% class="box infomessage" %)
339 (((
Xiaoling 138.5 340 **/opt/chirpstack-gateway-bridge/chirpstack-gateway-bridge ~-~-config /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml**
Kilight Cao 138.1 341 )))
342
343 If the gateway-bridge connection is normal, the debug log displays **"connected to mqtt broker"**.
344
345 [[image:image-20230415170404-2.png]]
346
347
348 If the debug log shows "**connection error**", check that the server port or server is correct
349
350 [[image:image-20230415170854-3.png]]
351
352
353 More information can be found on the **[[ChirpStack website>>https://www.chirpstack.io/docs/]]**or **[[Forum>>url:https://forum.chirpstack.io/]]**
354
355
Kilight Cao 176.1 356 == 6.5  (Re)start and stop gateway-bridge ==
Kilight Cao 138.1 357
358
359 Use the following commands to (re)start and stop the ChirpStack Gateway Bridge Service:
360
361 (% class="box infomessage" %)
362 (((
363 **# start**
364
365 /etc/init.d/chirpstack-gateway-bridge start
366
367 **# stop**
368
369 /etc/init.d/chirpstack-gateway-bridge stop
370
371 **# restart**
372
373 /etc/init.d/chirpstack-gateway-bridge restart
374 )))
375
376
Kilight Cao 176.1 377 = 7.  How the gateway connects to Chirpstack v4 via gateway-bridge =
Kilight Cao 138.1 378
379
380 (% style="color:blue" %)**Below list the support products and Requirements:**
381
382 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]]
383 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/]]
384
385 (% style="color:blue" %)**How to set up chirpStack Gateway-bridge**
386
387 Users can check out the ChirpStack gateway-bridge v4 [[link>>https://www.chirpstack.io/docs/chirpstack-gateway-bridge/install/dragino.html]]
388
389
390 (% style="color:blue" %)**What do you need to prepare**
391
392 A gateway that can access the internet normally
393
394
Kilight Cao 176.1 395 == 7.1  Configure Packet Forwarder ==
Kilight Cao 138.1 396
397
398 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
399
Xiaoling 138.5 400 * In the (% style="color:blue" %)**LoRaWAN**(%%) menu, click on (% style="color:blue" %)**LoRaWAN ~-~- Semtech UDP**
401
Kilight Cao 138.1 402 * Make sure the following settings are set:
403 ** **Service Provider:** //~-~-Custom/Private LoRaWAN~-~-//
404 ** **LoRaWAN Server Address:** //localhost or 127.0.0.1//
405 ** **Server port for upstream:** //1700//
406 ** **Server port for downstream:** //1700//
407
Xiaoling 138.5 408 Click (% style="color:blue" %)**Save & Apply**.
Kilight Cao 138.1 409
410 [[image:image-20221222114220-2.png||height="748" width="931"]]
411
412
Kilight Cao 176.1 413 == 7.2  Configuring gateway frequency ==
Kilight Cao 138.1 414
415
416 (% style="color:red" %)**Note: Gateway frequencies must match**
417
418 [[image:image-20221222134830-3.png||height="408" width="923"]]
419
420
Kilight Cao 176.1 421 == 7.3  Modify the gateway-bridge configuration file ==
Kilight Cao 138.1 422
423
Kilight Cao 127.1 424 Run the gateway command line command to modify the gateway-bridge configuration file:
425
426 (% class="box infomessage" %)
427 (((
Xiaoling 138.5 428 **root@dragino-1d27d4:~~#  vim /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml **
Kilight Cao 127.1 429 )))
430
Kilight Cao 124.1 431 [[image:image-20221222113302-1.png]]
432
Xiaoling 131.2 433
Kilight Cao 127.1 434 [[image:image-20221222140203-4.png||height="875" width="806"]]
435
Kilight Cao 133.1 436 [[image:image-20221230094246-1.png||height="768" width="783"]]
Kilight Cao 127.1 437
438 (% class="wikigeneratedid" id="H" %)
439 After the modification, run the following command: **/etc/init.d/chirpstack-gateway-bridge restart**
440
441
Kilight Cao 176.1 442 == 7.4  (Re)start and stop gateway-bridge ==
Xiaoling 131.2 443
444
Kilight Cao 127.1 445 Use the following commands to (re)start and stop the ChirpStack Gateway Bridge Service:
446
447 (% class="box infomessage" %)
448 (((
449 **# start**
450
451 /etc/init.d/chirpstack-gateway-bridge start
452
453 **# stop**
454
455 /etc/init.d/chirpstack-gateway-bridge stop
456
457 **# restart**
458
459 /etc/init.d/chirpstack-gateway-bridge restart
460 )))
461
Kilight Cao 131.1 462
Kilight Cao 176.1 463 == 7.5  Successful Connection ==
Kilight Cao 131.1 464
Xiaoling 131.2 465
Kilight Cao 131.1 466 [[image:image-20221222141754-5.png||height="488" width="1150"]]
467
Xiaoling 131.2 468
Kilight Cao 131.1 469 [[image:image-20221222141830-6.png||height="582" width="1153"]]
470
Xiaoling 131.2 471
Kilight Cao 176.1 472 = 8.  Downlink =
Kilight Cao 124.1 473
Kilight Cao 176.1 474 == 8.1  Convert HEX to Base64 ==
Kilight Cao 124.1 475
476
Edwin Chen 111.1 477 (% 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 478
Xiaoling 121.2 479 **[[Online HEX to Base64 Converter>>https://base64.guru/converter/encode/hex]]:**
Edwin Chen 111.1 480
481 [[image:image-20221010193350-1.png]]
482
483
484
Xiaoling 121.2 485 **[[Online Base64 to Hex converter>>https://base64.guru/converter/decode/hex]]**
486
Edwin Chen 111.1 487 [[image:image-20221010193621-2.png]]
488
489
Kilight Cao 176.1 490 == 8.2  Chirpstack Downlink Note ==
Edwin Chen 111.1 491
492
Xiaoling 108.2 493 [[image:image-20220601102543-2.png]]
Xiaoling 1.2 494
Xiaoling 121.2 495 **Convert the data to Base64**
Xiaoling 1.2 496
Xiaoling 121.2 497 (% style="display:none" %) (%%)
Xiaoling 86.14 498
Xiaoling 1.2 499
Xiaoling 121.2 500 [[image:image-20220531173236-10.png||height="597" width="1215"]]
Xiaoling 1.2 501
Xiaoling 121.2 502 **Check ChripStack downlink DataRate**
Xiaoling 86.15 503
Xiaoling 121.2 504
505
Xiaoling 65.2 506 [[image:image-20220525101326-11.png]]
Xiaoling 1.2 507
Xiaoling 121.2 508 **Make sure the RX2DR is the same in the end node**
Xiaoling 1.2 509
Xiaoling 86.16 510
Kilight Cao 176.1 511 == 8.3  Loraserver Downlink Note ==
Xiaoling 108.9 512
513
Xiaoling 1.2 514 User can use MQTT to send downlink payload to ChirpStack to perform downstream to LoRaWAN End
515
Xiaoling 1.5 516 (((
Xiaoling 108.9 517 **Below is examples:**
Xiaoling 1.5 518 )))
Xiaoling 1.2 519
Xiaoling 1.4 520 (% class="box" %)
521 (((
522 Connect to your server via MQTT:
523 MQTT Client ID: Any   
524 Protocol:mqtt/tcp   Server IP:loraserver_ip:1883
Xiaoling 1.2 525 User name: User name Password: password
Xiaoling 1.4 526 )))
Xiaoling 1.2 527
Xiaoling 97.2 528 [[image:image-20220531173419-11.png]]
Xiaoling 1.2 529
Xiaoling 1.5 530 (((
Xiaoling 121.2 531 **MQTT Connect to ChirpStack**
Xiaoling 86.17 532
Xiaoling 108.9 533
Xiaoling 86.17 534
Xiaoling 1.5 535 )))
Xiaoling 1.2 536
Xiaoling 1.5 537 (((
Xiaoling 108.9 538 **After connect**
Xiaoling 1.5 539 )))
Xiaoling 1.2 540
Xiaoling 1.4 541 (% class="box" %)
542 (((
543 Subscribe : Format:application/ID/device/ Device EUI/rx
Xiaoling 1.2 544 Example: application/7/device/00aedb3da649cb23/rx
Xiaoling 1.4 545 )))
Xiaoling 1.2 546
Xiaoling 1.4 547 (% class="box" %)
548 (((
549 Publish:
Xiaoling 1.2 550 Format: Top: application/ID/device/ Device EUI/tx
551 Payload: {"confirmed":true or false,"fPort":XX,"data":"xxxx"}
552 Example: Top: application/7/device/00aedb3da649cb23/tx
553 Payload: {"confirmed":true,"fPort":2,"data":"AwEB"}
Xiaoling 1.4 554 )))
Xiaoling 1.2 555
Xiaoling 98.2 556 [[image:image-20220531173519-12.png]]
Xiaoling 1.2 557
Xiaoling 121.2 558 **MQTT Connect to ChirpStack**
Xiaoling 1.2 559
Xiaoling 86.18 560
Xiaoling 121.2 561 **If we want to send downstream hex 030101 to end node, the BASE64 payload is AwEB**
Xiaoling 1.2 562
Xiaoling 100.2 563 [[image:image-20220531173658-14.png]]
Xiaoling 1.2 564
Xiaoling 108.9 565
Xiaoling 1.5 566 (((
Xiaoling 1.2 567 Downlink payload encode javescript code: 可以在网站上运行以下Javsscript代码:
Xiaoling 1.5 568 )))
Xiaoling 1.2 569
Xiaoling 1.4 570 (% class="box" %)
571 (((
572 function sha1_to_base64(sha1)
Xiaoling 1.2 573 {
574 var digits="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
575 var base64_rep = "";
576 var cnt = 0;
577 var bit_arr = 0;
578 var bit_num = 0;
Xiaoling 1.5 579 \\ for(var n = 0; n < sha1.length; ++n)
Xiaoling 1.2 580 {
581 if(sha1[n] >= 'A' && sha1[n] <= 'Z')
582 {
Jean-Philippe Gagné 121.1 583 ascv = sha1.charCodeAt( n ) - 55;
Xiaoling 1.2 584 }
585 else if(sha1[n] >= 'a' && sha1[n] <= 'z')
586 {
Jean-Philippe Gagné 121.1 587 ascv = sha1.charCodeAt( n ) - 87;
Xiaoling 1.2 588 }
589 else
590 {
Jean-Philippe Gagné 121.1 591 ascv = sha1.charCodeAt( n ) - 48;
Xiaoling 1.2 592 }
Xiaoling 1.5 593 \\ bit_arr = (bit_arr << 4) | ascv;
Xiaoling 1.2 594 bit_num += 4;
595 if(bit_num >= 6)
596 {
Xiaoling 1.4 597 bit_num -= 6;        
Xiaoling 1.2 598 base64_rep += digits[bit_arr >>> bit_num];
Xiaoling 1.4 599 bit_arr &= ~~(-1 << bit_num);
Xiaoling 1.2 600 }
601 }
Xiaoling 1.5 602 \\ if(bit_num > 0)
Xiaoling 1.2 603 {
604 bit_arr <<= 6 - bit_num;
605 base64_rep += digits[bit_arr];
606 }
Xiaoling 1.5 607 \\ var padding = base64_rep.length % 4;   
608 \\ if(padding > 0)
Xiaoling 1.2 609 {
610 for(var n = 0; n < 4 - padding; ++n)
611 {
612 base64_rep += "=";
613 }
614 }
615 return base64_rep;
616 }
Xiaoling 1.5 617 \\console.log(sha1_to_base64("data"));
618 \\data is downlink payload required by end node.
Xiaoling 1.4 619 e.g console.log(sha1_to_base64("030101"));
620 ​result: AwEB     
Xiaoling 1.2 621 AwEB is the 0x030101's base 64 Encode.
Xiaoling 1.5 622 \\​e.g console.log(sha1_to_base64("030000"));
Xiaoling 1.4 623 ​result: AwAA     
624 AwAA is 0x030000's base 64 Encode.
625 )))
Xiaoling 1.2 626
Xiaoling 86.21 627
Kilight Cao 176.1 628 == 8.4  Add the decode function in Chirpstack for the payload ==
Xiaoling 108.9 629
630
Xiaoling 1.2 631 User enters the payload code according to the steps.
632
Kilight Cao 150.1 633 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]]**
634
Xiaoling 121.2 635 [[image:image-20220531173754-15.png||height="474" width="1334"]]
Xiaoling 1.2 636
637
Xiaoling 102.2 638 [[image:image-20220531173856-16.png]]
Xiaoling 1.2 639
Xiaoling 102.2 640
Xiaoling 106.2 641 [[image:image-20220531174120-20.png]]
Xiaoling 84.2 642
Xiaoling 105.2 643 [[image:image-20220531174046-19.png]]
Xiaoling 1.2 644
Xiaoling 86.22 645
Kilight Cao 176.1 646 = 9.  Multiply Uplink in ChirpStack =
Xiaoling 108.9 647
648
Xiaoling 1.4 649 (((
Xiaoling 1.2 650 nbtrans field is the value to determine the re-transmission time for unconfirmed uplink data.
Xiaoling 1.4 651 )))
Xiaoling 1.2 652
Xiaoling 1.4 653 (((
Xiaoling 1.2 654 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 655
656
Xiaoling 1.4 657 )))
Xiaoling 1.2 658
Xiaoling 121.2 659 [[image:image-20220526091912-7.png||height="241" width="1336"]]
Xiaoling 1.2 660
Xiaoling 108.9 661
Xiaoling 1.5 662 (((
Xiaoling 1.2 663 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 664
665
Xiaoling 1.5 666 )))
Xiaoling 1.2 667
Xiaoling 76.2 668 [[image:image-20220525104359-21.png]]
Xiaoling 1.2 669
Xiaoling 1.4 670 (((
Xiaoling 1.2 671 Above behaviour will cause the platform shows below two cases of error:
Xiaoling 108.9 672
673
Xiaoling 1.4 674 )))
Xiaoling 1.2 675
Xiaoling 1.4 676 (((
Xiaoling 1.2 677 Error of duplicate Frame Counter
Xiaoling 1.4 678 )))
Xiaoling 1.2 679
Xiaoling 76.2 680 [[image:image-20220525104437-22.png]]
Xiaoling 1.2 681
Xiaoling 86.23 682
Xiaoling 108.9 683
Xiaoling 121.2 684 **Duplicate transmission in short time**
Xiaoling 1.2 685
Xiaoling 121.2 686 [[image:image-20220601102430-1.png||height="598" width="1319"]]
Xiaoling 1.2 687
Xiaoling 86.24 688
Kilight Cao 176.1 689 == 9.1  Solution ==
Xiaoling 108.9 690
691
Xiaoling 1.2 692 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]]
693
Xiaoling 108.9 694
Xiaoling 1.5 695 (((
Xiaoling 108.11 696 (% 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 697
698
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
Xiaoye 117.1 821 [[image:image-20221012184501-1.png]]
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
857 [[image:image-20221012173639-1.png]]
858
Kilight Cao 176.1 859 = 11.  Example: Use Local Server ChirpStack and Node-Red in LPS8v2 =
Xiaoye 115.1 860
861
Kilight Cao 151.1 862 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 863
Kilight Cao 141.1 864 * LHT65N register on LPS8v2 Built-In ChirpStack server already
865 * The user is able to see the data on the built-in ChirpStack server device page.
Xiaoye 115.1 866
Kilight Cao 141.1 867 Below are the steps to plot the sensor data on LPS8v2 Node-Red.
868
Xiaoling 147.2 869
Kilight Cao 176.1 870 == 11.1 Link Node-Red to Local ChirpStack ==
Kilight Cao 141.1 871
Xiaoling 147.2 872
Kilight Cao 145.1 873 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 874
875 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]]**
876
877 After importing the Input Flow is complete, the user needs to edit the MQTT in the node
878
879
Kilight Cao 145.1 880 (% style="color:blue" %)**1. Change the Topic**
881
Kilight Cao 141.1 882 Topic modifies it to the following format:
883
Kilight Cao 145.1 884 **application/(% style="color:red" %)Application ID(%%)/device/(% style="color:red" %)End device ID(%%)/event/up**
Kilight Cao 141.1 885
Kilight Cao 152.1 886 Reference link: [[**Node-RED integration** >>https://www.chirpstack.io/docs/guides/node-red-integration.html]]
887
Kilight Cao 145.1 888 [[image:image-20230527143923-1.png||height="588" width="1132"]]
Kilight Cao 141.1 889
890
Kilight Cao 145.1 891
892 (% style="color:blue" %)**2. Enter the MQTT configuration information**
893
894 [[image:image-20230527144206-2.png||height="590" width="1136"]]
895
896
Kilight Cao 147.1 897 (% style="color:blue" %)3. **Finally, click "Update" and Deploy**
898
899 "Connected" indicates that the Link Node-red to Local Chirpstack is normal.
900
901 [[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"]]
902
903
Kilight Cao 176.1 904 == 11.2 Check result. ==
Kilight Cao 147.1 905
Xiaoling 147.2 906
Kilight Cao 147.1 907 Users can check logs by adding debug.
908
909 Browser access: **Node-Red-Server-Address:1880/ui**
910
911 [[image:image-20230529150923-1.png||height="424" width="1118"]]
912
Xiaoling 147.2 913
Kilight Cao 176.1 914 = 12.  Trouble Shooting =
Kilight Cao 141.1 915
Kilight Cao 176.1 916 == 12.1  MIC Mismatch or MIC Failed ==
Kilight Cao 141.1 917
918
Xiaoye 115.1 919 (((
Xiaoling 1.2 920 When the device is registered or the device is working normally, the problem of MIC mismatch and MIC failed occurs.
Xiaoling 1.4 921 )))
Xiaoling 1.2 922
Xiaoling 1.4 923 (((
Xiaoling 1.2 924 Under normal circumstances, users need to change the APPKEY to solve this problem.
Xiaoling 131.2 925
Bei Jinggeng 169.1 926
Kilight Cao 176.1 927 == 12.2  The node is very close to the gateway, but the signal is poor ==
Bei Jinggeng 169.1 928
929 If you are using US915 or AU915, you found the frequency points of different subband ranges in your uplink
930
931 Like that:Both 905.1Mhz and 902.3Mhz appear on uplink
932 But they belong to Subband1 and Subband2 of US915 respectively
933
934 Cause: The server and the gateway use different frequency bands (the server uses Subband1, and the gateway uses Subband2)
935
936 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.
937
938 How to check the frequency band used by the server:
939
940 You can view the information sent by the server: ch_mask in Unconfirmdedatadown
941
942 [[image:image-20230821113255-1.png]]
943
944 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.
945
Bei Jinggeng 170.1 946 [[image:image-20230821113539-2.png]]
Bei Jinggeng 169.1 947
948 In the second message, the channel 0~~7 is true, which means that your server is using subband2.
949
Bei Jinggeng 170.1 950 [[image:image-20230821113618-3.png]]
Bei Jinggeng 169.1 951
952 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]]
Xiaoling 1.4 953 )))
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0