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 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 [[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"]]
87
88
89
90 [[image:image-20220526134919-5.png]]
91
92 Show Status
93
94
95
96 == 2.2  Secondary LoRaWAN Server ==
97
98
99 === 2.2.1  Introduction ===
100
101
102 The Dragino gateway has supports the Secondary server settings.
103
104
105
106 === 2.2.2  Below list the support products and Requirements: ===
107
108
109 (((
110 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]]
111 )))
112
113 (((
114 2.  Firmware version since :  [[lgw~~-~~-build-v5.4.1644658774>>url:http://www.dragino.com/downloads/index.php?dir=LoRa_Gateway/LIG16/Firmware/Release/]]
115 )))
116
117
118
119 === 2.2.3  Example ===
120
121
122 The following takes Helium as a Secondary LoRaWAN server as an example
123
124
125
126 === 2.2.4  Step 1: Download and Install the helium gateway-rs ===
127
128
129 The users is needing to download and install the helium gateway-rs then click the button of (% style="color:blue" %)**Save&Apply.**
130
131
132 [[image:image-20220526135049-6.png]]
133
134 Download and Install gateway-rs
135
136
137
138 === 2.2.5  Step 2: Back to Semtech UDP page ===
139
140
141 Back to the page of Semtech UDP check the secondary server settings and click the button of (% style="color:blue" %)**Save&Apply.**
142
143
144 ​​​​[[image:image-20220526135125-7.png]]
145
146 Configuration of helium
147
148
149
150 = 3.  Gateway Registration for Basics Station =
151
152
153 == 3.1  Introduction ==
154
155
156 (((
157 (((
158 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/]]
159
160
161 )))
162 )))
163
164 (((
165 (% style="color:blue" %)**Below list the support products and Requirements:**
166 )))
167
168 (((
169 (((
170 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]]
171 )))
172
173 (((
174 2.  Firmware version since :  [[lgw~~-~~-build-v5.4.1640315898>>url:https://www.dragino.com/downloads/index.php?dir=LoRa_Gateway/LPS8/Firmware/Release/]]
175
176
177 )))
178 )))
179
180 (((
181 (% style="color:blue" %)**What do you need to prepare**
182 )))
183
184 (((
185 (((
186 A gateway that can access the internet normally
187
188
189
190 )))
191 )))
192
193 == 3.2  Step 1: Add Gateway ==
194
195
196 (((
197 (((
198 (% style="color:blue" %)**The example for**(%%)** (% style="color:red" %)EU:(%%)**
199 )))
200 )))
201
202 (((
203 (((
204 User can add your gateway into The Things Network V3 according to the previous step
205 )))
206 )))
207
208 (((
209 (((
210 Following picture is the successful added.
211
212
213 )))
214 )))
215
216 [[image:image-20220526135316-8.png]]
217
218 Add Gateway
219
220
221
222 == 3.3  Step 2: Create the API key ==
223
224
225 user need to create the CUPS API key and LNS API key.
226
227
228 [[image:image-20220526135349-9.png]]
229
230 Create CUPS API key
231
232
233
234 [[image:image-20220526135428-10.png]]
235
236 Create LNS API key
237
238
239 (% style="color:red" %)**Note : Please copy the API key.**
240
241
242
243 == 3.4  Step 3: Update the gateway setting ==
244
245
246 In the LoRa Basics Station LNS Authentication Key field, paste the API key you generated in the previous step.
247
248
249 [[image:image-20220526135528-11.png]]
250
251 paste the API key
252
253
254
255 == 3.5  Step 4: Access the gateway GUI ==
256
257
258 User need to update the API key and install the Certificate
259
260
261 [[image:image-20220526135601-12.png]]
262
263 Access the gateway GUI
264
265
266
267 == 3.6  Step 5: Configure Station ==
268
269
270 User need to input Server URI, Server CUPS Key and LNS Key, as well as install CUPS certificate.
271
272
273 (% style="color:blue" %)**just to clarify:**
274
275 (% class="box" %)
276 (((
277 CUPS Server URI  ~-~->  Server Adress
278 CUPS Authorization Key         ~-~->  Server CUPS API Key
279 LNS Authorization Key  ~-~->  Server LNS API Key
280 CUPS certificate  ~-~->  Server CA(user can use the button to install the certificate by default)
281 )))
282
283 [[image:image-20220526135654-13.png]]
284
285 Congfigure Station
286
287
288
289 == 3.7  Start Station ==
290
291
292 (((
293 When the user has finished the configuration,Please click Sace&Apply to start station to connect The Things Network.
294
295
296
297 )))
298
299 == 3.8  Siccessful Connection ==
300
301
302 If user completes the above steps,which will see live date in the TTN.
303
304
305 [[image:image-20220526135734-14.png]]
306
307 Station live date
308
309
310
311 == 3.9  Trouble Shooting ==
312
313
314 User can check the station log in the** (% style="color:blue" %)LogRead ~-~-> System Log (%%)**page.
315
316
317 [[image:image-20220526135845-15.png]]
318
319 Station Log
320
321
322
323 and recode the station log in the** (% style="color:blue" %)LogRead  ~-~->  Recode Log(%%)** page.
324
325 [[image:image-20220526135940-16.png]]
326
327 Recore Log
328
329
330
331 = 4.  Configure node connection to TTNv3 =
332
333
334 (((
335 (((
336 Following is an example for how to join the TTN v3 LoRaWAN Network.
337 )))
338 )))
339
340 (((
341 (((
342 The gateway is already set up to connect to the TTN network, so we now need to configure the TTNv3 server.
343 )))
344 )))
345
346 (((
347 (((
348 (% style="color:#037691" %)**We take LES01 as an example.**
349
350
351
352 )))
353 )))
354
355 == 4.1  Step1 ==
356
357
358 (((
359 (((
360 Create a device in TTN with the OTAA keys from LSE01.
361 )))
362 )))
363
364 (((
365 (((
366 Each LSE01 is shipped with a sticker with the default device EUI as below:
367 )))
368 )))
369
370 (((
371 (((
372 You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
373 )))
374 )))
375
376 [[image:image-20220526140015-17.png]]
377
378
379 [[image:image-20220526140044-18.png]]
380
381
382
383 == 4.2  Step2 ==
384
385
386 (((
387 (((
388 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.
389
390
391 )))
392 )))
393
394 [[image:image-20220526140132-19.png]]
395
396
397
398 == 4.3  Step3 ==
399
400
401 Add APP EUI in the application:
402
403
404 [[image:image-20220526140205-20.png]]
405
406
407
408 == 4.4  Step4 ==
409
410
411 **Add APP KEY and DEV EUI:**
412
413
414 [[image:image-20220526140251-21.png]]
415
416
417
418 = 5.  TTN V3 integrated into MQTT server =
419
420
421 == 5.1  Introduction ==
422
423
424 (((
425 (((
426 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.
427
428
429
430 )))
431 )))
432
433 == 5.2  Create device steps at MQTT ==
434
435
436 (((
437 (((
438 The user creates a new API KEY after creating a device on TTN V3.
439 )))
440 )))
441
442 (((
443 (((
444 Then copy the password and open MQTT.fx.
445 )))
446 )))
447
448 (((
449 (((
450 Fill in Broker Address and Broker port.
451
452
453 )))
454 )))
455
456 [[image:image-20220526140347-22.png]]
457
458 Fill in the username and password into MQTT.
459
460
461
462 [[image:image-20220526140420-23.png]]
463
464
465 The Application Server publishes uplink traffic on the following topics:
466
467 (% class="box" %)
468 (((
469 v3/{application id}@{tenant id}/devices/{device id}/join
470 v3/{application id}@{tenant id}/devices/{device id}/up
471 v3/{application id}@{tenant id}/devices/{device id}/down/queued
472 v3/{application id}@{tenant id}/devices/{device id}/down/sent
473 v3/{application id}@{tenant id}/devices/{device id}/down/ack
474 v3/{application id}@{tenant id}/devices/{device id}/down/nack
475 v3/{application id}@{tenant id}/devices/{device id}/down/failed
476 v3/{application id}@{tenant id}/devices/{device id}/service/data
477 v3/{application id}@{tenant id}/devices/{device id}/location/solved
478 )))
479
480 (((
481
482
483 (((
484 (% 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}.**
485
486
487 )))
488 )))
489
490 [[image:image-20220526140452-24.png]]
491
492
493 (((
494 (((
495 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.
496 )))
497 )))
498
499 [[image:image-20220526140708-25.png]]
500
501 (((
502 (((
503 Downlinks can be scheduled by publishing the message to the topic v3/{application id}@{tenant id}/devices/{device id}/down/push.
504 )))
505 )))
506
507 (((
508 (((
509
510
511 (% 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.**
512
513
514 )))
515 )))
516
517 (((
518 (((
519 Instead of /push, you can also use /replace to replace the downlink queue. Replacing with an empty array clears the downlink queue. Example:
520 )))
521 )))
522
523 [[image:image-20220526140856-26.png]]
524
525 (((
526 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:
527
528
529 )))
530
531 (((
532 (% style="color:red" %)**Note**: **Use this handy tool to convert hexadecimal to base64.**
533
534
535 )))
536
537 [[image:image-20220526140936-27.png]]
538
539
540
541 == 5.3  Send Downlink message ==
542
543
544 (((
545 How to configure downlink in TTN V3?
546 )))
547
548 (((
549 A few examples: set the transmission interval to 90 seconds.
550 )))
551
552 (((
553 (% style="color:blue" %)**Downlink command: 01 00 00 5A**
554
555
556 )))
557
558 [[image:image-20220526141021-28.png]]
559
560 downlink
561
562
563
564 After sending, you can view it in live data.
565
566 [[image:image-20220526141052-29.png]]
567
568 downlink
569
570
571
572 (((
573 When downlink is successfully sent, the downlink information can be received on the serial port.
574 )))
575
576 (((
577 (% style="color:red" %)**Note**:** If the downlink byte sent is longer, the number of bytes will be displayed.**
578
579
580 )))
581
582 [[image:image-20220526141116-30.png]]
583
584 downlink
585
586
587 (((
588 (((
589 If you want to get a successful reply to send downlink in TTN v3. You need to set the response level.
590 )))
591 )))
592
593 (((
594 (((
595 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**
596 )))
597 )))
598
599 (((
600 (((
601 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**
602 )))
603 )))
604
605 (((
606 (((
607 When the device successfully receives the downlink, the server will receive a confirmation packet of 00.
608
609
610 )))
611 )))
612
613 [[image:image-20220526141149-31.png]]
614
615 downlink
616
617
618 = 6.  Route TTN data to Node-Red =
619
620
621 = 7.  Request Remote Support =
622
623
624 (((
625 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.
626 \\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:**
627 )))
628
629 * End node is connected to serial port to show the Join frequency and DR. (If possible)
630 * Gateway (from gateway UI) traffic to show the packet got from end node and receive from Server. (If possible)
631 * Gateway traffic (from server UI) to shows the data exchange between gateway and server. (Normally possible)
632 * End Node traffic (from server UI) to shows end node activity in server. (Normally possible)
633 * 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)
634
635 (% style="color:blue" %)**1. End Device Join Screen shot, we can check:**
636
637 * If the device is sending join request to server?
638 * What frequency the device is sending?
639
640 [[image:image-20220526141308-33.png]]
641
642 Console Output from End device to see the transmit frequency
643
644
645 User can run (% style="color:blue" %)**AT+CFG **(%%)command to print configuration information.
646
647 * 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)
648
649 [[image:image-20220526141612-36.png]]
650
651
652 Console Output from End device to see the transmit frequency
653
654
655
656 (% style="color:blue" %)**2. Gateway packet traffic in gateway web or ssh. we can check:**
657
658 * (((
659 If the gateway receive the Join request packet from sensor? (If this fail, check if the gateway and sensor works on the match frequency)
660 )))
661 * (((
662 If the gateway gets the Join Accept message from server and transmit it via LoRa?
663
664
665
666 )))
667
668 [[image:image-20220526141739-37.png]]
669
670 Console Output from Gateway to see packets between end node and server.
671
672
673
674 (% style="color:blue" %)**3. Gateway Traffic Page in LoRaWAN Server**
675
676 * (((
677 If the Join Request packet arrive the gateway traffic in server? If not, check the internet connection and gateway LoRaWAN server settings.
678 )))
679 * (((
680 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.
681 )))
682 * (((
683 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.
684
685
686
687 )))
688
689 [[image:image-20220526141823-38.png||height="501" width="1144"]]
690
691 The Traffic for the End node in the server, use TTNv3 as example
692
693
694
695 [[image:image-20220526141917-39.png]]
696
697 The Traffic for the End node in the server, use TTNv3 as example
698
699
700
701 (% style="color:blue" %)**4. Data Page in LoRaWAN server**
702
703 (((
704 (((
705 (((
706 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.
707
708
709 [[image:image-20220526141956-40.png]]
710 )))
711 )))
712 )))
713
714 The data for the end device set in server
715
716
717
718 [[image:image-20220526142033-41.png]]
719
720 Check if OTAA Keys match the keys in device
Copyright ©2010-2022 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0