Wiki source code of Notes for TTN

Version 99.6 by Xiaoling on 2022/05/30 14:13

Show last authors
1 **~ 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 The Things Network is a global collaborative Internet of Things ecosystem that creates networks, devices and solutions using LoRaWAN.
15 )))
16
17 (((
18 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.
19
20
21 )))
22
23 === 1.1.2 Login or crate an account ===
24
25 (((
26 [[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.
27 )))
28
29 (((
30 Once you have an account,get started by following steps for adding Gateway,Device and Intergrations.
31
32
33 )))
34
35 === 1.1.3 List the support products and Requirements ===
36
37 LoRaWAN Gateway model: Existing Gateway
38
39
40 = 2. Gateway Registration for Semtech UDP =
41
42 == 2.1 Primary LoRaWAN Server ==
43
44 [[image:image-20220526134633-2.png||height="616" width="1323"]]
45
46 Register Gateway
47
48
49 [[image:image-20220526134826-4.png]]
50
51 Put Gateway ID
52
53
54 [[image:image-20220526134759-3.png]]
55
56 Choose Frequency Band
57
58
59 [[image:image-20220526134919-5.png]]
60
61 Show Status
62
63
64 == 2.2 Secondary LoRaWAN Server ==
65
66 === 2.2.1 Introduction ===
67
68 The Dragino gateway has supports the Secondary server settings.
69
70
71 === 2.2.2 Below list the support products and Requirements: ===
72
73 (((
74 ~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]]
75 )))
76
77 (((
78 2. Firmware version since :[[lgw~~-~~-build-v5.4.1644658774>>url:http://www.dragino.com/downloads/index.php?dir=LoRa_Gateway/LIG16/Firmware/Release/]]
79 )))
80
81
82 === 2.2.3 Example ===
83
84 The following takes Helium as a Secondary LoRaWAN server as an example
85
86
87 === 2.2.4 Step 1: Download and Install the helium gateway-rs ===
88
89 The users is needing to download and install the helium gateway-rs then click the button of Save&Apply
90
91 [[image:image-20220526135049-6.png]]
92
93 Download and Install gateway-rs
94
95
96 === 2.2.5 Step 2: Back to Semtech UDP page ===
97
98 Back to the page of Semtech UDP check the secondary server settings and click the button of Save&Apply
99
100 ​​​​[[image:image-20220526135125-7.png]]
101
102 Configuration of helium
103
104
105 = 3. Gateway Registration for Basics Station =
106
107 == 3.1 Introduction ==
108
109 (((
110 (((
111 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/]]
112 )))
113 )))
114
115 (((
116 **Below list the support products and Requirements:**
117 )))
118
119 (((
120 (((
121 ~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]]
122 )))
123
124 (((
125 2. Firmware version since :[[lgw~~-~~-build-v5.4.1640315898>>url:https://www.dragino.com/downloads/index.php?dir=LoRa_Gateway/LPS8/Firmware/Release/]]
126 )))
127 )))
128
129 (((
130 **What do you need to prepare**
131 )))
132
133 (((
134 (((
135 A gateway that can access the internet normally
136
137
138 )))
139 )))
140
141 == 3.2 Step 1. Add Gateway ==
142
143 (((
144 (((
145 The example for **EU**
146 )))
147 )))
148
149 (((
150 (((
151 User can add your gateway into The Things Network V3 according to the previous step
152 )))
153 )))
154
155 (((
156 (((
157 Following picture is the successful added.
158 )))
159 )))
160
161 [[image:image-20220526135316-8.png]]
162
163 Add Gateway
164
165
166 == 3.3 Step 2. Create the API key ==
167
168 user need to create the CUPS API key and LNS API key.
169
170 [[image:image-20220526135349-9.png]]
171
172 Create CUPS API key
173
174
175 [[image:image-20220526135428-10.png]]
176
177 Create LNS API key
178
179 (% style="color:red" %)**Note : Please copy the API key.**
180
181
182 == 3.4 Step 3. Update the gateway setting ==
183
184 In the LoRa Basics Station LNS Authentication Key field, paste the API key you generated in the previous step.
185
186 [[image:image-20220526135528-11.png]]
187
188 paste the API key
189
190
191 == 3.5 Step 4. Access the gateway GUI ==
192
193 User need to update the API key and install the Certificate
194
195 [[image:image-20220526135601-12.png]]
196
197 Access the gateway GUI
198
199
200 == 3.6 Step 5. Configure Station ==
201
202 User need to input Server URI, Server CUPS Key and LNS Key, as well as install CUPS certificate.
203
204 **just to clarify.**
205
206 (% class="box" %)
207 (((
208 CUPS Server URI  ~-~-> Server Adress
209 CUPS Authorization Key         ~-~-> Server CUPS API Key
210 LNS Authorization Key  ~-~-> Server LNS API Key
211 CUPS certificate  ~-~-> Server CA(user can use the button to install the certificate by default)
212 )))
213
214 [[image:image-20220526135654-13.png]]
215
216 Congfigure Station
217
218
219 == 3.7 Start Station ==
220
221 (((
222 When the user has finished the configuration,Please click Sace&Apply to start station to connect The Things Network.
223
224
225 )))
226
227 == 3.8 Siccessful Connection ==
228
229 If user completes the above steps,which will see live date in the TTN.
230
231 [[image:image-20220526135734-14.png]]
232
233 Station live date
234
235
236 == 3.9 Trouble Shooting ==
237
238 User can check the station log in the logread/system log page.
239
240 [[image:image-20220526135845-15.png]]
241
242 Station Log
243
244
245 and recode the station log in the system/Recode log page.
246
247 [[image:image-20220526135940-16.png]]
248
249 Recore Log
250
251
252 = 4. Configure node connection to TTNv3 =
253
254 (((
255 (((
256 Following is an example for how to join the TTN v3 LoRaWAN Network.
257 )))
258 )))
259
260 (((
261 (((
262 The gateway is already set up to connect to the TTN network, so we now need to configure the TTNv3 server.
263 )))
264 )))
265
266 (((
267 (((
268 We take LES01 as an example.
269
270
271 )))
272 )))
273
274 == 4.1 Step1 ==
275
276 (((
277 (((
278 Create a device in TTN with the OTAA keys from LSE01.
279 )))
280 )))
281
282 (((
283 (((
284 Each LSE01 is shipped with a sticker with the default device EUI as below:
285 )))
286 )))
287
288 (((
289 (((
290 You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
291 )))
292 )))
293
294 [[image:image-20220526140015-17.png]]
295
296 [[image:image-20220526140044-18.png]]
297
298
299 == 4.2 Step2 ==
300
301 (((
302 (((
303 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.
304 )))
305 )))
306
307 [[image:image-20220526140132-19.png]]
308
309
310 == 4.3 Step3 ==
311
312 Add APP EUI in the application:
313
314 [[image:image-20220526140205-20.png]]
315
316
317 == 4.4 Step4 ==
318
319 Add APP KEY and DEV EUI:
320
321 [[image:image-20220526140251-21.png]]
322
323
324 = 5. TTN V3 integrated into MQTT server =
325
326 == 5.1 Introduction ==
327
328 (((
329 (((
330 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.
331
332
333 )))
334 )))
335
336 == 5.2 Create device steps at MQTT ==
337
338 (((
339 (((
340 The user creates a new API KEY after creating a device on TTN V3.
341 )))
342 )))
343
344 (((
345 (((
346 Then copy the password and open MQTT.fx.
347 )))
348 )))
349
350 (((
351 (((
352 Fill in Broker Address and Broker port.
353 )))
354 )))
355
356 [[image:image-20220526140347-22.png]]
357
358 Fill in the username and password into MQTT.
359
360
361 [[image:image-20220526140420-23.png]]
362
363 The Application Server publishes uplink traffic on the following topics:
364
365 (% class="box" %)
366 (((
367 v3/{application id}@{tenant id}/devices/{device id}/join
368 v3/{application id}@{tenant id}/devices/{device id}/up
369 v3/{application id}@{tenant id}/devices/{device id}/down/queued
370 v3/{application id}@{tenant id}/devices/{device id}/down/sent
371 v3/{application id}@{tenant id}/devices/{device id}/down/ack
372 v3/{application id}@{tenant id}/devices/{device id}/down/nack
373 v3/{application id}@{tenant id}/devices/{device id}/down/failed
374 v3/{application id}@{tenant id}/devices/{device id}/service/data
375 v3/{application id}@{tenant id}/devices/{device id}/location/solved
376 )))
377
378 (((
379 (((
380 **Note**: Remember that the format of these topics for The Things Stack Open Source would contain {application id} instead of {application id}@{tenant id}.
381 )))
382 )))
383
384 [[image:image-20220526140452-24.png]]
385
386 (((
387 (((
388 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.
389 )))
390 )))
391
392 [[image:image-20220526140708-25.png]]
393
394 (((
395 (((
396 Downlinks can be scheduled by publishing the message to the topic v3/{application id}@{tenant id}/devices/{device id}/down/push.
397 )))
398 )))
399
400 (((
401 (((
402 **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.
403 )))
404 )))
405
406 (((
407 (((
408 Instead of /push, you can also use /replace to replace the downlink queue. Replacing with an empty array clears the downlink queue. Example:
409 )))
410 )))
411
412 [[image:image-20220526140856-26.png]]
413
414 (((
415 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:
416 )))
417
418 (((
419 **Note**: Use this handy tool to convert hexadecimal to base64.
420 )))
421
422 [[image:image-20220526140936-27.png]]
423
424
425 == 5.3 Send Downlink message ==
426
427 (((
428 How to configure downlink in TTN V3?
429 )))
430
431 (((
432 A few examples: set the transmission interval to 90 seconds.
433 )))
434
435 (((
436 Downlink command:01 00 00 5A
437 )))
438
439 [[image:image-20220526141021-28.png]]
440
441 downlink
442
443
444 After sending, you can view it in live data.
445
446 [[image:image-20220526141052-29.png]]
447
448 downlink
449
450
451 (((
452 When downlink is successfully sent, the downlink information can be received on the serial port.
453 )))
454
455 (((
456 **Note**: If the downlink byte sent is longer, the number of bytes will be displayed.
457 )))
458
459 [[image:image-20220526141116-30.png]]
460
461 downlink
462
463
464 (((
465 (((
466 If you want to get a successful reply to send downlink in TTN v3. You need to set the response level.
467 )))
468 )))
469
470 (((
471 (((
472 If the equipment uses CLASS A. You can set **AT+RPL=2** or send the downlink command: **2102**
473 )))
474 )))
475
476 (((
477 (((
478 If the equipment uses CLASS C. You can set** AT+RPL=4** or send the downlink command: **2104**
479 )))
480 )))
481
482 (((
483 (((
484 When the device successfully receives the downlink, the server will receive a confirmation packet of 00.
485 )))
486 )))
487
488 [[image:image-20220526141149-31.png]]
489
490 downlink
491
492
493 = 6. Request Remote Support =
494
495 (((
496 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.
497 \\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:**
498 )))
499
500 * End node is connected to serial port to show the Join frequency and DR. (If possible)
501 * Gateway (from gateway UI) traffic to show the packet got from end node and receive from Server. (If possible)
502 * Gateway traffic (from server UI) to shows the data exchange between gateway and server. (Normally possible)
503 * End Node traffic (from server UI) to shows end node activity in server. (Normally possible)
504 * 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)
505
506 **~1. End Device Join Screen shot, we can check:**
507
508 * If the device is sending join request to server?
509 * What frequency the device is sending?
510
511 [[image:image-20220526141308-33.png]]
512
513 Console Output from End device to see the transmit frequency
514
515 User can run **AT+CFG **command to print configuration information.
516
517 * Is the device in OTAA mode or ABP mode? **AT+NJM=1** (OTAA mode), **AT+NJM=0** (ABP mode)
518
519 [[image:image-20220526141612-36.png]]
520
521
522 Console Output from End device to see the transmit frequency
523
524
525 **2. Gateway packet traffic in gateway web or ssh. we can check:**
526
527 * (((
528 If the gateway receive the Join request packet from sensor? (If this fail, check if the gateway and sensor works on the match frequency)
529 )))
530 * (((
531 If the gateway gets the Join Accept message from server and transmit it via LoRa?
532 )))
533
534 [[image:image-20220526141739-37.png]]
535
536 Console Output from Gateway to see packets between end node and server.
537
538
539 **3. Gateway Traffic Page in LoRaWAN Server**
540
541 * (((
542 If the Join Request packet arrive the gateway traffic in server? If not, check the internet connection and gateway LoRaWAN server settings.
543 )))
544 * (((
545 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.
546 )))
547 * (((
548 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.
549 )))
550
551 [[image:image-20220526141823-38.png||height="501" width="1144"]]
552
553 The Traffic for the End node in the server, use TTNv3 as example
554
555
556 [[image:image-20220526141917-39.png]]
557
558 The Traffic for the End node in the server, use TTNv3 as example
559
560
561 **4. Data Page in LoRaWAN server**
562
563 (((
564 (((
565 (((
566 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.
567
568 [[image:image-20220526141956-40.png]]
569 )))
570 )))
571 )))
572
573 The data for the end device set in server
574
575
576 [[image:image-20220526142033-41.png]]
577
578 Check if OTAA Keys match the keys in device