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: Add Gateway ==
186
187
188 (((
189 (((
190 (% style="color:blue" %)**The example for**(%%)** (% style="color:red" %)EU:(%%)**
191 )))
192 )))
193
194 (((
195 (((
196 User can add your gateway into The Things Network V3 according to the previous step
197 )))
198 )))
199
200 (((
201 (((
202 Following picture is the successful added.
203
204
205 )))
206 )))
207
208 [[image:image-20220526135316-8.png]]
209
210 Add Gateway
211
212
213 == 3.3  Step 2: Create the API key ==
214
215
216 user need to create the CUPS API key and LNS API key.
217
218
219 [[image:image-20220526135349-9.png]]
220
221 Create CUPS API key
222
223
224
225 [[image:image-20220526135428-10.png]]
226
227 Create LNS API key
228
229
230 (% style="color:red" %)**Note: Please copy the API key.**
231
232
233 == 3.4  Step 3: Update the gateway setting ==
234
235
236 In the LoRa Basics Station LNS Authentication Key field, paste the API key you generated in the previous step.
237
238
239 [[image:image-20220526135528-11.png]]
240
241 paste the API key
242
243
244 == 3.5  Step 4: Access the gateway GUI ==
245
246
247 User need to update the API key and install the Certificate
248
249
250 [[image:image-20220526135601-12.png]]
251
252 Access the gateway GUI
253
254
255 == 3.6  Step 5: Configure Station ==
256
257
258 User need to input Server URI, Server CUPS Key and LNS Key, as well as install CUPS certificate.
259
260
261 (% style="color:blue" %)**just to clarify:**
262
263 (% class="box" %)
264 (((
265 CUPS Server URI  ~-~->  Server Adress
266 CUPS Authorization Key         ~-~->  Server CUPS API Key
267 LNS Authorization Key  ~-~->  Server LNS API Key
268 CUPS certificate  ~-~->  Server CA(user can use the button to install the certificate by default)
269 )))
270
271 [[image:image-20220526135654-13.png]]
272
273 Congfigure Station
274
275
276 == 3.7  Start Station ==
277
278
279 (((
280 When the user has finished the configuration,Please click Sace&Apply to start station to connect The Things Network.
281
282
283 )))
284
285 == 3.8  Siccessful Connection ==
286
287
288 If user completes the above steps,which will see live date in the TTN.
289
290
291 [[image:image-20220526135734-14.png]]
292
293 Station live date
294
295
296 == 3.9  Trouble Shooting ==
297
298
299 User can check the station log in the** (% style="color:blue" %)LogRead ~-~-> System Log (%%)**page.
300
301
302 [[image:image-20220526135845-15.png]]
303
304 Station Log
305
306
307
308 and recode the station log in the** (% style="color:blue" %)LogRead  ~-~->  Recode Log(%%)** page.
309
310 [[image:image-20220526135940-16.png]]
311
312 Recore Log
313
314
315 = 4.  Configure node connection to TTNv3 =
316
317
318 (((
319 (((
320 Following is an example for how to join the TTN v3 LoRaWAN Network.
321 )))
322 )))
323
324 (((
325 (((
326 The gateway is already set up to connect to the TTN network, so we now need to configure the TTNv3 server.
327 )))
328 )))
329
330 (((
331 (((
332 (% style="color:#037691" %)**We take LES01 as an example.**
333
334
335 )))
336 )))
337
338 == 4.1  Step 1 ==
339
340
341 (((
342 (((
343 Create a device in TTN with the OTAA keys from LSE01.
344 )))
345 )))
346
347 (((
348 (((
349 Each LSE01 is shipped with a sticker with the default device EUI as below:
350 )))
351 )))
352
353 (((
354 (((
355 You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
356 )))
357 )))
358
359 [[image:image-20230221135445-1.png||height="356" width="777"]]
360
361 First create an application and fill in the custom information in it
362
363 [[image:image-20230221135520-2.png||height="52" width="974"]]
364
365 [[image:image-20230221135810-3.png||height="400" width="638"]]
366
367
368 Add a node device to the application
369
370
371 [[image:image-20220526140044-18.png]]
372
373
374 == 4.2  Step 2 ==
375
376
377 (((
378 (((
379 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.
380
381 [[image:image-20230221164809-2.png||height="525" width="617"]]
382 )))
383 )))
384
385
386 == 4.3  Step 3 ==
387
388
389 Add APP EUI in the application:
390
391
392 [[image:image-20230221140131-4.png||height="569" width="674"]]
393
394
395 == 4.4  Step 4 ==
396
397
398 **Add APP KEY and DEV EUI:**
399
400
401 [[image:image-20230221140448-6.png||height="535" width="647"]]
402
403
404 = 5.  TTN V3 integrated into MQTT server =
405
406 == 5.1  Introduction ==
407
408
409 (((
410 (((
411 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.
412
413
414 )))
415 )))
416
417 == 5.2  Create device steps at MQTT ==
418
419
420 (((
421 (((
422 The user creates a new API KEY after creating a device on TTN V3.
423 )))
424 )))
425
426 (((
427 (((
428 Then copy the password and open MQTT.fx.
429 )))
430 )))
431
432 (((
433 (((
434 Fill in Broker Address and Broker port.
435
436
437 )))
438 )))
439
440 [[image:image-20220526140347-22.png]]
441
442 Fill in the username and password into MQTT.
443
444
445
446 [[image:image-20220526140420-23.png]]
447
448
449 The Application Server publishes uplink traffic on the following topics:
450
451 (% class="box" %)
452 (((
453 v3/{application id}@{tenant id}/devices/{device id}/join
454 v3/{application id}@{tenant id}/devices/{device id}/up
455 v3/{application id}@{tenant id}/devices/{device id}/down/queued
456 v3/{application id}@{tenant id}/devices/{device id}/down/sent
457 v3/{application id}@{tenant id}/devices/{device id}/down/ack
458 v3/{application id}@{tenant id}/devices/{device id}/down/nack
459 v3/{application id}@{tenant id}/devices/{device id}/down/failed
460 v3/{application id}@{tenant id}/devices/{device id}/service/data
461 v3/{application id}@{tenant id}/devices/{device id}/location/solved
462 )))
463
464 (((
465
466
467 (((
468 (% 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}.**
469
470
471 )))
472 )))
473
474 [[image:image-20220526140452-24.png]]
475
476
477 (((
478 (((
479 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.
480 )))
481 )))
482
483 [[image:image-20220526140708-25.png]]
484
485 (((
486 (((
487 Downlinks can be scheduled by publishing the message to the topic v3/{application id}@{tenant id}/devices/{device id}/down/push.
488 )))
489 )))
490
491 (((
492 (((
493
494
495 (% 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.**
496
497
498 )))
499 )))
500
501 (((
502 (((
503 Instead of /push, you can also use /replace to replace the downlink queue. Replacing with an empty array clears the downlink queue. Example:
504 )))
505 )))
506
507 [[image:image-20220526140856-26.png]]
508
509 (((
510 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:
511
512
513 )))
514
515 (((
516 (% style="color:red" %)**Note**: **Use this handy tool to convert hexadecimal to base64.**
517
518
519 )))
520
521 [[image:image-20220526140936-27.png]]
522
523
524 == 5.3  Send Downlink message ==
525
526
527 (((
528 How to configure downlink in TTN V3?
529 )))
530
531 (((
532 A few examples: set the transmission interval to 90 seconds.
533 )))
534
535 (((
536 (% style="color:blue" %)**Downlink command: 01 00 00 5A**
537
538
539 )))
540
541 [[image:image-20220526141021-28.png]]
542
543 downlink
544
545
546
547 After sending, you can view it in live data.
548
549 [[image:image-20220526141052-29.png]]
550
551 downlink
552
553
554
555 (((
556 When downlink is successfully sent, the downlink information can be received on the serial port.
557 )))
558
559 (((
560 (% style="color:red" %)**Note**:** If the downlink byte sent is longer, the number of bytes will be displayed.**
561
562
563 )))
564
565 [[image:image-20220526141116-30.png]]
566
567 downlink
568
569
570 (((
571 (((
572 If you want to get a successful reply to send downlink in TTN v3. You need to set the response level.
573 )))
574 )))
575
576 (((
577 (((
578 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**
579 )))
580 )))
581
582 (((
583 (((
584 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**
585 )))
586 )))
587
588 (((
589 (((
590 When the device successfully receives the downlink, the server will receive a confirmation packet of 00.
591
592
593 )))
594 )))
595
596 [[image:image-20220526141149-31.png]]
597
598 downlink
599
600
601 = 6.  Route TTN data to Node-Red =
602
603
604 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]]"
605
606
607 == 6.1  Edit mqtt-broker node ==
608
609
610 Users need to configure the TTN MQTT server address and port, Such as:
611
612 (% class="box infomessage" %)
613 (((
614 **Server :** eu1.cloud.thethings.network
615
616 **Port  :** 1883
617 )))
618
619 [[image:image-20220829160224-187.jpeg||height="569" width="1128"]]
620
621
622 **Enter Username and Password**
623
624 [[image:image-20220829164358-188.png||height="570" width="1130"]]
625
626
627 == 6.2  Debug ==
628
629
630 Users can check logs by adding debug.
631
632 [[image:image-20220829164652-189.png||height="572" width="1134"]]
633
634
635 == 6.3  Example: Use Local Server TTN and Node-Red in LPS8v2 ==
636
637
638 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:
639
640 * LHT65N register on LPS8v2 Built-In TTN server already
641 * The user is able to see the data on the built-in TTN server device page.
642
643 Below are the steps to plot the sensor data on LPS8v2 Node-Red.
644
645
646 === 6.3.1  Link Node-Red to Local TTN ===
647
648
649 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]]**
650
651 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);"]]**
652
653
654 After importing the Input Flow is complete, the user needs to edit the MQTT in the node
655
656
657 (% style="color:blue" %)**1. Change the Topic**
658
659
660 Topic modifies it to the following format:
661
662 **v3/(% style="color:red" %)Application ID(%%)/devices/(% style="color:red" %)End device ID(%%)/up**
663
664 [[image:image-20221018100743-1.png]]
665
666
667
668 (% style="color:blue" %)**2. Enter the MQTT configuration information**
669
670
671 [[image:image-20221018100947-2.png]]
672
673
674
675 [[image:image-20221018101102-3.png]]
676
677 (% class="wikigeneratedid" %)
678 (% style="color:blue" %)**Finally, click "Update" and Deploy**
679
680
681 (% class="wikigeneratedid" %)
682 "Connected" indicates that the Link Node-red to Local TTN is normal.
683
684 (% class="wikigeneratedid" %)
685 [[image:image-20220914140918-5.png||height="602" width="1121"]]
686
687
688 === 6.3.2 Check result. ===
689
690
691 Users can check logs by adding debug.
692
693 [[image:image-20220914140841-4.png||height="600" width="1119"]]
694
695
696 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.
697
698
699 [[image:image-20220914142021-7.png||height="517" width="1346"]]
700
701
702 = 7.  Request Remote Support =
703
704
705 (((
706 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.
707 \\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:**
708 )))
709
710 * End node is connected to serial port to show the Join frequency and DR. (If possible)
711
712 * Gateway (from gateway UI) traffic to show the packet got from end node and receive from Server. (If possible)
713
714 * Gateway traffic (from server UI) to shows the data exchange between gateway and server. (Normally possible)
715
716 * End Node traffic (from server UI) to shows end node activity in server. (Normally possible)
717
718 * 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)
719
720
721
722 (% style="color:blue" %)**1. End Device Join Screen shot, we can check:**
723
724 * If the device is sending join request to server?
725
726 * What frequency the device is sending?
727
728 [[image:image-20220526141308-33.png]]
729
730 Console Output from End device to see the transmit frequency
731
732
733 User can run (% style="color:blue" %)**AT+CFG **(%%)command to print configuration information.
734
735 * 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)
736
737 [[image:image-20220526141612-36.png]]
738
739
740 Console Output from End device to see the transmit frequency
741
742
743
744 (% style="color:blue" %)**2. Gateway packet traffic in gateway web or ssh. we can check:**
745
746 * (((
747 If the gateway receive the Join request packet from sensor? (If this fail, check if the gateway and sensor works on the match frequency)
748 )))
749 * (((
750 If the gateway gets the Join Accept message from server and transmit it via LoRa?
751
752
753
754 )))
755
756 [[image:image-20220526141739-37.png]]
757
758 Console Output from Gateway to see packets between end node and server.
759
760
761
762 (% style="color:blue" %)**3. Gateway Traffic Page in LoRaWAN Server**
763
764 * (((
765 If the Join Request packet arrive the gateway traffic in server? If not, check the internet connection and gateway LoRaWAN server settings.
766 )))
767 * (((
768 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.
769 )))
770 * (((
771 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.
772
773
774
775 )))
776
777 [[image:image-20220526141823-38.png||height="501" width="1144"]]
778
779 The Traffic for the End node in the server, use TTNv3 as example
780
781
782
783 [[image:image-20220526141917-39.png]]
784
785 The Traffic for the End node in the server, use TTNv3 as example
786
787
788
789 (% style="color:blue" %)**4. Data Page in LoRaWAN server**
790
791 (((
792 (((
793 (((
794 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.
795
796
797 [[image:image-20220526141956-40.png]]
798 )))
799 )))
800 )))
801
802 The data for the end device set in server
803
804
805
806 [[image:image-20220526142033-41.png]]
807
808 Check if OTAA Keys match the keys in device
809
810
811 = 8.  FAQ =
812
813 == 8.1 How to import devices keys to server. ==
814
815
816 **For TTS in LPS8v2**
817
818 Open your application and click the button **Import end devices**
819
820 [[image:https://www.thethingsindustries.com/docs/getting-started/migrating/import-end-devices.png||alt="import devices" height="517" width="828"]]
821
822
823 Select the **File format** and upload the file (e.g. or ).devices/jsondevices.csv
824
825 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.
826
827 You can also expand the **Advanced claiming and component settings** to set targeted components, and set the claim authentication code to be generated.
828
829 Start the import by clicking the **Import end devices** button.
830
831 [[image:https://www.thethingsindustries.com/docs/getting-started/migrating/upload-file.png||alt="upload devices.json file" height="536" width="858"]]
832
833 Wait for the end devices to be successfully imported. In case any device fails, you will see a relevant error message in the console.
834
835 [[image:https://www.thethingsindustries.com/docs/getting-started/migrating/operation-finished.png||alt="import finished" height="551" width="882"]]
836
837 If the import was successful, your devices are added to the list of end devices in your application.
838
839 [[image:https://www.thethingsindustries.com/docs/getting-started/migrating/successful-import.png||alt="successful-import" height="556" width="889"]]
840
841 Devices are now registered on The Things Stack.
842
843
844 === **JSON File Reference** ===
845
846
847 The Things Stack allows you to import end devices from V2, ChirpStack and other LoRaWAN networks using a JSON file describing those devices.
848
849 Using JSON file with device descriptions, you can migrate end devices with or without their existing sessions.
850
851 Here is an example of an OTAA device description in the file:devices.json
852
853 {{{{
854 "ids": {
855 "device_id": "my-device",
856 "dev_eui": "0102030405060708",
857 "join_eui": "0102030405060708"
858 },
859 "name": "My Device",
860 "description": "Living room temperature sensor",
861 "lorawan_version": "MAC_V1_0_2",
862 "lorawan_phy_version": "PHY_V1_0_2_REV_B",
863 "frequency_plan_id": "EU_863_870_TTN",
864 "supports_join": true,
865 "root_keys": {
866 "app_key": {
867 "key": "01020304050607080102030405060708"
868 }
869 }
870 }
871 }}}
872
873 Multiple end devices can also be contained in a single file like so:devices.json
874
875 {{{{
876 /* device 1 */
877 }
878 {
879 /* device 2 */
880 }
881 }}}
882
883 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
884
885
886 === **CSV File Reference** ===
887
888
889 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.
890
891 The CSV import in The Things Stack uses the following settings:
892
893 * Semicolon () as field delimiter. This makes working with Microsoft Excel and other spreadsheets convenient;
894
895 * Header row is required
896
897 * On each row, the same number of fields as on the header line
898
899 * Use quotes to use in a field value;
900
901 * Use double quotes to escape quotes
902
903 * Unknown header columns are permitted and ignored
904
905 * Name and id cannot have capital letters and special characters
906
907 * Example column lorawan_phy_version is not needed
908
909 (% style="display:none" %)
910
911
912
913 === **Example** ===
914
915
916 Minimal example:
917
918 {{{dev_eui;join_eui;frequency_plan_id;lorawan_version;lorawan_phy_version;app_key
919 1111111111111111;1111111111111111;EU_863_870_TTN;MAC_V1_0_4;RP002_V1_0_3;11111111111111111111111111111111
920 2222222222222222;2222222222222222;EU_863_870_TTN;MAC_V1_0_4;RP002_V1_0_3;22222222222222222222222222222222
921 3333333333333333;3333333333333333;EU_863_870_TTN;MAC_V1_0_4;RP002_V1_0_3;33333333333333333333333333333333
922 }}}
923
924 All columns for a LoRaWAN 1.0.4 device:
925
926 {{{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
927 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
928 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
929 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
930 }}}
931
932
933
934 === **Excel Template** ===
935
936
937 [[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).
938
939
940 = 9. Trouble Shooting. =
941
942 == 9.1 How to solve the problem of MIC Mismatch? ==
943
944
945 Please refer to the link below:
946
947 [[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]]
948
949
950
951
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0