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