Show last authors
1 **~ Table of Contents:**
2
3 {{toc/}}
4
5
6
7 = 1. The Things Network-V3 =
8
9
10 == 1.1  Introduction ==
11
12
13 === 1.1.1  What is The Things Network ===
14
15
16 (((
17 The Things Network is a global collaborative Internet of Things ecosystem that creates networks, devices and solutions using LoRaWAN.
18 )))
19
20 (((
21 The Things Network runs The Things Stack Community Edition, which is a crowdsourced, open and decentralized LoRaWAN network. This network is a great way to get started testing devices, applications, and integrations, and get familiar with LoRaWAN.
22
23
24
25 )))
26
27 === 1.1.2  Login or crate an account ===
28
29
30 (((
31 [[Login or create an account>>url:https://console.cloud.thethings.network/]] to get started with The Things Network and start using The Things Stack Console.
32 )))
33
34 (((
35 Once you have an account,get started by following steps for adding Gateway,Device and Intergrations.
36
37
38
39 )))
40
41 === 1.1.3  List the support products and Requirements ===
42
43
44 LoRaWAN Gateway model: Existing Gateway
45
46
47
48 = 2.  Gateway Registration for Semtech UDP =
49
50
51 == 2.1  Primary LoRaWAN Server ==
52
53
54 [[image:image-20220526134633-2.png||height="616" width="1323"]]
55
56 Register Gateway
57
58
59
60 [[image:image-20220526134826-4.png]]
61
62 Put Gateway ID
63
64
65
66 [[image:image-20220526134759-3.png]]
67
68 Choose Frequency Band
69
70
71
72 (% style="color:red" %)**Note:**
73
74 DRAGINO - Frequency Plan list  ~-~-~-~-~-~-~-~-~-~-~-~-~-~--  The Thing Network Frequency Plan List
75
76 AS923-1 (920-923)  ~-~-~-~-~-~-~-~-~-~-~-~-~-~--  Asia 920-923 Mhz
77
78 AS923-1 (923-925)  ~-~-~-~-~-~-~-~-~-~-~-~-~-~--  Asia 915-928 Mhz (AS923 Group 1)with only default channels
79
80 AS923-2 (921.4-922.8)  ~-~-~-~-~-~-~-~-~-~-~-~-~-~--  Asia 920-923 Mhz (AS923 Group 2)with only default channels
81
82 AS923-3 (916.6-918.2)  ~-~-~-~-~-~-~-~-~-~-~-~-~-~--  Asia 915-921 Mhz (AS923 Group 3)with only default channels
83
84 AS923-4 (917.3-918.7)  ~-~-~-~-~-~-~-~-~-~-~-~-~-~--  Asia 917-920 Mhz (AS923 Group 4)with only default channels
85
86
87 [[image:image-20220726134642-1.png||height="344" width="660"]][[image:image-20220726135827-3.png||height="214" width="394"]][[image:image-20220726135759-2.png||height="218" width="554"]]
88
89
90
91 [[image:image-20220526134919-5.png]]
92
93 Show Status
94
95
96
97 == 2.2  Secondary LoRaWAN Server ==
98
99
100 === 2.2.1  Introduction ===
101
102
103 The Dragino gateway has supports the Secondary server settings.
104
105
106
107 === 2.2.2  Below list the support products and Requirements: ===
108
109
110 (((
111 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]]
112 )))
113
114 (((
115 2.  Firmware version since :  [[lgw~~-~~-build-v5.4.1644658774>>url:http://www.dragino.com/downloads/index.php?dir=LoRa_Gateway/LIG16/Firmware/Release/]]
116 )))
117
118
119
120 === 2.2.3  Example ===
121
122
123 The following takes Helium as a Secondary LoRaWAN server as an example
124
125
126
127 === 2.2.4  Step 1: Download and Install the helium gateway-rs ===
128
129
130 The users is needing to download and install the helium gateway-rs then click the button of (% style="color:blue" %)**Save&Apply.**
131
132
133 [[image:image-20220526135049-6.png]]
134
135 Download and Install gateway-rs
136
137
138
139 === 2.2.5  Step 2: Back to Semtech UDP page ===
140
141
142 Back to the page of Semtech UDP check the secondary server settings and click the button of (% style="color:blue" %)**Save&Apply.**
143
144
145 ​​​​[[image:image-20220526135125-7.png]]
146
147 Configuration of helium
148
149
150
151 = 3.  Gateway Registration for Basics Station =
152
153
154 == 3.1  Introduction ==
155
156
157 (((
158 (((
159 The LoRa Basics™ Station protocol simplifies management of large scale LoRaWAN networks. LoRa Basics™ Station is the preferred way of connecting Gateways to The Things Stack. [[The LoRa Basics Station doc>>url:https://www.thethingsindustries.com/docs/gateways/lora-basics-station/]]
160
161
162 )))
163 )))
164
165 (((
166 (% style="color:blue" %)**Below list the support products and Requirements:**
167 )))
168
169 (((
170 (((
171 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]]
172 )))
173
174 (((
175 2.  Firmware version since :  [[lgw~~-~~-build-v5.4.1640315898>>url:https://www.dragino.com/downloads/index.php?dir=LoRa_Gateway/LPS8/Firmware/Release/]]
176
177
178 )))
179 )))
180
181 (((
182 (% style="color:blue" %)**What do you need to prepare**
183 )))
184
185 (((
186 (((
187 A gateway that can access the internet normally
188
189
190
191 )))
192 )))
193
194 == 3.2  Step 1: Add Gateway ==
195
196
197 (((
198 (((
199 (% style="color:blue" %)**The example for**(%%)** (% style="color:red" %)EU:(%%)**
200 )))
201 )))
202
203 (((
204 (((
205 User can add your gateway into The Things Network V3 according to the previous step
206 )))
207 )))
208
209 (((
210 (((
211 Following picture is the successful added.
212
213
214 )))
215 )))
216
217 [[image:image-20220526135316-8.png]]
218
219 Add Gateway
220
221
222
223 == 3.3  Step 2: Create the API key ==
224
225
226 user need to create the CUPS API key and LNS API key.
227
228
229 [[image:image-20220526135349-9.png]]
230
231 Create CUPS API key
232
233
234
235 [[image:image-20220526135428-10.png]]
236
237 Create LNS API key
238
239
240 (% style="color:red" %)**Note : Please copy the API key.**
241
242
243
244 == 3.4  Step 3: Update the gateway setting ==
245
246
247 In the LoRa Basics Station LNS Authentication Key field, paste the API key you generated in the previous step.
248
249
250 [[image:image-20220526135528-11.png]]
251
252 paste the API key
253
254
255
256 == 3.5  Step 4: Access the gateway GUI ==
257
258
259 User need to update the API key and install the Certificate
260
261
262 [[image:image-20220526135601-12.png]]
263
264 Access the gateway GUI
265
266
267
268 == 3.6  Step 5: Configure Station ==
269
270
271 User need to input Server URI, Server CUPS Key and LNS Key, as well as install CUPS certificate.
272
273
274 (% style="color:blue" %)**just to clarify:**
275
276 (% class="box" %)
277 (((
278 CUPS Server URI  ~-~->  Server Adress
279 CUPS Authorization Key         ~-~->  Server CUPS API Key
280 LNS Authorization Key  ~-~->  Server LNS API Key
281 CUPS certificate  ~-~->  Server CA(user can use the button to install the certificate by default)
282 )))
283
284 [[image:image-20220526135654-13.png]]
285
286 Congfigure Station
287
288
289
290 == 3.7  Start Station ==
291
292
293 (((
294 When the user has finished the configuration,Please click Sace&Apply to start station to connect The Things Network.
295
296
297
298 )))
299
300 == 3.8  Siccessful Connection ==
301
302
303 If user completes the above steps,which will see live date in the TTN.
304
305
306 [[image:image-20220526135734-14.png]]
307
308 Station live date
309
310
311
312 == 3.9  Trouble Shooting ==
313
314
315 User can check the station log in the** (% style="color:blue" %)LogRead ~-~-> System Log (%%)**page.
316
317
318 [[image:image-20220526135845-15.png]]
319
320 Station Log
321
322
323
324 and recode the station log in the** (% style="color:blue" %)LogRead  ~-~->  Recode Log(%%)** page.
325
326 [[image:image-20220526135940-16.png]]
327
328 Recore Log
329
330
331
332 = 4.  Configure node connection to TTNv3 =
333
334
335 (((
336 (((
337 Following is an example for how to join the TTN v3 LoRaWAN Network.
338 )))
339 )))
340
341 (((
342 (((
343 The gateway is already set up to connect to the TTN network, so we now need to configure the TTNv3 server.
344 )))
345 )))
346
347 (((
348 (((
349 (% style="color:#037691" %)**We take LES01 as an example.**
350
351
352
353 )))
354 )))
355
356 == 4.1  Step 1 ==
357
358
359 (((
360 (((
361 Create a device in TTN with the OTAA keys from LSE01.
362 )))
363 )))
364
365 (((
366 (((
367 Each LSE01 is shipped with a sticker with the default device EUI as below:
368 )))
369 )))
370
371 (((
372 (((
373 You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
374 )))
375 )))
376
377 [[image:image-20220526140015-17.png]]
378
379
380 [[image:image-20220526140044-18.png]]
381
382
383
384 == 4.2  Step 2 ==
385
386
387 (((
388 (((
389 There are all our nodes in the repository. Users can choose the corresponding brand, model, firmware version and frequency.The decoder and configuration information of the node are pre-configured.Users do not need to configure them.
390
391
392 )))
393 )))
394
395 [[image:image-20220526140132-19.png]]
396
397
398
399 == 4.3  Step 3 ==
400
401
402 Add APP EUI in the application:
403
404
405 [[image:image-20220526140205-20.png]]
406
407
408
409 == 4.4  Step 4 ==
410
411
412 **Add APP KEY and DEV EUI:**
413
414
415 [[image:image-20220526140251-21.png]]
416
417
418
419 = 5.  TTN V3 integrated into MQTT server =
420
421
422 == 5.1  Introduction ==
423
424
425 (((
426 (((
427 The Application Server exposes an MQTT server to work with streaming events. In order to use the MQTT server you need to create a new API key, which will function as connection password. You can also use an existing API key, as long as it has the necessary rights granted.
428
429
430
431 )))
432 )))
433
434 == 5.2  Create device steps at MQTT ==
435
436
437 (((
438 (((
439 The user creates a new API KEY after creating a device on TTN V3.
440 )))
441 )))
442
443 (((
444 (((
445 Then copy the password and open MQTT.fx.
446 )))
447 )))
448
449 (((
450 (((
451 Fill in Broker Address and Broker port.
452
453
454 )))
455 )))
456
457 [[image:image-20220526140347-22.png]]
458
459 Fill in the username and password into MQTT.
460
461
462
463 [[image:image-20220526140420-23.png]]
464
465
466 The Application Server publishes uplink traffic on the following topics:
467
468 (% class="box" %)
469 (((
470 v3/{application id}@{tenant id}/devices/{device id}/join
471 v3/{application id}@{tenant id}/devices/{device id}/up
472 v3/{application id}@{tenant id}/devices/{device id}/down/queued
473 v3/{application id}@{tenant id}/devices/{device id}/down/sent
474 v3/{application id}@{tenant id}/devices/{device id}/down/ack
475 v3/{application id}@{tenant id}/devices/{device id}/down/nack
476 v3/{application id}@{tenant id}/devices/{device id}/down/failed
477 v3/{application id}@{tenant id}/devices/{device id}/service/data
478 v3/{application id}@{tenant id}/devices/{device id}/location/solved
479 )))
480
481 (((
482
483
484 (((
485 (% style="color:red" %)**Note**: **Remember that the format of these topics for The Things Stack Open Source would contain {application id} instead of {application id}@{tenant id}.**
486
487
488 )))
489 )))
490
491 [[image:image-20220526140452-24.png]]
492
493
494 (((
495 (((
496 While you could subscribe to all of these topics separately, for the simplicity of this tutorial we use # to subscribe to all topics, i.e. to receive all uplink traffic.
497 )))
498 )))
499
500 [[image:image-20220526140708-25.png]]
501
502 (((
503 (((
504 Downlinks can be scheduled by publishing the message to the topic v3/{application id}@{tenant id}/devices/{device id}/down/push.
505 )))
506 )))
507
508 (((
509 (((
510
511
512 (% style="color:red" %)**Note**: **Remember that the format of this topic for The Things Stack Open Source deployment would be v3/{application id}/devices/{device id}/down/push.**
513
514
515 )))
516 )))
517
518 (((
519 (((
520 Instead of /push, you can also use /replace to replace the downlink queue. Replacing with an empty array clears the downlink queue. Example:
521 )))
522 )))
523
524 [[image:image-20220526140856-26.png]]
525
526 (((
527 To send an unconfirmed downlink message to the device dev1 in application app1 in tenant tenant1 with the hexadecimal payload BE EF on FPort 15 with normal priority, use the topic v3/app1@tenant1/devices/dev1/down/push with the following contents:
528
529
530 )))
531
532 (((
533 (% style="color:red" %)**Note**: **Use this handy tool to convert hexadecimal to base64.**
534
535
536 )))
537
538 [[image:image-20220526140936-27.png]]
539
540
541
542 == 5.3  Send Downlink message ==
543
544
545 (((
546 How to configure downlink in TTN V3?
547 )))
548
549 (((
550 A few examples: set the transmission interval to 90 seconds.
551 )))
552
553 (((
554 (% style="color:blue" %)**Downlink command: 01 00 00 5A**
555
556
557 )))
558
559 [[image:image-20220526141021-28.png]]
560
561 downlink
562
563
564
565 After sending, you can view it in live data.
566
567 [[image:image-20220526141052-29.png]]
568
569 downlink
570
571
572
573 (((
574 When downlink is successfully sent, the downlink information can be received on the serial port.
575 )))
576
577 (((
578 (% style="color:red" %)**Note**:** If the downlink byte sent is longer, the number of bytes will be displayed.**
579
580
581 )))
582
583 [[image:image-20220526141116-30.png]]
584
585 downlink
586
587
588 (((
589 (((
590 If you want to get a successful reply to send downlink in TTN v3. You need to set the response level.
591 )))
592 )))
593
594 (((
595 (((
596 If the equipment uses (% style="color:blue" %)**CLASS A**(%%). You can set (% style="color:red" %)**AT+RPL=2** (%%)or send the downlink command: (% style="color:red" %)**2102**
597 )))
598 )))
599
600 (((
601 (((
602 If the equipment uses (% style="color:blue" %)**CLASS C**(%%). You can set** (% style="color:red" %)AT+RPL=4(%%)** or send the downlink command: (% style="color:red" %)**2104**
603 )))
604 )))
605
606 (((
607 (((
608 When the device successfully receives the downlink, the server will receive a confirmation packet of 00.
609
610
611 )))
612 )))
613
614 [[image:image-20220526141149-31.png]]
615
616 downlink
617
618
619 = 6.  Route TTN data to Node-Red =
620
621
622 Users can create an MQTT integration by following the steps described in "[[5.TTN V3 Integrated into MQTT Server>>http://wiki.dragino.com/xwiki/bin/view/Main/Notes%20for%20TTN/#H5.A0TTNV3integratedintoMQTTserver]]"
623
624
625 == 6.1  Edit mqtt-broker node ==
626
627
628 Users need to configure the TTN MQTT server address and port, Such as:
629
630 (% class="box infomessage" %)
631 (((
632 **Server :** eu1.cloud.thethings.network
633
634 **Port  :** 1883
635 )))
636
637 [[image:image-20220829160224-187.jpeg||height="569" width="1128"]]
638
639
640 **Enter Username and Password**
641
642 [[image:image-20220829164358-188.png||height="570" width="1130"]]
643
644
645
646 == 6.2  Debug ==
647
648
649 Users can check logs by adding debug.
650
651 [[image:image-20220829164652-189.png||height="572" width="1134"]]
652
653
654
655 == 6.3  Example: Use Local Server TTN and Node-Red in LPS8v2 ==
656
657
658 LPS8v2 includes a local TTN 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:
659
660 * LHT65N register on LPS8v2 Built-In TTN server already
661 * The user is able to see the data on the built-in TTN server device page.
662
663 Below are the steps to plot the sensor data on LPS8v2 Node-Red.
664
665
666
667 === 6.3.1  Link Node-Red to Local TTN ===
668
669
670 Users can download the Node-Red decoder from this link and import it into the Node-Red platform:  [[dragino-end-node-decoder/LHT65N.json at main · dragino/dragino-end-node-decoder (github.com)>>url:https://github.com/dragino/dragino-end-node-decoder/blob/main/Node-RED/LHT65N.json]]
671
672
673 [[image:image-20220913134247-1.png||height="445" width="425"]]
674
675
676 [[image:image-20220913153442-2.png||height="555" width="926"]]
677
678
679
680 6.3.2 Add input flow for device.
681
682 6.3.3 Check result.
683
684
685
686
687 = 7.  Request Remote Support =
688
689
690 (((
691 These pages are useful to check what is wrong on the Join process. Below shows the four steps that we can check the Join Process.
692 \\If problem not solve, and you need dragino remote support, please follow to this document: [[TTN Support instruction>>url:https://www.dragino.com/downloads/index.php?dir=&file=TTNv3_Support_Guide.pdf]](% style="color:red" %) **If user has checked below steps and still can't solve the problem, please send us (support @ dragino.com) the screenshots for each step to check. They include:**
693 )))
694
695 * End node is connected to serial port to show the Join frequency and DR. (If possible)
696 * Gateway (from gateway UI) traffic to show the packet got from end node and receive from Server. (If possible)
697 * Gateway traffic (from server UI) to shows the data exchange between gateway and server. (Normally possible)
698 * End Node traffic (from server UI) to shows end node activity in server. (Normally possible)
699 * End Node Keys screen shot shows in end node and server. so we can check if the keys are correct. (In most case, we found keys doesn't match, especially APP EUI)
700
701
702
703
704 (% style="color:blue" %)**1. End Device Join Screen shot, we can check:**
705
706 * If the device is sending join request to server?
707 * What frequency the device is sending?
708
709 [[image:image-20220526141308-33.png]]
710
711 Console Output from End device to see the transmit frequency
712
713
714 User can run (% style="color:blue" %)**AT+CFG **(%%)command to print configuration information.
715
716 * Is the device in OTAA mode or ABP mode? (% style="color:red" %)**AT+NJM=1** (%%)(OTAA mode), (% style="color:red" %)**AT+NJM=0**(%%) (ABP mode)
717
718 [[image:image-20220526141612-36.png]]
719
720
721 Console Output from End device to see the transmit frequency
722
723
724
725 (% style="color:blue" %)**2. Gateway packet traffic in gateway web or ssh. we can check:**
726
727 * (((
728 If the gateway receive the Join request packet from sensor? (If this fail, check if the gateway and sensor works on the match frequency)
729 )))
730 * (((
731 If the gateway gets the Join Accept message from server and transmit it via LoRa?
732
733
734
735 )))
736
737 [[image:image-20220526141739-37.png]]
738
739 Console Output from Gateway to see packets between end node and server.
740
741
742
743 (% style="color:blue" %)**3. Gateway Traffic Page in LoRaWAN Server**
744
745 * (((
746 If the Join Request packet arrive the gateway traffic in server? If not, check the internet connection and gateway LoRaWAN server settings.
747 )))
748 * (((
749 If the server send back a Join Accept for the Join Request? if not, check if the keys from the device match the keys you put in the server, or try to choose a different server route for this end device.
750 )))
751 * (((
752 If the Join Accept message are in correct frequency? If you set the server to use US915 band, and your end node and gateway is EU868, you will see the Join Accept message are in US915 band so no possible to Join success.
753
754
755
756 )))
757
758 [[image:image-20220526141823-38.png||height="501" width="1144"]]
759
760 The Traffic for the End node in the server, use TTNv3 as example
761
762
763
764 [[image:image-20220526141917-39.png]]
765
766 The Traffic for the End node in the server, use TTNv3 as example
767
768
769
770 (% style="color:blue" %)**4. Data Page in LoRaWAN server**
771
772 (((
773 (((
774 (((
775 If this data page shows the Join Request message from the end node? If not, most properly you have wrong settings in the keys. Keys in the server doesn't match the keys in End Node.
776
777
778 [[image:image-20220526141956-40.png]]
779 )))
780 )))
781 )))
782
783 The data for the end device set in server
784
785
786
787 [[image:image-20220526142033-41.png]]
788
789 Check if OTAA Keys match the keys in device
790
791
Copyright ©2010-2022 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0