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
28 == 1.1  ​What is LDS03A Open/Close Door Sensor ==
29
30 (((
31
32
33 (((
34 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.
35 )))
36
37 (((
38 LDS03A is powered by a (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%). It can be used for up to 10 years.
39 )))
40
41 (((
42 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.
43 )))
44
45 (((
46 LDS03A has a (% style="color:blue" %)**Datalog feature**(%%), it will record the open/close event and the user can retrieve the history from LoRaWAN.
47 )))
48
49 (((
50 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.
51 )))
52
53 (((
54 LDS03A is designed for outdoor use. It has a weatherproof enclosure and industrial level battery to work in low to high temperatures.
55 )))
56
57 (((
58 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.
59 )))
60
61 (((
62 *Battery life depends on how often to send data, please see [[battery analyzer>>||anchor="H4.A0Battery26Howtoreplace"]].
63 )))
64 )))
65
66
67
68 == ​1.2  Features ==
69
70
71 * LoRaWAN v1.0.3 Class A protocol.
72 * Frequency Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/IN865/RU864
73 * Door Open/Close detect
74 * Door open/close statistics
75 * 8500mAh industrial battery(none-rechargeable)
76 * AT Commands to change parameters
77 * Uplink on periodically and open/close event
78 * Datalog feature
79 * Remote configure parameters via LoRa Downlink
80 * Firmware upgradable via program port
81 * Wall Mountable
82 * Outdoor Use
83
84
85
86 == 1.3  Storage & Operation Temperature ==
87
88
89 -40°C to +85°C
90
91
92
93 == 1.4  ​Applications ==
94
95
96 [[image:1654741400370-813.png]]
97
98
99
100 == 1.5  Mechanical ==
101
102
103 [[image:1654741444887-479.png]]
104
105
106 [[image:1654741488515-626.png]]
107
108
109 [[image:1654741510204-377.png]]
110
111
112
113 == 1.6  Pin Definitions and Switch ==
114
115
116 [[image:1654741572060-177.png]]
117
118 **LDS03A is based on LSN50v2**
119
120
121
122 === 1.6.1  Pin Definition ===
123
124
125 (((
126 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]]
127 )))
128
129
130
131 === 1.6.2  Jumper JP2(Power ON/OFF) ===
132
133
134 Power on Device when putting this jumper.
135
136
137
138 === 1.6.3  BOOT MODE / SW1 ===
139
140
141 (((
142 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.
143 )))
144
145 (((
146 2)  Flash: work mode, the device starts to work and send out console output for further debug
147 )))
148
149
150
151 === 1.6.4  Reset Button ===
152
153
154 Press to reboot the device.
155
156
157
158 === 1.6.5  LED ===
159
160
161 It will flash:
162
163 ~1. Boot the device in flash mode
164
165 2. Send an uplink packet
166
167
168
169 == 1.7 Magnet Distance ==
170
171
172 * Wood Door: 10mm ~~ 30mm
173 * Iron Door: 30 ~~ 45mm
174
175
176
177 = 2.  Operation Mode =
178
179
180 == 2.1  How it works ==
181
182
183 (((
184 (((
185 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.
186 )))
187 )))
188
189
190
191 == 2.2  Example to use for LoRaWAN network ==
192
193
194 (((
195 This section shows an example of how to join the TTN V3 LoRaWAN IoT server. Usages with other LoRaWAN IoT servers are similar.
196
197
198 )))
199
200 (((
201 [[image:1654742304325-850.png]]
202
203
204 )))
205
206 (((
207 * 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.
208
209 (((
210
211
212 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:
213
214
215 )))
216 )))
217
218 (((
219 (((
220 (% style="color:blue" %)**Step 1**(%%):  Create a device in TTN V3 with the OTAA keys from LDS03A.
221 )))
222
223 (((
224 Each LDS03A is shipped with a sticker with the default device EUI as below:
225 )))
226 )))
227
228 [[image:image-20220607170145-1.jpeg]]
229
230
231 Users can enter these keys in the LoRaWAN Server portal. Below is the TTN V3 screenshot:
232
233
234 **Add APP EUI in the application:**
235
236 [[image:1654742558691-332.png]]
237
238
239 [[image:1654742595660-519.png]]
240
241
242 [[image:1654742610413-498.png]]
243
244
245
246 [[image:1654742630064-347.png]]
247
248 **Add APP KEY and DEV EUI**
249
250
251
252 (% style="color:blue" %)**Step 2**(%%): Power on LDS03A
253
254
255 [[image:1654742860601-778.png]]
256
257
258 (((
259 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.
260 )))
261
262
263 [[image:image-20220609104802-1.png||height="369" width="1123"]]
264
265
266
267 == 2.3  ​Uplink Payload ==
268
269
270 (((
271 (((
272 Uplink payloads have two types:
273 )))
274
275 * (((
276 Open/Close Status: Use FPORT=2
277 )))
278 * (((
279 Other control commands: Use other FPORT fields.
280 )))
281
282 (((
283 The application server should parse the correct value based on FPORT settings.
284 )))
285
286 (((
287
288
289
290 )))
291
292 === 2.3.1  Device Status, FPORT~=5 ===
293
294
295 )))
296
297 (((
298 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.
299 )))
300
301 (((
302 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.
303 )))
304
305 [[image:image-20220609105437-3.png]]
306
307
308 Example parse in TTNv3
309
310 [[image:image-20220609105101-2.png||height="295" width="1208"]]
311
312
313 * (% style="color:#4f81bd" %)**Sensor Model**(%%): For LDS03A, this value is 0x0A
314
315 * (% style="color:#4f81bd" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
316
317 * (% style="color:#4f81bd" %)**Frequency Band**:
318
319 *0x01: EU868
320
321 *0x02: US915
322
323 *0x03: IN865
324
325 *0x04: AU915
326
327 *0x05: KZ865
328
329 *0x06: RU864
330
331 *0x07: AS923
332
333 *0x08: AS923-1
334
335 *0x09: AS923-2
336
337 *0x0a: AS923-3
338
339 *0x0b: CN470
340
341 *0x0c: EU433
342
343 *0x0d: KR920
344
345 *0x0e: MA869
346
347
348 * (% style="color:#4f81bd" %)**Sub-Band**:
349 ** AU915 and US915:value 0x00 ~~ 0x08
350 ** CN470: value 0x0B ~~ 0x0C
351 ** Other Bands: Always 0x00
352
353 * (% style="color:#4f81bd" %)**Battery Info:**
354
355 Check the battery voltage.
356
357 Ex1: 0x0B45 = 2885mV
358
359 Ex2: 0x0B49 = 2889mV
360
361
362
363 === 2.3.2  Sensor Configuration, FPORT~=4 ===
364
365
366 (((
367 LDS03A will only send this command after getting the downlink command (0x26 02) from the server.
368 )))
369
370 (((
371 [[image:image-20220609110123-5.png]]
372 )))
373
374 (((
375
376 )))
377
378 * (((
379 (% style="color:#4f81bd" %)**TDC: (default: 0x001C20)**
380 )))
381
382 (((
383 Uplink interval for the Open/Close Event, default value is 0x001C20 which is 7200 seconds = 2 hours.
384 )))
385
386 (((
387
388 )))
389
390 * (((
391 (% style="color:#4f81bd" %)**Disalarm: (default: 0)**
392 )))
393
394 (((
395 (% 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.
396 )))
397
398 (((
399 (% 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.
400
401
402 )))
403
404 (((
405 (% style="color:red" %)** Note: When Disalarm=0, a high frequently open/close event will cause lots of uplink and drain battery very fast. **
406 )))
407
408 (((
409
410 )))
411
412 * (((
413 (% style="color:#4f81bd" %)**Keep Status & Keep Time**
414 )))
415
416 (((
417 Shows the configure value of [[Alarm Base on Timeout Feature>>||anchor="H3.8A0AlarmBaseonTimeout"]]
418 )))
419
420
421 [[image:image-20220609110018-4.png||height="291" width="1159"]]
422
423
424
425 === 2.3.3  Real-Time Open/Close Status, Uplink FPORT~=2 ===
426
427
428 LDS03A will send this uplink **after** Device Status once join the LoRaWAN network successfully. And LDS03A will:
429
430 ~1. periodically send this uplink every 2 hours, this interval [[can be changed>>||anchor="H3.1A0SetTransmitIntervalTime"]].
431
432 2. There is an Open/Close event. 
433
434
435 Uplink Payload totals 11 bytes.
436
437 (% border="1" cellspacing="5" style="background-color:#ffffcc; color:green; width:500px" %)
438 |=(% colspan="5" style="width: 492px;" %)**Real-Time Open/Close Status, FPORT=2**
439 |(% style="width:60px" %)**Size(bytes)**|(% style="width:70px" %)**1**|(% style="width:90px" %)**3**|(% style="width:120px" %)**3**|(% style="width:80px" %)**4**
440 |(% style="width:101px" %)**Value**|(% style="width:77px" %)Status & [[Alarm>>||anchor="H3.8A0AlarmBaseonTimeout"]]|(% style="width:99px" %)Total open door events|(% style="width:88px" %)(((
441 The last door open
442 duration (unit: min)
443 )))|(% style="width:126px" %)[[Unix TimeStamp>>||anchor="H2.4.1A0UnixTimeStamp"]]
444
445 (% border="1" cellspacing="5" style="background-color:#ffffcc; color:green; width:465px" %)
446 |=(% colspan="4" style="width: 462px;" %)**Status & Alarm field**
447 |(% style="width:60px" %)**Size(bit)**|(% style="width:50px" %)**6**|(% style="width:176px" %)**1**|(% style="width:131px" %)**1**
448 |(% style="width:82px" %)**Value**|(% style="width:71px" %)Reserve|(% style="width:176px" %)[[Enable/disable Timeout Alarm>>||anchor="H3.8A0AlarmBaseonTimeout"]]
449 0: No Alarm; 1: Alarm|(% style="width:131px" %)Status
450 0: Close, 1: Open
451
452 [[image:image-20220609110547-6.png||height="337" width="1191"]]
453
454
455
456 === 2.3.4  Historical Door Open/Close Event, FPORT~=3 ===
457
458
459 (((
460 LDS03A stores sensor values and users can retrieve these history values via the [[downlink command>>||anchor="H2.4A0DatalogFeature"]].
461 )))
462
463 (((
464 The historical payload includes one or multiplies entries and every entry has the same payload as Real-Time open/close status.
465 )))
466
467 (((
468
469 )))
470
471 * (((
472 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.
473 )))
474
475 (((
476 For example, in the US915 band, the max payload for different DR is:
477 )))
478
479 1. (((
480 (% style="color:blue" %)**DR0**(%%): max is 11 bytes so one entry of data
481 )))
482 1. (((
483 (% style="color:blue" %)**DR1**(%%): max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
484 )))
485 1. (((
486 (% style="color:blue" %)**DR2**(%%): total payload includes 11 entries of data
487 )))
488 1. (((
489 (% style="color:blue" %)**DR3**(%%): total payload includes 22 entries of data.
490 )))
491
492 (((
493
494
495 If LDS03A doesn't have any data in the polling time. It will uplink 11 bytes of 0
496 )))
497
498
499 [[image:image-20220609112215-7.png||height="277" width="1250"]]
500
501
502 (((
503 (% style="color:#037691" %)**Downlink:**
504 )))
505
506 (((
507 0x31 61 8E 57 40 61 8E 81 70 05
508 )))
509
510 (((
511
512 )))
513
514 (((
515 (% style="color:#037691" %)**Uplink:**
516 )))
517
518 (((
519 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
520 )))
521
522 (((
523
524 )))
525
526 (((
527 (% style="color:#037691" %)**Parsed Value:**
528 )))
529
530 (((
531 [ALARM, DOOR_OPEN_STATUS, DOOR_OPEN_TIMES,LAST_DOOR_OPEN_DURATION, TIME]
532 )))
533
534 (((
535
536 )))
537
538 (((
539 [FALSE, CLOSE, 0, 0, 2021-11-12 12:35:27],
540 )))
541
542 (((
543 [FALSE, OPEN,  1, 0, 2021-11-12 12:36:34],
544 )))
545
546 (((
547 [FALSE, CLOSE, 1, 2, 2021-11-12 12:39:00],
548 )))
549
550 (((
551 [FALSE, OPEN,  2, 2, 2021-11-12 12:39:17],
552 )))
553
554 (((
555 [FALSE, CLOSE, 2, 1, 2021-11-12 12:40:38],
556 )))
557
558 (((
559 [FALSE, CLOSE, 2, 1, 2021-11-12 14:35:19],
560 )))
561
562 (((
563 [FALSE, OPEN,  3, 1, 2021-11-12 14:50:32],
564 )))
565
566 (((
567 [FALSE, CLOSE, 3, 2, 2021-11-12 14:53:02],
568 )))
569
570 (((
571 [FALSE, OPEN,  4, 2, 2021-11-12 14:58:35],
572 )))
573
574 (((
575 [FALSE, CLOSE, 4, 0, 2021-11-12 14:59:28],
576 )))
577
578
579
580 == 2.4  Datalog Feature ==
581
582
583 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.
584
585
586
587 === 2.4.1  Unix TimeStamp ===
588
589
590 LDS03A use Unix TimeStamp format based on
591
592 [[image:image-20220609113256-8.png]]
593
594
595 (((
596 Users can get this time from the link:  [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] :
597 )))
598
599 (((
600 Below is the converter example
601 )))
602
603 [[image:image-20220609113256-9.png||height="467" width="1127"]]
604
605
606 (((
607 So, we can use AT+TIMESTAMP=1611889405 or downlink 3060137afd00 to set the current time 2021 – Jan ~-~- 29 Friday 03:03:25
608 )))
609
610
611
612 === 2.4.2  Set Device Time ===
613
614
615 (((
616 There are two ways to set the device's time:
617 )))
618
619 (((
620
621
622 (% style="color:blue" %)**1.  Through LoRaWAN MAC Command (Default settings)**
623 )))
624
625 (((
626 Users need to set SYNCMOD=1 to enable sync time via the MAC command.
627 )))
628
629 (((
630 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"]]].
631 )))
632
633 (((
634
635 )))
636
637 (((
638 (% 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.**
639 )))
640
641 (((
642
643 )))
644
645 (((
646 (% style="color:blue" %)**2.  Manually Set Time**
647 )))
648
649 (((
650 Users need to set SYNCMOD=0 to manual time, otherwise, the user set time will be overwritten by the time set by the server.
651 )))
652
653
654
655 == 2.5 ​Show Data in DataCake IoT Server ==
656
657
658 (((
659 (((
660 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:
661 )))
662 )))
663
664 (((
665 (((
666
667 )))
668 )))
669
670 (((
671 (((
672 (% 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]]
673 )))
674 )))
675
676 (((
677 (((
678 (% style="color:blue" %)**Step 2**(%%)**: Configure LDS03A in Datacake.**
679 )))
680 )))
681
682
683 [[image:1654746350207-427.png]]
684
685
686 [[image:1654747162439-840.png]]
687
688
689 [[image:1654746405400-203.png]]
690
691
692
693 [[image:1654746763908-732.png]]
694
695
696
697 [[image:1654746716087-684.png]]
698
699
700 [[image:1654746693868-718.png]]
701
702
703 [[image:1654746674738-826.png]]
704
705
706 [[image:1654746646379-591.png]]
707
708
709 [[image:1654746549277-209.png]]
710
711
712 [[image:1654746593411-887.png]]
713
714
715
716 = 3.  Configure LDS03A via AT Command or LoRaWAN Downlink =
717
718
719 (((
720 Use can configure LDS03A via AT Command or LoRaWAN Downlink.
721 )))
722
723 * (((
724 AT Command Connection: See [[FAQ>>||anchor="H5.A0FAQ"]].
725 )))
726 * (((
727 LoRaWAN Downlink instruction for different platforms: [[IoT LoRaWAN Server>>doc:Main.WebHome]]
728
729
730 )))
731
732 (((
733 There are two kinds of commands to configure LDS03A, they are:
734 )))
735
736 * (((
737 (% style="color:#4f81bd" %)** General Commands**.
738 )))
739
740 (((
741 These commands are to configure:
742 )))
743
744 * (((
745 General system settings like: uplink interval.
746 )))
747 * (((
748 LoRaWAN protocol & radio related command.
749 )))
750
751 (((
752 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]]
753 )))
754
755 (((
756
757 )))
758
759 * (((
760 (% style="color:#4f81bd" %)** Commands special design for LDS03A**
761 )))
762
763 (((
764 These commands only valid for LDS03A, as below:
765 )))
766
767
768
769 == 3.1  Set Transmit Interval Time ==
770
771
772 Feature: Change LoRaWAN End Node Transmit Interval.
773
774 (% style="color:#4472c4" %)**AT Command: AT+TDC**
775
776
777 [[image:image-20220607171554-8.png]]
778
779
780 (((
781 (% style="color:#4472c4" %)**Downlink Command: 0x01**
782 )))
783
784 (((
785 Format: Command Code (0x01) followed by 3 bytes time value.
786 )))
787
788 (((
789 If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01.
790 )))
791
792 * (((
793 Example 1: Downlink Payload: 0100001E  ~/~/ Set Transmit Interval (TDC) = 30 seconds
794 )))
795 * (((
796 Example 2: Downlink Payload: 0100003C  ~/~/ Set Transmit Interval (TDC) = 60 seconds
797
798
799
800
801
802 )))
803
804 == 3.2  Set Password ==
805
806
807 Feature: Set device password, max 9 digits.
808
809 (% style="color:#4472c4" %)**AT Command: AT+PWORD**
810
811 (% border="1" cellspacing="5" style="background-color:#ffffcc; color:green; width:404.989px" %)
812 |=(% style="width: 170px;" %)**Command Example**|=(% style="width: 123px;" %)**Function**|=(% style="width: 109px;" %)**Response**
813 |(% style="width:170px" %)(((
814 AT+PWORD=?
815 )))|(% style="width:123px" %)(((
816 Show password
817 )))|(% style="width:109px" %)(((
818 (((
819 123456
820 )))
821
822 (((
823 OK
824 )))
825 )))
826 |(% style="width:170px" %)(((
827 AT+PWORD=999999
828 )))|(% style="width:123px" %)(((
829 Set password
830 )))|(% style="width:109px" %)(((
831 OK
832 )))
833
834 (% style="color:#4472c4" %)**Downlink Command:**
835
836 No downlink command for this feature.
837
838
839
840 == 3.3  Quit AT Command ==
841
842
843 Feature: Quit AT Command mode, so user needs to input the password again before using AT Commands.
844
845 (% style="color:#4472c4" %)**AT Command: AT+DISAT**
846
847
848 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:451.989px" %)
849 |=(% style="width: 155px;" %)**Command Example**|=(% style="width: 198px;" %)**Function**|=(% style="width: 96px;" %)**Response**
850 |(% style="width:155px" %)AT+DISAT|(% style="width:198px" %)Quit AT Commands mode|(% style="width:96px" %)OK
851
852 (% style="color:#4472c4" %)**Downlink Command:**
853
854 No downlink command for this feature.
855
856
857
858 == 3.4  Enable / Disable Alarm ==
859
860
861 Feature: Enable/Disable Alarm for open/close event. Default value 0.
862
863 (% style="color:#4472c4" %)**AT Command:**
864
865 [[image:image-20220609140712-1.png]]
866
867
868 (% style="color:#4472c4" %)**Downlink Command:**
869
870 0xA7 01  ~/~/ Same As AT+DISALARM=1
871
872 0xA7 00  ~/~/ Same As AT+DISALARM=0
873
874
875
876 == 3.5  Clear count ==
877
878
879 Feature: Clear current door open.
880
881 (% style="color:#4472c4" %)**AT Command:**
882
883 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:510.222px" %)
884 |=(% style="width: 155px;" %)**Command Example**|=(% style="width: 266px;" %)**Function**|=(% style="width: 85px;" %)**Response**
885 |(% style="width:155px" %)AT+CLRC|(% style="width:266px" %)Clear the count of door open events.|(% style="width:85px" %)OK
886
887 (% style="color:#4472c4" %)**Downlink Command:**
888
889 0xA6 01 ~/~/ Same As AT+ CLRC
890
891
892
893 == 3.6  Set system time ==
894
895
896 Feature: Set system time, Unix format. [[See here for format detail.>>||anchor="H2.4.1A0UnixTimeStamp"]]
897
898 (% style="color:#4472c4" %)**AT Command:**
899
900 [[image:image-20220609141735-2.png]]
901
902
903 (% style="color:#4472c4" %)**Downlink Command:**
904
905 0x306007806000  ~/~/ Set timestamp to 0x(6007806000),Same as AT+TIMESTAMP=1611104352
906
907
908
909 == 3.7  Set Time Sync Mode ==
910
911
912 (((
913 Feature: Enable/Disable Sync system time via LoRaWAN MAC Command (DeviceTimeReq), LoRaWAN server must support v1.0.3 protocol to reply to this command.
914 )))
915
916 (((
917 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.
918 )))
919
920
921 (% style="color:#4472c4" %)**AT Command:**
922
923 [[image:image-20220609142205-4.png]]
924
925
926 (% style="color:#4472c4" %)**Downlink Command:**
927
928 0x28 01  ~/~/ Same As AT+SYNCMOD=1
929
930 0x28 01 08  ~/~/ Same As AT+SYNCMOD=1,8
931
932 0x28 01 F4  ~/~/ Same As AT+SYNCMOD=1,-12
933
934 0x28 00  ~/~/ Same As AT+SYNCMOD=0
935
936
937
938 == 3.8  Alarm Base on Timeout ==
939
940
941 (((
942 (((
943 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:
944 )))
945
946 (((
947
948 )))
949
950 * (((
951 (% style="color:blue" %)**Keep Status: Status to be monitor**
952 )))
953
954 (((
955 Keep Status = 1: Monitor Close to Open event
956 )))
957
958 (((
959 Keep Status = 0: Monitor Open to Close event
960 )))
961
962 (((
963
964 )))
965
966 * (((
967 (% style="color:blue" %)**Keep Time: Timeout to send an Alarm**
968 )))
969
970 (((
971 Range 0 ~~ 65535(0xFFFF) seconds.
972 )))
973
974 (((
975 If keep time = 0, Disable Alarm Base on Timeout feature.
976 )))
977
978 (((
979 If keep time > 0, device will monitor the keep status event and send an alarm when status doesn't change after timeout.
980 )))
981
982 (((
983
984 )))
985 )))
986
987 (((
988 (((
989 (% style="color:#4472c4" %)**AT Command to configure:**
990 )))
991
992 * (((
993 (% 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.
994 )))
995
996 * (((
997 (% style="color:red" %)**AT+TTRIG=0,0**  (%%) **~-~-> ** Default Value, disable timeout Alarm.
998 )))
999 )))
1000
1001 (((
1002 (((
1003
1004 )))
1005
1006 (((
1007 (% style="color:#4472c4" %)**Downlink Command to configure:**
1008 )))
1009
1010 (((
1011 **Command: (% style="color:red" %)0xA9 aa bb cc(%%)**
1012 )))
1013 )))
1014
1015 (((
1016 (((
1017 **A9:** Command Type Code
1018 )))
1019 )))
1020
1021 (((
1022 (((
1023 **aa:** status to be monitored
1024 )))
1025 )))
1026
1027 (((
1028 (((
1029 **bb cc:** timeout.
1030 )))
1031 )))
1032
1033 (((
1034
1035 )))
1036
1037 (((
1038 (((
1039 If user send 0xA9 01 00 1E: equal to AT+TTRIG=1,30
1040 )))
1041 )))
1042
1043 (((
1044 (((
1045 Or
1046 )))
1047 )))
1048
1049 (((
1050 (((
1051 0xA9 00 00 00: Equal to AT+TTRIG=0,0. Disable timeout Alarm.
1052 )))
1053 )))
1054
1055
1056
1057 == 3.9  Clear Flash Record ==
1058
1059
1060 (((
1061 Feature: Clear flash storage for data log feature.
1062 )))
1063
1064 (((
1065 (% style="color:#4472c4" %)**AT Command: AT+CLRDTA**
1066 )))
1067
1068 (((
1069 [[image:image-20220609142912-5.png]]
1070 )))
1071
1072 (((
1073
1074 )))
1075
1076 (((
1077 (((
1078 (% style="color:#4472c4" %)**Downlink Command:**
1079 )))
1080
1081 (((
1082 Example: 0xA301  ~/~/  Same as AT+CLRDTA
1083 )))
1084 )))
1085
1086
1087
1088 == 3.10  Count Mod (Since firmware v1.2.0) ==
1089
1090
1091 (% style="color:#4472c4" %)**AT Command:**
1092
1093 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:404.989px" %)
1094 |=(% style="width: 157px;" %)**Command Example**|=(% style="width: 156px;" %)**Function**|=(% style="width: 89px;" %)**Response**
1095 |(% style="width:157px" %)(((
1096 AT+COUNTMOD=0
1097 )))|(% style="width:156px" %)(((
1098 the count value keeps accumulating mode
1099 )))|(% style="width:89px" %)(((
1100 (((
1101
1102 )))
1103
1104 (((
1105 OK
1106 )))
1107 )))
1108 |(% style="width:157px" %)(((
1109 AT+COUNTMOD=1
1110 )))|(% style="width:156px" %)(((
1111 the count value will be reset after each TDC time(Last Close Duration Reset after each uplink)
1112 )))|(% style="width:89px" %)(((
1113 OK
1114 )))
1115
1116 (% style="color:#4472c4" %)**Downlink Command:**
1117
1118 Example:  0B aa  => AT+COUNTMOD = second byte
1119
1120
1121
1122 == 3.11  Interrupt Pin Channel Mod(Since firmware v1.2.0) ==
1123
1124
1125 (% style="color:#4472c4" %)**AT Command:**
1126
1127 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:404.989px" %)
1128 |=(% style="width: 157px;" %)**Command Example**|=(% style="width: 156px;" %)**Function**|=(% style="width: 89px;" %)**Response**
1129 |(% style="width:157px" %)(((
1130 AT+TTRCHANNEL=1
1131 )))|(% style="width:156px" %)(((
1132 set as single channel, only use PB14 pin as interrupt pin.
1133 )))|(% style="width:89px" %)(((
1134 (((
1135
1136 )))
1137
1138 (((
1139 OK
1140 )))
1141 )))
1142 |(% style="width:157px" %)(((
1143 AT+TTRCHANNEL=2
1144 )))|(% style="width:156px" %)(((
1145 is set as dual channel, use PB14 pin and PB15 pin as interrupt pin.
1146 )))|(% style="width:89px" %)(((
1147 OK
1148 )))
1149
1150 (% style="color:#4472c4" %)**Downlink Command:**
1151
1152 Example:  0D aa => AT+TTRCHANNEL = second byte
1153
1154
1155
1156 == 3.12  Change the name of AT+TTRIG to AT+TTRIG1(Since firmware v1.2.0) ==
1157
1158
1159 (% style="color:#4472c4" %)**Downlink Command:**
1160
1161 Example:  A9 01 aa bb cc  => AT+TTRIG1= third byte, 4th byte and 5th byte
1162
1163
1164
1165 == 3.13  Added AT+TTRIG2 for PB15 pin(Since firmware v1.2.0) ==
1166
1167
1168 (% style="color:#4472c4" %)**Downlink Command:**
1169
1170 Example: A9 02 aa bb cc  => AT+TTRIG2= third byte, 4th byte and 5th byte
1171
1172
1173
1174 == 3.14  TTRIG1/2 timeout status alarm(Since firmware v1.2.0) ==
1175
1176
1177 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.
1178
1179 (% style="color:#4472c4" %)**AT Command:**
1180
1181 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:404.989px" %)
1182 |=(% style="width: 157px;" %)**Command Example**|=(% style="width: 156px;" %)**Function**|=(% style="width: 89px;" %)**Response**
1183 |(% style="width:157px" %)(((
1184 AT+TTRALARM=0
1185 )))|(% style="width:156px" %)(((
1186 disable continuous alarm
1187 )))|(% style="width:89px" %)(((
1188 (((
1189
1190 )))
1191
1192 (((
1193 OK
1194 )))
1195 )))
1196 |(% style="width:157px" %)(((
1197 AT+TTRALARM=60
1198 )))|(% style="width:156px" %)(((
1199 The alarm interval is 60 minutes (unit: minutes)
1200 )))|(% style="width:89px" %)(((
1201 OK
1202 )))
1203
1204 (% style="color:#4472c4" %)**Downlink Command:**
1205
1206 Example:  0C aa  => AT+TTRALARM= third byte
1207
1208
1209
1210 == 3.15  Select counting mode(Since firmware V1.2.1) ==
1211
1212
1213 (% style="color:blue" %)**AT+TTRMODx=a,b**
1214
1215 When (% style="color:red" %)**a=0**,(%%) the door is opened to count, and when (% style="color:red" %)**a=1**,(%%)the closed door is counted.
1216
1217 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.
1218
1219
1220 (% style="color:#4472c4" %)**AT Command:**
1221
1222 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:404.989px" %)
1223 |=(% style="width: 157px;" %)**Command Example**|=(% style="width: 156px;" %)**Function**|=(% style="width: 89px;" %)**Response**
1224 |(% style="width:157px" %)(((
1225 AT+TTRMODx=1,0
1226 )))|(% style="width:156px" %)Door closed count and record the last door opened duration|(% style="width:89px" %)(((
1227 (((
1228
1229 )))
1230
1231 (((
1232 OK
1233 )))
1234 )))
1235 |(% style="width:157px" %)(((
1236 AT+TTRMODx=0,1
1237 )))|(% style="width:156px" %)(((
1238 Door opened count and record the last door Door Door open closed duration
1239 )))|(% style="width:89px" %)(((
1240 OK
1241 )))
1242
1243
1244
1245 = 4.  Battery & How to replace =
1246
1247
1248 == 4.1  Battery Type ==
1249
1250
1251 (((
1252 (((
1253 LDS03A is equipped with a [[8500mAH ER18505 Li-SOCI2 battery>>url:https://www.dragino.com/downloads/index.php?dir=datasheet/Battery/ER26500/]]. The battery is an un-rechargeable battery with a low discharge rate targeting 8~~10 years of use. This type of battery is commonly used in IoT targets for long-term running, such as water meters.
1254 )))
1255
1256 (((
1257 The discharge curve is not linear so can't simply use percentage to show the battery level. Below is the battery performance.
1258
1259
1260 )))
1261 )))
1262
1263 [[image:1654593587246-335.png]]
1264
1265
1266 Minimum Working Voltage for the LDS03A:
1267
1268 LDS03A:  2.45v ~~ 3.6v
1269
1270
1271
1272 == 4.2  Replace Battery ==
1273
1274
1275 (((
1276 Any battery with range 2.45 ~~ 3.6v can be a replacement. We recommend to use Li-SOCl2 Battery.
1277 )))
1278
1279 (((
1280 And make sure the positive and negative pins match.
1281 )))
1282
1283
1284
1285 == 4.3  Power Consumption Analyze ==
1286
1287
1288 (((
1289 Dragino Battery powered product are all runs in Low Power mode. We have an update battery calculator which base on the measurement of the real device. User can use this calculator to check the battery life and calculate the battery life if want to use different transmit interval.
1290 )))
1291
1292 (((
1293 Instruction to use as below:
1294 )))
1295
1296
1297 (% style="color:blue" %)**Step 1**(%%): Downlink the up-to-date DRAGINO_Battery_Life_Prediction_Table.xlsx from:
1298
1299 [[https:~~/~~/www.dragino.com/downloads/index.pHp?dir=LoRa_End_Node/Battery_Analyze/>>url:https://www.dragino.com/downloads/index.php?dir=LoRa_End_Node/Battery_Analyze/]]
1300
1301
1302 (% style="color:blue" %)**Step 2**(%%): Open it and choose
1303
1304 * Product Model
1305 * Uplink Interval
1306 * Working Mode
1307
1308 And the Life expectation in difference case will be shown on the right.
1309
1310 [[image:1654593605679-189.png]]
1311
1312
1313 The battery related documents as below:
1314
1315 * (((
1316 [[Battery Dimension>>https://www.dragino.com/downloads/index.php?dir=datasheet/Battery/]],
1317 )))
1318 * (((
1319 [[Lithium-Thionyl Chloride Battery  datasheet>>url:https://www.dragino.com/downloads/downloads/datasheet/Battery/ER26500/ER26500_Datasheet-EN.pdf]],
1320 )))
1321 * (((
1322 [[Lithium-ion Battery-Capacitor datasheet>>https://www.dragino.com/downloads/index.php?dir=datasheet/Battery/]], [[Tech Spec>>https://www.dragino.com/downloads/index.php?dir=datasheet/Battery/]]
1323 )))
1324
1325 [[image:image-20220609143952-1.png]]
1326
1327
1328
1329 === 4.3.1  ​Battery Note ===
1330
1331
1332 (((
1333 (((
1334 The Li-SICO battery is designed for small current / long period application. It is not good to use a high current, short period transmit method. The recommended minimum period for use of this battery is 5 minutes. If you use a shorter period time to transmit LoRa, then the battery life may be decreased.
1335 )))
1336 )))
1337
1338
1339
1340 === ​4.3.2  Replace the battery ===
1341
1342
1343 (((
1344 (((
1345 You can change the battery in the LDS03A.The type of battery is not limited as long as the output is between 3v to 3.6v. 
1346 )))
1347
1348 (((
1349 The default battery pack of LDS03A includes an ER18505 plus super capacitor. If user can't find this pack locally, they can find ER18505 or equivalence, which will also work in most cases. The SPC can enlarge the battery life for high-frequency use (update period below 5 minutes)
1350 )))
1351 )))
1352
1353
1354
1355 = 5.  FAQ =
1356
1357
1358 == 5.1  How to use AT Command to configure LDS03A ==
1359
1360
1361 LDS03A UART connection photo
1362
1363
1364 [[image:1654757007713-791.png]]
1365
1366
1367 (((
1368 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:
1369 )))
1370
1371
1372 [[image:image-20220609144231-3.png||height="644" width="922"]]
1373
1374
1375
1376 == 5.2  How to upgrade the firmware? ==
1377
1378
1379 (((
1380 A new firmware might be available for:
1381 )))
1382
1383 * (((
1384 Support new features
1385 )))
1386 * (((
1387 For bug fix
1388 )))
1389 * (((
1390 Change LoRaWAN bands.
1391 )))
1392
1393 (((
1394 Instruction for how to upgrade: [[Firmware Upgrade Instruction>>doc:Main.Firmware Upgrade Instruction for STM32 base products.WebHome||anchor="H2.HardwareUpgradeMethodSupportList"]]
1395 )))
1396
1397 (((
1398 Firmware location:  [[https:~~/~~/www.dropbox.com/sh/x9rpz9ftyljg135/AAAhC5hqtQOAw9_AoEEZbl9Ca?dl=0>>https://www.dropbox.com/sh/x9rpz9ftyljg135/AAAhC5hqtQOAw9_AoEEZbl9Ca?dl=0]]
1399 )))
1400
1401
1402
1403 == 5.3  How to change the LoRa Frequency Bands/Region? ==
1404
1405
1406 Users can follow the introduction for how to upgrade image. When downloading the images, choose the required image file for download.
1407
1408
1409
1410 = 6.  Trouble Shooting =
1411
1412
1413 == 6.1  AT Commands input doesn't work ==
1414
1415
1416 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.
1417
1418
1419
1420 = 7.  Order Info =
1421
1422
1423 Part Number: (% style="color:blue" %)**LDS03A-XX**
1424
1425
1426 (% style="color:blue" %)**XX**(%%): The default frequency band
1427
1428 * (% style="color:red" %)**AS923**(%%):  LoRaWAN AS923 band
1429 * (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band
1430 * (% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band
1431 * (% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band
1432 * (% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band
1433 * (% style="color:red" %)**US915**(%%): LoRaWAN US915 band
1434 * (% style="color:red" %)**IN865**(%%):  LoRaWAN IN865 band
1435 * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
1436
1437
1438
1439 = 8.  ​Packing Info =
1440
1441
1442 **Package Includes**:
1443
1444 * LDS03A Open/Close Sensor x 1
1445
1446
1447
1448 = 9.  ​Support =
1449
1450
1451 * 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.
1452 * 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]].
1453
1454
1455
1456 = 10.  FCC Warning =
1457
1458
1459 This device complies with part 15 of the FCC Rules. Operation is subject to the following two conditions:
1460
1461 (1) This device may not cause harmful interference;
1462
1463 (2) this device must accept any interference received, including interference that may cause undesired operation.
1464
1465
1466
Copyright ©2010-2022 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0