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