Version 66.3 by Xiaoling on 2022/10/09 16:01

Show last authors
1 (% style="text-align:center" %)
2 [[image:1664505654417-133.png]]
3
4
5
6
7 (% class="wikigeneratedid" %)
8 **Table of Contents:**
9
10 {{toc/}}
11
12
13
14
15 = 1.  Introduction =
16
17
18 == 1.1  What is TrackerD ==
19
20
21 (((
22 TrackerD is an (% style="color:blue" %)**Open Source LoRaWAN Tracker**(%%) based on (% style="color:blue" %)**ESP32 MCU**(%%) and (% style="color:blue" %)**Semtech LoRa Wireless Chip**.
23 )))
24
25 (((
26 In TrackerD, there are various sensors such as GPS, WiFi, BLE, Temperature, Humidity, Motion Detection, and Buzzer. User can use TrackerD for different tracking scenario.
27
28 (((
29 TrackerD is program friendly. Developers can use Arduino IDE to customize the software of TrackerD to fit their IoT solution.
30 )))
31
32 (((
33 The LoRa wireless technology used in TrackerD allows the user to send data and reach extremely long ranges at low data-rates. It provides ultra-long range spread spectrum communication and high interference immunity whilst minimizing current consumption. It targets professional tracking services.
34 )))
35 )))
36
37 (((
38 TrackerD is equipped with a (% style="color:blue" %)**1000mAh Li-on rechargeable battery**(%%). Each TrackerD has a worldwide unique OTAA keys to join the LoRaWAN network.
39
40
41 )))
42
43 [[image:1664499921684-770.png]]
44
45
46 (% style="color:red" %)**Note: LoRaWAN server can be a general LoRaWAN server other than TTN.**
47
48
49
50 == 1.2 Specifications ==
51
52
53 (% style="color:blue" %)**Micro Controller:**
54
55 * Espressif ESP32 PICO D4
56 * MCU: ESP32 PICO D4
57 * Bluetooth: Bluetooth V4.2 BR/EDR and Bluetooth LE
58 * WiFi : 802.11 b/g/n (802.11n up to 150 Mbps)
59 * Integrated SPI flash : 4 MB
60 * RAM: 448 KB
61 * EEPROM: 520 KB
62 * Clock Speed: 32Mhz
63
64 (% style="color:blue" %)**Common DC Characteristics:**
65
66 * Supply Voltage: 5V via USB port or Internal li-on battery
67 * Operating Temperature: -40 ~~ 60°C
68
69 (% style="color:blue" %)**LoRa Spec:**
70
71 * Frequency Range,
72 ** Band 1 (HF): 862 ~~ 1020 Mhz
73 * 168 dB maximum link budget.
74 * +20 dBm - 100 mW constant RF output vs.
75 * +14 dBm high efficiency PA.
76 * Programmable bit rate up to 300 kbps.
77 * High sensitivity: down to -148 dBm.
78 * Bullet-proof front end: IIP3 = -12.5 dBm.
79 * Excellent blocking immunity.
80 * Low RX current of 10.3 mA, 200 nA register retention.
81 * Fully integrated synthesizer with a resolution of 61 Hz.
82 * FSK, GFSK, MSK, GMSK, LoRaTM and OOK modulation.
83 * Built-in bit synchronizer for clock recovery.
84 * Preamble detection.
85 * 127 dB Dynamic Range RSSI.
86 * Automatic RF Sense and CAD with ultra-fast AFC.
87 * Packet engine up to 256 bytes with CRC.
88 * LoRaWAN 1.0.3 Specification
89
90 (% style="color:blue" %)**Battery:**
91
92 * 1000mA Li-on Battery power (for model TrackerD)
93
94 (% style="color:blue" %)**Power Consumption**
95
96 * Sleeping Mode: 200uA
97 * LoRa Transmit Mode: 125mA @ 20dBm 44mA @ 14dBm
98 * Tracking: max: 38mA
99
100
101
102
103 == 1.3  Features ==
104
105
106 * LoRaWAN 1.0.3 Class A
107 * ESP32 PICO D4
108 * SX1276/78 Wireless Chip
109 * Arduino IDE Compatible
110 * Open source hardware / software
111 * Regular/ Real-time GPS,BLE,WIFI tracking
112 * Built-in3 axis accelerometer (LIS3DH)
113 * Humidity / temperature sensor : GXCAS Technology GXHT3X
114 * Motion sensing capability
115 * Power Monitoring
116 * Charging circuit via USB port
117 * 1000mA Li-on Battery power
118 * Tri-color LED, Alarm button
119 * Datalog
120
121
122
123
124 == 1.4  Applications ==
125
126
127 * Logistics and Supply Chain Management
128 * Human tracking
129
130
131
132
133 = 2.1 Use TrackerD =
134
135
136 == 2.1 How it works? ==
137
138
139 TrackerD is configured as LoRaWAN OTAA Class A GPS tracker by default. It has OTAA keys to join LoRaWAN network. To connect a LoRaWAN network, user need to input the OTAA keys in the LoRaWAN IoT server and push reset button of TrackerD (next to USB port). TrackerD will wake up and auto join the network via OTAA.
140
141
142
143 == 2.2 Quick guide to connect to LoRaWAN server ==
144
145
146 Here is an example for how to join the [[TTNv3 LoRaWAN Network>>url:https://eu1.cloud.thethings.network]]. Below is the network structure, we use LPS8N as LoRaWAN gateway in this example. 
147
148
149 [[image:1664501652064-326.png]]
150
151
152
153 The LPS8N is already set to connect to [[TTN V3 network >>url:https://eu1.cloud.thethings.network/]]. What the rest need to is register this device in TTN V3:
154
155
156 (% style="color:blue" %)**Step 1**:(%%) Create a device in TTN V3 with the OTAA keys from TrackerD.
157
158 Each TrackerD is shipped with a sticker with the default device EUI as below:
159
160
161 [[image:1664501677253-891.png]]
162
163
164 Input these keys to their LoRaWAN Server portal. Below is TTN V3 screen shot:
165
166
167 **__Add APP EUI in the application:__**
168
169
170 [[image:1664501711466-918.png]]
171
172
173
174 [[image:1664501721248-725.png]]
175
176
177 [[image:1664501734705-405.png]]
178
179
180
181 **__Add APP KEY and DEV EUI:__**
182
183
184 [[image:1664501784668-703.png]]
185
186
187
188
189 (% style="color:blue" %)**Step 2**:(%%) Power on TrackerD by using the on board switch.
190
191
192 (% style="color:blue" %)**Step 3:**(%%) TrackerD will auto join to the LoRaWAN network. After join success, TrackerD will start to upload message to IoT server.
193
194
195 == 2.3  Positioning Mode(SMOD) ==
196
197
198 Users can set TrackerD to different Positioning Mode for different applications. Below mod are supported.
199
200 * (% style="color:#037691" %)**GPS ONLY(Factory Settings):    **(%%)only get and uplink GPS location info.
201 * (% style="color:#037691" %)**BLE ONLY:              **(%%)Only obtain iBeacon info via BLE and uplink. Design for Indoor tracking.
202 * (% style="color:#037691" %)**GPS/BLE Hybrid:   **(%%)Combination for Indoor and Outdoor tracking.Devices will try to search BLE iBeacon first. If device can't find the iBeacon, it will use GPS for positioning.
203
204 Users can switch modes by [[changing SMOD>>||anchor="H3.2.7SetPositioningMode"]].
205
206
207
208 == 2.4  Uplink Payload ==
209
210
211 === 2.4.1 Uplink FPORT~=5, Device Status ===
212
213
214 Uplink the device configures with FPORT=5. Once LGT92 Joined the network, it will uplink this message to the server. After first uplink, LHT52 will uplink Device Status every 12 hours.
215
216
217 (% border="1.5" style="background-color:#ffffcc; color:green; width:520px" %)
218 |=(% scope="row" style="width: 108px;" %)**Size(bytes)**|=(% style="width: 82px;" %)**1**|=(% style="width: 83px;" %)**2**|=(% style="width: 94px;" %)**1**|=(% style="width: 84px;" %)**1**|=(% style="width: 44px;" %)2|=(% style="width: 63px;" %)**2**|=(% style="width: 60px;" %)1
219 |=(% style="width: 108px;" %)**Value**|(% style="width:82px" %)Sensor Model|(% style="width:83px" %)Firmware Version|(% style="width:94px" %)Frequency Band|(% style="width:84px" %)Sub-band|(% style="width:44px" %)BAT|(% style="width:63px" %)SMOD|(% style="width:60px" %)Status
220
221 [[image:1665301570342-765.png]]
222
223
224 Example Payload (FPort=5):  [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT52%20-%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/image-20220621105116-11.png?rev=1.1||alt="image-20220621105116-11.png"]]
225
226 **Sensor Model**: For TrackerD, this value is 0x13.
227
228 **Firmware Version**: 0x0100, Means: v1.0.0 version.
229
230 **Frequency Band**:
231
232 *0x01: EU868
233
234 *0x02: US915
235
236 *0x03: IN865
237
238 *0x04: AU915
239
240 *0x05: KZ865
241
242 *0x06: RU864
243
244 *0x07: AS923
245
246 *0x08: AS923-1
247
248 *0x09: AS923-2
249
250 *0x0a: AS923-3
251
252 **Sub-Band**: value 0x00 ~~ 0x08(only for CN470, AU915,US915. Others are0x00)
253
254 **BAT**: shows the battery voltage for TrackerD.
255
256 Ex1: 0x0B3A = 2874mV
257
258 Use can also get the Device Status uplink through the downlink command:
259
260
261
262 === 2.4.2 Uplink FPORT~=2, Realtime GNSS Positioning + Temperature & Humidity ===
263
264
265 User can use **AT+SMOD=1,0** to enable uploading on-board Temperature and humidity values, and the total payload will be 15 bytes, please note that 15 bytes won't work on DR0 on US915/AU915 frequency band.
266
267
268 (% border="1.2" cellspacing="3" style="background-color:#ffffcc; color:green; width:480px" %)
269 |=(% scope="row" style="width: 50px;" %)(((
270 **Size(bytes)**
271 )))|(% style="width:60px" %)4|(% style="width:70px" %)4|(% style="width:80px" %)2|(% style="width:73px" %)1|(% style="width:40px" %)(((
272 2
273 )))|(% style="width:87px" %)(((
274 2
275 )))
276 |=(% style="width: 69px;" %)**Value**|(% style="width:76px" %)[[Latitude>>||anchor="HLocationinfo:"]]|(% style="width:87px" %)[[Longitude>>||anchor="HLocationinfo:"]]|(% style="width:76px" %)(((
277 [[Alarm & BAT>>||anchor="HAlarm26BAT:"]]
278 )))|(% style="width:73px" %)[[FLAG>>||anchor="HFLAG:"]]|(% style="width:40px" %)[[Hum>>||anchor="HHum:"]]|(% style="width:87px" %)[[Tem>>||anchor="HTem:"]]
279
280 [[image:1665301636888-168.png]]
281
282
283 ==== (% style="color:blue" %)**Alarm & BAT:**(%%) ====
284
285 (% border="1.2" cellspacing="3" style="background-color:#ffffcc; color:green; width:250px" %)
286 |=(% scope="row" style="width: 50px;" %)**Size(bit)**|(% style="width:50px" %)1 bit|(% style="width:80px" %)1bit|(% style="width:50px" %)14bits
287 |=(% style="width: 72px;" %)**Value**|(% style="width:67px" %)reserve|(% style="width:118px" %)Alarm Indicate|(% style="width:63px" %)[[BAT>>||anchor="HBAT:"]] 
288
289 ==== (% style="color:blue" %)**FLAG:**(%%) ====
290
291 (% border="1.2" cellspacing="3" style="background-color:#ffffcc; color:green; width:250px" %)
292 |=(% scope="row" style="width: 50px;" %)**Size(bit)**|(% style="width:50px" %)2bits|(% style="width:50px" %)1bit
293 |=(% style="width: 79px;" %)**Value**|(% style="width:55px" %)[[MOD>>||anchor="H3.2.7SetPositioningMode"]]|(% style="width:47px" %)[[LON>>||anchor="HLON:"]]
294
295 **Example:** Payload: 0x02863D68 FAC29BAF 4B45 60 0202 011A 
296
297
298 ==== (% style="color:blue" %)**Location info:**(%%) ====
299
300 * Latitude: 02863D68  ⇒  //if (0x//02863D68//& 0x80000000 = 0 )~://  //value = 02863D68 /1000000 = 42.351976//
301 * Longitude: FAC29BAF  ⇒ //if (0x//FAC29BAF// & 0x80000000 = 1 )~://  //value = (0x//FAC29BAF// – 0x 100000000)/1000000 =//-87.9094//57//
302
303 (% style="color:red" %)**Important note:**
304
305 1.  When power is low (<2.84v), GPS won't be able to get location info and GPS feature will be disabled and the location field will be filled with 0x0FFFFFFF, 0x0FFFFFFF.
306
307 2.  In this mode, the total payload will be 15 bytes, while US915/AU915 DR0 accepts only 11 bytes payload. In this case, the payload on server will be ignore and shows as below:
308
309
310 [[image:1664502116362-706.png]]
311
312
313 3.  While GPS can't get location info after timeout(FTIME Parameter), the latitude and longitude will be filled with all 0x00:
314
315 [[image:1664502166010-515.png]]
316
317
318
319 ==== (% style="color:blue" %)**Alarm:**(%%) ====
320
321 Example:  0x4B & 0x40 >> 6 = 0x01
322
323
324 ==== (% style="color:blue" %)**BAT:**(%%) ====
325
326 Example:  0x0CDD & 0x3FFF ⇒ 3293 (mV).
327
328 (((
329 The battery info shows the battery voltage, User can use the below mapping to indicate the battery in percentage: \
330 )))
331
332 * > 4.0v :  80% ~~ 100%
333 * 3.85v ~~3.99v:  60% ~~ 80%
334 * 3.70v ~~ 3.84v:  40% ~~ 60%
335 * 3.40v ~~ 3.69v:  20% ~~ 40%
336 * < 3.39v:  0~~20%
337
338 ==== (% style="color:blue" %)**LON:**(%%) ====
339
340 Enable/Disable LED activity for uplink
341
342 (((
343 0x00:  Disable LED indicator.
344 )))
345
346 (((
347 0x01:  Enable LED indicator (Default Value)
348 )))
349
350
351 ==== (% style="color:blue" %)**Hum:**(%%) ====
352
353 0202 = //if (0x0202 & 0x8000 = 0 ):  value =// 0x0202 / 100 = +514 ⇒ 51.4 degree
354
355
356 ==== (% style="color:blue" %)**Tem:**(%%) ====
357
358 011A =if (0x011A & 0x8000 = 1 ):  value =( 0x011A - 0x10000)/10(dec) ⇒ -//28.2 degree//
359
360
361
362 === 2.4.3  Uplink FPORT~=3, Realtime GNSS Positioning (Default Mode) ===
363
364
365 The default uplink payload includes totally 11 bytes. The payload is the first 11 bytes of Uplink FPORT=2, real-time GNSS positioning, (remove the temp and humidity)
366
367
368 (% border="1.2" cellspacing="3" style="background-color:#ffffcc; color:green; width:480px" %)
369 |=(% scope="row" style="width: 50px;" %)(((
370 **Size(bytes)**
371 )))|(% style="width:60px" %)4|(% style="width:70px" %)4|(% style="width:80px" %)2|(% style="width:73px" %)1
372 |=(% style="width: 69px;" %)**Value**|(% style="width:76px" %)[[Latitude>>||anchor="HLocationinfo:"]]|(% style="width:87px" %)[[Longitude>>||anchor="HLocationinfo:"]]|(% style="width:76px" %)(((
373 [[Alarm & BAT>>||anchor="HAlarm26BAT:"]]
374 )))|(% style="width:73px" %)[[FLAG>>||anchor="HFLAG:"]]
375
376 (% class="wikigeneratedid" %)
377 [[image:1665301687277-443.png]]
378
379
380
381 === 2.4.4  Uplink FPORT~=4, History GNSS Positioning ===
382
383
384 Set [[PNACKMD=1>>url:http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/#H4.13AutoSendNone-ACKmessages]], and TrackerD will wait for ACK for every uplink, when there is no LoRaWAN network, TrackerD will mark these records with non-ack messages and store the sensor data, and it will send all messages (10s interval) after the network recovery.
385
386
387 (% style="color:red" %)**Note for this mode:**
388
389 * a) TrackerD will do an ACK check for data records sending to make sure every data arrive server.
390 * b) TrackerD will send data in (% style="color:blue" %)**CONFIRMED Mode**(%%) when PNACKMD=1, but TrackerD won't re-transmit the packet if it doesn't get ACK, it will just mark it as a NONE-ACK message. In a future uplink, if TrackerD gets an ACK, TrackerD will consider there is a network connection and resend all NONE-ACK Messages.
391
392 The payload is 15 bytes, as below.
393
394 (% border="1.5" style="background-color:#ffffcc; color:green; width:520px" %)
395 |=(% scope="row" %)(((
396 **Size(bytes)**
397 )))|4|4|2|1|1|1|1|1
398 |=**Value**|Latitude|Longitude|Year|Month|Day|Hous|Min|Sen
399
400 [[image:1665301786397-168.png]]
401
402
403
404 === 2.4.5  Uplink FPORT~=6, BLE Positioning with Strongest iBeacon ===
405
406
407 (% border="1.5" cellspacing="3" style="background-color:#ffffcc; color:green; width:450px" %)
408 |=(% scope="row" style="width: 60px;" %)(((
409 **Size(bytes)**
410 )))|(% style="width:30px" %)16|(% style="width:50px" %)4|(% style="width:50px" %)4|(% style="width:120px" %)2|(% style="width:50px" %)4|(% style="width:50px" %)2|(% style="width:30px" %)1
411 |=(% style="width: 50px;" %)**Value**|(% style="width:44px" %)[[UUID>>||anchor="HLocationinfo:"]]|(% style="width:61px" %)(((
412 iBeacon MAJOR
413 )))|(% style="width:63px" %)(((
414 iBeacon MINOR
415 )))|(% style="width:71px" %)(((
416 iBeacon Measured Power
417 )))|(% style="width:50px" %)(((
418 iBeacon RSSI
419 )))|(% style="width:47px" %)(((
420 [[Alarm & BAT>>||anchor="HAlarm26BAT:"]]
421 )))|(% style="width:15px" %)[[FLAG>>||anchor="HFLAG:"]]
422
423 [[image:1664502425687-834.png]]
424
425
426 * (% style="color:#037691" %)**BAT: ** (%%) Ex1: 0x4B45 & 0x3FFF ⇒ 3901 (mV).
427 * (% style="color:#037691" %)**MODE:   **(%%)Define the payload format.
428 * (% style="color:#037691" %)**UUID:     **(%%)The uuid from the strongest iBeacon.
429 * (% style="color:#037691" %)**MAJOR:** (%%) The MAJOR from the strongest iBeacon.
430 * (% style="color:#037691" %)**MINOR:**  (%%)The MAJOR from the strongest iBeacon.
431 * (% style="color:#037691" %)**Measured Power: ** (%%) The Measured Power from the strongest iBeacon.
432 * (% style="color:#037691" %)**RSSI:  ** (%%) The RSSI from the strongest iBeacon.
433
434 === 2.4.5 Add Payload format in TTN V3 ===
435
436
437 In TTN V3, use can add a custom payload so it shows friendly.
438
439 In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**
440
441
442 [[image:1664502649601-895.png]]
443
444
445 Add the decoder from this link:
446
447
448 Save the change the uplink message will be parsed. As below:
449
450 [[image:1664502676891-606.png]]
451
452
453
454 == 2.5 Integrate with Datacake ==
455
456
457 (((
458 After TrackerD sends data to LoRaWAN server such as TTN, use can pass the data to Datacake and plot out, currently only support GPS plot.
459 )))
460
461 (((
462 Instruction is here:  [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Notes%20for%20Data%20Cake/#H7.Example~~-~~-AddTrackerDGPSTrackingInDataCake>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Notes%20for%20Data%20Cake/#H7.Example--AddTrackerDGPSTrackingInDataCake]]
463 )))
464
465
466 [[image:1664502695771-538.png]]
467
468
469
470 == 2.6 Integrate with Tago ==
471
472
473 (((
474 After TrackerD sends data to LoRaWAN server such as TTN, use can pass the data to Datacake and plot out, currently only support GPS plot.
475 )))
476
477 (((
478 Instruction is here: [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Tago.IO/#H3.A0Example-CreateTrackerD2FLGT92positioningwidget>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Tago.IO/#H3.A0Example-CreateTrackerD2FLGT92positioningwidget]]
479 )))
480
481
482 [[image:1664502715371-321.png]]
483
484
485
486 == 2.7 Datalog Feature ==
487
488 total 273 entries,by default disable
489
490 == 2.8 Alarm Mode ==
491
492
493 (((
494 User can push the (% style="color:red" %)**RED button**(%%) by more than 5 seconds to enter Alarm Mode.
495 )))
496
497
498 (((
499 Once enter Alarm mode, the (% style="color:green" %)**GREEN LED**(%%) will flash 3 times, the buzzer will alarm for 5 seconds, then TrackerD will immediately send a packet without location info and then send a data packet with GPS positioning information. After that, the device will send 60 packets at 1-minute intervals. The Alarm flag in the payload will be set for the next 60 packets unless exit alert mode.
500 )))
501
502
503 (((
504 Two ways to exit alarm mode:
505 )))
506
507 * Server send a downlink command to exit.
508 * User fast press the RED button 10 times.
509
510 (((
511 When exit alarm mode, (% style="color:red" %)**RED LED**(%%) will light up for 5 seconds, indicating that the alarm mode is exited. And the alert flag will be set to false.
512 )))
513
514
515
516 == 2.9 Transport Mode ==
517
518
519 In Transport Mode, TrackerD will check if there is motion. If there is no motion, device will send uplinks every 20 minutes. If there is motion, device will send uplink every 5 minutes.
520
521
522 == 2.10 LED Status ==
523
524
525 (% border="1.5" style="background-color:#ffffcc; color:green; width:500px" %)
526 |=(% style="width: 150px;" %)**Event**|=(% style="width: 200px;" %)**Action**|=(% style="width: 150px;" %)**AT+LON to control on/off**
527 |(% style="width:157px" %)**Power On**|(% style="width:271px" %)(% style="color:blue" %)**BLUE, **(% style="color:red" %)**RED , **(% style="color:green" %)**Green** flash once|(% style="width:202px" %)N/A
528 |(% style="width:157px" %)**Join request**|(% style="width:271px" %)(% style="color:green" %)**Green** (%%)led fast blink once (200ms)|(% style="width:202px" %)Yes
529 |(% style="width:157px" %)**Join Success**|(% style="width:271px" %)(% style="color:green" %)**Green**(%%) led on 5 second|(% style="width:202px" %)N/A
530 |(% style="width:157px" %)**Fixing Location**|(% style="width:271px" %)(% style="color:blue" %)**BLUE **(%%)blinks 200ms per second|(% style="width:202px" %)Yes
531 |(% style="width:157px" %)**Fixed and uplink**|(% style="width:271px" %)(% style="color:green" %)**GREEN ***(%%)***blinks twice (200ms per blink)**|(% style="width:202px" %)Yes
532 |(% style="width:157px" %)**Fail Fix and uplink**|(% style="width:271px" %)(% style="color:red" %)**RED **(%%)blinks twice (200ms per blink)|(% style="width:202px" %)Yes
533 |(% style="width:157px" %)**Enter Alarm mode**|(% style="width:271px" %)(% style="color:red" %)**RED **(%%)on for 3 seconds|(% style="width:202px" %)Yes
534 |(% style="width:157px" %)**Uplink under Alarm**|(% style="width:271px" %)(% style="color:red" %)**RED **(%%)on for 1 second|(% style="width:202px" %)Yes
535 |(% style="width:157px" %)**Exit Alarm**|(% style="width:271px" %)(% style="color:blue" %)**BLUE **(%%)led on 5 second|(% style="width:202px" %)Yes
536 |(% style="width:157px" %)**Get Downlink**|(% style="width:271px" %)(% style="color:green" %)**GREEN**(%%) led on 1 second|(% style="width:202px" %)Yes
537 |(% style="width:157px" %)**Movement Detect**|(% style="width:271px" %)(% style="color:red" %)**RED **(%%)led on 500ms|(% style="width:202px" %)N/A
538
539 == 2.11 Button Function ==
540
541
542 (% style="color:blue" %)**RESET button:**
543
544 [[image:1664502835802-546.png]]
545
546 Push this button will reboot the device. Device will exit alarm mode and re-join to LoRaWAN server.
547
548
549 (% style="color:red" %)**RED button:**
550
551 [[image:1664502854406-763.png]]
552
553
554 (% border="1.5" style="background-color:#ffffcc; color:green; width:520px" %)
555 |=(% style="width: 100px;" %)**Function**|=(% style="width: 210px;" %)**Action**|=(% style="width: 210px;" %)**Description**
556 |(% style="width:135px" %)Send Alarm|(% style="width:220px" %)Keep Pressing (% style="color:red" %)**RED**(%%) button for more than 5 seconds|(% style="width:265px" %)Enter Alarm Mode.  See [[Alarm Mode>>||anchor="H2.6AlarmMode"]]
557 |(% style="width:135px" %)Exit Alarm Mode|(% style="width:220px" %)Fast press the (% style="color:red" %)**RED** (%%)button 10 times|(% style="width:265px" %)Exit Alarm Mode
558 |(% style="width:135px" %)Enter Deep Sleep Mode|(% style="width:220px" %)Press and hold the button for 10 seconds, then quickly press the device 3 times to enter deep sleep|(% style="width:265px" %)This is the mode ship out from factory. CPU will be complete in sleep mode and no LoRa activity, only use before deploy.
559
560 == 2.12 USB Port Function ==
561
562
563 The USB interface of TrackerD has below functions:
564
565 * Power on the device
566 * Recharge the battery
567 * [[Configure Device>>||anchor="H3.ConfigureTrackerDviaATcommandorLoRaWANdownlink"]]
568 * [[Upgrade Firmware>>||anchor="H5.UploadFirmware"]]
569
570 = 3. Configure TrackerD via AT command or LoRaWAN downlink =
571
572
573 User can configure TrackerD via AT Command or LoRaWAN Downlink.
574
575 LoRaWAN Downlink instruction for different platforms:  [[IoT LoRaWAN Server>>doc:Main.WebHome]]
576
577
578
579 == 3.1 Access AT Command ==
580
581
582 TrackerD supports the AT command set in stock firmware. User can connect to TrackerD with TYPE-C cable to use AT commands as shown below.
583
584
585 [[image:1664502999401-486.png]]
586
587
588 In PC, User needs to set serial tool baud rate to (% style="color:green" %)**115200**(%%) to access serial console for TrackerD. TrackerD will output system info once power on and user will be able to send AT commands:
589
590
591 [[image:1664503022490-662.png]]
592
593
594
595 [[image:1664503035713-500.png]]
596
597
598
599 [[image:1664503047675-651.png]]
600
601
602
603 == 3.2 Command Set ==
604
605
606 === 3.2.1 Set Transmit Interval ===
607
608
609 Set device uplink interval.
610
611 * (% style="color:blue" %)**AT Command:**
612
613 (% style="color:#037691" %)**AT+TDC=xxx **
614
615 Example:  AT+TDC=300000. Means set interval to 5 minutes(300 seconds)
616
617
618 * (% style="color:blue" %)**Downlink Payload (prefix 0x01):**
619
620 (% style="color:#037691" %)**0x01 00 01 2C**  (%%) ~/~/  Same as AT+TDC=300000
621
622
623
624 === 3.2.2 Set Alarm Packet transmission interval ===
625
626
627 Set alarm packet transmit interval
628
629 * (% style="color:blue" %)**AT Command:**
630
631 (% style="color:#037691" %)**AT+ATDC=xx. **
632
633 Example:  AT+ATDC=60000  **~-~->    ** Set Alarm Packet Interval to 60 seconds. TrackerD will send every 60 seconds in Alarm mode, Default Value: 60000
634
635
636 * (% style="color:blue" %)**Downlink Payload (prefix 0xB1):**
637
638 (% style="color:#037691" %)**0xB1 00 00 3C ** (%%) ~/~/  Same as AT+ATDC=60000
639
640
641
642 === 3.2.3 Set Transport Mode Packet transmission interval ===
643
644
645 Set Transport Mode packet transmit interval
646
647 * (% style="color:blue" %)**AT Command:**
648
649 (% style="color:#037691" %)**AT+MTDC=xx. **
650
651 Example:  AT+MTDC=300000  **~-~->    ** Set Transport Mode Packet Interval to 300 seconds. TrackerD will send every 300 seconds in Transport mode, Default Value: 300000
652
653
654 * (% style="color:blue" %)**Downlink Payload (prefix 0x03):**
655
656 (% style="color:#037691" %)**0x03 00 01 2C**  (%%) ~/~/  Same as AT+ MTDC=3000000
657
658
659
660 === 3.2.4 Exit Alarm ===
661
662
663 Server send downlink command to exit Alarm mode
664
665 * (% style="color:blue" %)**AT Command: No AT Command**
666
667 * (% style="color:blue" %)**Downlink Payload (prefix 0x02):**
668
669 (% style="color:#037691" %)**0x02 01**    (%%) ~/~/  Exit Alarm Mode
670
671
672
673 === 3.2.5 Disable/Enable LED flash ===
674
675
676 Disable/Enable LED for position, downlink and uplink
677
678 * (% style="color:blue" %)**AT Command:**
679
680 (% style="color:#037691" %)**AT+LON=xx.  (Disable (0), Enable (1), default:1)**
681
682 Example: AT+LON=0  **~-~-> ** Disable LED for position, downlink and uplink.
683
684
685 * (% style="color:blue" %)**Downlink Payload (prefix 0xAE):**
686
687 (% style="color:#037691" %)**0xAE 00 ** (%%) ~/~/  Same as AT+LON=0
688
689
690
691 === 3.2.6 Disable/Enable Transport Mode ===
692
693
694 Users can use this feature to enable/disable Transport Mode.
695
696 * (% style="color:blue" %)**AT Command:**
697
698 (% style="color:#037691" %)**AT+INTWK=xx.  (Disable (0), Enable (1), default:0)**
699
700 Example:  AT+ INTWK =1  **~-~->   ** Enable Transport Mode.
701
702
703 * (% style="color:blue" %)**Downlink Payload (prefix 0xAF):**
704
705 (% style="color:#037691" %)**0xAF 01 ** (%%) ~/~/  Same as AT+ INTWK =1
706
707
708
709 === 3.2.7 Set Positioning Mode ===
710
711
712 SMOD define the how TrackerD scan and uplink data:
713
714
715 * (% style="color:blue" %)**AT Command:**
716
717 (% style="color:#037691" %)**AT+SMOD=aa,bb**
718
719 (% style="color:#037691" %)** aa:**
720
721 * (% style="color:#037691" %)**1: GPS ONLY(Factory Settings):    **(%%)only get and uplink GPS location info.
722 * (% style="color:#037691" %)**2: BLE ONLY:              **(%%)Only obtain iBeacon info via BLE and uplink. Design for Indoor tracking.
723 * (% style="color:#037691" %)**3: GPS/BLE Hybrid:   **(%%)Combination for Indoor and Outdoor tracking.Devices will try to search BLE iBeacon first. If device can't find the iBeacon, it will use GPS for positioning
724
725 (% style="color:#037691" %)**bb:**
726
727 (% style="color:#037691" %)** if aa = 1: **
728
729 * (% style="color:#037691" %)**0 :  **(%%)GPS+ BAT+ State+Tem&Hum
730 * (% style="color:#037691" %)**1 :**(%%)  GPS +BAT State
731
732 (% style="color:#037691" %)** if aa = 2: **
733
734 * (% style="color:#037691" %)**3 :  **(%%)(iBeacon)UUID+ Major + Minor+Power+Rssi+BAT+State
735
736 **Example:**
737
738 AT+ SMOD =1,0  **~-~-> ** GPS+ BAT+ State+Tem&Hum
739
740 AT+ SMOD =1,1    **~-~->**  GPS +BAT State
741
742 AT+ SMOD =2,3    **~-~->**  (iBeacon)UUID+ Major + Minor+Power+Rssi+BAT+State
743
744
745 * (% style="color:blue" %)**Downlink Payload (prefix 0xA5):**
746
747 (% style="color:#037691" %)**0xA5 01 00**    (%%) ~/~/  Same as AT+ SMOD =1,0
748
749
750
751 === 3.2.8 Set MAX GPS position time ===
752
753
754 Set max positioning time, default is 150 seconds. TrackerD will try to get location info within this period. If fail to get position data within this time, TrackerD will use 000000 for latitude and longitude.
755
756
757 If AT+FTIME=0. The GPS module will be always powered and positioning. This will highly increase the power consumption (up to 50mA). When AT+FTIME=0, it will improve fix accuracy and shorten the acquire time for next uplink.
758
759
760 * (% style="color:blue" %)**AT Command:**
761
762 (% style="color:#037691" %)**AT+FTIME=xx**  (%%) **~-~-> ** Set to use xx as max fix time.
763
764 Example:  AT+FTIME=150
765
766
767 * (% style="color:blue" %)**Downlink Payload (prefix 0xAA):**
768
769 (% style="color:#037691" %)**0xAA 00 96 ** (%%) ~/~/  Set AT+FTIME=150
770
771
772
773 === 3.3.9 Set PDOP value for GPS fix accuracy ===
774
775
776 PDOP(Position Dilution of Precision) filter, TrackerD will only accept GPS data with a lower PDOP value than pre-configure PDOP value. If device can't get a valid GPS packet within FTIME timeout, it will use the GPS data with lowest PDOP value to server.
777
778
779 A GPS packet with lower PDOP has higher accuracy. PDOP default value is 2.0
780
781
782 * (% style="color:blue" %)**AT Command:**
783
784 (% style="color:#037691" %)**AT+PDOP=2.5 ** (%%) **~-~->  ** Set PDOP to 2.5
785
786
787 * (% style="color:blue" %)**Downlink Payload (prefix 0xAD):**
788
789 (% style="color:#037691" %)**0xAD 00 0A**   (%%) ~/~/  Set AT+PDOP=1  (0x0A / 10 =1)
790
791 (% style="color:#037691" %)**0xAD 00 19**   (%%) ~/~/  Set AT+PDOP=2.5    (0x19 / 10 =2.5)
792
793 (% style="color:#037691" %)**0xAD 00 46**    (%%) ~/~/  Set AT+PDOP=7  (0x46 / 10 =7)
794
795
796
797 Disable/Enable the confirmation mode
798
799 * (% style="color:blue" %)**AT Command:**
800
801 (% style="color:#037691" %)**AT+CFM=xx. **
802
803
804 **~ Example:**
805
806 AT+ CFM=0    **~-~->   ** Disable confirmation
807
808 AT+ CFM=1    **~-~->  ** Enable confirmation
809
810
811 * (% style="color:blue" %)**Downlink Payload (prefix 0x05):**
812
813 (% style="color:#037691" %)**0x05 01 **(%%) ~/~/  Same as AT+ SMOD =1
814
815
816
817 = 4. Setting for Different Scenarios =
818
819
820
821 = 5. Upload Firmware =
822
823
824 == 5.1 Firmware Change Log ==
825
826
827 **[[See this link>>url:https://github.com/dragino/TrackerD]]**
828
829
830
831 == 5.2 How to upgrade firmware ==
832
833
834 User can use the TrackerD's USB port to upgrade firmware into it. The hardware connection for upgrade firmware is as below:
835
836
837 (% style="color:blue" %)**Step1:  **(%%)Connect TrackerD and PC via USB cable shipped with TrackerD.
838
839
840 (% style="color:blue" %)**Step2:** (%%) Install CH9102 driver in the PC.
841
842 After installation of the driver and plug in TrackerD, user should be able to see com port in PC's device manager.
843
844
845 (% style="color:blue" %)**Step3:  **(%%)Download and Install Flash Tool:  [[https:~~/~~/www.espressif.com.cn/en/support/download/other-tools?keys=Flash%2BDownload%2BTools>>url:https://www.espressif.com.cn/en/support/download/other-tools?keys=Flash%2BDownload%2BTools]]
846
847
848 (% style="color:blue" %)**Step4:** (%%) Run Flash Download Tool and configure chip type to ESP32
849
850
851 [[image:1664503563660-578.png]]
852
853
854 [[image:1664503574618-659.png]]
855
856
857 (% style="color:blue" %)**Step5:** (%%) Select the firmware file (.bin format), com port and proper SPI configure. Clink Start. Bin file location:
858
859 [[https:~~/~~/www.dropbox.com/sh/733s8xlwahhqg1d/AABxDz80lBVX_to8zNuUQWFja?dl=0>>url:https://www.dropbox.com/sh/733s8xlwahhqg1d/AABxDz80lBVX_to8zNuUQWFja?dl=0]]
860
861
862 Users need to use below files:
863
864 boot_app0.bin @0e000
865
866 ESP_LORA-eeprom-class.bin @ 0x10000
867
868
869 [[image:1664503593459-435.png]]
870
871
872
873 After upgrade finish, it will show finish as below:
874
875 [[image:1664503611848-385.png]]
876
877
878
879 = 6. Developer Guide =
880
881
882 == 6.1 Compile Source Code ==
883
884
885 === 6.1.1 Set up ARDUINO compile environment ===
886
887
888 * **Download the latest Arduino software (IDE) from the Arduino official website:  [[https:~~/~~/www.arduino.cc/en/Main/Software>>url:https://www.arduino.cc/en/Main/Software]]**
889
890 Install IDE on PC, open and click (% style="color:#037691" %)**File ~-~-> Preference**,(%%) add the following URL:  [[https:~~/~~/dl.espressif.com/dl/package_esp32_index.json>>url:https://links.jianshu.com/go?to=https%3A%2F%2Fdl.espressif.com%2Fdl%2Fpackage_esp32_index.json]]
891
892
893 [[image:1664503635019-941.png]]
894
895
896 * (% style="color:#037691" %)**Go to tools ~-~-> Boards ~-~-> Boards Manager**,(%%) **find the esp32 information and install it.**
897
898 [[image:1664503715811-892.png]]
899
900
901
902 * **Download the latest TrackerD from the dragino github: [[https:~~/~~/github.com/dragino/TrackerD>>url:https://github.com/dragino/TrackerD]]**
903
904 Put the Library in the TrackerD directory into the libraries file in the Arduino directory:
905
906
907 [[image:1664503752288-974.png]]
908
909
910
911 == 6.2 Source Code ==
912
913
914 * (% style="color:blue" %)**Open the example in the TrackerD file, please select the correct port in the IDE, as shown below:**
915
916 [[image:1664503794261-827.png]]
917
918
919
920 * (% style="color:blue" %)**Click to upload**
921
922 [[image:1664503808294-336.png]]
923
924
925
926 * (% style="color:blue" %)**Check the result, if the upload is successful, as shown below, open the serial port to view the data**
927
928 [[image:1664503824081-592.png]] [[image:1664503831430-500.png]]
929
930
931
932 = 7.  FAQ =
933
934
935 == 7.1 How to change the LoRa Frequency Bands/Region? ==
936
937
938 User can follow the introduction for [[how to upgrade image>>||anchor="H5.UploadFirmware"]]. When download the images, choose the required image file for download.
939
940
941
942 == 7.2 What is the pin mapping for the USB program cable? ==
943
944
945 [[image:1664499635206-262.png]]
946
947
948
949 (% border="1.5" cellspacing="3" style="background-color:#ffffcc; color:green; width:314px" %)
950 |=(% style="width: 118px;" %)**Pin**|=(% style="width: 67px;" %)**Color**|=(% style="width: 123px;" %)**USB Pin**
951 |(% style="width:118px" %)A4,B4,A9,B9|(% style="width:67px" %)Red|(% style="width:123px" %)VCC
952 |(% style="width:118px" %)A7,B7|(% style="width:67px" %)White|(% style="width:123px" %)D- (N/A)
953 |(% style="width:118px" %)A6,B6|(% style="width:67px" %)Green|(% style="width:123px" %)D+(N/A)
954 |(% style="width:118px" %)A1,B1,A12,B12|(% style="width:67px" %)Black|(% style="width:123px" %)GND
955 |(% style="width:118px" %)A5|(% style="width:67px" %)Purple|(% style="width:123px" %)MTDC/GOIO13
956 |(% style="width:118px" %)B5|(% style="width:67px" %)Blue|(% style="width:123px" %)MTDC/GPIO12
957 |(% style="width:118px" %)A8|(% style="width:67px" %)Yellow|(% style="width:123px" %)MTMS/GPIO14
958 |(% style="width:118px" %)B8|(% style="width:67px" %)Grey|(% style="width:123px" %)MTDO/GPIO15
959
960 = 8.  Order Info =
961
962
963 Part Number: (% style="color:blue" %)**TrackerD-XXX**
964
965 (% style="color:blue" %)**XXX**(%%): The default frequency band
966
967 * (% style="color:red" %)**EU433**(%%): Default frequency band EU433
968 * (% style="color:red" %)**EU868**(%%): Default frequency band EU868
969 * (% style="color:red" %)**IN865**(%%): Default frequency band IN865
970 * (% style="color:red" %)**KR920**(%%): Default frequency band KR920
971 * (% style="color:red" %)**AS923**(%%): Default frequency band AS923
972 * (% style="color:red" %)**AU915**(%%): Default frequency band AU915
973 * (% style="color:red" %)**US915**(%%): Default frequency band US915
974
975 = 9.  Packing Info =
976
977
978 (% style="color:#037691" %)**Package Includes**:
979
980 * TrackerD LoRaWAN GPS/BLE Tracker x 1
981 * USB recharge & program cable x 1
982
983 (% style="color:#037691" %)**Dimensions and Weight**:
984
985 * Device Size: 85 x 48 x 15 cm
986 * Weight: 50g
987
988 = 10. Support =
989
990
991 * Support is provided Monday to Friday, from 09:00 to 18:00 GMT+8. Due to different timezones we cannot offer live support. However, your questions will be answered as soon as possible in the before-mentioned schedule.
992 * Provide as much information as possible regarding your enquiry (product models, accurately describe your problem and steps to replicate it etc) and send a mail to [[support@dragino.com>>url:file:///D:/市场资料/说明书/LoRa/LT系列/support@dragino.com]].
993
994 = 11.  Reference =
995
996
997 * [[**Firmware in Bin format**>>https://www.dropbox.com/sh/733s8xlwahhqg1d/AABxDz80lBVX_to8zNuUQWFja?dl=0]]
998 * **[[Source Code>>https://github.com/dragino/TrackerD]] **
999 * [[**Hardware Source**>>https://www.dropbox.com/sh/orwoy6cecb89m4e/AAD37sRuUrvKsHgAJxuVTkB5a?dl=0]]
1000
1001