Show last authors
1 **~ Table of Contents:**
2
3 {{toc/}}
4
5
6
7 = 1. The Things Network-V3 =
8
9 == 1.1  Introduction ==
10
11 === 1.1.1  What is The Things Network ===
12
13
14 (((
15 The Things Network is a global collaborative Internet of Things ecosystem that creates networks, devices and solutions using LoRaWAN.
16 )))
17
18 (((
19 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.
20
21
22 )))
23
24 === 1.1.2  Login or crate an account ===
25
26
27 (((
28 [[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.
29 )))
30
31 (((
32 Once you have an account,get started by following steps for adding Gateway,Device and Intergrations.
33
34
35 )))
36
37 === 1.1.3  List the support products and Requirements ===
38
39
40 LoRaWAN Gateway model: Existing Gateway
41
42
43 = 2.  Gateway Registration for Semtech UDP =
44
45
46 (% style="color:red" %)**Note: Steps 2 and 3 are different connection methods, the user only needs to choose one of them**
47
48
49 == 2.1  Primary LoRaWAN Server ==
50
51
52 [[image:image-20220526134633-2.png||height="616" width="1323"]]
53
54 Register Gateway
55
56
57
58 [[image:image-20220526134826-4.png]]
59
60 Put Gateway ID
61
62
63
64 [[image:image-20220526134759-3.png]]
65
66 Choose Frequency Band
67
68
69
70 (% style="color:red" %)**Note:**
71
72 DRAGINO - Frequency Plan list  ~-~-~-~-~-~-~-~-~-~-~-~-~-~--  The Thing Network Frequency Plan List
73
74 AS923-1 (920-923)  ~-~-~-~-~-~-~-~-~-~-~-~-~-~--  Asia 920-923 Mhz
75
76 AS923-1 (923-925)  ~-~-~-~-~-~-~-~-~-~-~-~-~-~--  Asia 915-928 Mhz (AS923 Group 1)with only default channels
77
78 AS923-2 (921.4-922.8)  ~-~-~-~-~-~-~-~-~-~-~-~-~-~--  Asia 920-923 Mhz (AS923 Group 2)with only default channels
79
80 AS923-3 (916.6-918.2)  ~-~-~-~-~-~-~-~-~-~-~-~-~-~--  Asia 915-921 Mhz (AS923 Group 3)with only default channels
81
82 AS923-4 (917.3-918.7)  ~-~-~-~-~-~-~-~-~-~-~-~-~-~--  Asia 917-920 Mhz (AS923 Group 4)with only default channels
83
84
85 [[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"]]
86
87
88
89 [[image:image-20220526134919-5.png]]
90
91 Show Status
92
93
94 == 2.2  Secondary LoRaWAN Server ==
95
96 === 2.2.1  Introduction ===
97
98
99 The Dragino gateway has supports the Secondary server settings.
100
101
102 === 2.2.2  Below list the support products and Requirements: ===
103
104
105 (((
106 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]]
107 )))
108
109 (((
110 2.  Firmware version since :  [[lgw~~-~~-build-v5.4.1644658774>>url:http://www.dragino.com/downloads/index.php?dir=LoRa_Gateway/LIG16/Firmware/Release/]]
111 )))
112
113
114 === 2.2.3  Example ===
115
116
117 The following takes Helium as a Secondary LoRaWAN server as an example
118
119
120 === 2.2.4  Step 1: Download and Install the helium gateway-rs ===
121
122
123 The users is needing to download and install the helium gateway-rs then click the button of (% style="color:blue" %)**Save&Apply.**
124
125
126 [[image:image-20220526135049-6.png]]
127
128 Download and Install gateway-rs
129
130
131 === 2.2.5  Step 2: Back to Semtech UDP page ===
132
133
134 Back to the page of Semtech UDP check the secondary server settings and click the button of (% style="color:blue" %)**Save&Apply.**
135
136
137 ​​​​[[image:image-20220526135125-7.png]]
138
139 Configuration of helium
140
141
142 = 3.  Gateway Registration for Basics Station =
143
144 == 3.1  Introduction ==
145
146
147 (((
148 (((
149 The LoRa Basics™ Station protocol simplifies the 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/]]
150
151 (% style="color:red" %)**Note: Steps 2 and 3 are different connection methods, the user only needs to choose one of them**
152
153
154 )))
155 )))
156
157 (((
158 (% style="color:blue" %)**Below list the support products and Requirements:**
159 )))
160
161 (((
162 (((
163 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]]
164 )))
165
166 (((
167 2.  Firmware version since :  [[lgw~~-~~-build-v5.4.1640315898>>url:https://www.dragino.com/downloads/index.php?dir=LoRa_Gateway/LPS8/Firmware/Release/]]
168
169
170 )))
171 )))
172
173 (((
174 (% style="color:blue" %)**What do you need to prepare?**
175 )))
176
177 (((
178 (((
179 A gateway that can access the internet normally
180
181
182 )))
183 )))
184
185 == 3.2  Step 1: Register Gateway ==
186
187
188 (((
189 (((
190 (% style="color:blue" %)**The example for**(%%)** the (% style="color:red" %)EU:(%%)**
191 )))
192 )))
193
194 (((
195 (((
196 Click the 'Register Gateway' button will get this page to register the gateway from The Thing Network Console gateway page.
197
198 [[image:image-20230728144218-7.png||height="128" width="836"]]
199 )))
200 )))
201
202 [[image:image-20230728143449-2.png]]
203
204 Register Gateway
205
206
207 == 3.3  Step 2: Create the API key ==
208
209
210 **API Key can be created manually**  ~-~-->  if users forgot to check the check box or switch to basic station mode from the Semtech UDP mode
211
212
213
214
215 **or generate by TTN by checking the check box when registering the gateway** ~-~-->[[image:image-20230728143505-3.png]]
216
217
218 === **1.) Generated by TTH** ===
219
220 === ===
221
222 === ===
223
224 === **2.) Manually create API KEY: ** ===
225
226
227 ==== CUPS API KEY ====
228
229 [[image:image-20220526135349-9.png]]
230
231
232
233 ==== LNS API KEY ====
234
235 [[image:image-20220526135428-10.png]]
236
237
238 (% style="color:red" %)**Note: If your API is generated by yourself you have to update the key to the gateway setting.**
239
240
241 ==== Update the gateway setting ====
242
243
244 In the LoRa Basics Station LNS Authentication Key field, paste the API key you generated in the previous step.
245
246
247 [[image:image-20220526135528-11.png]]
248
249 paste the API key
250
251
252 == 3.5  Step 4: Access the gateway GUI ==
253
254
255 User need to update the API key and install the Certificate
256
257
258 [[image:image-20220526135601-12.png]]
259
260 Access the gateway GUI
261
262
263 == 3.6  Step 5: Configure Station ==
264
265
266 User need to input Server URI, Server CUPS Key and LNS Key, as well as install CUPS certificate.
267
268
269 (% style="color:blue" %)**just to clarify:**
270
271 (% class="box" %)
272 (((
273 CUPS Server URI  ~-~->  Server Adress
274 CUPS Authorization Key         ~-~->  Server CUPS API Key
275 LNS Authorization Key  ~-~->  Server LNS API Key
276 CUPS certificate  ~-~->  Server CA(user can use the button to install the certificate by default)
277 )))
278
279 [[image:image-20220526135654-13.png]]
280
281 Congfigure Station
282
283
284 == 3.7  Start Station ==
285
286
287 (((
288 When the user has finished the configuration,Please click Sace&Apply to start station to connect The Things Network.
289
290
291 )))
292
293 == 3.8  Siccessful Connection ==
294
295
296 If user completes the above steps,which will see live date in the TTN.
297
298
299 [[image:image-20220526135734-14.png]]
300
301 Station live date
302
303
304 == 3.9  Trouble Shooting ==
305
306
307 User can check the station log in the** (% style="color:blue" %)LogRead ~-~-> System Log (%%)**page.
308
309
310 [[image:image-20220526135845-15.png]]
311
312 Station Log
313
314
315
316 and recode the station log in the** (% style="color:blue" %)LogRead  ~-~->  Recode Log(%%)** page.
317
318 [[image:image-20220526135940-16.png]]
319
320 Recore Log
321
322
323 = 4.  Configure node connection to TTNv3 =
324
325
326 (((
327 (((
328 Following is an example for how to join the TTN v3 LoRaWAN Network.
329 )))
330 )))
331
332 (((
333 (((
334 The gateway is already set up to connect to the TTN network, so we now need to configure the TTNv3 server.
335 )))
336 )))
337
338 (((
339 (((
340 (% style="color:#037691" %)**We take LES01 as an example.**
341
342
343 )))
344 )))
345
346 == 4.1  Step 1 ==
347
348
349 (((
350 (((
351 Create a device in TTN with the OTAA keys from LSE01.
352 )))
353 )))
354
355 (((
356 (((
357 Each LSE01 is shipped with a sticker with the default device EUI as below:
358 )))
359 )))
360
361 (((
362 (((
363 You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
364 )))
365 )))
366
367 [[image:image-20230221135445-1.png||height="356" width="777"]]
368
369 First create an application and fill in the custom information in it
370
371 [[image:image-20230221135520-2.png||height="52" width="974"]]
372
373 [[image:image-20230221135810-3.png||height="400" width="638"]]
374
375
376 Add a node device to the application
377
378
379 [[image:image-20220526140044-18.png]]
380
381
382 == 4.2  Step 2 ==
383
384
385 (((
386 (((
387 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.
388
389 [[image:image-20230221164809-2.png||height="525" width="617"]]
390 )))
391 )))
392
393
394 == 4.3  Step 3 ==
395
396
397 Add APP EUI in the application:
398
399
400 [[image:image-20230221140131-4.png||height="569" width="674"]]
401
402
403 == 4.4  Step 4 ==
404
405
406 **Add APP KEY and DEV EUI:**
407
408
409 [[image:image-20230221140448-6.png||height="535" width="647"]]
410
411
412 = 5.  TTN V3 integrated into MQTT server =
413
414 == 5.1  Introduction ==
415
416
417 (((
418 (((
419 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.
420
421
422 )))
423 )))
424
425 == 5.2  Create device steps at MQTT ==
426
427
428 (((
429 (((
430 The user creates a new API KEY after creating a device on TTN V3.
431 )))
432 )))
433
434 (((
435 (((
436 Then copy the password and open MQTT.fx.
437 )))
438 )))
439
440 (((
441 (((
442 Fill in Broker Address and Broker port.
443
444
445 )))
446 )))
447
448 [[image:image-20220526140347-22.png]]
449
450 Fill in the username and password into MQTT.
451
452
453
454 [[image:image-20220526140420-23.png]]
455
456
457 The Application Server publishes uplink traffic on the following topics:
458
459 (% class="box" %)
460 (((
461 v3/{application id}@{tenant id}/devices/{device id}/join
462 v3/{application id}@{tenant id}/devices/{device id}/up
463 v3/{application id}@{tenant id}/devices/{device id}/down/queued
464 v3/{application id}@{tenant id}/devices/{device id}/down/sent
465 v3/{application id}@{tenant id}/devices/{device id}/down/ack
466 v3/{application id}@{tenant id}/devices/{device id}/down/nack
467 v3/{application id}@{tenant id}/devices/{device id}/down/failed
468 v3/{application id}@{tenant id}/devices/{device id}/service/data
469 v3/{application id}@{tenant id}/devices/{device id}/location/solved
470 )))
471
472 (((
473
474
475 (((
476 (% 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}.**
477
478
479 )))
480 )))
481
482 [[image:image-20220526140452-24.png]]
483
484
485 (((
486 (((
487 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.
488 )))
489 )))
490
491 [[image:image-20220526140708-25.png]]
492
493 (((
494 (((
495 Downlinks can be scheduled by publishing the message to the topic v3/{application id}@{tenant id}/devices/{device id}/down/push.
496 )))
497 )))
498
499 (((
500 (((
501
502
503 (% 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.**
504
505
506 )))
507 )))
508
509 (((
510 (((
511 Instead of /push, you can also use /replace to replace the downlink queue. Replacing with an empty array clears the downlink queue. Example:
512 )))
513 )))
514
515 [[image:image-20220526140856-26.png]]
516
517 (((
518 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:
519
520
521 )))
522
523 (((
524 (% style="color:red" %)**Note**: **Use this handy tool to convert hexadecimal to base64.**
525
526
527 )))
528
529 [[image:image-20220526140936-27.png]]
530
531
532 == 5.3  Send Downlink message ==
533
534
535 (((
536 How to configure downlink in TTN V3?
537 )))
538
539 (((
540 A few examples: set the transmission interval to 90 seconds.
541 )))
542
543 (((
544 (% style="color:blue" %)**Downlink command: 01 00 00 5A**
545
546
547 )))
548
549 [[image:image-20220526141021-28.png]]
550
551 downlink
552
553
554
555 After sending, you can view it in live data.
556
557 [[image:image-20220526141052-29.png]]
558
559 downlink
560
561
562
563 (((
564 When downlink is successfully sent, the downlink information can be received on the serial port.
565 )))
566
567 (((
568 (% style="color:red" %)**Note**:** If the downlink byte sent is longer, the number of bytes will be displayed.**
569
570
571 )))
572
573 [[image:image-20220526141116-30.png]]
574
575 downlink
576
577
578 (((
579 (((
580 If you want to get a successful reply to send downlink in TTN v3. You need to set the response level.
581 )))
582 )))
583
584 (((
585 (((
586 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**
587 )))
588 )))
589
590 (((
591 (((
592 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**
593 )))
594 )))
595
596 (((
597 (((
598 When the device successfully receives the downlink, the server will receive a confirmation packet of 00.
599
600
601 )))
602 )))
603
604 [[image:image-20220526141149-31.png]]
605
606 downlink
607
608
609 = 6.  Route TTN data to Node-Red =
610
611
612 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]]"
613
614
615 == 6.1  Edit mqtt-broker node ==
616
617
618 Users need to configure the TTN MQTT server address and port, Such as:
619
620 (% class="box infomessage" %)
621 (((
622 **Server :** eu1.cloud.thethings.network
623
624 **Port  :** 1883
625 )))
626
627 [[image:image-20220829160224-187.jpeg||height="569" width="1128"]]
628
629
630 **Enter Username and Password**
631
632 [[image:image-20220829164358-188.png||height="570" width="1130"]]
633
634
635 == 6.2  Debug ==
636
637
638 Users can check logs by adding debug.
639
640 [[image:image-20220829164652-189.png||height="572" width="1134"]]
641
642
643 == 6.3  Example: Use Local Server TTN and Node-Red in LPS8v2 ==
644
645
646 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:
647
648 * LHT65N register on LPS8v2 Built-In TTN server already
649 * The user is able to see the data on the built-in TTN server device page.
650
651 Below are the steps to plot the sensor data on LPS8v2 Node-Red.
652
653
654 === 6.3.1  Link Node-Red to Local TTN ===
655
656
657 Users can download the Node-Red decoder from this link and import it into the Node-Red platform:  **[[dragino-end-node-decoder/LHT65N.json (github.com)>>url:https://github.com/dragino/dragino-end-node-decoder/blob/main/Node-RED/LHT65N.json]]**
658
659 For more information on importing Input Flow, check out this link: **[[Import Input Flow for Dragino Sensors>>http://wiki.dragino.com/xwiki/bin/view/Main/Node-RED/#H3.A0ImportInputFlowforDraginoSensors||style="background-color: rgb(255, 255, 255);"]]**
660
661
662 After importing the Input Flow is complete, the user needs to edit the MQTT in the node
663
664
665 (% style="color:blue" %)**1. Change the Topic**
666
667
668 Topic modifies it to the following format:
669
670 **v3/(% style="color:red" %)Application ID(%%)/devices/(% style="color:red" %)End device ID(%%)/up**
671
672 [[image:image-20221018100743-1.png]]
673
674
675
676 (% style="color:blue" %)**2. Enter the MQTT configuration information**
677
678
679 [[image:image-20221018100947-2.png]]
680
681
682
683 [[image:image-20221018101102-3.png]]
684
685 (% class="wikigeneratedid" %)
686 (% style="color:blue" %)**Finally, click "Update" and Deploy**
687
688
689 (% class="wikigeneratedid" %)
690 "Connected" indicates that the Link Node-red to Local TTN is normal.
691
692 (% class="wikigeneratedid" %)
693 [[image:image-20220914140918-5.png||height="602" width="1121"]]
694
695
696 === 6.3.2 Check result. ===
697
698
699 Users can check logs by adding debug.
700
701 [[image:image-20220914140841-4.png||height="600" width="1119"]]
702
703
704 In addition,Users can access the lps8v2 gateway's built-in as server of **Node-Red Chart UI **via the URL((% style="background-color:yellow" %)__**//http:~/~/<hostname>:1880/ui or http:~/~/<local-IPV4-address>:1880/ui//**__(%%)) in your browser.
705
706
707 [[image:image-20220914142021-7.png||height="517" width="1346"]]
708
709
710 = 7.  Request Remote Support =
711
712
713 (((
714 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.
715 \\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:**
716 )))
717
718 * End node is connected to serial port to show the Join frequency and DR. (If possible)
719
720 * Gateway (from gateway UI) traffic to show the packet got from end node and receive from Server. (If possible)
721
722 * Gateway traffic (from server UI) to shows the data exchange between gateway and server. (Normally possible)
723
724 * End Node traffic (from server UI) to shows end node activity in server. (Normally possible)
725
726 * 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)
727
728 (% style="color:blue" %)**1. End Device Join Screen shot, we can check:**
729
730 * If the device is sending join request to server?
731
732 * What frequency the device is sending?
733
734 [[image:image-20220526141308-33.png]]
735
736 Console Output from End device to see the transmit frequency
737
738
739 User can run (% style="color:blue" %)**AT+CFG **(%%)command to print configuration information.
740
741 * 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)
742
743 [[image:image-20220526141612-36.png]]
744
745
746 Console Output from End device to see the transmit frequency
747
748
749
750 (% style="color:blue" %)**2. Gateway packet traffic in gateway web or ssh. we can check:**
751
752 * (((
753 If the gateway receive the Join request packet from sensor? (If this fail, check if the gateway and sensor works on the match frequency)
754 )))
755 * (((
756 If the gateway gets the Join Accept message from server and transmit it via LoRa?
757
758
759
760 )))
761
762 [[image:image-20220526141739-37.png]]
763
764 Console Output from Gateway to see packets between end node and server.
765
766
767
768 (% style="color:blue" %)**3. Gateway Traffic Page in LoRaWAN Server**
769
770 * (((
771 If the Join Request packet arrive the gateway traffic in server? If not, check the internet connection and gateway LoRaWAN server settings.
772 )))
773 * (((
774 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.
775 )))
776 * (((
777 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.
778
779
780
781 )))
782
783 [[image:image-20220526141823-38.png||height="501" width="1144"]]
784
785 The Traffic for the End node in the server, use TTNv3 as example
786
787
788
789 [[image:image-20220526141917-39.png]]
790
791 The Traffic for the End node in the server, use TTNv3 as example
792
793
794
795 (% style="color:blue" %)**4. Data Page in LoRaWAN server**
796
797 (((
798 (((
799 (((
800 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.
801
802
803 [[image:image-20220526141956-40.png]]
804 )))
805 )))
806 )))
807
808 The data for the end device set in server
809
810
811
812 [[image:image-20220526142033-41.png]]
813
814 Check if OTAA Keys match the keys in device
815
816
817 = 8.  FAQ =
818
819 == 8.1 How to import devices keys to server. ==
820
821
822 **For TTS in LPS8v2**
823
824 Open your application and click the button **Import end devices**
825
826 [[image:image-20230423154012-1.png||height="472" width="755"]]
827
828
829 Select the **File format** and upload the file (e.g. or ).devices/jsondevices.csv
830
831 You can specify **Fallback values** for Frequency plan and LoRaWAN and Regional Parameters version, in case the import file does not specify these settings for the device.
832
833 You can also expand the **Advanced claiming and component settings** to set targeted components, and set the claim authentication code to be generated.
834
835 Start the import by clicking the **Import end devices** button.
836
837 [[image:image-20230423154040-2.png||height="470" width="749"]]
838
839
840 Wait for the end devices to be successfully imported. In case any device fails, you will see a relevant error message in the console.
841
842 [[image:image-20230423154105-3.png||height="478" width="763"]]
843
844
845 If the import was successful, your devices are added to the list of end devices in your application.
846
847 [[image:image-20230423154125-4.png||height="480" width="766"]]
848
849 Devices are now registered on The Things Stack.
850
851
852 === **JSON File Reference** ===
853
854
855 The Things Stack allows you to import end devices from V2, ChirpStack and other LoRaWAN networks using a JSON file describing those devices.
856
857 Using JSON file with device descriptions, you can migrate end devices with or without their existing sessions.
858
859 Here is an example of an OTAA device description in the file:devices.json
860
861 {{{{
862 "ids": {
863 "device_id": "my-device",
864 "dev_eui": "0102030405060708",
865 "join_eui": "0102030405060708"
866 },
867 "name": "My Device",
868 "description": "Living room temperature sensor",
869 "lorawan_version": "MAC_V1_0_2",
870 "lorawan_phy_version": "PHY_V1_0_2_REV_B",
871 "frequency_plan_id": "EU_863_870_TTN",
872 "supports_join": true,
873 "root_keys": {
874 "app_key": {
875 "key": "01020304050607080102030405060708"
876 }
877 }
878 }
879 }}}
880
881 Multiple end devices can also be contained in a single file like so:devices.json
882
883 {{{{
884 /* device 1 */
885 }
886 {
887 /* device 2 */
888 }
889 }}}
890
891 The format above is considered by the Console and CLI as a JSON stream, processing one object at a time. For more details in how to use the file
892
893
894 === **CSV File Reference** ===
895
896
897 The Things Stack has support for importing end devices from CSV (comma-separated values) files. This is useful when batches of end devices are managed in Microsoft Excel or any other spreadsheet or database that can export to CSV file.
898
899 The CSV import in The Things Stack uses the following settings:
900
901 * Semicolon () as field delimiter. This makes working with Microsoft Excel and other spreadsheets convenient;
902
903 * Header row is required
904
905 * On each row, the same number of fields as on the header line
906
907 * Use quotes to use in a field value;
908
909 * Use double quotes to escape quotes
910
911 * Unknown header columns are permitted and ignored
912
913 * Name and id cannot have capital letters and special characters
914
915 * Example column lorawan_phy_version is not needed
916
917 (% style="display:none" %)
918
919
920
921 === **Example** ===
922
923
924 Minimal example:
925
926 {{{dev_eui;join_eui;frequency_plan_id;lorawan_version;lorawan_phy_version;app_key
927 1111111111111111;1111111111111111;EU_863_870_TTN;MAC_V1_0_4;RP002_V1_0_3;11111111111111111111111111111111
928 2222222222222222;2222222222222222;EU_863_870_TTN;MAC_V1_0_4;RP002_V1_0_3;22222222222222222222222222222222
929 3333333333333333;3333333333333333;EU_863_870_TTN;MAC_V1_0_4;RP002_V1_0_3;33333333333333333333333333333333
930 }}}
931
932 All columns for a LoRaWAN 1.0.4 device:
933
934 {{{id;dev_eui;join_eui;name;frequency_plan_id;lorawan_version;lorawan_phy_version;brand_id;model_id;hardware_version;firmware_version;band_id;app_key
935 test-one;1111111111111111;1111111111111111;Device 1;EU_863_870_TTN;MAC_V1_0_4;RP002_V1_0_3;the-things-industries;generic-node-sensor-edition;1.0.4;1.0;EU_863_870;11111111111111111111111111111111
936 test-two;2222222222222222;2222222222222222;Device 2;EU_863_870_TTN;MAC_V1_0_4;RP002_V1_0_3;the-things-industries;generic-node-sensor-edition;1.0.4;1.0;EU_863_870;22222222222222222222222222222222
937 test-three;3333333333333333;3333333333333333;Device 3;EU_863_870_TTN;MAC_V1_0_4;RP002_V1_0_3;the-things-industries;generic-node-sensor-edition;1.0.4;1.0;EU_863_870;33333333333333333333333333333333
938 }}}
939
940
941
942 === **Excel Template** ===
943
944
945 [[Download the Excel template>>url:https://www.thethingsindustries.com/docs/getting-started/migrating/tts-end-devices-csv-template.xlsx]]. You can remove all columns that are not required (see above).
946
947
948 = 9. Trouble Shooting. =
949
950 == 9.1 How to solve the problem of MIC Mismatch? ==
951
952
953 Please refer to the link below:
954
955 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/LoRaWAN%20Communication%20Debug/#H9.WhydoIseea22MICMismatch22errormessagefromtheserver3F>>url:http://wiki.dragino.com/xwiki/bin/view/Main/LoRaWAN%20Communication%20Debug/#H9.WhydoIseea22MICMismatch22errormessagefromtheserver3F]]
956
957
958
959
Copyright ©2010-2022 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0