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