Show last authors
1 **~ Table of Contents:**
2
3 {{toc/}}
4
5
6
7
8 = 1.  Introduction =
9
10
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/]]
12
13 (((
14 (% style="color:black" %)The dragino gateway can connect the ChirpStack server via Semtech UDP or Semtech Basic Station.
15
16
17 )))
18
19 (% style="color:blue" %)**Prerequisite:**
20
21 **1) Have a Chirstack Server.**
22
23 [[image:image-20220525100058-1.png]]
24
25 ChirpStack home page
26
27
28
29 **2) Gateway model support**
30
31 (% class="box" %)
32 (((
33 (((
34 Semtech UDP : **All Model**
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
37 )))
38 )))
39
40 = 2.  Node usage introduction =
41
42 == 2.1 Register Node ==
43
44 Step 1: Add application
45
46 [[image:image-20230702094608-1.png||height="537" width="1015"]]
47
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
88 The network-Servers address varies depending on the ChirpStack server setup environment
89
90 (% class="box" %)
91 (((
92 Windows       ~-~->  Network-server server *  :  localhost:8000
93 Linux  ~-~->  Network-server server *  :  chirpstack-network-server:8000
94 )))
95
96
97 (% style="color:red" %)**If the user cannot add network-Servers, re-check the ChirpStack code or the server building process.**
98
99
100 [[image:image-20220531171609-1.png||height="638" width="1268"]](% style="display:none" %)
101
102 Add the Network-servers
103
104
105 == 3.2  Step 2. Create Gateway-profiles ==
106
107
108 [[image:image-20220531171651-2.png||height="632" width="1264"]](% style="display:none" %)
109
110 Create Gateway-profiles
111
112
113 == 3.3  Step 3. Create Service-profiles ==
114
115
116 [[image:image-20220531171809-3.png||height="761" width="1265"]]
117
118 Create Service-profiles
119
120
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
123 (% style="color:red" %)**Note : Before add the gateway, the user needs to complete the preceding three steps.**
124
125 If the user has completed the preceding steps, proceed to the next step.(% style="display:none" %)
126
127
128 == 3.4  Step 4. Add the gateway ==
129
130
131 The example gateway id is: a840411e96744150
132
133 (((
134 (% style="color:red" %)**Note : The Gateway EUI and server addresses must match the ChirpStack configuration.**
135
136
137 )))
138
139 [[image:image-20220531171923-4.png||height="745" width="1253"]](% style="display:none" %)
140
141 Add the gateway
142
143
144
145 [[image:image-20220531172031-5.png]]
146
147 Configure the gateway
148
149
150 == 3.5  Step 5. Checking gateway Status ==
151
152
153 [[image:image-20220531172158-6.png||height="704" width="1167"]](% style="display:none" %)
154
155
156
157 gateway Status
158
159 [[image:image-20220531172304-7.png||height="628" width="1165"]]
160
161 gateway Status
162
163
164 = 4.  Gateway Registration for Basics Station =
165
166 == 4.1  Introduction ==
167
168
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
174 (% style="color:blue" %)**Below list the support products and Requirements:**
175
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
179 (% style="color:blue" %)**How to set up chirpStack Basic Station**
180
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
184 (% style="color:blue" %)**What do you need to prepare**
185
186 A gateway that can access the internet normally
187
188
189 == 4.2  Add Gateway ==
190
191
192 [[image:image-20220524164205-10.png]]
193
194
195 == 4.3  Access the gateway GUI ==
196
197
198 Access the gateway GUI interface of LoRaWAN~-~->LoRaWAN ~-~- Basic Station
199
200 [[image:image-20220524164319-11.png]]
201
202
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
209 LNS URI  ~-~->  Enter the LNS URI address, For example : wss:~/~/xxxx.chirpstack.com:443 or ws:~/~/xxxx.chirpstack.com:3001
210
211 LNS TLS trust  ~-~->  Upload the TLS Certificate
212 )))
213
214 (% class="wikigeneratedid" %)
215 [[image:image-20220524164341-12.png]]
216
217
218 == 4.4  Start Station ==
219
220
221 When the user has finished the configuration, Please click **Sace&Apply** to start station to connect ChirpStack.
222
223
224 == 4.5  Successful Connection ==
225
226
227 If user completes the above steps, which will see live date in the ChirpStack.
228
229 [[image:image-20220524164448-13.png]]
230
231
232 == 4.6  Trouble Shooting ==
233
234
235 User can check the station log in the logread/system log page.
236
237 [[image:image-20220531172837-8.png]]
238
239
240 and recode the station log in the system/Recode log page.
241
242 [[image:image-20220531172857-9.png]]
243
244
245 = 5.  How the gateway connects to Chirpstack v3 via gateway-bridge =
246
247
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]]
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/]]
252
253 (% style="color:blue" %)**How to set up chirpStack Gateway-bridge**
254
255 Users can check out the ChirpStack gateway-bridge v3 [[link>>https://www.chirpstack.io/gateway-bridge/gateway/dragino/]]
256
257
258 (% style="color:blue" %)**What do you need to prepare**
259
260 A gateway that can access the internet normally
261
262
263 The following example does not have configuration certificates:
264
265
266 == 5.1  Configure Packet Forwarder ==
267
268
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
270
271 * In the (% style="color:blue" %)**LoRaWAN** (%%)menu, click on (% style="color:blue" %)**LoRaWAN ~-~- Semtech UDP**
272
273 * Make sure the following settings are set:
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//
278
279 Click (% style="color:blue" %)**Save & Apply**.
280
281 [[image:image-20221222114220-2.png||height="748" width="931"]]
282
283
284 == 5.2  Configuring gateway frequency ==
285
286
287 (% style="color:red" %)**Note: Gateway frequencies must match**
288
289 [[image:image-20221222134830-3.png||height="408" width="923"]]
290
291
292 == 5.3  Generate and modify the gateway-bridge configuration file ==
293
294
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 (((
303 **/opt/chirpstack-gateway-bridge/chirpstack-gateway-bridge configfile > /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml **
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 (((
313 **vim /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml **
314 )))
315
316 [[image:image-20230415165254-1.png||height="583" width="956"]]
317
318
319 == 5.4  Debug ==
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 (((
326 **/opt/chirpstack-gateway-bridge/chirpstack-gateway-bridge ~-~-config /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml**
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
342 == 5.5  (Re)start and stop gateway-bridge ==
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
363 = 6.  How the gateway connects to Chirpstack v4 via gateway-bridge =
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
381 == 6.1  Configure Packet Forwarder ==
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
386 * In the (% style="color:blue" %)**LoRaWAN**(%%) menu, click on (% style="color:blue" %)**LoRaWAN ~-~- Semtech UDP**
387
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
394 Click (% style="color:blue" %)**Save & Apply**.
395
396 [[image:image-20221222114220-2.png||height="748" width="931"]]
397
398
399 == 6.2  Configuring gateway frequency ==
400
401
402 (% style="color:red" %)**Note: Gateway frequencies must match**
403
404 [[image:image-20221222134830-3.png||height="408" width="923"]]
405
406
407 == 6.3  Modify the gateway-bridge configuration file ==
408
409
410 Run the gateway command line command to modify the gateway-bridge configuration file:
411
412 (% class="box infomessage" %)
413 (((
414 **root@dragino-1d27d4:~~#  vim /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml **
415 )))
416
417 [[image:image-20221222113302-1.png]]
418
419
420 [[image:image-20221222140203-4.png||height="875" width="806"]]
421
422 [[image:image-20221230094246-1.png||height="768" width="783"]]
423
424 (% class="wikigeneratedid" id="H" %)
425 After the modification, run the following command: **/etc/init.d/chirpstack-gateway-bridge restart**
426
427
428 == 6.4  (Re)start and stop gateway-bridge ==
429
430
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
448
449 == 6.5  Successful Connection ==
450
451
452 [[image:image-20221222141754-5.png||height="488" width="1150"]]
453
454
455 [[image:image-20221222141830-6.png||height="582" width="1153"]]
456
457
458 = 7.  Downlink =
459
460 == 7.1  Convert HEX to Base64 ==
461
462
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.**
464
465 **[[Online HEX to Base64 Converter>>https://base64.guru/converter/encode/hex]]:**
466
467 [[image:image-20221010193350-1.png]]
468
469
470
471 **[[Online Base64 to Hex converter>>https://base64.guru/converter/decode/hex]]**
472
473 [[image:image-20221010193621-2.png]]
474
475
476 == 7.2  Chirpstack Downlink Note ==
477
478
479 [[image:image-20220601102543-2.png]]
480
481 **Convert the data to Base64**
482
483 (% style="display:none" %) (%%)
484
485
486 [[image:image-20220531173236-10.png||height="597" width="1215"]]
487
488 **Check ChripStack downlink DataRate**
489
490
491
492 [[image:image-20220525101326-11.png]]
493
494 **Make sure the RX2DR is the same in the end node**
495
496
497 == 7.3  Loraserver Downlink Note ==
498
499
500 User can use MQTT to send downlink payload to ChirpStack to perform downstream to LoRaWAN End
501
502 (((
503 **Below is examples:**
504 )))
505
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
511 User name: User name Password: password
512 )))
513
514 [[image:image-20220531173419-11.png]]
515
516 (((
517 **MQTT Connect to ChirpStack**
518
519
520
521 )))
522
523 (((
524 **After connect**
525 )))
526
527 (% class="box" %)
528 (((
529 Subscribe : Format:application/ID/device/ Device EUI/rx
530 Example: application/7/device/00aedb3da649cb23/rx
531 )))
532
533 (% class="box" %)
534 (((
535 Publish:
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"}
540 )))
541
542 [[image:image-20220531173519-12.png]]
543
544 **MQTT Connect to ChirpStack**
545
546
547 **If we want to send downstream hex 030101 to end node, the BASE64 payload is AwEB**
548
549 [[image:image-20220531173658-14.png]]
550
551
552 (((
553 Downlink payload encode javescript code: 可以在网站上运行以下Javsscript代码:
554 )))
555
556 (% class="box" %)
557 (((
558 function sha1_to_base64(sha1)
559 {
560 var digits="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
561 var base64_rep = "";
562 var cnt = 0;
563 var bit_arr = 0;
564 var bit_num = 0;
565 \\ for(var n = 0; n < sha1.length; ++n)
566 {
567 if(sha1[n] >= 'A' && sha1[n] <= 'Z')
568 {
569 ascv = sha1.charCodeAt( n ) - 55;
570 }
571 else if(sha1[n] >= 'a' && sha1[n] <= 'z')
572 {
573 ascv = sha1.charCodeAt( n ) - 87;
574 }
575 else
576 {
577 ascv = sha1.charCodeAt( n ) - 48;
578 }
579 \\ bit_arr = (bit_arr << 4) | ascv;
580 bit_num += 4;
581 if(bit_num >= 6)
582 {
583 bit_num -= 6;        
584 base64_rep += digits[bit_arr >>> bit_num];
585 bit_arr &= ~~(-1 << bit_num);
586 }
587 }
588 \\ if(bit_num > 0)
589 {
590 bit_arr <<= 6 - bit_num;
591 base64_rep += digits[bit_arr];
592 }
593 \\ var padding = base64_rep.length % 4;   
594 \\ if(padding > 0)
595 {
596 for(var n = 0; n < 4 - padding; ++n)
597 {
598 base64_rep += "=";
599 }
600 }
601 return base64_rep;
602 }
603 \\console.log(sha1_to_base64("data"));
604 \\data is downlink payload required by end node.
605 e.g console.log(sha1_to_base64("030101"));
606 ​result: AwEB     
607 AwEB is the 0x030101's base 64 Encode.
608 \\​e.g console.log(sha1_to_base64("030000"));
609 ​result: AwAA     
610 AwAA is 0x030000's base 64 Encode.
611 )))
612
613
614 == 7.4  Add the decode function in Chirpstack for the payload ==
615
616
617 User enters the payload code according to the steps.
618
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
621 [[image:image-20220531173754-15.png||height="474" width="1334"]]
622
623
624 [[image:image-20220531173856-16.png]]
625
626
627 [[image:image-20220531174120-20.png]]
628
629 [[image:image-20220531174046-19.png]]
630
631
632 = 8.  Multiply Uplink in ChirpStack =
633
634
635 (((
636 nbtrans field is the value to determine the re-transmission time for unconfirmed uplink data.
637 )))
638
639 (((
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]]
641
642
643 )))
644
645 [[image:image-20220526091912-7.png||height="241" width="1336"]]
646
647
648 (((
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.
650
651
652 )))
653
654 [[image:image-20220525104359-21.png]]
655
656 (((
657 Above behaviour will cause the platform shows below two cases of error:
658
659
660 )))
661
662 (((
663 Error of duplicate Frame Counter
664 )))
665
666 [[image:image-20220525104437-22.png]]
667
668
669
670 **Duplicate transmission in short time**
671
672 [[image:image-20220601102430-1.png||height="598" width="1319"]]
673
674
675 == 8.1  Solution ==
676
677
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
680
681 (((
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.**
683
684
685 )))
686
687 [[image:image-20220525104532-24.png]]
688
689
690 **installation path:**
691
692 [[image:image-20220525104554-25.png]]
693
694
695
696 (((
697 (% style="color:blue" %)**2.  Environment variable settings:**
698 )))
699
700 (((
701 1) Open Computer -> Properties -> Advanced System Settings -> Environment Variables and add a "new" system variable:
702 )))
703
704 (((
705 2) Set the variable name GOROOT and the variable value C:\Go\ (installation directory)
706 )))
707
708 [[image:image-20220524165433-33.png]]
709
710
711 3) Modify the system variable Path and add C:\Go\bin\:
712
713 [[image:image-20220524165452-34.png]]
714
715
716 User variable setting file generation directory: D:\go:
717
718 [[image:image-20220524165517-35.png]]
719
720
721
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.**
723
724 The name of the plugin: Example ADR plugin:
725
726 [[image:image-20220524165540-36.png]]
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
730 [[image:image-20220524165557-37.png]]
731
732
733
734 (% style="color:blue" %)**4.  Compile the ADR configuration file and generate the exe file.**
735
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
756 [[image:image-20220524165623-38.png]]
757
758
759
760 (% style="color:blue" %)**5.  Add the plugin and run the plugin.**
761
762 (((
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:
764 )))
765
766 [[image:image-20220524165641-39.png]]
767
768 (((
769 (((
770 For example: adr_plugins=[“adr-setting”]
771 )))
772 )))
773
774 * (((
775 (((
776 Adding a single plugin format is adr_plugins=["filename"]
777 )))
778 )))
779
780 * (((
781 (((
782 Adding multiple plugins The format is adr_plugins=["file name 1", "file name 2",...]
783 )))
784 )))
785
786 (((
787 (((
788 Finally, re-run chirpstack-network-server.exe, and then select the plugin you just compiled in Device-profiles,
789 )))
790 )))
791
792 [[image:image-20220525104647-26.png]]
793
794 Finish.
795
796
797 = 9.  How to store/get all data traffic for a specific sensor, including raw payload, and uplink/ downlink history. =
798
799
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.
801
802 This example will be shown how to store/get all the data in two ways:
803
804 (% style="color:blue" %)**//1). Chirpstack ~-~-> Node-red//**
805
806
807 [[image:image-20221012184501-1.png]]
808
809
810 Use MQTT in Nore-red to subscribe to topics published by the chirpstack-application and then continuously write to a file
811
812 [[image:image-20221012174220-2.png]]
813
814
815 [[image:image-20221012184655-3.png||height="395" width="1049"]]
816
817
818 **Each message is continuously logged to a specified file**
819
820 [[image:image-20221012174352-3.png]]
821
822
823 (% style="color:blue" %)**//2). MQTT  Sub//**
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" %)
831 (((
832 **mosquitto_sub -h localhost -t "application/#" -v**
833 )))
834
835
836 (% style="color:blue" %)**Different host**
837
838 (% class="box infomessage" %)
839 (((
840 **mosquitto_sub -h IPADDRESS -p 8883 ~-~-insecure ~-~-cafile ca.pem ~-~-cert cert.pem ~-~-key key.pem -t "application/#" -v**
841 )))
842
843 [[image:image-20221012173639-1.png]]
844
845 = 10.  Example: Use Local Server ChirpStack and Node-Red in LPS8v2 =
846
847
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:
849
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.
852
853 Below are the steps to plot the sensor data on LPS8v2 Node-Red.
854
855
856 == 10.1 Link Node-Red to Local ChirpStack ==
857
858
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"]]**
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
866 (% style="color:blue" %)**1. Change the Topic**
867
868 Topic modifies it to the following format:
869
870 **application/(% style="color:red" %)Application ID(%%)/device/(% style="color:red" %)End device ID(%%)/event/up**
871
872 Reference link: [[**Node-RED integration** >>https://www.chirpstack.io/docs/guides/node-red-integration.html]]
873
874 [[image:image-20230527143923-1.png||height="588" width="1132"]]
875
876
877
878 (% style="color:blue" %)**2. Enter the MQTT configuration information**
879
880 [[image:image-20230527144206-2.png||height="590" width="1136"]]
881
882
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
890 == 10.2 Check result. ==
891
892
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
899
900 = 11.  Trouble Shooting =
901
902 == 11.1  MIC Mismatch or MIC Failed ==
903
904
905 (((
906 When the device is registered or the device is working normally, the problem of MIC mismatch and MIC failed occurs.
907 )))
908
909 (((
910 Under normal circumstances, users need to change the APPKEY to solve this problem.
911
912
913 == 11.2  The node is very close to the gateway, but the signal is poor ==
914
915 If you are using US915 or AU915, you found the frequency points of different subband ranges in your uplink
916
917 Like that:Both 905.1Mhz and 902.3Mhz appear on uplink
918 But they belong to Subband1 and Subband2 of US915 respectively
919
920 Cause: The server and the gateway use different frequency bands (the server uses Subband1, and the gateway uses Subband2)
921
922 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.
923
924 How to check the frequency band used by the server:
925
926 You can view the information sent by the server: ch_mask in Unconfirmdedatadown
927
928 [[image:https://qiye.aliyun.com/attachment/downloadex?ri=%2Falimail%2FinternalLinks%2FrefreshToken&o=1&et=normal&ext=png&e=jinggeng.bei%40dragino.cc&f=cd202b4b-8b20-46fe-8982-dbd243323d7a&m=1_0%3ADzzzzyP5He.%24---.ULjrwi40&n=temp4cj.png]][[image:https://qiye.aliyun.com/attachment/downloadex?ri=%2Falimail%2FinternalLinks%2FrefreshToken&o=1&et=normal&ext=png&e=jinggeng.bei%40dragino.cc&f=cd202b4b-8b20-46fe-8982-dbd243323d7a&m=1_0%3ADzzzzyP5He.%24---.ULjrwi40&n=temp4cj.png]]
929
930 [[image:image-20230821113255-1.png]]
931
932 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.
933
934 [[image:https://qiye.aliyun.com/attachment/downloadex?ri=%2Falimail%2FinternalLinks%2FrefreshToken&o=1&et=normal&ext=png&e=jinggeng.bei%40dragino.cc&f=f567abb7-c2b5-4d29-88ca-9c5885bd410b&m=1_0%3ADzzzzyP5He.%24---.ULjrwi40&n=temp4cj.png]][[image:image-20230821113539-2.png]]
935
936 In the second message, the channel 0~~7 is true, which means that your server is using subband2.
937
938 [[image:https://qiye.aliyun.com/attachment/downloadex?ri=%2Falimail%2FinternalLinks%2FrefreshToken&o=1&et=normal&ext=png&e=jinggeng.bei%40dragino.cc&f=9c126577-ab4f-4c55-be34-5f3410bccdcd&m=1_0%3ADzzzzyP5He.%24---.ULjrwi40&n=temp4cj.png]][[image:image-20230821113618-3.png]]
939
940 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]]
941 )))
Copyright ©2010-2022 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0