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-20230821114047-4.png||height="524" width="990"]]
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
41 = 2.  Node usage introduction =
42
43 == 2.1 Register Node ==
44
45
46 **Step 1: Add application**
47
48 [[image:image-20230702094608-1.png||height="537" width="1015"]]
49
50
51 **Step 2:Fill name**
52
53 [[image:image-20230702094852-2.png]]
54
55
56 **Step3 :Add device profile**
57
58 [[image:image-20230702095114-4.png||height="448" width="1061"]]
59
60
61 **Step4 :Configure your device profile**
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
74 **Step5 :add device**
75
76 [[image:image-20230702094944-3.png||height="439" width="1153"]]
77
78
79 [[image:image-20230702100312-8.png||height="550" width="1106"]]
80
81
82 [[image:image-20230702100543-10.png||height="313" width="1099"]]
83
84
85 [[image:image-20230702100930-11.png||height="613" width="1098"]]
86
87
88 = 3.  Semtech UDP for ChirpStack v3 =
89
90 == 3.1  Step 1. Add the Network-servers ==
91
92
93 The network-Servers address varies depending on the ChirpStack server setup environment
94
95 (% class="box" %)
96 (((
97 Windows       ~-~->  Network-server server *  :  localhost:8000
98 Linux  ~-~->  Network-server server *  :  chirpstack-network-server:8000
99 )))
100
101
102 (% style="color:red" %)**If the user cannot add network-Servers, re-check the ChirpStack code or the server building process.**
103
104 [[image:image-20220531171609-1.png||height="638" width="1268"]](% style="display:none" %)
105
106 Add the Network-servers
107
108
109 == 3.2  Step 2. Create Gateway-profiles ==
110
111
112 [[image:image-20220531171651-2.png||height="632" width="1264"]](% style="display:none" %)
113
114 Create Gateway-profiles
115
116
117 == 3.3  Step 3. Create Service-profiles ==
118
119
120 [[image:image-20220531171809-3.png||height="761" width="1265"]]
121
122 Create Service-profiles
123
124
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
127 (% style="color:red" %)**Note : Before add the gateway, the user needs to complete the preceding three steps.**
128
129 If the user has completed the preceding steps, proceed to the next step.(% style="display:none" %)
130
131
132 == 3.4  Step 4. Add the gateway ==
133
134
135 The example gateway id is: a840411e96744150
136
137 (((
138 (% style="color:red" %)**Note : The Gateway EUI and server addresses must match the ChirpStack configuration.**
139 )))
140
141 [[image:image-20220531171923-4.png||height="745" width="1253"]](% style="display:none" %)
142
143 Add the gateway
144
145
146 [[image:image-20220531172031-5.png]]
147
148 Configure the gateway
149
150
151 == 3.5  Step 5. Checking gateway Status ==
152
153
154 [[image:image-20220531172158-6.png||height="704" width="1167"]](% style="display:none" %)
155
156
157
158 gateway Status
159
160 [[image:image-20220531172304-7.png||height="628" width="1165"]]
161
162 gateway Status
163
164
165 = 4.  Semtech UDP for ChirpStack v4 =
166
167 == 4.1  Step 1. Add the gateway ==
168
169
170 [[image:image-20230926092907-1.png||height="598" width="1007"]]
171
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
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
190 (% style="color:blue" %)**Below list the support products and Requirements:**
191
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
195 (% style="color:blue" %)**How to set up chirpStack Basic Station**
196
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
200 (% style="color:blue" %)**What do you need to prepare**
201
202 A gateway that can access the internet normally
203
204
205 == 5.2  Add Gateway ==
206
207
208 [[image:image-20220524164205-10.png]]
209
210
211 == 5.3  Access the gateway GUI ==
212
213
214 Access the gateway GUI interface of LoRaWAN~-~->LoRaWAN ~-~- Basic Station
215
216 [[image:image-20220524164319-11.png]]
217
218
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
225 LNS URI  ~-~->  Enter the LNS URI address, For example : wss:~/~/xxxx.chirpstack.com:443 or ws:~/~/xxxx.chirpstack.com:3001
226
227 LNS TLS trust  ~-~->  Upload the TLS Certificate
228 )))
229
230 (% class="wikigeneratedid" %)
231 [[image:image-20220524164341-12.png]]
232
233
234 == 5.4  Start Station ==
235
236
237 When the user has finished the configuration, Please click **Sace&Apply** to start station to connect ChirpStack.
238
239
240 == 5.5  Successful Connection ==
241
242
243 If user completes the above steps, which will see live date in the ChirpStack.
244
245 [[image:image-20220524164448-13.png]]
246
247
248 == 5.6  Trouble Shooting ==
249
250
251 User can check the station log in the logread/system log page.
252
253 [[image:image-20220531172837-8.png]]
254
255
256 and recode the station log in the system/Recode log page.
257
258 [[image:image-20220531172857-9.png]]
259
260
261 = 6.  How the gateway connects to Chirpstack v3 via gateway-bridge =
262
263
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]]
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/]]
268
269 (% style="color:blue" %)**How to set up chirpStack Gateway-bridge**
270
271 Users can check out the ChirpStack gateway-bridge v3 [[link>>https://www.chirpstack.io/gateway-bridge/gateway/dragino/]]
272
273
274 (% style="color:blue" %)**What do you need to prepare**
275
276 A gateway that can access the internet normally
277
278
279 The following example does not have configuration certificates:
280
281
282 == 6.1  Configure Packet Forwarder ==
283
284
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
286
287 * In the (% style="color:blue" %)**LoRaWAN** (%%)menu, click on (% style="color:blue" %)**LoRaWAN ~-~- Semtech UDP**
288
289 * Make sure the following settings are set:
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//
294
295 Click (% style="color:blue" %)**Save & Apply**.
296
297 [[image:image-20221222114220-2.png||height="748" width="931"]]
298
299
300 == 6.2  Configuring gateway frequency ==
301
302
303 (% style="color:red" %)**Note: Gateway frequencies must match**
304
305 [[image:image-20221222134830-3.png||height="408" width="923"]]
306
307
308 == 6.3  Generate and modify the gateway-bridge configuration file ==
309
310
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 (((
319 **/opt/chirpstack-gateway-bridge/chirpstack-gateway-bridge configfile > /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml **
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 (((
329 **vim /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml **
330 )))
331
332 [[image:image-20230415165254-1.png||height="583" width="956"]]
333
334
335 == 6.4  Debug ==
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 (((
342 **/opt/chirpstack-gateway-bridge/chirpstack-gateway-bridge ~-~-config /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml**
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
358 == 6.5  (Re)start and stop gateway-bridge ==
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
379 = 7.  How the gateway connects to Chirpstack v4 via gateway-bridge =
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
397 == 7.1  Configure Packet Forwarder ==
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
402 * In the (% style="color:blue" %)**LoRaWAN**(%%) menu, click on (% style="color:blue" %)**LoRaWAN ~-~- Semtech UDP**
403
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
410 Click (% style="color:blue" %)**Save & Apply**.
411
412 [[image:image-20221222114220-2.png||height="748" width="931"]]
413
414
415 == 7.2  Configuring gateway frequency ==
416
417
418 (% style="color:red" %)**Note: Gateway frequencies must match**
419
420 [[image:image-20221222134830-3.png||height="408" width="923"]]
421
422
423 == 7.3  Modify the gateway-bridge configuration file ==
424
425
426 Run the gateway command line command to modify the gateway-bridge configuration file:
427
428 (% class="box infomessage" %)
429 (((
430 **root@dragino-1d27d4:~~#  vim /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml **
431 )))
432
433 [[image:image-20221222113302-1.png]]
434
435
436 [[image:image-20221222140203-4.png||height="875" width="806"]]
437
438
439 [[image:image-20221230094246-1.png||height="768" width="783"]]
440
441 (% class="wikigeneratedid" id="H" %)
442 After the modification, run the following command: **/etc/init.d/chirpstack-gateway-bridge restart**
443
444
445 == 7.4  (Re)start and stop gateway-bridge ==
446
447
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
465
466 == 7.5  Successful Connection ==
467
468
469 [[image:image-20221222141754-5.png||height="488" width="1150"]]
470
471
472 [[image:image-20221222141830-6.png||height="582" width="1153"]]
473
474
475 = 8.  Downlink =
476
477
478 === 8.1 Chirpstack Downlink Note ===
479
480
481 ==== Select HEX format for downlink ====
482
483
484 (% style="color:red" %)**Note: The end node user manual provides HEX format of the downlink commands, so users can directly select HEX format downlink.**
485
486
487 [[image:image-20231108171112-5.png||height="629" width="1117"]]
488
489
490 [[image:image-20231108171145-6.png||height="497" width="1101"]]
491
492
493
494
495
496 [[image:image-20220531173236-10.png||height="597" width="1215"]]
497
498 **Check ChripStack downlink DataRate**
499
500
501
502 [[image:image-20220525101326-11.png]]
503
504 **Make sure the RX2DR is the same in the end node**
505
506
507 == 8.3  Loraserver Downlink Note ==
508
509
510 User can use MQTT to send downlink payload to ChirpStack to perform downstream to LoRaWAN End
511
512 (((
513 **Below is examples:**
514 )))
515
516 (% class="box" %)
517 (((
518 Connect to your server via MQTT:
519 MQTT Client ID: Any   
520 Protocol:mqtt/tcp   Server IP:loraserver_ip:1883
521 User name: User name Password: password
522 )))
523
524 [[image:image-20220531173419-11.png]]
525
526 (((
527 **MQTT Connect to ChirpStack**
528
529
530
531 )))
532
533 (((
534 **After connect**
535 )))
536
537 (% class="box" %)
538 (((
539 Subscribe : Format:application/ID/device/ Device EUI/rx
540 Example: application/7/device/00aedb3da649cb23/rx
541 )))
542
543 (% class="box" %)
544 (((
545 Publish:
546 Format: Top: application/ID/device/ Device EUI/tx
547 Payload: {"confirmed":true or false,"fPort":XX,"data":"xxxx"}
548 Example: Top: application/7/device/00aedb3da649cb23/tx
549 Payload: {"confirmed":true,"fPort":2,"data":"AwEB"}
550 )))
551
552 [[image:image-20220531173519-12.png]]
553
554 **MQTT Connect to ChirpStack**
555
556
557
558 (((
559 Downlink payload encode javescript code.
560
561 We can run the following Javsscript code on the site:
562 )))
563
564 (% class="box" %)
565 (((
566 function sha1_to_base64(sha1)
567 {
568 var digits="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
569 var base64_rep = "";
570 var cnt = 0;
571 var bit_arr = 0;
572 var bit_num = 0;
573 \\ for(var n = 0; n < sha1.length; ++n)
574 {
575 if(sha1[n] >= 'A' && sha1[n] <= 'Z')
576 {
577 ascv = sha1.charCodeAt( n ) - 55;
578 }
579 else if(sha1[n] >= 'a' && sha1[n] <= 'z')
580 {
581 ascv = sha1.charCodeAt( n ) - 87;
582 }
583 else
584 {
585 ascv = sha1.charCodeAt( n ) - 48;
586 }
587 \\ bit_arr = (bit_arr << 4) | ascv;
588 bit_num += 4;
589 if(bit_num >= 6)
590 {
591 bit_num -= 6;        
592 base64_rep += digits[bit_arr >>> bit_num];
593 bit_arr &= ~~(-1 << bit_num);
594 }
595 }
596 \\ if(bit_num > 0)
597 {
598 bit_arr <<= 6 - bit_num;
599 base64_rep += digits[bit_arr];
600 }
601 \\ var padding = base64_rep.length % 4;   
602 \\ if(padding > 0)
603 {
604 for(var n = 0; n < 4 - padding; ++n)
605 {
606 base64_rep += "=";
607 }
608 }
609 return base64_rep;
610 }
611 \\console.log(sha1_to_base64("data"));
612 \\data is downlink payload required by end node.
613 e.g console.log(sha1_to_base64("030101"));
614 ​result: AwEB     
615 AwEB is the 0x030101's base 64 Encode.
616 \\​e.g console.log(sha1_to_base64("030000"));
617 ​result: AwAA     
618 AwAA is 0x030000's base 64 Encode.
619 )))
620
621
622 == 8.4  Add the decode function in Chirpstack for the payload ==
623
624
625 User enters the payload code according to the steps.
626
627 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]]**
628
629 [[image:image-20220531173754-15.png||height="474" width="1334"]]
630
631
632 [[image:image-20220531173856-16.png]]
633
634
635 [[image:image-20220531174120-20.png]]
636
637 [[image:image-20220531174046-19.png]]
638
639
640 = 9.  Multiply Uplink in ChirpStack =
641
642
643 (((
644 nbtrans field is the value to determine the re-transmission time for unconfirmed uplink data.
645 )))
646
647 (((
648 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]]
649
650
651 )))
652
653 [[image:image-20220526091912-7.png||height="241" width="1336"]]
654
655
656 (((
657 nbtrans is a field of ADR message, in unconfirm mode, it tells end node how many time it needs to transmit for every frame.
658
659
660 )))
661
662 [[image:image-20220525104359-21.png]]
663
664 (((
665 Above behaviour will cause the platform shows below two cases of error:
666
667
668 )))
669
670 (((
671 Error of duplicate Frame Counter
672 )))
673
674 [[image:image-20220525104437-22.png]]
675
676
677
678 **Duplicate transmission in short time**
679
680 [[image:image-20220601102430-1.png||height="508" width="1120"]]
681
682
683 == 9.1  Solution ==
684
685
686 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]]
687
688 (((
689 (% 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.**
690 )))
691
692 [[image:image-20220525104532-24.png]]
693
694
695 **installation path:**
696
697 [[image:image-20220525104554-25.png]]
698
699
700
701 (((
702 (% style="color:blue" %)**2.  Environment variable settings:**
703 )))
704
705 (((
706 1) Open Computer -> Properties -> Advanced System Settings -> Environment Variables and add a "new" system variable:
707 )))
708
709 (((
710 2) Set the variable name GOROOT and the variable value C:\Go\ (installation directory)
711 )))
712
713 [[image:image-20220524165433-33.png]]
714
715
716 3) Modify the system variable Path and add C:\Go\bin\:
717
718 [[image:image-20220524165452-34.png]]
719
720
721 User variable setting file generation directory: D:\go:
722
723 [[image:image-20220524165517-35.png]]
724
725
726
727 (% 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.**
728
729 The name of the plugin: Example ADR plugin:
730
731 [[image:image-20220524165540-36.png]]
732
733 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.
734
735 [[image:image-20220524165557-37.png]]
736
737
738
739 (% style="color:blue" %)**4.  Compile the ADR configuration file and generate the exe file.**
740
741 1) Create a folder named adr-setting
742
743 2) Open the adr-setting folder
744
745 3) Put adr.setting.go in this folder.
746
747 4) Open the computer cmd and run the following commands in sequencecd adr-setting
748
749 go mod init adr-setting
750
751 go get github.com/brocaar/chirpstack-network-server/v3/adr
752
753 go get github.com/hashicorp/go-plugin
754
755 go get adr-setting
756
757 go build
758
759 5) Finally generate this file:
760
761 [[image:image-20220524165623-38.png]]
762
763
764
765 (% style="color:blue" %)**5.  Add the plugin and run the plugin.**
766
767 (((
768 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:
769 )))
770
771 [[image:image-20220524165641-39.png]]
772
773 (((
774 (((
775 For example: adr_plugins=[“adr-setting”]
776 )))
777 )))
778
779 * (((
780 (((
781 Adding a single plugin format is adr_plugins=["filename"]
782 )))
783 )))
784
785 * (((
786 (((
787 Adding multiple plugins The format is adr_plugins=["file name 1", "file name 2",...]
788 )))
789 )))
790
791 (((
792 (((
793 Finally, re-run chirpstack-network-server.exe, and then select the plugin you just compiled in Device-profiles,
794 )))
795 )))
796
797 [[image:image-20220525104647-26.png]]
798
799 Finish.
800
801
802 = 10.  How to store/get all data traffic for a specific sensor, including raw payload, and uplink/ downlink history. =
803
804
805 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.
806
807 This example will be shown how to store/get all the data in two ways:
808
809 (% style="color:blue" %)**//1). Chirpstack ~-~-> Node-red//**
810
811
812 [[image:image-20221012184501-1.png||height="608" width="1041"]]
813
814
815 Use MQTT in Nore-red to subscribe to topics published by the chirpstack-application and then continuously write to a file
816
817 [[image:image-20221012174220-2.png]]
818
819
820 [[image:image-20221012184655-3.png||height="395" width="1049"]]
821
822
823 **Each message is continuously logged to a specified file**
824
825 [[image:image-20221012174352-3.png]]
826
827
828 (% style="color:blue" %)**//2). MQTT  Sub//**
829
830 If you don't want to store the information via node-red, you can get the output via the subscribe command.
831
832
833 **If connecting from the same machine, you can use the following command to receive data:**
834
835 (% class="box infomessage" %)
836 (((
837 **mosquitto_sub -h localhost -t "application/#" -v**
838 )))
839
840
841 (% style="color:blue" %)**Different host**
842
843 (% class="box infomessage" %)
844 (((
845 **mosquitto_sub -h IPADDRESS -p 8883 ~-~-insecure ~-~-cafile ca.pem ~-~-cert cert.pem ~-~-key key.pem -t "application/#" -v**
846 )))
847
848 [[image:image-20221012173639-1.png||height="273" width="1206"]]
849
850
851 = 11. How to use Chirpstack API to batch register Sensor Node/Gateway in Chistapstack Server =
852
853 The following example is based on the built-in ChirpStack server for LPS8V2
854
855 [[image:image-20231201174640-1.png||height="584" width="1148"]]
856
857
858 **11.1 Generate API Tokens**
859
860 Access the built-in chirpstack , click "API Key" and "Add API Key".
861
862 [[image:image-20231201175118-2.png||height="597" width="1156"]]
863
864 Save the generated API Tokens
865
866 [[image:image-20231201175648-3.png||height="596" width="1155"]]
867
868 [[image:image-20231201180103-4.png||height="413" width="1151"]]
869
870 = 12.  Example: Use Local Server ChirpStack and Node-Red in LPS8v2 =
871
872
873 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:
874
875 * LHT65N register on LPS8v2 Built-In ChirpStack server already
876 * The user is able to see the data on the built-in ChirpStack server device page.
877
878 Below are the steps to plot the sensor data on LPS8v2 Node-Red.
879
880
881 == 12.1 Link Node-Red to Local ChirpStack ==
882
883
884 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"]]**
885
886 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]]**
887
888 After importing the Input Flow is complete, the user needs to edit the MQTT in the node
889
890
891 (% style="color:blue" %)**1. Change the Topic**
892
893 Topic modifies it to the following format:
894
895 **application/(% style="color:red" %)Application ID(%%)/device/(% style="color:red" %)End device ID(%%)/event/up**
896
897 Reference link: [[**Node-RED integration** >>https://www.chirpstack.io/docs/guides/node-red-integration.html]]
898
899 [[image:image-20230527143923-1.png||height="588" width="1132"]]
900
901
902
903 (% style="color:blue" %)**2. Enter the MQTT configuration information**
904
905 [[image:image-20230527144206-2.png||height="590" width="1136"]]
906
907
908 (% style="color:blue" %)**3.** **Finally, click "Update" and Deploy**
909
910 "Connected" indicates that the Link Node-red to Local Chirpstack is normal.
911
912 [[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"]]
913
914
915 == 12.2 Check result. ==
916
917
918 Users can check logs by adding debug.
919
920 Browser access: **Node-Red-Server-Address:1880/ui**
921
922 [[image:image-20230529150923-1.png||height="424" width="1118"]]
923
924
925 = 13.  Trouble Shooting =
926
927 == 13.1  MIC Mismatch or MIC Failed ==
928
929
930 (((
931 When the device is registered or the device is working normally, the problem of MIC mismatch and MIC failed occurs.
932 )))
933
934 (((
935 Under normal circumstances, users need to change the APPKEY to solve this problem.
936
937
938 == 13.2  The node is very close to the gateway, but the signal is poor ==
939
940
941 If you are using US915 or AU915, you found the frequency points of different subband ranges in your uplink
942
943 Like that:Both 905.1Mhz and 902.3Mhz appear on uplink
944 But they belong to Subband1 and Subband2 of US915 respectively
945
946 Cause: The server and the gateway use different frequency bands (the server uses Subband1, and the gateway uses Subband2)
947
948 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.
949
950 How to check the frequency band used by the server:
951
952 You can view the information sent by the server: ch_mask in Unconfirmdedatadown
953
954 [[image:image-20230821113255-1.png]]
955
956 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.
957
958 [[image:image-20230821113539-2.png]]
959
960 In the second message, the channel 0~~7 is true, which means that your server is using subband2.
961
962 [[image:image-20230821113618-3.png]]
963
964 **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]]**
965
966
967 )))
Copyright ©2010-2022 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0