Last modified by Bei Jinggeng on 2025/08/01 17:45

From version 74.6
edited by Xiaoling
on 2022/10/11 14:39
Change comment: There is no comment for this version
To version 146.1
edited by Bei Jinggeng
on 2022/11/22 16:22
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Xiaoling
1 +XWiki.Bei
Content
... ... @@ -1,5 +1,5 @@
1 1  (% style="text-align:center" %)
2 -[[image:1664505654417-133.png]]
2 +[[image:1664505654417-133.png||_mstalt="293696"]]
3 3  
4 4  
5 5  
... ... @@ -14,7 +14,6 @@
14 14  
15 15  = 1.  Introduction =
16 16  
17 -
18 18  == 1.1  What is TrackerD ==
19 19  
20 20  
... ... @@ -40,13 +40,12 @@
40 40  
41 41  )))
42 42  
43 -[[image:1664499921684-770.png]]
42 +[[image:1664499921684-770.png||_mstalt="298194"]]
44 44  
45 45  
46 46  (% style="color:red" %)**Note: LoRaWAN server can be a general LoRaWAN server other than TTN.**
47 47  
48 48  
49 -
50 50  == 1.2 Specifications ==
51 51  
52 52  
... ... @@ -97,8 +97,6 @@
97 97  * LoRa Transmit Mode: 125mA @ 20dBm 44mA @ 14dBm
98 98  * Tracking: max: 38mA
99 99  
100 -
101 -
102 102  == 1.3  Features ==
103 103  
104 104  
... ... @@ -117,8 +117,6 @@
117 117  * Tri-color LED, Alarm button
118 118  * Datalog
119 119  
120 -
121 -
122 122  == 1.4  Applications ==
123 123  
124 124  
... ... @@ -125,11 +125,8 @@
125 125  * Logistics and Supply Chain Management
126 126  * Human tracking
127 127  
122 += 2.  Use TrackerD =
128 128  
129 -
130 -= 2.1 Use TrackerD =
131 -
132 -
133 133  == 2.1 How it works? ==
134 134  
135 135  
... ... @@ -136,7 +136,6 @@
136 136  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.
137 137  
138 138  
139 -
140 140  == 2.2 Quick guide to connect to LoRaWAN server ==
141 141  
142 142  
... ... @@ -143,7 +143,7 @@
143 143  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. 
144 144  
145 145  
146 -[[image:1664501652064-326.png]]
136 +[[image:1664501652064-326.png||_mstalt="293306"]]
147 147  
148 148  
149 149  
... ... @@ -155,7 +155,7 @@
155 155  Each TrackerD is shipped with a sticker with the default device EUI as below:
156 156  
157 157  
158 -[[image:1664501677253-891.png]]
148 +[[image:1664501677253-891.png||_mstalt="296569"]]
159 159  
160 160  
161 161  Input these keys to their LoRaWAN Server portal. Below is TTN V3 screen shot:
... ... @@ -164,14 +164,14 @@
164 164  **__Add APP EUI in the application:__**
165 165  
166 166  
167 -[[image:1664501711466-918.png]]
157 +[[image:1664501711466-918.png||_mstalt="295828"]]
168 168  
169 169  
170 170  
171 -[[image:1664501721248-725.png]]
161 +[[image:1664501721248-725.png||_mstalt="294450"]]
172 172  
173 173  
174 -[[image:1664501734705-405.png]]
164 +[[image:1664501734705-405.png||_mstalt="293306"]]
175 175  
176 176  
177 177  
... ... @@ -178,45 +178,47 @@
178 178  **__Add APP KEY and DEV EUI:__**
179 179  
180 180  
181 -[[image:1664501784668-703.png]]
171 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDS02%20-%20LoRaWAN%20Door%20Sensor%20User%20Manual/WebHome/1654671889112-678.png?rev=1.1||_mstalt="298233" alt="1654671889112-678.png"]]
182 182  
183 183  
184 184  
175 +(% style="color:blue" %)**Step 2**:(%%) Push this button will activate this device.
185 185  
186 -(% style="color:blue" %)**Step 2**:(%%) Power on TrackerD by using the on board switch.
177 +(% id="cke_bm_7709S" style="display:none" %) [[image:1664502835802-546.png||_mstalt="295061"]]
187 187  
179 +[[image:1664502835802-546.png||_mstalt="295061"]]
188 188  
181 +
189 189  (% 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.
190 190  
191 191  
192 -
193 193  == 2.3  Positioning Mode(SMOD) ==
194 194  
195 195  
196 196  Users can set TrackerD to different Positioning Mode for different applications. Below mod are supported.
197 197  
198 -* (% style="color:#037691" %)**GPS ONLY(Factory Settings):    **(%%)only get and uplink GPS location info.
199 -* (% style="color:#037691" %)**BLE ONLY:              **(%%)Only obtain iBeacon info via BLE and uplink. Design for Indoor tracking.
200 -* (% 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.
190 +* (% style="color:#037691" %)**GPS ONLY(Factory Settings):    **(%%)Only get and uplink GPS location info.
191 +* (% style="color:#037691" %)**BLE or WiFi ONLY:            **(%%)** **Only obtain iBeacon info via BLE and uplink  or obtain wifi ssid info via WiFi and uplink. Design for Indoor tracking.
192 +* (% 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.
201 201  
202 202  Users can switch modes by [[changing SMOD>>||anchor="H3.2.7SetPositioningMode"]].
203 203  
204 204  
205 -
206 206  == 2.4  Uplink Payload ==
207 207  
208 -
209 209  === 2.4.1 Uplink FPORT~=5, Device Status ===
210 210  
211 211  
212 212  Uplink the device configures with FPORT=5. Once TrackerD Joined the network, it will uplink this message to the server. After the first uplink, TrackerD will uplink Device Status every 12 hours.
213 213  
204 +Use can also get the Device Status uplink through the downlink command: **Downlink:  0x2301**
214 214  
215 -(% border="1.5" style="background-color:#ffffcc; color:green; width:520px" %)
216 -|=(% 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
206 +
207 +(% border="1.5" style="background-color:#ffffcc; color:green; width:440px" %)
208 +|=(% style="width: 60px;" %)**Size(bytes)**|=(% style="width: 70px;" %)**1**|=(% style="width: 70px;" %)**2**|=(% style="width: 70px;" %)**1**|=(% style="width: 50px;" %)**1**|=(% style="width: 30px;" %)2|=(% style="width: 40px;" %)**2**|=(% style="width: 40px;" %)1
217 217  |=(% 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
218 218  
219 -[[image:1665301570342-765.png]]
211 +[[image:1665301570342-765.png||_mstalt="294580"]]
220 220  
221 221  
222 222  (% style="color:#037691" %)**Example of Device Status:**(%%) 13014001FF0FA24002
... ... @@ -256,58 +256,54 @@
256 256  
257 257  Use can also get the Device Status uplink through the downlink command:
258 258  
259 -TrackerD Model:0x40
260 260  
261 -(% border="1.5" style="background-color:#ffffcc; color:green; width:314px" %)
262 -|(% style="width:75px" %)**Size(bit)**|(% style="width:64px" %)2bits|(% style="width:88px" %)2bit|(% style="width:84px" %)4bit
263 -|(% style="width:75px" %)**Value**|(% style="width:64px" %)SMOD|(% style="width:88px" %)GPS_MOD|(% style="width:84px" %)BLE_MOD
252 +(% style="color:#037691" %)**SMOD Field (total 1 byte)**(%%):0x40
264 264  
265 -(% style="color:blue" %)**SMOD:**
254 +(% border="1.5" style="background-color:#ffffcc; color:green; width:270px" %)
255 +|=(% scope="row" style="width: 60px;" %)**Size(bit)**|(% style="width:50px" %)2bits|(% style="width:80px" %)2bit|(% style="width:80px" %)4bit
256 +|=(% style="width: 75px;" %)**Value**|(% style="width:64px" %)SMOD|(% style="width:104px" %)GPS_Settings|(% style="width:103px" %)BLE_Settings
266 266  
267 -(% style="color:red" %)**1 :** (%%) GPS ONLY
258 +(% style="color:blue" %)** SMOD:**
268 268  
269 -(% style="color:red" %)**2 :** (%%) BLE ONLY
260 +(% style="color:red" %)** 1 :** (%%) GPS ONLY
270 270  
271 -(% style="color:red" %)**3 :**  (%%) GPS/BLE Hybrid
262 +(% style="color:red" %)** 2 :** (%%) BLE ONLY
272 272  
264 +(% style="color:red" %)** 3 :**  (%%) GPS/BLE Hybrid
273 273  
274 -(% style="color:blue" %)**GPS MOD:**
275 275  
276 -(% style="color:red" %)**0 : ** (%%) Enable uploading on-board Temperature and humidity values
267 +(% style="color:blue" %)** GPS_MOD: Define how to send GPS payload**
277 277  
278 -(% style="color:red" %)**1 :** (%%) Disable uploading on-board Temperature and humidity values
269 +(% style="color:red" %)** 0 : ** (%%) Enable uploading on-board Temperature and humidity values
279 279  
271 +(% style="color:red" %)** 1 :** (%%) Disable uploading on-board Temperature and humidity values
280 280  
281 -(% style="color:blue" %)**BLE MOD:**
282 282  
283 -(% style="color:red" %)**1: ** (%%) BLE Positioning with Strongest iBeacon
274 +(% style="color:blue" %)** BLE_Settings:**
284 284  
285 -TrackerD Status 0x02
276 +(% style="color:red" %)** 1: ** (%%) BLE Positioning with Strongest iBeacon
286 286  
287 -(% border="1.5" style="background-color:#ffffcc; color:green; width:345px" %)
288 -|(% style="width:77px" %)**Size(bit)**|(% style="width:91px" %)1bits|(% style="width:48px" %)1bit|(% style="width:126px" %)1bit
289 -|(% style="width:77px" %)**Value**|(% style="width:91px" %)PNACKMD|(% style="width:48px" %)LON|(% style="width:126px" %)Transport** **Mode
278 +(% _mstmutation="1" style="color:red" %)** 2:**  (%%)WiFi Positioning with Strongest WiFi SSID(% _mstmutation="1" style="color:blue" %)(V1.4.1 Version support this function later)(%%)  
290 290  
291 -(% style="color:red" %)**0 : **(%%) Transport Mode
292 292  
293 -(% style="color:red" %)**1 **(%%) AT+LON
281 +(% style="color:#037691" %)**Status Field (total 1 byte)**(%%) 0x02
294 294  
295 -(% style="color:red" %)**2 : **(%%) Datalog Enable/Disable
283 +(% border="1.5" style="background-color:#ffffcc; color:green; width:260px" %)
284 +|=(% scope="row" style="width: 50px;" %)**Size(bit)**|(% style="width:50px" %)5 Bits|(% style="width:60px" %)1 Bit|(% style="width:20px" %)1 Bit|(% style="width:80px" %)1 Bit
285 +|=(% style="width: 77px;" %)**Value**|(% style="width:70px" %)Reserve|(% style="width:92px" %)[[PNACKMD>>||anchor="H2.4.4A0UplinkFPORT3D42CHistoryGNSSPositioning"]]|(% style="width:48px" %)[[LON>>||anchor="H3.2.5Disable2FEnableLEDflash"]]|(% style="width:126px" %)[[Transport Mode>>||anchor="H2.9TransportMode"]]
296 296  
297 -
298 -
299 299  === 2.4.2 Uplink FPORT~=2, Realtime GNSS Positioning + Temperature & Humidity ===
300 300  
301 301  
302 -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.
290 +Users can use **AT+SMOD=1,0,0** to enable uploading on-board Temperature and humidity values, and the total payload will be 15 bytes,
303 303  
304 304  
305 -(% border="1.2" cellspacing="3" style="background-color:#ffffcc; color:green; width:480px" %)
306 -|=(% scope="row" style="width: 50px;" %)(((
293 +(% border="1.2" cellspacing="3" style="background-color:#ffffcc; color:green; width:320px" %)
294 +|=(% scope="row" style="width: 60px;" %)(((
307 307  **Size(bytes)**
308 -)))|(% style="width:60px" %)4|(% style="width:70px" %)4|(% style="width:80px" %)2|(% style="width:73px" %)1|(% style="width:40px" %)(((
296 +)))|(% style="width:50px" %)4|(% style="width:50px" %)4|(% style="width:70px" %)2|(% style="width:30px" %)1|(% style="width:30px" %)(((
309 309  2
310 -)))|(% style="width:87px" %)(((
298 +)))|(% style="width:30px" %)(((
311 311  2
312 312  )))
313 313  |=(% style="width: 69px;" %)**Value**|(% style="width:76px" %)[[Latitude>>||anchor="HLocationinfo:"]]|(% style="width:87px" %)[[Longitude>>||anchor="HLocationinfo:"]]|(% style="width:76px" %)(((
... ... @@ -314,7 +314,7 @@
314 314  [[Alarm & BAT>>||anchor="HAlarm26BAT:"]]
315 315  )))|(% style="width:73px" %)[[FLAG>>||anchor="HFLAG:"]]|(% style="width:40px" %)[[Hum>>||anchor="HHum:"]]|(% style="width:87px" %)[[Tem>>||anchor="HTem:"]]
316 316  
317 -[[image:1665301636888-168.png]]
305 +[[image:1665301636888-168.png||_mstalt="298012"]]
318 318  
319 319  
320 320  ==== (% style="color:blue" %)**Alarm & BAT:**(%%) ====
... ... @@ -323,12 +323,10 @@
323 323  |=(% scope="row" style="width: 50px;" %)**Size(bit)**|(% style="width:50px" %)1 bit|(% style="width:80px" %)1bit|(% style="width:50px" %)14bits
324 324  |=(% style="width: 72px;" %)**Value**|(% style="width:67px" %)reserve|(% style="width:118px" %)Alarm Indicate|(% style="width:63px" %)[[BAT>>||anchor="HBAT:"]] 
325 325  
326 -
327 -
328 328  ==== (% style="color:blue" %)**FLAG:**(%%) ====
329 329  
330 -(% border="1.2" cellspacing="3" style="background-color:#ffffcc; color:green; width:250px" %)
331 -|=(% scope="row" style="width: 50px;" %)**Size(bit)**|(% style="width:50px" %)2bits|(% style="width:50px" %)1bit
316 +(% border="1.2" cellspacing="3" style="background-color:#ffffcc; color:green; width:120px" %)
317 +|=(% scope="row" style="width: 50px;" %)**Size(bit)**|(% style="width:30px" %)2bits|(% style="width:30px" %)1bit
332 332  |=(% style="width: 79px;" %)**Value**|(% style="width:55px" %)[[MOD>>||anchor="H3.2.7SetPositioningMode"]]|(% style="width:47px" %)[[LON>>||anchor="HLON:"]]
333 333  
334 334  **Example:** Payload: 0x02863D68 FAC29BAF 4B45 60 0202 011A 
... ... @@ -346,23 +346,23 @@
346 346  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:
347 347  
348 348  
349 -[[image:1664502116362-706.png]]
335 +[[image:1664502116362-706.png||_mstalt="293306"]]
350 350  
351 351  
352 352  3.  While GPS can't get location info after timeout(FTIME Parameter), the latitude and longitude will be filled with all 0x00:
353 353  
354 -[[image:1664502166010-515.png]]
340 +[[image:1664502166010-515.png||_mstalt="291395"]]
355 355  
356 356  
357 357  
358 358  ==== (% style="color:blue" %)**Alarm:**(%%) ====
359 359  
360 -Example:  0x4B & 0x40 >> 6 = 0x01
346 +**Example: ** 0x4B & 0x40 >> 6 = 0x01
361 361  
362 362  
363 363  ==== (% style="color:blue" %)**BAT:**(%%) ====
364 364  
365 -Example:  0x0CDD & 0x3FFF ⇒ 3293 (mV).
351 +**Example: ** 0x4B45 & 0x3FFF ⇒ 2885 (mV).
366 366  
367 367  (((
368 368  The battery info shows the battery voltage, User can use the below mapping to indicate the battery in percentage: \
... ... @@ -374,27 +374,33 @@
374 374  * 3.40v ~~ 3.69v:  20% ~~ 40%
375 375  * < 3.39v:  0~~20%
376 376  
363 +==== (% style="color:blue" %)**MOD:**(%%) ====
377 377  
365 +**Example: ** (0x60>>6) & 0x3f =1
378 378  
379 -==== (% style="color:blue" %)**MOD:**(%%) ====
367 +**Set the format of GPS data uplink link:**
380 380  
381 -Set the format of GPS data uplink link
369 +(% style="color:#037691" %)**0x00:** (%%) Enable uploading on-board Temperature and humidity values
370 +(% style="color:#037691" %)**0x01: ** (%%) Disable uploading on-board Temperature and humidity values
382 382  
383 -0x00:  Enable uploading on-board Temperature and humidity values
384 384  
385 -0x01:  Disable uploading on-board Temperature and humidity values
373 +**Set the format of BLE data uplink link:**
386 386  
375 +(% style="color:#037691" %)**0x01: ** (%%) BLE Positioning with Strongest iBeacon
387 387  
377 +
388 388  ==== (% style="color:blue" %)**LON:**(%%) ====
389 389  
380 +**Example:** (0x60>>5) & 0x01=1.
381 +
390 390  Enable/Disable LED activity for uplink
391 391  
392 392  (((
393 -0x00:  Disable LED indicator.
385 +(% style="color:#037691" %)**0x00:**  (%%) Disable LED indicator.
394 394  )))
395 395  
396 396  (((
397 -0x01:  Enable LED indicator (Default Value)
389 +(% style="color:#037691" %)**0x01:**  (%%) Enable LED indicator (Default Value)
398 398  )))
399 399  
400 400  
... ... @@ -408,52 +408,55 @@
408 408  011A =if (0x011A & 0x8000 = 1 ):  value =( 0x011A - 0x10000)/10(dec) ⇒ -//28.2 degree//
409 409  
410 410  
411 -
412 412  === 2.4.3  Uplink FPORT~=3, Realtime GNSS Positioning (Default Mode) ===
413 413  
414 414  
415 -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)
406 +The default uplink payload includes total 11 bytes (**AT+SMOD=1,1,0**). The payload is the first 11 bytes of Uplink FPORT=2, real-time GNSS positioning, (remove the temp and humidity)
416 416  
417 417  
418 -(% border="1.2" cellspacing="3" style="background-color:#ffffcc; color:green; width:480px" %)
419 -|=(% scope="row" style="width: 50px;" %)(((
409 +(% border="1.2" cellspacing="3" style="background-color:#ffffcc; color:green; width:300px" %)
410 +|=(% scope="row" style="width: 60px;" %)(((
420 420  **Size(bytes)**
421 -)))|(% style="width:60px" %)4|(% style="width:70px" %)4|(% style="width:80px" %)2|(% style="width:73px" %)1
412 +)))|(% style="width:60px" %)4|(% style="width:60px" %)4|(% style="width:60px" %)2|(% style="width:50px" %)1
422 422  |=(% style="width: 69px;" %)**Value**|(% style="width:76px" %)[[Latitude>>||anchor="HLocationinfo:"]]|(% style="width:87px" %)[[Longitude>>||anchor="HLocationinfo:"]]|(% style="width:76px" %)(((
423 423  [[Alarm & BAT>>||anchor="HAlarm26BAT:"]]
424 424  )))|(% style="width:73px" %)[[FLAG>>||anchor="HFLAG:"]]
425 425  
426 426  (% class="wikigeneratedid" %)
427 -[[image:1665301687277-443.png]]
418 +[[image:1665301687277-443.png||_mstalt="296140"]]
428 428  
429 429  
430 -
431 431  === 2.4.4  Uplink FPORT~=4, History GNSS Positioning ===
432 432  
433 433  
434 -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.
424 +Set [[PNACKMD=1>>||anchor="H3.2.10A0A0AutoSendNone-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.
435 435  
436 436  
437 437  (% style="color:red" %)**Note for this mode:**
438 438  
439 439  * a) TrackerD will do an ACK check for data records sending to make sure every data arrive server.
440 -* 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.
430 +* b) TrackerD will send data in CONFIRMED Mode when PNACKMD=1 and CFM=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.
431 +* c) the total payload will be 15 bytes, while US915/AU915 DR0 accepts only 11 bytes of payload. In this case (DR0 of US915/AU915), the payload on server will show NULL
441 441  
442 442  The payload is 15 bytes, as below.
443 443  
444 -(% border="1.5" style="background-color:#ffffcc; color:green; width:520px" %)
435 +(% border="1.5" style="background-color:#ffffcc; color:green; width:500px" %)
445 445  |=(% scope="row" %)(((
446 446  **Size(bytes)**
447 447  )))|4|4|2|1|1|1|1|1
448 448  |=**Value**|Latitude|Longitude|Year|Month|Day|Hous|Min|Sen
449 449  
450 -[[image:image-20221009160309-2.png]]
441 +[[image:image-20221009160309-2.png||_mstalt="429312"]]
451 451  
452 452  
453 -
454 454  === 2.4.5  Uplink FPORT~=6, BLE Positioning with Strongest iBeacon ===
455 455  
456 456  
447 +TrackerD supports BLE scans for indoor positioning. User can set [[**SMOD**>>||anchor="H3.2.7SetPositioningMode"]] to **BLE pure** or **GPS/BLE hybrid** so TrackerD will scan BLE iBeacon and find the strongest iBeacon info and uplink.
448 +
449 +User can set **[[BLEMASK>>||anchor="H3.2.11A0SetBLEMASKtofilterBLEiBeacon"]]** so TrackerD will only search the iBeacons which have UUID that match the BLEMASK settings.
450 +
451 +
457 457  (% border="1.5" cellspacing="3" style="background-color:#ffffcc; color:green; width:450px" %)
458 458  |=(% scope="row" style="width: 60px;" %)(((
459 459  **Size(bytes)**
... ... @@ -470,87 +470,97 @@
470 470  [[Alarm & BAT>>||anchor="HAlarm26BAT:"]]
471 471  )))|(% style="width:15px" %)[[FLAG>>||anchor="HFLAG:"]]
472 472  
473 -[[image:1664502425687-834.png]]
468 +[[image:1664502425687-834.png||_mstalt="296738"]]
474 474  
475 475  
476 -* (% style="color:#037691" %)**BAT: ** (%%) Ex1: 0x4B45 & 0x3FFF ⇒ 3901 (mV).
471 +* (% style="color:#037691" %)**BAT: ** (%%) Ex1:0x4B45 & 0x3FFF ⇒ 3901 (mV).
477 477  * (% style="color:#037691" %)**MODE:   **(%%)Define the payload format.
478 478  * (% style="color:#037691" %)**UUID:     **(%%)The uuid from the strongest iBeacon.
479 479  * (% style="color:#037691" %)**MAJOR:** (%%) The MAJOR from the strongest iBeacon.
480 -* (% style="color:#037691" %)**MINOR:**  (%%)The MAJOR from the strongest iBeacon.
475 +* (% style="color:#037691" %)**MINOR:**  (%%)The MINOR from the strongest iBeacon.
481 481  * (% style="color:#037691" %)**Measured Power: ** (%%) The Measured Power from the strongest iBeacon.
482 482  * (% style="color:#037691" %)**RSSI:  ** (%%) The RSSI from the strongest iBeacon.
483 483  
479 +=== 2.4.6  Uplink FPORT~=8, WiFi Positioning with Strongest WiFi SSID(Since firmware 1.4.1) ===
484 484  
485 485  
482 +TrackerD supports WiFi scans for indoor positioning. User can set [[**SMOD**>>||anchor="H3.2.7SetPositioningMode"]] to **WiFi** so TrackerD will scan WiFi and find the strongest WiFi info and uplink.
486 486  
487 -=== 2.4.6  Add Payload format in TTN V3 ===
488 488  
485 +(% border="1.2" cellspacing="3" style="background-color:#ffffcc; color:green; width:371.222px" %)
486 +|=(% scope="row" style="width: 60px;" %)(((
487 +**Size(bytes)**
488 +)))|(% style="width:60px" %)6|(% style="width:60px" %)4|(% style="width:79px" %)2|(% style="width:66px" %)1
489 +|=(% style="width: 69px;" %)**Value**|(% style="width:76px" %)SSID|(% style="width:87px" %)RSSI|(% style="width:79px" %)(((
490 +[[Alarm & BAT>>||anchor="HAlarm26BAT:"]]
491 +)))|(% style="width:66px" %)[[FLAG>>||anchor="HFLAG:"]]
489 489  
490 -In TTN V3, use can add a custom payload so it shows friendly.
493 +(% class="wikigeneratedid" %)
494 +[[image:1667288597595-714.png||_mstalt="299598" height="212" width="1151"]]
491 491  
496 +
497 +* (% style="color:#037691" %)**BAT: ** (%%) Ex1:0x4B45 & 0x3FFF ⇒ 3901 (mV).
498 +* (% style="color:#037691" %)**SSID:      **(%%)WiFi name.
499 +* (% style="color:#037691" %)**RSSI:      **(%%)The RSSI from the strongest WiFi.
500 +
501 +=== 2.4.7  Add Payload format in TTN V3 ===
502 +
503 +
504 +In TTN V3, user can add a custom payload so it shows friendly.
505 +
492 492  In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**
493 493  
494 494  
495 -[[image:1664502649601-895.png]]
509 +[[image:1664502649601-895.png||_mstalt="296985"]]
496 496  
497 497  
498 -Add the decoder from this link:
499 499  
513 +Add the decoder from this link: 
500 500  
515 +[[https:~~/~~/github.com/dragino/dragino-end-node-decoder/tree/main/TrackerD>>https://github.com/dragino/dragino-end-node-decoder/tree/main/TrackerD]]
516 +
501 501  Save the change the uplink message will be parsed. As below:
502 502  
503 -[[image:1664502676891-606.png]]
519 +[[image:1664502676891-606.png||_mstalt="296673"]]
504 504  
505 505  
506 -
507 507  == 2.5 Integrate with Datacake ==
508 508  
509 509  
510 -(((
511 511  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.
512 -)))
513 513  
514 -(((
515 515  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]]
516 -)))
517 517  
518 518  
519 -[[image:1664502695771-538.png]]
530 +[[image:1664502695771-538.png||_mstalt="297349"]]
520 520  
521 521  
522 -
523 523  == 2.6 Integrate with Tago ==
524 524  
525 525  
526 -(((
527 -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.
528 -)))
536 +After TrackerD sends data to LoRaWAN server such as TTN, user can pass the data to Datacake and plot out, currently only support GPS plot.
529 529  
530 -(((
531 531  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]]
532 -)))
533 533  
534 534  
535 -[[image:1664502715371-321.png]]
541 +[[image:1664502715371-321.png||_mstalt="292162"]]
536 536  
537 537  
538 -
539 539  == 2.7  Datalog Feature ==
540 540  
541 541  
542 -total 273 entries,by default disable
547 +total 273 entries,by default,
543 543  
549 +User can set [[PNACKMD=1>>||anchor="H3.2.10A0A0AutoSendNone-ACKmessages"]], to enable Datalog feature.
544 544  
545 545  Example use case.
546 546  
547 -[[image:image-20221009234703-2.png||height="328" width="899"]]
553 +[[image:image-20221009234703-2.png||_mstalt="429143" height="328" width="899"]]
548 548  
549 549  
550 -[[image:image-20221009234629-1.png||height="390" width="577"]]
556 +[[image:image-20221009234629-1.png||_mstalt="431145" height="390" width="577"]]
551 551  
552 552  
553 -
554 554  == 2.8 Alarm Mode ==
555 555  
556 556  
... ... @@ -560,15 +560,15 @@
560 560  
561 561  
562 562  (((
563 -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.
568 +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 exits alert mode.
564 564  )))
565 565  
566 566  
567 567  (((
568 -Two ways to exit alarm mode:
573 +**Two ways to exit alarm mode:**
569 569  )))
570 570  
571 -* Server send a downlink command to exit.
576 +* Server sends a downlink command to exit.
572 572  * User fast press the RED button 10 times.
573 573  
574 574  (((
... ... @@ -576,7 +576,6 @@
576 576  )))
577 577  
578 578  
579 -
580 580  == 2.9 Transport Mode ==
581 581  
582 582  
... ... @@ -583,17 +583,16 @@
583 583  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.
584 584  
585 585  
586 -
587 587  == 2.10 LED Status ==
588 588  
589 589  
590 -(% border="1.5" style="background-color:#ffffcc; color:green; width:500px" %)
593 +(% border="1.5" style="background-color:#ffffcc; width:500px" %)
591 591  |=(% style="width: 150px;" %)**Event**|=(% style="width: 200px;" %)**Action**|=(% style="width: 150px;" %)**AT+LON to control on/off**
592 592  |(% 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
593 593  |(% style="width:157px" %)**Join request**|(% style="width:271px" %)(% style="color:green" %)**Green** (%%)led fast blink once (200ms)|(% style="width:202px" %)Yes
594 594  |(% style="width:157px" %)**Join Success**|(% style="width:271px" %)(% style="color:green" %)**Green**(%%) led on 5 second|(% style="width:202px" %)N/A
595 595  |(% style="width:157px" %)**Fixing Location**|(% style="width:271px" %)(% style="color:blue" %)**BLUE **(%%)blinks 200ms per second|(% style="width:202px" %)Yes
596 -|(% style="width:157px" %)**Fixed and uplink**|(% style="width:271px" %)(% style="color:green" %)**GREEN ***(%%)***blinks twice (200ms per blink)**|(% style="width:202px" %)Yes
599 +|(% style="width:157px" %)**Fixed and uplink**|(% style="width:271px" %)(% style="color:green" %)**GREEN **(%%)blinks twice (200ms per blink)|(% style="width:202px" %)Yes
597 597  |(% style="width:157px" %)**Fail Fix and uplink**|(% style="width:271px" %)(% style="color:red" %)**RED **(%%)blinks twice (200ms per blink)|(% style="width:202px" %)Yes
598 598  |(% style="width:157px" %)**Enter Alarm mode**|(% style="width:271px" %)(% style="color:red" %)**RED **(%%)on for 3 seconds|(% style="width:202px" %)Yes
599 599  |(% style="width:157px" %)**Uplink under Alarm**|(% style="width:271px" %)(% style="color:red" %)**RED **(%%)on for 1 second|(% style="width:202px" %)Yes
... ... @@ -601,15 +601,12 @@
601 601  |(% style="width:157px" %)**Get Downlink**|(% style="width:271px" %)(% style="color:green" %)**GREEN**(%%) led on 1 second|(% style="width:202px" %)Yes
602 602  |(% style="width:157px" %)**Movement Detect**|(% style="width:271px" %)(% style="color:red" %)**RED **(%%)led on 500ms|(% style="width:202px" %)N/A
603 603  
604 -
605 -
606 -
607 607  == 2.11 Button Function ==
608 608  
609 609  
610 610  (% style="color:blue" %)**RESET button:**
611 611  
612 -[[image:1664502835802-546.png]]
612 +[[image:1664502835802-546.png||_mstalt="295061"]]
613 613  
614 614  Push this button will reboot the device. Device will exit alarm mode and re-join to LoRaWAN server.
615 615  
... ... @@ -616,18 +616,15 @@
616 616  
617 617  (% style="color:red" %)**RED button:**
618 618  
619 -[[image:1664502854406-763.png]]
619 +[[image:1664502854406-763.png||_mstalt="295568"]]
620 620  
621 621  
622 -(% border="1.5" style="background-color:#ffffcc; color:green; width:520px" %)
623 -|=(% style="width: 100px;" %)**Function**|=(% style="width: 210px;" %)**Action**|=(% style="width: 210px;" %)**Description**
624 -|(% 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"]]
622 +(% border="1" style="background-color:#ffffcc; width:510px" %)
623 +|=(% style="width: 100px;" %)**Function**|=(% style="width: 205px;" %)**Action**|=(% style="width: 205px;" %)**Description**
624 +|(% 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.8AlarmMode"]]
625 625  |(% 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
626 626  |(% 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.
627 627  
628 -
629 -
630 -
631 631  == 2.12 USB Port Function ==
632 632  
633 633  
... ... @@ -638,8 +638,6 @@
638 638  * [[Configure Device>>||anchor="H3.ConfigureTrackerDviaATcommandorLoRaWANdownlink"]]
639 639  * [[Upgrade Firmware>>||anchor="H5.UploadFirmware"]]
640 640  
641 -
642 -
643 643  = 3. Configure TrackerD via AT command or LoRaWAN downlink =
644 644  
645 645  
... ... @@ -648,7 +648,6 @@
648 648  LoRaWAN Downlink instruction for different platforms:  [[IoT LoRaWAN Server>>doc:Main.WebHome]]
649 649  
650 650  
651 -
652 652  == 3.1 Access AT Command ==
653 653  
654 654  
... ... @@ -655,27 +655,24 @@
655 655  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.
656 656  
657 657  
658 -[[image:1664502999401-486.png]]
652 +[[image:1664502999401-486.png||_mstalt="296985"]]
659 659  
660 660  
661 661  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:
662 662  
663 663  
664 -[[image:1664503022490-662.png]]
658 +[[image:1664503022490-662.png||_mstalt="293332"]]
665 665  
666 666  
661 +[[image:1664503035713-500.png||_mstalt="291096"]]
667 667  
668 -[[image:1664503035713-500.png]]
669 669  
664 +[[image:1664503047675-651.png||_mstalt="295386"]]
670 670  
671 671  
672 -[[image:1664503047675-651.png]]
673 673  
674 -
675 -
676 676  == 3.2 Command Set ==
677 677  
678 -
679 679  === 3.2.1 Set Transmit Interval ===
680 680  
681 681  
... ... @@ -693,7 +693,6 @@
693 693  (% style="color:#037691" %)**0x01 00 01 2C**  (%%) ~/~/  Same as AT+TDC=300000
694 694  
695 695  
696 -
697 697  === 3.2.2 Set Alarm Packet transmission interval ===
698 698  
699 699  
... ... @@ -711,7 +711,6 @@
711 711  (% style="color:#037691" %)**0xB1 00 00 3C ** (%%) ~/~/  Same as AT+ATDC=60000
712 712  
713 713  
714 -
715 715  === 3.2.3 Set Transport Mode Packet transmission interval ===
716 716  
717 717  
... ... @@ -726,10 +726,9 @@
726 726  
727 727  * (% style="color:blue" %)**Downlink Payload (prefix 0x03):**
728 728  
729 -(% style="color:#037691" %)**0x03 00 01 2C**  (%%) ~/~/  Same as AT+ MTDC=3000000
718 +(% style="color:#037691" %)**0x03 00 01 2C**  (%%) ~/~/  Same as AT+MTDC=3000000
730 730  
731 731  
732 -
733 733  === 3.2.4 Exit Alarm ===
734 734  
735 735  
... ... @@ -742,7 +742,6 @@
742 742  (% style="color:#037691" %)**0x02 01**    (%%) ~/~/  Exit Alarm Mode
743 743  
744 744  
745 -
746 746  === 3.2.5 Disable/Enable LED flash ===
747 747  
748 748  
... ... @@ -760,7 +760,6 @@
760 760  (% style="color:#037691" %)**0xAE 00 ** (%%) ~/~/  Same as AT+LON=0
761 761  
762 762  
763 -
764 764  === 3.2.6 Disable/Enable Transport Mode ===
765 765  
766 766  
... ... @@ -770,19 +770,18 @@
770 770  
771 771  (% style="color:#037691" %)**AT+INTWK=xx.  (Disable (0), Enable (1), default:0)**
772 772  
773 -Example:  AT+ INTWK =1  **~-~->   ** Enable Transport Mode.
759 +Example:  AT+INTWK=1  **~-~->   ** Enable Transport Mode.
774 774  
775 775  
776 776  * (% style="color:blue" %)**Downlink Payload (prefix 0xAF):**
777 777  
778 -(% style="color:#037691" %)**0xAF 01 ** (%%) ~/~/  Same as AT+ INTWK =1
764 +(% style="color:#037691" %)**0xAF 01 ** (%%) ~/~/  Same as AT+INTWK=1
779 779  
780 780  
781 -
782 782  === 3.2.7 Set Positioning Mode ===
783 783  
784 784  
785 -SMOD define the how TrackerD scan and uplink data:
770 +SMOD define how TrackerD scan and uplink data:
786 786  
787 787  
788 788  * (% style="color:blue" %)**AT Command:**
... ... @@ -791,32 +791,40 @@
791 791  
792 792  (% style="color:#037691" %)** aa:**
793 793  
794 -* (% style="color:red" %)**1: GPS ONLY(Factory Settings):    **(%%)only get and uplink GPS location info.
795 -* (% style="color:red" %)**2: BLE ONLY:              **(%%)Only obtain iBeacon info via BLE and uplink. Design for Indoor tracking.
796 -* (% style="color:red" %)**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.
779 +* (% style="color:red" %)**1: GPS ONLY(Factory Settings):    **(%%)Only get and uplink GPS location info.
797 797  
781 +* (% style="color:red" %)**2: BLE or WiFi ONLY:                     **(%%)Only obtain iBeacon info via BLE and uplink  or obtain WiFi ssid info via WiFi and uplink. Design for Indoor tracking.
782 +
783 +* (% style="color:red" %)**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.
784 +
798 798  (% style="color:#037691" %)**bb:**
799 799  
800 800  * (% style="color:red" %)**0 :  **(%%)GPS+ BAT+ State+Tem&Hum
788 +
801 801  * (% style="color:red" %)**1 :**(%%)  GPS +BAT State
802 802  
803 803  (% style="color:#037691" %)**cc:   **
804 804  
805 -* (% style="color:red" %)**1 : **(%%) (iBeacon)UUID+ Major + Minor+Power+Rssi+BAT+State  
793 +* (% _mstmutation="1" style="color:red" %)**1 : **(%%) (iBeacon)UUID+ Major + Minor+Power+Rssi+BAT+State 
794 +
795 +* (% _mstmutation="1" style="color:red" %)**2 : **(%%) (WiFi)SSID+Rssi+BAT+State ((% _mstmutation="1" style="color:#037691" %)V1.4.1 Version support this function later(%%))  
806 806  
807 807  (% style="color:blue" %)**Example:**
808 808  
809 - AT+ SMOD =1,0 ,0 ~-~->  GPS+ BAT+ State+Tem&Hum
810 - AT+ SMOD =1,1,0 ~-~->  GPS +BAT State
811 - AT+ SMOD =2,0,1 ~-~->  (iBeacon)UUID+ Major + Minor+Power+Rssi+BAT+State
799 + AT+SMOD=1,0,0 ~-~->  GPS+ BAT+ State+Tem&Hum
812 812  
801 + AT+SMOD=1,1,0 ~-~->  GPS +BAT State
813 813  
814 -* (% style="color:blue" %)**Downlink Payload (prefix 0xA5):**
803 + AT+SMOD=2,0,1 ~-~->  (iBeacon)UUID+ Major + Minor+Power+Rssi+BAT+State
815 815  
816 -(% style="color:#037691" %)**0xA5 01 00 00**    (%%) ~/~/  Same as AT+ SMOD =1,0,0
805 + AT+SMOD=2,0,2 ~-~->  (WiFi)SSID+Rssi+BAT+State
817 817  
818 818  
808 +* (% style="color:blue" %)**Downlink Payload (prefix 0xA5):**
819 819  
810 +(% style="color:#037691" %)**0xA5 01 00 00**    (%%) ~/~/  Same as AT+SMOD=1,0,0
811 +
812 +
820 820  === 3.2.8 Set MAX GPS position time ===
821 821  
822 822  
... ... @@ -823,7 +823,7 @@
823 823  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.
824 824  
825 825  
826 -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.
819 +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.
827 827  
828 828  
829 829  * (% style="color:blue" %)**AT Command:**
... ... @@ -838,7 +838,6 @@
838 838  (% style="color:#037691" %)**0xAA 00 96 ** (%%) ~/~/  Set AT+FTIME=150
839 839  
840 840  
841 -
842 842  === 3.2.9 Set PDOP value for GPS fix accuracy ===
843 843  
844 844  
... ... @@ -863,7 +863,7 @@
863 863  
864 864  
865 865  
866 -Disable/Enable the confirmation mode
858 +**Disable/Enable the confirmation mode**
867 867  
868 868  * (% style="color:blue" %)**AT Command:**
869 869  
... ... @@ -872,17 +872,16 @@
872 872  
873 873  **~ Example:**
874 874  
875 - AT+ CFM=0    **~-~->   ** Disable confirmation
867 + AT+CFM=0    **~-~->   ** Disable confirmation
876 876  
877 - AT+ CFM=1    **~-~->  ** Enable confirmation
869 + AT+CFM=1    **~-~->  ** Enable confirmation
878 878  
879 879  
880 880  * (% style="color:blue" %)**Downlink Payload (prefix 0x05):**
881 881  
882 -(% style="color:#037691" %)**0x05 01 **(%%) ~/~/  Same as AT+ SMOD =1
874 +(% style="color:#037691" %)**0x05 01 **(%%) ~/~/  Same as AT+CFM=1
883 883  
884 884  
885 -
886 886  === 3.2.10  Auto Send None-ACK messages ===
887 887  
888 888  
... ... @@ -904,6 +904,68 @@
904 904  Example: 0x3401  ~/~/  Same as AT+PNACKMD=1
905 905  
906 906  
898 +=== 3.2.11  Set BLEMASK to filter BLE iBeacon ===
899 +
900 +
901 +BLEMASK is to filter the unwanted BLE iBeacons during scan. For example, if BLEMASK is 123456. TrackerD will only uplink UUID info which includes 123456. It will ignore all other iBeacons which doesn’t contact 123456 in the UUID.
902 +
903 +(% style="color:red" %)**Note: BLEMASK range is 6 ~~ 10 bytes. If AT+BLEMASK < 6 bytes, BLEMASK will be disabled.**
904 +
905 +(% style="color:blue" %)**AT Command:**
906 +
907 + (% _mstmutation="1" style="color:#037691" %)**AT+BLEMASK=123456**   (%%) ~/~/ Set BLEMASK = 123456
908 +
909 + (% _mstmutation="1" style="color:#037691" %)**AT+BLEMASK=0**  (%%) ~/~/ disable BLEMASK
910 +
911 +(% style="color:blue" %)**Downlink Payload: (Prefix : 0xB2)(Since firmware 1.4.1)**
912 +
913 +Example: 0xB2010203040506    ~/~/ Set BLEMASK to 123456
914 +
915 +
916 +=== 3.2.12  Set WiFIMASK to filter WiFi SSID(Since firmware 1.4.1) ===
917 +
918 +
919 +WiFiMASK is to filter the unwanted WiFi SSID during scan. For example, if WiFiMASK is 123456. TrackerD will only uplink SSID info which includes 123456 as prefix. It will ignore all other WiFi which doesn’t contact 123456 in the SSID.
920 +
921 +(% style="color:red" %)**Note: WiFiMASK range is 6 ~~ 10 bytes. If AT+ WiFiMASK < 6 bytes, WiFiMASK will be disabled.**
922 +
923 +(% style="color:blue" %)**AT Command:**
924 +
925 + (% _mstmutation="1" style="color:#037691" %)**AT+WiFiMASK=123456**    (%%) ~/~/ Set WiFiMASK = 123456
926 +
927 + (% _mstmutation="1" style="color:#037691" %)**AT+WiFiMASK=0**       (%%) ~/~/ disable WiFiMASK
928 +
929 +(% style="color:blue" %)**Downlink Payload: (Prefix : 0xB3)(Since firmware 1.4.1)**
930 +
931 +Example: 0xB3010203040506    ~/~/ Set WiFiMASK to 123456
932 +
933 +
934 +=== 3.2.13 Disable/Enable Information printing(Since firmware 1.4.1) ===
935 +
936 +
937 +Users can use this feature to enable/disable Information printing.
938 +
939 +(% style="color:blue" %)**AT Command:**
940 +
941 +(% style="color:#037691" %)**AT+SHOWID=XX         **(%%) ~/~/(Disable (0), Enable (1), default:0)
942 +\\Example: AT+SHOWID=1 ~-~-> Enable Information printing.
943 +
944 +
945 +=== 3.2.14 Get or Set Eight Channels Mode, only for us915, AU915(Since firmware 1.4.1) ===
946 +
947 +
948 +The Channels Mode in the LORAWAN LMIC library is from 0 ~~ 7. When CHE = 8, 72 channels will be accessible to the network.
949 +
950 +(% style="color:blue" %)**AT Command:**
951 +
952 +(% style="color:#037691" %)**AT+CHE=1**(%%) ~/~/ set one channels mode
953 +
954 +
955 +(% style="color:blue" %)**Downlink Payload:0X24**
956 +
957 +Example: 0x24 01 ~/~/ Same as AT+CHE=1
958 +
959 +
907 907  = 4. Setting for Different Scenarios =
908 908  
909 909  
... ... @@ -910,7 +910,6 @@
910 910  
911 911  = 5. Upload Firmware =
912 912  
913 -
914 914  == 5.1 Firmware Change Log ==
915 915  
916 916  
... ... @@ -917,7 +917,6 @@
917 917  **[[See this link>>url:https://github.com/dragino/TrackerD]]**
918 918  
919 919  
920 -
921 921  == 5.2 How to upgrade firmware ==
922 922  
923 923  
... ... @@ -938,40 +938,39 @@
938 938  (% style="color:blue" %)**Step4:** (%%) Run Flash Download Tool and configure chip type to ESP32
939 939  
940 940  
941 -[[image:1664503563660-578.png]]
992 +[[image:1664503563660-578.png||_mstalt="296777"]]
942 942  
943 943  
944 -[[image:1664503574618-659.png]]
995 +[[image:1664503574618-659.png||_mstalt="297986"]]
945 945  
946 946  
998 +
947 947  (% style="color:blue" %)**Step5:** (%%) Select the firmware file (.bin format), com port and proper SPI configure. Clink Start. Bin file location:
948 948  
949 949  [[https:~~/~~/github.com/dragino/TrackerD/releases>>https://github.com/dragino/TrackerD/releases]]
950 950  
951 951  
952 -Users need to use below files:
1004 +**Users need to use below files:**
953 953  
954 954  boot_app0.bin @0e000
955 955  
956 -ESP_LORA-eeprom-class.bin @ 0x10000
1008 +US915.bin @ 0x10000(Select the bin file of the frequency band you need)
957 957  
958 958  
959 -[[image:1664503593459-435.png]]
1011 +[[image:image-20221118105220-2.png||_mstalt="426608"]]
960 960  
961 961  
962 962  
963 963  After upgrade finish, it will show finish as below:
964 964  
965 -[[image:1664503611848-385.png]]
1017 +[[image:image-20221118105402-4.png||_mstalt="427986"]]
966 966  
967 967  
968 968  
969 969  = 6. Developer Guide =
970 970  
971 -
972 972  == 6.1 Compile Source Code ==
973 973  
974 -
975 975  === 6.1.1 Set up ARDUINO compile environment ===
976 976  
977 977  
... ... @@ -980,49 +980,57 @@
980 980  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]]
981 981  
982 982  
983 -[[image:1664503635019-941.png]]
1033 +[[image:1664503635019-941.png||_mstalt="294658"]]
984 984  
985 985  
986 986  
987 987  * (% style="color:#037691" %)**Go to tools ~-~-> Boards ~-~-> Boards Manager**,(%%) **find the esp32 information and install it.**
988 988  
989 -[[image:1664503715811-892.png]]
1039 +[[image:1664503715811-892.png||_mstalt="295698"]]
990 990  
991 991  
1042 +(% id="cke_bm_4554S" style="display:none" %) (%%)Find the path of SP32 installation, find the file as shown in Figure 1, and change the SPI pin to the shown in Figure 2.
992 992  
1044 +[[image:image-20221024105643-1.png||_mstalt="428129"]]
1045 +
1046 +**~ Figure1**
1047 +
1048 +
1049 +[[image:image-20221024105643-2.png||_mstalt="428493"]]
1050 +
1051 + **Figure2**
1052 +
1053 +
993 993  * **Download the latest TrackerD from the dragino github: [[https:~~/~~/github.com/dragino/TrackerD>>url:https://github.com/dragino/TrackerD]]**
994 994  
995 995  Put the Library in the TrackerD directory into the libraries file in the Arduino directory:
996 996  
997 997  
998 -[[image:1664503752288-974.png]]
1059 +[[image:1664503752288-974.png||_mstalt="298194"]]
999 999  
1000 1000  
1001 -
1002 1002  == 6.2 Source Code ==
1003 1003  
1004 1004  
1005 1005  * (% style="color:blue" %)**Open the example in the TrackerD file, please select the correct port in the IDE, as shown below:**
1006 1006  
1007 -[[image:1664503794261-827.png]]
1067 +[[image:1664503794261-827.png||_mstalt="296387"]]
1008 1008  
1009 1009  
1010 1010  
1011 1011  * (% style="color:blue" %)**Click to upload**
1012 1012  
1013 -[[image:1664503808294-336.png]]
1073 +[[image:1664503808294-336.png||_mstalt="295711"]]
1014 1014  
1015 1015  
1016 1016  
1017 1017  * (% style="color:blue" %)**Check the result, if the upload is successful, as shown below, open the serial port to view the data**
1018 1018  
1019 -[[image:1664503824081-592.png]] [[image:1664503831430-500.png]]
1079 +[[image:1664503824081-592.png||_mstalt="294918"]] [[image:1664503831430-500.png||_mstalt="290784"]]
1020 1020  
1021 1021  
1022 -
1023 1023  = 7.  FAQ =
1024 1024  
1025 -
1026 1026  == 7.1 How to change the LoRa Frequency Bands/Region? ==
1027 1027  
1028 1028  
... ... @@ -1029,11 +1029,10 @@
1029 1029  User can follow the introduction for [[how to upgrade image>>||anchor="H5.UploadFirmware"]]. When download the images, choose the required image file for download.
1030 1030  
1031 1031  
1032 -
1033 1033  == 7.2 What is the pin mapping for the USB program cable? ==
1034 1034  
1035 1035  
1036 -[[image:1664499635206-262.png]]
1093 +[[image:1664499635206-262.png||_mstalt="295360"]]
1037 1037  
1038 1038  
1039 1039  
... ... @@ -1048,53 +1048,246 @@
1048 1048  |(% style="width:118px" %)A8|(% style="width:67px" %)Yellow|(% style="width:123px" %)MTMS/GPIO14
1049 1049  |(% style="width:118px" %)B8|(% style="width:67px" %)Grey|(% style="width:123px" %)MTDO/GPIO15
1050 1050  
1108 +== 7.3 Notes on using different serial port tools for TrackerD ==
1051 1051  
1110 +=== 7.3.1  Serial port utility ===
1052 1052  
1053 -= 8.  Order Info =
1054 1054  
1113 +Serial port utility requires you to automatically add data streams.
1055 1055  
1115 +Need to adjust the data stream to RTS/CTS on physical restart.
1116 +
1117 +(% class="wikigeneratedid" %)
1118 +[[image:image-20221102140621-1.png||_mstalt="425672"]]
1119 +
1120 +
1121 +
1122 +When using AT commands, the data flow needs to be adjusted to XON/XOFF
1123 +
1124 +[[image:image-20221102140638-2.png||_mstalt="428727"]]
1125 +
1126 +
1127 +=== 7.3.2  SecureCRT ===
1128 +
1129 +
1130 +The default command window of SecureCRT is not displayed. Entering a command requires a complete input of the entire command. You can open the command window in the view.
1131 +
1132 +
1133 +[[image:image-20221102140704-3.png||_mstalt="427076"]]
1134 +
1135 +
1136 +[[image:image-20221102140712-4.png||_mstalt="427089"]]
1137 +
1138 +
1139 +=== 7.3.3  PUTTY ===
1140 +
1141 +
1142 +[[image:image-20221102140748-5.png||_mstalt="430456"]]
1143 +
1144 +
1145 +Since putty does not have a command window, you need to fill in the complete command externally, and then copy it to putty.The information copied outside can be pasted by right-clicking the mouse in putty.
1146 +
1147 +
1148 +[[image:image-20221102140801-6.png||_mstalt="427466"]]
1149 +
1150 +
1151 +== 7.4 How to modify source code to compile different frequency band bin file? ==
1152 +
1153 +
1154 +(% class="box infomessage" %)
1155 +(((
1156 +(% style="color:red" %)**Important**(%%): Developer **MUST** follow the Arduino Environment Instruction exactly include change the SPI pin mappings.
1157 +See : [[**Set Up Arduino Compile Environment for TrackerD**. >>||anchor="H6.1.1SetupARDUINOcompileenvironment"]]
1158 +)))
1159 +
1160 +**~1. When compiling the frequency band, you need to find LMIC_PROJECT_CONFIG.H file.**
1161 +
1162 +
1163 +[[image:image-20221116111844-1.png||_mstalt="428688" height="227" width="782"]]
1164 +
1165 +
1166 +
1167 +**2. Open LMIC_PROJECT_CONFIG.H, find the corresponding macro definition and open it(AS923_2,AS923_3,AS923_4 except).**
1168 +
1169 +
1170 +[[image:image-20221116111844-2.png||_mstalt="429052" height="262" width="781"]]
1171 +
1172 +
1173 +
1174 +**3. Compile the AS923_JP band, please refer to the intention shown**
1175 +
1176 +
1177 +[[image:image-20221116111844-3.png||_mstalt="429416" height="338" width="746"]]
1178 +
1179 +
1180 +
1181 +**4. In other frequency bands in AS923, you need to find Lorabase_as923.H, path arduino-lmic \ src \ lmic, as shown in the figure below.**
1182 +
1183 +
1184 +[[image:image-20221116111844-4.png||_mstalt="429780" height="641" width="739"]]
1185 +
1186 +
1187 +[[image:image-20221116111844-5.png||_mstalt="430144" height="551" width="708"]]
1188 +
1189 +
1190 += 8  Trouble Shooting =
1191 +
1192 +== 8.1  TDC is changed to 4294947296 and cause no uplink. ==
1193 +
1194 +
1195 +(((
1196 +Before firmware v1.4.0: When the Transport Mode is enabled (**AT+INTWK=1**), the **TDC** needs to be greater than **MTDC**, otherwise, TDC setting will because 4294947296 after wakre up from motion. This bug is fixed in firmware v1.4.1
1197 +)))
1198 +
1199 +
1200 +== 8.2  Device not able get AT Command or show output after wake up from deep sleep mode ==
1201 +
1202 +
1203 +(((
1204 +ESP32 is not able to accept the Interrupt from UART after wake up from deep sleep mode. User need to press the button (one click) and trackerD will be able to accept UART command, it there is no action in UART for 15 seconds. it will go to deep sleep mode.
1205 +)))
1206 +
1207 +
1208 +== 8.3  Problem after Upgrading Firmware ==
1209 +
1210 +=== 8.3.1 Continue Restart after upgrading ===
1211 +
1212 +
1213 +(((
1214 +If it is V1.4.0 and the previous version, new partitions need to be loaded when upgrading. The new version of the software is stored in the partition package. The upgrade method is shown in the figure
1215 +)))
1216 +
1217 +
1218 +[[image:image-20221118105249-3.png||_mstalt="430664"]]
1219 +
1220 +
1221 +=== 8.3.2 TrackerD's led light is always GREEN on after upgrading ===
1222 +
1223 +
1224 +It is because the partitions are different when upgrading versions above 1.4.1, and a new partition file needs to be added. Please refer to the operation steps in chapter 8.3.1
1225 +
1226 +
1227 +=== 8.3.3 "flash read err" after upgrade firmware ===
1228 +
1229 +Error shows below, user might erase the entire flash include u-boot partition which cause this issue.
1230 +
1231 +[[image:image-20221122100004-1.png||_mstalt="423514" height="497" width="534"]]
1232 +
1233 +
1234 +User need to upgrade again with below four files to solve this issue.
1235 +
1236 + [[image:image-20221122100004-2.png||_mstalt="423878" height="619" width="389"]]
1237 +
1238 + **Figure 2**
1239 +
1240 +
1241 +=== 8.3.3 "Device Key become ff ff ff ff ff ff ff ff " after upgrade firmware ===
1242 +
1243 +User might erase the entire flash include keys and default settings which cause this issue.
1244 +
1245 +After the upgrade is completed, enter AT+CFG as shown in the figure below.
1246 +
1247 +[[image:image-20221122100004-3.png||_mstalt="424242"]]
1248 +
1249 +Please **AT+FDR** which will reset all settings to factory settings. , and then input the following keys by the information on the label.
1250 +
1251 +
1252 +Example:
1253 +
1254 +AT+PDOP=7.00
1255 +
1256 +AT+FTIME=180
1257 +
1258 +AT+DEUI=70B3D57ED0053981  
1259 +
1260 +AT+APPEUI=D23345667BCBCCAF
1261 +
1262 +AT+APPKEY=F402A1A7A350445A7CD2DEA95511BFA1
1263 +
1264 +AT+DADDR=260b4dce    ( no need for OTAA)
1265 +
1266 +AT+NWKSKEY=71cb7672441f573a53d4f34d307fc61d  ( no need for OTAA)
1267 +
1268 +AT+APPSKEY=dacce2299ecd97a73ee3f80b5a46a559   ( no need for OTAA)
1269 +
1270 +
1271 +
1272 +=== 8.3.4  If there is a situation in Figure 1, and a new partition file needs to be added. Please refer to the operation steps in chapter 8.3.1 ===
1273 +
1274 +
1275 +[[image:image-20221122100004-4.png||_mstalt="424606"]]
1276 +
1277 +
1278 +== 8.4  When positioning, it will restart or the PDOP setting is unsuccessful ==
1279 +
1280 +
1281 +Please download version 1.4.2 again
1282 +
1283 +
1284 +== 8.5  How to deal with unsuccessful GPS positioning? ==
1285 +
1286 +
1287 +1) Make Sure the device is in Open Area where can see the sky.
1288 +
1289 +2)  Set PDOP to a higher value.
1290 +
1291 +* (% _mstmutation="1" style="color:blue" %)**AT+PDOP=2 **(%%)(can be positioned precisely.)
1292 +
1293 +* (% _mstmutation="1" style="color:blue" %)**AT+PDOP=7 **(%%)(Quickly locate in open spaces)
1294 +
1295 +* (% _mstmutation="1" style="color:blue" %)**AT+PDOP=14.7** (%%)(Positioning can be acquired in complex environments)
1296 +
1297 +Please refer to this [[link>>http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/TrackerD/#H3.2.9SetPDOPvalueforGPSfixaccuracy]] on how to set up PDOP
1298 +
1299 +
1300 += 9.  Order Info =
1301 +
1302 +
1056 1056  Part Number: (% style="color:blue" %)**TrackerD-XXX**
1057 1057  
1058 1058  (% style="color:blue" %)**XXX**(%%): The default frequency band
1059 1059  
1060 1060  * (% style="color:red" %)**EU433**(%%): Default frequency band EU433
1308 +
1061 1061  * (% style="color:red" %)**EU868**(%%): Default frequency band EU868
1310 +
1062 1062  * (% style="color:red" %)**IN865**(%%): Default frequency band IN865
1312 +
1063 1063  * (% style="color:red" %)**KR920**(%%): Default frequency band KR920
1314 +
1064 1064  * (% style="color:red" %)**AS923**(%%): Default frequency band AS923
1316 +
1065 1065  * (% style="color:red" %)**AU915**(%%): Default frequency band AU915
1318 +
1066 1066  * (% style="color:red" %)**US915**(%%): Default frequency band US915
1067 1067  
1321 += 10.  Packing Info =
1068 1068  
1069 1069  
1070 -= 9.  Packing Info =
1071 -
1072 -
1073 1073  (% style="color:#037691" %)**Package Includes**:
1074 1074  
1075 1075  * TrackerD LoRaWAN GPS/BLE Tracker x 1
1327 +
1076 1076  * USB recharge & program cable x 1
1077 1077  
1078 1078  (% style="color:#037691" %)**Dimensions and Weight**:
1079 1079  
1080 -* Device Size: 85 x 48 x 15 cm
1332 +* Device Size: 85 x 48 x 15 mm
1333 +
1081 1081  * Weight: 50g
1082 1082  
1336 += 11. Support =
1083 1083  
1084 1084  
1085 -= 10. Support =
1086 -
1087 -
1088 1088  * 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.
1340 +
1089 1089  * 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]].
1090 1090  
1343 += 12.  Reference =
1091 1091  
1092 1092  
1093 -= 11.  Reference =
1094 -
1095 -
1096 1096  * [[**Firmware in Bin format**>>https://www.dropbox.com/sh/733s8xlwahhqg1d/AABxDz80lBVX_to8zNuUQWFja?dl=0]]
1347 +
1097 1097  * **[[Source Code>>https://github.com/dragino/TrackerD]] **
1098 -* [[**Hardware Source**>>https://www.dropbox.com/sh/orwoy6cecb89m4e/AAD37sRuUrvKsHgAJxuVTkB5a?dl=0]]
1099 1099  
1100 -
1350 +* [[**Hardware Source**>>https://www.dropbox.com/sh/orwoy6cecb89m4e/AAD37sRuUrvKsHgAJxuVTkB5a?dl=0]]
1667288597595-714.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +27.9 KB
Content
image-20221024105643-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +11.3 KB
Content
image-20221024105643-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +64.5 KB
Content
image-20221102140621-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +46.1 KB
Content
image-20221102140638-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +40.8 KB
Content
image-20221102140704-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +15.5 KB
Content
image-20221102140712-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +73.2 KB
Content
image-20221102140748-5.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +56.0 KB
Content
image-20221102140801-6.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +21.0 KB
Content
image-20221107145243-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Bei
Size
... ... @@ -1,0 +1,1 @@
1 +107.3 KB
Content
image-20221116111844-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Bei
Size
... ... @@ -1,0 +1,1 @@
1 +15.8 KB
Content
image-20221116111844-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Bei
Size
... ... @@ -1,0 +1,1 @@
1 +32.6 KB
Content
image-20221116111844-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Bei
Size
... ... @@ -1,0 +1,1 @@
1 +37.0 KB
Content
image-20221116111844-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Bei
Size
... ... @@ -1,0 +1,1 @@
1 +96.8 KB
Content
image-20221116111844-5.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Bei
Size
... ... @@ -1,0 +1,1 @@
1 +78.0 KB
Content
image-20221118104359-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Bei
Size
... ... @@ -1,0 +1,1 @@
1 +38.0 KB
Content
image-20221118105220-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Bei
Size
... ... @@ -1,0 +1,1 @@
1 +40.2 KB
Content
image-20221118105249-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Bei
Size
... ... @@ -1,0 +1,1 @@
1 +40.2 KB
Content
image-20221118105402-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Bei
Size
... ... @@ -1,0 +1,1 @@
1 +43.7 KB
Content
image-20221122100004-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Bei
Size
... ... @@ -1,0 +1,1 @@
1 +18.0 KB
Content
image-20221122100004-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Bei
Size
... ... @@ -1,0 +1,1 @@
1 +127.2 KB
Content
image-20221122100004-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Bei
Size
... ... @@ -1,0 +1,1 @@
1 +12.5 KB
Content
image-20221122100004-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Bei
Size
... ... @@ -1,0 +1,1 @@
1 +22.3 KB
Content