Show last authors
1 (% style="text-align:center" %)
2 [[image:1654739676119-482.png||height="496" width="437"]]
3
4
5
6
7
8 (% style="display:none" %) (%%)
9
10
11
12 **Table of Contents:**
13
14 {{toc/}}
15
16
17
18
19
20
21
22
23
24
25 = 1.  Introduction =
26
27 == 1.1  ​What is LDS03A Open/Close Door Sensor ==
28
29 (((
30
31
32 (((
33 The Dragino LDS03A is an (% style="color:blue" %)**Open/Close LoRaWAN Door Sensor**(%%). It detects door open/close status and uplinks to IoT server via LoRaWAN network. user can see the door status, open duration, open counts in the IoT Server.
34 )))
35
36 (((
37 LDS03A is powered by a (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%). It can be used for up to 10 years.
38 )))
39
40 (((
41 The LDS03A will send periodically data every 2 hours as well as for each door open/close action. It also counts the door open times and calculates the last door open duration. Users can also disable the uplink for each open/close event, instead, LDS03A can count each open event and uplink periodically.
42 )))
43
44 (((
45 LDS03A has a (% style="color:blue" %)**Datalog feature**(%%), it will record the open/close event and the user can retrieve the history from LoRaWAN.
46 )))
47
48 (((
49 LDS03A has the (% style="color:blue" %)**open alarm feature**(%%), user can set this feature so the device will send an alarm if the door has been open for a certain time.
50 )))
51
52 (((
53 LDS03A is designed for outdoor use. It has a weatherproof enclosure and industrial level battery to work in low to high temperatures.
54 )))
55
56 (((
57 Each LDS03A is pre-load with a set of unique keys for LoRaWAN registration, register these keys to LoRaWAN server and it will auto-connect after power on.
58 )))
59
60 (((
61 *Battery life depends on how often to send data, please see [[battery analyzer>>||anchor="H4.A0Battery26Howtoreplace"]].
62 )))
63 )))
64
65
66 == ​1.2  Features ==
67
68
69 * LoRaWAN v1.0.3 Class A protocol.
70 * Frequency Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/IN865/RU864
71 * Door Open/Close detect
72 * Door open/close statistics
73 * 8500mAh industrial battery(none-rechargeable)
74 * AT Commands to change parameters
75 * Uplink on periodically and open/close event
76 * Datalog feature
77 * Remote configure parameters via LoRa Downlink
78 * Firmware upgradable via program port
79 * Wall Mountable
80 * Outdoor Use
81
82 == 1.3  Storage & Operation Temperature ==
83
84
85 -40°C to +85°C
86
87
88 == 1.4  ​Applications ==
89
90
91 [[image:1654741400370-813.png]]
92
93
94 == 1.5  Mechanical ==
95
96
97 [[image:1654741444887-479.png||height="404" width="519"]](% style="display:none" %)
98
99
100 [[image:1654741488515-626.png||height="321" width="787"]]
101
102
103 [[image:1654741510204-377.png||height="461" width="728"]]
104
105
106 == 1.6  Pin Definitions and Switch ==
107
108
109 [[image:1654741572060-177.png]]
110
111 **LDS03A is based on LSN50v2**
112
113
114 === 1.6.1  Pin Definition ===
115
116
117 (((
118 The device is pre-configured to connect to a door sensor. The other pins are not used. If user wants to know more about other pins, please refer to the user manual of LSN50v2 at:  [[https:~~/~~/www.dropbox.com/sh/djkxs7mr17y94mi/AABVlWbM9uzK9OA3mXyAT10Za?dl=0>>https://www.dropbox.com/sh/djkxs7mr17y94mi/AABVlWbM9uzK9OA3mXyAT10Za?dl=0]]
119 )))
120
121
122 === 1.6.2  Jumper JP2(Power ON/OFF) ===
123
124
125 Power on Device when putting this jumper.
126
127
128 === 1.6.3  BOOT MODE / SW1 ===
129
130
131 (((
132 1)  ISP: upgrade mode, device won't have any signal in this mode. but ready for upgrade firmware. LED won't work. Firmware won't run.
133 )))
134
135 (((
136 2)  Flash: work mode, the device starts to work and send out console output for further debug
137 )))
138
139
140 === 1.6.4  Reset Button ===
141
142
143 Press to reboot the device.
144
145
146 === 1.6.5  LED ===
147
148
149 It will flash:
150
151 ~1. Boot the device in flash mode
152
153 2. Send an uplink packet
154
155
156 == 1.7 Magnet Distance ==
157
158
159 * Wood Door: 10mm ~~ 30mm
160 * Iron Door: 30 ~~ 45mm
161
162 = 2.  Operation Mode =
163
164 == 2.1  How it works ==
165
166
167 (((
168 Each LDS03A is shipped with a worldwide unique set of OTAA keys. To use LDS03A in a LoRaWAN network, user needs to input the OTAA keys in the LoRaWAN network server. So LDS03A can join the LoRaWAN network and start to transmit sensor data.
169 )))
170
171
172 == 2.2  Example to use for LoRaWAN network ==
173
174
175 (((
176 This section shows an example of how to join the TTN V3 LoRaWAN IoT server. Usages with other LoRaWAN IoT servers are similar.
177
178
179 )))
180
181 (((
182 [[image:1654742304325-850.png]]
183
184
185 )))
186
187 (((
188 * In this user case, the LDS03A is installed on the door edge to detect the open/close event and send the status to the LoRaWAN server. The LDS03A will uplink different types of messages to the LoRaWAN server. See [[Uplink payload>>||anchor="H2.3A0200BUplinkPayload"]] for detail.
189
190 (((
191
192
193 Assume the LG308 is already set to connect to the [[TTN V3 network >>url:https://eu1.cloud.thethings.network]]. We need to add the LDS03A device in TTN V3:
194
195
196 )))
197 )))
198
199 (((
200 (((
201 (% style="color:blue" %)**Step 1**(%%):  Create a device in TTN V3 with the OTAA keys from LDS03A.
202 )))
203
204 (((
205 Each LDS03A is shipped with a sticker with the default device EUI as below:
206 )))
207 )))
208
209 [[image:image-20230426084953-1.png||height="255" width="550"]]
210
211
212 Users can enter these keys in the LoRaWAN Server portal. Below is the TTN V3 screenshot:
213
214
215 **Add APP EUI in the application:**
216
217 [[image:1654742558691-332.png]]
218
219
220 [[image:1654742595660-519.png]]
221
222
223 [[image:1654742610413-498.png]]
224
225
226
227 [[image:1654742630064-347.png]]
228
229 **Add APP KEY and DEV EUI**
230
231
232 (% style="display:none" %) (%%)
233
234 (% style="color:blue" %)**Step 2**(%%): Power on LDS03A
235
236
237 [[image:1654742860601-778.png||height="402" width="678"]](% style="display:none" %)
238
239
240 (((
241 Put the jumper to power on LDS03A and it will auto-join to the TTN V3 network. After join success, it will start to upload sensor data to TTN V3 and the user can see it in the panel.
242 )))
243
244
245 [[image:image-20220609104802-1.png||height="369" width="1123"]]
246
247
248 == 2.3  ​Uplink Payload ==
249
250
251 (((
252 (((
253 Uplink payloads have two types:
254 )))
255
256 * (((
257 Open/Close Status: Use FPORT=2
258 )))
259 * (((
260 Other control commands: Use other FPORT fields.
261 )))
262
263 (((
264 The application server should parse the correct value based on FPORT settings.
265 )))
266
267 (((
268
269 )))
270
271 === 2.3.1  Device Status, FPORT~=5 ===
272
273
274 )))
275
276 (((
277 Include device configure status. Once LDS03A Joined the network, it will uplink this message to the server. After that, LDS03A will uplink Device Status every 12 hours.
278 )))
279
280 (((
281 Users can also use the downlink command**(0x26 01)** to ask LDS03A to resend this uplink. This uplink payload also includes the DeviceTimeReq to get time.
282 )))
283
284 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
285 |(% colspan="6" style="background-color:#4f81bd; color:white" %)**Device Status (FPORT=5)**
286 |(% style="width:103px" %)**Size (bytes)**|(% style="width:72px" %)**1**|**2**|(% style="width:91px" %)**1**|(% style="width:86px" %)**1**|(% style="width:44px" %)**2**
287 |(% style="width:103px" %)Value|(% style="width:72px" %)Sensor Model|Firmware Version|(% style="width:91px" %)Frequency Band|(% style="width:86px" %)Sub-band|(% style="width:44px" %)BAT
288
289 Example parse in TTNv3
290
291 [[image:image-20220609105101-2.png||height="295" width="1208"]]
292
293
294 * (% style="color:#4f81bd" %)**Sensor Model**(%%): For LDS03A, this value is 0x0A
295
296 * (% style="color:#4f81bd" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
297
298 * (% style="color:#4f81bd" %)**Frequency Band**:
299
300 *0x01: EU868
301
302 *0x02: US915
303
304 *0x03: IN865
305
306 *0x04: AU915
307
308 *0x05: KZ865
309
310 *0x06: RU864
311
312 *0x07: AS923
313
314 *0x08: AS923-1
315
316 *0x09: AS923-2
317
318 *0x0a: AS923-3
319
320 *0x0b: CN470
321
322 *0x0c: EU433
323
324 *0x0d: KR920
325
326 *0x0e: MA869
327
328
329 * (% style="color:#4f81bd" %)**Sub-Band**:
330 ** AU915 and US915:value 0x00 ~~ 0x08
331 ** CN470: value 0x0B ~~ 0x0C
332 ** Other Bands: Always 0x00
333
334 * (% style="color:#4f81bd" %)**Battery Info:**
335
336 Check the battery voltage.
337
338 Ex1: 0x0B45 = 2885mV
339
340 Ex2: 0x0B49 = 2889mV
341
342
343 === 2.3.2  Sensor Configuration, FPORT~=4 ===
344
345
346 (((
347 LDS03A will only send this command after getting the downlink command (0x26 02) from the server.
348 )))
349
350 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
351 |(% colspan="5" style="background-color:#4f81bd; color:white; width:504px" %)**Sensor Configuration FPORT=4**
352 |**Size(bytes)**|(% style="width:75px" %)**3**|(% style="width:77px" %)**1**|(% style="width:96px" %)**1**|(% style="width:158px" %)**2**
353 |Value|(% style="width:75px" %)TDC (unit:sec)|(% style="width:77px" %)Disalarm|(% style="width:96px" %)Keep status|(% style="width:158px" %)Keep time (unit: min)
354
355 (((
356
357 )))
358
359 (((
360
361 )))
362
363 * (((
364 (% style="color:#4f81bd" %)**TDC: (default: 0x001C20)**
365 )))
366
367 (((
368 Uplink interval for the Open/Close Event, default value is 0x001C20 which is 7200 seconds = 2 hours.
369 )))
370
371 (((
372
373 )))
374
375 * (((
376 (% style="color:#4f81bd" %)**Disalarm: (default: 0)**
377 )))
378
379 (((
380 (% style="color:#037691" %) **If Disalarm = 1**(%%), LDS03A will only send uplink at every TDC periodically. This is normally use for pulse meter application, in this application, there are many open/close event, and platform only care about the total number of pulse.
381 )))
382
383 (((
384 (% style="color:#037691" %) **If Disalarm = 0**(%%), LDS03A will send uplink at every TDC periodically and send data on each open/close event. This is useful for the application user need to monitor the open/close event in real-time.
385
386
387 )))
388
389 (((
390 (% style="color:red" %)** Note: When Disalarm=0, a high frequently open/close event will cause lots of uplink and drain battery very fast. **
391 )))
392
393 (((
394
395 )))
396
397 * (((
398 (% style="color:#4f81bd" %)**Keep Status & Keep Time**
399 )))
400
401 (((
402 Shows the configure value of [[Alarm Base on Timeout Feature>>||anchor="H3.8A0AlarmBaseonTimeout"]]
403 )))
404
405
406 [[image:image-20220609110018-4.png||height="291" width="1159"]]
407
408
409 === 2.3.3  Real-Time Open/Close Status, Uplink FPORT~=2 ===
410
411
412 LDS03A will send this uplink **after** Device Status once join the LoRaWAN network successfully. And LDS03A will:
413
414 ~1. periodically send this uplink every 2 hours, this interval [[can be changed>>||anchor="H3.1A0SetTransmitIntervalTime"]].
415
416 2. There is an Open/Close event. 
417
418
419 Uplink Payload totals 11 bytes.
420
421 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:515px" %)
422 |=(% colspan="5" style="background-color:#4F81BD;color:white; width: 515px;" %)**Real-Time Open/Close Status, FPORT=2**
423 |(% style="width:95px" %)**Size(bytes)**|(% style="width:78px" %)**1**|(% style="width:98px" %)**3**|(% style="width:144px" %)**3**|(% style="width:108px" %)**4**
424 |(% style="width:95px" %)Value|(% style="width:78px" %)Status & [[Alarm>>||anchor="H3.8A0AlarmBaseonTimeout"]]|(% style="width:98px" %)Total open door events|(% style="width:144px" %)(((
425 The last door open duration (unit: min)
426 )))|(% style="width:108px" %)[[Unix TimeStamp>>||anchor="H2.4.1A0UnixTimeStamp"]]
427
428 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:515px" %)
429 |=(% colspan="4" style="background-color:#4F81BD;color:white; width: 515px;" %)**Status & Alarm field**
430 |(% style="width:76px" %)**Size(bit)**|(% style="width:70px" %)**6**|(% style="width:240px" %)**1**|(% style="width:130px" %)**1**
431 |(% style="width:76px" %)Value|(% style="width:70px" %)Reserve|(% style="width:240px" %)[[Enable/disable Timeout Alarm>>||anchor="H3.4A0Enable2FDisableAlarm"]]
432 0: No Alarm; 1: Alarm|(% style="width:130px" %)Status
433 0: Close, 1: Open
434
435 [[image:image-20220609110547-6.png||height="337" width="1191"]]
436
437
438 === 2.3.4  Historical Door Open/Close Event, FPORT~=3 ===
439
440
441 (((
442 LDS03A stores sensor values and users can retrieve these history values via the [[downlink command>>||anchor="H2.4A0DatalogFeature"]].
443 )))
444
445 (((
446 The historical payload includes one or multiplies entries and every entry has the same payload as Real-Time open/close status.
447 )))
448
449 (((
450
451 )))
452
453 * (((
454 Each data entry is 11 bytes and has the same structure as [[Real-Time open/close status>>||anchor="H2.3.3A0Real-TimeOpen2FCloseStatus2CUplinkFPORT3D2"]], to save airtime and battery, LDS03A will send max bytes according to the current DR and Frequency bands.
455 )))
456
457 (((
458 For example, in the US915 band, the max payload for different DR is:
459 )))
460
461 1. (((
462 (% style="color:blue" %)**DR0**(%%): max is 11 bytes so one entry of data
463 )))
464 1. (((
465 (% style="color:blue" %)**DR1**(%%): max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
466 )))
467 1. (((
468 (% style="color:blue" %)**DR2**(%%): total payload includes 11 entries of data
469 )))
470 1. (((
471 (% style="color:blue" %)**DR3**(%%): total payload includes 22 entries of data.
472 )))
473
474 (((
475
476
477 If LDS03A doesn't have any data in the polling time. It will uplink 11 bytes of 0
478 )))
479
480
481 [[image:image-20220609112215-7.png||height="277" width="1250"]]
482
483
484 (((
485 (% style="color:#037691" %)**Downlink:**
486 )))
487
488 (((
489 0x31 61 8E 57 40 61 8E 81 70 05
490 )))
491
492 (((
493
494 )))
495
496 (((
497 (% style="color:#037691" %)**Uplink:**
498 )))
499
500 (((
501 00 00 00 00 00 00 00 61 8E 5F 8F 01 00 00 01 00 00 00 61 8E 5F D2 00 00 00 01 00 00 02 61 8E 60 64 01 00 00 02 00 00 02 61 8E 60 75 00 00 00 02 00 00 01 61 8E 60 C6 00 00 00 02 00 00 01 61 8E 7B A7 01 00 00 03 00 00 01 61 8E 7F 38 00 00 00 03 00 00 02 61 8E 7F CE 01 00 00 04 00 00 02 61 8E 81 1B 00 00 00 04 00 00 00 61 8E 81 50
502 )))
503
504 (((
505
506 )))
507
508 (((
509 (% style="color:#037691" %)**Parsed Value:**
510 )))
511
512 (((
513 [ALARM, DOOR_OPEN_STATUS, DOOR_OPEN_TIMES,LAST_DOOR_OPEN_DURATION, TIME]
514 )))
515
516 (((
517
518 )))
519
520 (((
521 [FALSE, CLOSE, 0, 0, 2021-11-12 12:35:27],
522 )))
523
524 (((
525 [FALSE, OPEN,  1, 0, 2021-11-12 12:36:34],
526 )))
527
528 (((
529 [FALSE, CLOSE, 1, 2, 2021-11-12 12:39:00],
530 )))
531
532 (((
533 [FALSE, OPEN,  2, 2, 2021-11-12 12:39:17],
534 )))
535
536 (((
537 [FALSE, CLOSE, 2, 1, 2021-11-12 12:40:38],
538 )))
539
540 (((
541 [FALSE, CLOSE, 2, 1, 2021-11-12 14:35:19],
542 )))
543
544 (((
545 [FALSE, OPEN,  3, 1, 2021-11-12 14:50:32],
546 )))
547
548 (((
549 [FALSE, CLOSE, 3, 2, 2021-11-12 14:53:02],
550 )))
551
552 (((
553 [FALSE, OPEN,  4, 2, 2021-11-12 14:58:35],
554 )))
555
556 (((
557 [FALSE, CLOSE, 4, 0, 2021-11-12 14:59:28],
558 )))
559
560
561 == 2.4  Datalog Feature ==
562
563
564 When a user wants to retrieve sensor value, he can send a poll command from the IoT platform to ask the sensor to send value in the required time slot.
565
566
567 === 2.4.1  Unix TimeStamp ===
568
569
570 LDS03A use Unix TimeStamp format based on
571
572 [[image:image-20220609113256-8.png]]
573
574
575 (((
576 Users can get this time from the link:  [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] :
577 )))
578
579 (((
580 Below is the converter example
581 )))
582
583 [[image:image-20220609113256-9.png||height="467" width="1127"]]
584
585
586 (((
587 So, we can use AT+TIMESTAMP=1611889405 or downlink 3060137afd00 to set the current time 2021 – Jan ~-~- 29 Friday 03:03:25
588 )))
589
590
591 === 2.4.2  Set Device Time ===
592
593
594 (((
595 There are two ways to set the device's time:
596 )))
597
598 (((
599
600
601 (% style="color:blue" %)**1.  Through LoRaWAN MAC Command (Default settings)**
602 )))
603
604 (((
605 Users need to set SYNCMOD=1 to enable sync time via the MAC command.
606 )))
607
608 (((
609 Once LDS03A Joined the LoRaWAN network, it will send the MAC command (DeviceTimeReq) and the server will reply with (DeviceTimeAns) to send the current time to LDS03A. If LDS03A fails to get the time from the server, LDS03A will use the internal time and wait for the next time request ~[[[via Device Status (FPORT=5)>>||anchor="H2.3.1A0DeviceStatus2CFPORT3D5"]]].
610 )))
611
612 (((
613
614 )))
615
616 (((
617 (% style="color:red" %)**Note**: **LoRaWAN Server needs to support LoRaWAN v1.0.3(MAC v1.0.3) or higher to support this MAC command feature.**
618 )))
619
620 (((
621
622 )))
623
624 (((
625 (% style="color:blue" %)**2.  Manually Set Time**
626 )))
627
628 (((
629 Users need to set SYNCMOD=0 to manual time, otherwise, the user set time will be overwritten by the time set by the server.
630 )))
631
632
633 == 2.5 ​Show Data in DataCake IoT Server ==
634
635
636 (((
637 (((
638 Datacake IoT platform provides a human-friendly interface to show the sensor data, once we have sensor data in TTN V3, we can use Datacake to connect to TTN V3 and see the data in Datacake. Below are the steps:
639 )))
640 )))
641
642 (((
643 (((
644
645 )))
646 )))
647
648 (((
649 (((
650 (% style="color:blue" %)**Step 1**(%%)**: Link TTNv3 to Datacake.**[[https:~~/~~/docs.datacake.de/lorawan/lns/thethingsindustries#create-integration-on-tti>>url:https://docs.datacake.de/lorawan/lns/thethingsindustries#create-integration-on-tti]]
651 )))
652 )))
653
654 (((
655 (((
656 (% style="color:blue" %)**Step 2**(%%)**: Configure LDS03A in Datacake.**
657 )))
658 )))
659
660
661 [[image:1654746350207-427.png]]
662
663
664 [[image:1654747162439-840.png]]
665
666
667 [[image:1654746405400-203.png]]
668
669
670
671 [[image:1654746763908-732.png]]
672
673
674
675 [[image:1654746716087-684.png]]
676
677
678 [[image:1654746693868-718.png]]
679
680
681 [[image:1654746674738-826.png]]
682
683
684 [[image:1654746646379-591.png]]
685
686
687 [[image:1654746549277-209.png]]
688
689
690 [[image:1654746593411-887.png]]
691
692
693 = 3.  Configure LDS03A via AT Command or LoRaWAN Downlink =
694
695
696 (((
697 Use can configure LDS03A via AT Command or LoRaWAN Downlink.
698 )))
699
700 * (((
701 AT Command Connection: See [[FAQ>>||anchor="H5.A0FAQ"]].
702 )))
703 * (((
704 LoRaWAN Downlink instruction for different platforms: [[IoT LoRaWAN Server>>doc:Main.WebHome]]
705
706
707 )))
708
709 (((
710 There are two kinds of commands to configure LDS03A, they are:
711 )))
712
713 * (((
714 (% style="color:#4f81bd" %)** General Commands**.
715 )))
716
717 (((
718 These commands are to configure:
719 )))
720
721 * (((
722 General system settings like: uplink interval.
723 )))
724 * (((
725 LoRaWAN protocol & radio related command.
726 )))
727
728 (((
729 They are same for all Dragino Device which support DLWS-005 LoRaWAN Stack. These commands can be found on the wiki: [[End Device AT Commands and Downlink Command>>doc:Main.End Device AT Commands and Downlink Command.WebHome]]
730 )))
731
732 (((
733
734 )))
735
736 * (((
737 (% style="color:#4f81bd" %)** Commands special design for LDS03A**
738 )))
739
740 (((
741 These commands only valid for LDS03A, as below:
742 )))
743
744
745 == 3.1  Set Transmit Interval Time ==
746
747
748 Feature: Change LoRaWAN End Node Transmit Interval.
749
750 (% style="color:#4472c4" %)**AT Command: AT+TDC**
751
752 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
753 |=(% style="width: 156px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 137px;background-color:#4F81BD;color:white" %)**Function**|=(% style="background-color:#4F81BD;color:white" %)**Response**
754 |(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|(((
755 30000
756 OK
757 the interval is 30000ms = 30s
758 )))
759 |(% style="width:156px" %)AT+TDC=60000|(% style="width:137px" %)Set Transmit Interval|(((
760 OK
761 Set transmit interval to 60000ms = 60 seconds
762 )))
763
764 (((
765 (% style="color:#4472c4" %)**Downlink Command: 0x01**
766 )))
767
768 (((
769 Format: Command Code (0x01) followed by 3 bytes time value.
770 )))
771
772 (((
773 If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01.
774 )))
775
776 * (((
777 Example 1: Downlink Payload: 0100001E  ~/~/ Set Transmit Interval (TDC) = 30 seconds
778 )))
779 * (((
780 Example 2: Downlink Payload: 0100003C  ~/~/ Set Transmit Interval (TDC) = 60 seconds
781
782
783
784 )))
785
786 == 3.2  Set Password ==
787
788
789 Feature: Set device password, max 9 digits.
790
791 (% style="color:#4472c4" %)**AT Command: AT+PWORD**
792
793 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:405px" %)
794 |=(% style="width: 170px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 123px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 112px;background-color:#4F81BD;color:white" %)**Response**
795 |(% style="width:170px" %)(((
796 AT+PWORD=?
797 )))|(% style="width:123px" %)(((
798 Show password
799 )))|(% style="width:109px" %)(((
800 (((
801 123456
802 )))
803
804 (((
805 OK
806 )))
807 )))
808 |(% style="width:170px" %)(((
809 AT+PWORD=999999
810 )))|(% style="width:123px" %)(((
811 Set password
812 )))|(% style="width:109px" %)(((
813 OK
814 )))
815
816 (% style="color:#4472c4" %)**Downlink Command:**
817
818 No downlink command for this feature.
819
820
821 == 3.3  Quit AT Command ==
822
823
824 Feature: Quit AT Command mode, so user needs to input the password again before using AT Commands.
825
826 (% style="color:#4472c4" %)**AT Command: AT+DISAT**
827
828 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:452px" %)
829 |=(% style="width: 155px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 198px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 99px;background-color:#4F81BD;color:white" %)**Response**
830 |(% style="width:155px" %)AT+DISAT|(% style="width:198px" %)Quit AT Commands mode|(% style="width:96px" %)OK
831
832 (% style="color:#4472c4" %)**Downlink Command:**
833
834 No downlink command for this feature.
835
836
837 == 3.4  Enable / Disable Alarm ==
838
839
840 Feature: Enable/Disable Alarm for open/close event. Default value 0.
841
842 (% style="color:#4472c4" %)**AT Command:**
843
844 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
845 |(% style="background-color:#4f81bd; color:white; width:154px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:278px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:78px" %)**Response**
846 |(% style="width:154px" %)AT+DISALARM=1|(% style="width:278px" %)End node will only send packets in TDC time.|OK
847 |(% style="width:154px" %)AT+DISALARM=0|(% style="width:278px" %)End node will send packets in TDC time or status change for door sensor|OK
848
849 (% style="color:#4472c4" %)**Downlink Command:**
850
851 0xA7 01  ~/~/ Same As AT+DISALARM=1
852
853 0xA7 00  ~/~/ Same As AT+DISALARM=0
854
855
856 == 3.5  Clear count ==
857
858
859 Feature: Clear current door open.
860
861 (% style="color:#4472c4" %)**AT Command:**
862
863 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:511px" %)
864 |=(% style="width: 155px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 266px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 90px;background-color:#4F81BD;color:white" %)**Response**
865 |(% style="width:155px" %)AT+CLRC|(% style="width:266px" %)Clear the count of door open events.|(% style="width:85px" %)OK
866
867 (% style="color:#4472c4" %)**Downlink Command:**
868
869 0xA6 01 ~/~/ Same As AT+ CLRC
870
871
872 == 3.6  Set system time ==
873
874
875 Feature: Set system time, Unix format. [[See here for format detail.>>||anchor="H2.4.1A0UnixTimeStamp"]]
876
877 (% style="color:#4472c4" %)**AT Command:**
878
879 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:500px" %)
880 |=(% style="background-color:#4F81BD;color:white" %)**Command Example**|=(% style="background-color:#4F81BD;color:white" %)**Function**|=(% style="background-color:#4F81BD;color:white" %)**Response**
881 |AT+TIMESTAMP=1611104352|Set System time to 2021-01-20 00:59:12|OK
882
883 (% style="color:#4472c4" %)**Downlink Command:**
884
885 0x306007806000  ~/~/ Set timestamp to 0x(6007806000),Same as AT+TIMESTAMP=1611104352
886
887
888 == 3.7  Set Time Sync Mode ==
889
890
891 (((
892 Feature: Enable/Disable Sync system time via LoRaWAN MAC Command (DeviceTimeReq), LoRaWAN server must support v1.0.3 protocol to reply to this command.
893 )))
894
895 (((
896 SYNCMOD is set to 1 by default. If user wants to set a different time from the LoRaWAN server, the user needs to set this to 0.
897 )))
898
899
900 (% style="color:#4472c4" %)**AT Command:**
901
902 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:500px" %)
903 |=(% style="background-color:#4F81BD;color:white" %)**Command Example**|=(% style="background-color:#4F81BD;color:white" %)**Function**|=(% style="background-color:#4F81BD;color:white" %)**Response**
904 |AT+SYNCMOD=1|Enable Sync system time via LoRaWAN MAC Command (DeviceTimeReq) The default is zero time zone.|OK
905 |AT+SYNCMOD=1,8|Enable Sync system time via LoRaWAN MAC Command (DeviceTimeReq) Set to East eight time zone.|OK
906 |AT+SYNCMOD=1,-12|Enable Sync system time via LoRaWAN MAC Command (DeviceTimeReq) Set to West Twelve Time Zone.|OK
907
908 (% style="color:#4472c4" %)**Downlink Command:**
909
910 0x28 01  ~/~/ Same As AT+SYNCMOD=1
911
912 0x28 01 08  ~/~/ Same As AT+SYNCMOD=1,8
913
914 0x28 01 F4  ~/~/ Same As AT+SYNCMOD=1,-12
915
916 0x28 00  ~/~/ Same As AT+SYNCMOD=0
917
918
919 == 3.8  Alarm Base on Timeout ==
920
921
922 (((
923 LDS03A can monitor the timeout for a status change, this feature can be used to monitor some events such as door opening too long etc. Related Parameters are:
924 )))
925
926
927 * (((
928 (% style="color:blue" %)**Keep Status: Status to be monitor**
929 )))
930
931 (((
932 Keep Status = 1: Monitor Close to Open event
933 )))
934
935 (((
936 Keep Status = 0: Monitor Open to Close event
937 )))
938
939
940 * (((
941 (% style="color:blue" %)**Keep Time: Timeout to send an Alarm**
942 )))
943
944 (((
945 Range 0 ~~ 65535(0xFFFF) seconds.
946 )))
947
948 (((
949 If keep time = 0, Disable Alarm Base on Timeout feature.
950 )))
951
952 (((
953 If keep time > 0, device will monitor the keep status event and send an alarm when status doesn't change after timeout.
954 )))
955
956
957 (((
958 (% style="color:#4472c4" %)**AT Command to configure:**
959 )))
960
961 * (((
962 (% style="color:red" %)**AT+TTRIG=1,30** (%%) **~-~->** When the **Keep Status** change from close to open, and device remains in open status for more than 30 seconds. LDS03A will send an uplink packet, the [[Alarm bit>>||anchor="H2.3.3A0Real-TimeOpen2FCloseStatus2CUplinkFPORT3D2"]] (the second bit of 1^^st^^ byte of payload) on this uplink packet is set to 1.
963 )))
964
965 * (((
966 (% style="color:red" %)**AT+TTRIG=0,0**  (%%) **~-~-> ** Default Value, disable timeout Alarm.
967 )))
968
969 (((
970 (% style="color:#4472c4" %)**Downlink Command to configure:**
971 )))
972
973 (((
974 **Command: (% style="color:red" %)0xA9 aa bb cc(%%)**
975 )))
976
977 (((
978 **A9:** Command Type Code
979 )))
980
981 (((
982 **aa:** status to be monitored
983 )))
984
985 (((
986 **bb cc:** timeout.
987 )))
988
989 (((
990 If user send 0xA9 01 00 1E: equal to AT+TTRIG=1,30
991 )))
992
993 (((
994 **Or**
995 )))
996
997 (((
998 0xA9 00 00 00: Equal to AT+TTRIG=0,0. Disable timeout Alarm.
999 )))
1000
1001
1002 == 3.9  Clear Flash Record ==
1003
1004
1005 (((
1006 Feature: Clear flash storage for data log feature.
1007 )))
1008
1009 (((
1010 (% style="color:#4472c4" %)**AT Command: AT+CLRDTA**
1011 )))
1012
1013 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:500px" %)
1014 |=(% style="width: 157px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 169px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 174px;background-color:#4F81BD;color:white" %)**Response**
1015 |(% style="width:157px" %)AT+CLRDTA|(% style="width:169px" %)Clear flash storage for data log feature.|Clear all stored sensor data… OK
1016
1017 (((
1018 (((
1019 (% style="color:#4472c4" %)**Downlink Command:**
1020 )))
1021
1022 (((
1023 Example: 0xA301  ~/~/  Same as AT+CLRDTA
1024 )))
1025 )))
1026
1027
1028 == 3.10  Count Mod (Since firmware v1.2.0)(unreleased version) ==
1029
1030
1031 (% style="color:#4472c4" %)**AT Command:**
1032
1033 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:495px" %)
1034 |=(% style="width: 157px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 246px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 92px;background-color:#4F81BD;color:white" %)**Response**
1035 |(% style="width:157px" %)(((
1036 AT+COUNTMOD=0
1037 )))|(% style="width:156px" %)(((
1038 the count value keeps accumulating mode
1039 )))|(% style="width:89px" %)(((
1040 (((
1041
1042 )))
1043
1044 (((
1045 OK
1046 )))
1047 )))
1048 |(% style="width:157px" %)(((
1049 AT+COUNTMOD=1
1050 )))|(% style="width:156px" %)(((
1051 the count value will be reset after each TDC time(Last Close Duration Reset after each uplink)
1052 )))|(% style="width:89px" %)(((
1053 OK
1054 )))
1055
1056 (% style="color:#4472c4" %)**Downlink Command:**
1057
1058 Example:  0B aa  => AT+COUNTMOD = second byte
1059
1060
1061 == 3.11  Interrupt Pin Channel Mod(Since firmware v1.2.0)(unreleased version) ==
1062
1063
1064 (% style="color:#4472c4" %)**AT Command:**
1065
1066 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:495px" %)
1067 |=(% style="width: 157px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 246px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 92px;background-color:#4F81BD;color:white" %)**Response**
1068 |(% style="width:157px" %)(((
1069 AT+TTRCHANNEL=1
1070 )))|(% style="width:156px" %)(((
1071 set as single channel, only use PB14 pin as interrupt pin.
1072 )))|(% style="width:89px" %)(((
1073 (((
1074
1075 )))
1076
1077 (((
1078 OK
1079 )))
1080 )))
1081 |(% style="width:157px" %)(((
1082 AT+TTRCHANNEL=2
1083 )))|(% style="width:156px" %)(((
1084 is set as dual channel, use PB14 pin and PB15 pin as interrupt pin.
1085 )))|(% style="width:89px" %)(((
1086 OK
1087 )))
1088
1089 (% style="color:#4472c4" %)**Downlink Command:**
1090
1091 Example:  0D aa => AT+TTRCHANNEL = second byte
1092
1093
1094 == 3.12  Change the name of AT+TTRIG to AT+TTRIG1(Since firmware v1.2.0)(unreleased version) ==
1095
1096
1097 (% style="color:#4472c4" %)**Downlink Command:**
1098
1099 Example:  A9 01 aa bb cc  => AT+TTRIG1= third byte, 4th byte and 5th byte
1100
1101
1102 == 3.13  Added AT+TTRIG2 for PB15 pin(Since firmware v1.2.0)(unreleased version) ==
1103
1104
1105 (% style="color:#4472c4" %)**Downlink Command:**
1106
1107 Example: A9 02 aa bb cc  => AT+TTRIG2= third byte, 4th byte and 5th byte
1108
1109
1110 == 3.14  TTRIG1/2 timeout status alarm(Since firmware v1.2.0)(unreleased version) ==
1111
1112
1113 It needs to be used with AT+TTRIG1 or AT+TTRIG2. When TTRIG1 or TTRIG2 times out and causes an alarm, and the status does not change subsequently, an alarm packet will be sent at the alarm interval.
1114
1115 (% style="color:#4472c4" %)**AT Command:**
1116
1117 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:495px" %)
1118 |=(% style="width: 157px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 246px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 92px;background-color:#4F81BD;color:white" %)**Response**
1119 |(% style="width:157px" %)(((
1120 AT+TTRALARM=0
1121 )))|(% style="width:156px" %)(((
1122 disable continuous alarm
1123 )))|(% style="width:89px" %)(((
1124 (((
1125
1126 )))
1127
1128 (((
1129 OK
1130 )))
1131 )))
1132 |(% style="width:157px" %)(((
1133 AT+TTRALARM=60
1134 )))|(% style="width:156px" %)(((
1135 The alarm interval is 60 minutes (unit: minutes)
1136 )))|(% style="width:89px" %)(((
1137 OK
1138 )))
1139
1140 (% style="color:#4472c4" %)**Downlink Command:**
1141
1142 Example:  0C aa  => AT+TTRALARM= aa
1143
1144
1145 == 3.15  Select counting mode(Since firmware V1.2.1)(unreleased version) ==
1146
1147
1148 (% style="color:blue" %)**AT+TTRMODx=a,b**
1149
1150 When (% style="color:red" %)**a=0**,(%%) the door is opened to count, and when (% style="color:red" %)**a=1**,(%%)the closed door is counted.
1151
1152 When (% style="color:red" %)**b=0**,(%%) it is the last door open duration, and when (% style="color:red" %)**b=1**,(%%)the last door close duration.
1153
1154
1155 (% style="color:#4472c4" %)**AT Command:**
1156
1157 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:495px" %)
1158 |=(% style="width: 157px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 246px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 92px;background-color:#4F81BD;color:white" %)**Response**
1159 |(% style="width:157px" %)(((
1160 AT+TTRMODx=1,0
1161 )))|(% style="width:156px" %)Door closed count and record the last door opened duration|(% style="width:89px" %)(((
1162 (((
1163
1164 )))
1165
1166 (((
1167 OK
1168 )))
1169 )))
1170 |(% style="width:157px" %)(((
1171 AT+TTRMODx=0,1
1172 )))|(% style="width:156px" %)(((
1173 Door opened count and record the last door Door Door open closed duration
1174 )))|(% style="width:89px" %)(((
1175 OK
1176 )))
1177
1178 = 4. Battery & Power Consumption =
1179
1180
1181 LDS03A uses ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace.
1182
1183 [[**Battery Info & Power Consumption Analyze**>>url:http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] .
1184
1185
1186 = 5.  FAQ =
1187
1188 == 5.1  How to use AT Command to configure LDS03A ==
1189
1190
1191 LDS03A UART connection photo
1192
1193 [[image:1654757007713-791.png]]
1194
1195
1196 (((
1197 In the PC, you need to set the serial baud rate to (% style="color:green" %)**9600**(%%) to access the serial console for LSN50. LSN50 will output system info once power on as below:
1198 )))
1199
1200 [[image:image-20220609144231-3.png||height="644" width="922"]]
1201
1202
1203 == 5.2  How to upgrade the firmware? ==
1204
1205
1206 (((
1207 A new firmware might be available for:
1208 )))
1209
1210 * (((
1211 Support new features
1212 )))
1213 * (((
1214 For bug fix
1215 )))
1216 * (((
1217 Change LoRaWAN bands.
1218 )))
1219
1220 (((
1221 Instruction for how to upgrade: [[Firmware Upgrade Instruction>>doc:Main.Firmware Upgrade Instruction for STM32 base products.WebHome||anchor="H2.HardwareUpgradeMethodSupportList"]]
1222 )))
1223
1224 (((
1225 Firmware location:  [[https:~~/~~/www.dropbox.com/sh/x9rpz9ftyljg135/AAAhC5hqtQOAw9_AoEEZbl9Ca?dl=0>>https://www.dropbox.com/sh/x9rpz9ftyljg135/AAAhC5hqtQOAw9_AoEEZbl9Ca?dl=0]]
1226 )))
1227
1228
1229 == 5.3  How to change the LoRa Frequency Bands/Region? ==
1230
1231
1232 Users can follow the introduction for how to upgrade image. When downloading the images, choose the required image file for download.
1233
1234
1235 = 6.  Trouble Shooting =
1236
1237 == 6.1  AT Commands input doesn't work ==
1238
1239
1240 In the case if user can see the console output but can't type input to the device. Please check if you already include the (% style="color:green" %)**ENTER**(%%) while sending out the command. Some serial tool doesn't send (% style="color:green" %)**ENTER**(%%) while press the send key, user need to add ENTER in their string.
1241
1242
1243 = 7.  Order Info =
1244
1245
1246 Part Number: (% style="color:blue" %)**LDS03A-XX**
1247
1248
1249 (% style="color:blue" %)**XX**(%%): The default frequency band
1250
1251 * (% style="color:red" %)**AS923**(%%):  LoRaWAN AS923 band
1252 * (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band
1253 * (% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band
1254 * (% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band
1255 * (% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band
1256 * (% style="color:red" %)**US915**(%%): LoRaWAN US915 band
1257 * (% style="color:red" %)**IN865**(%%):  LoRaWAN IN865 band
1258 * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
1259
1260 = 8.  ​Packing Info =
1261
1262
1263 **Package Includes**:
1264
1265 * LDS03A Open/Close Sensor x 1
1266
1267 = 9.  ​Support =
1268
1269
1270 * 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.
1271 * 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:http://../../../../../../D:%5C%E5%B8%82%E5%9C%BA%E8%B5%84%E6%96%99%5C%E8%AF%B4%E6%98%8E%E4%B9%A6%5CLoRa%5CLT%E7%B3%BB%E5%88%97%5Csupport@dragino.com]].
1272
1273 = 10.  FCC Warning =
1274
1275
1276 This device complies with part 15 of the FCC Rules. Operation is subject to the following two conditions:
1277
1278 (1) This device may not cause harmful interference;
1279
1280 (2) this device must accept any interference received, including interference that may cause undesired operation.
Copyright ©2010-2022 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0