Last modified by Xiaoling on 2025/06/10 14:30

Show last authors
1 (% style="display:none" %) (%%)
2
3 [[image:image-20240108161155-2.png||data-xwiki-image-style-alignment="center"]]
4
5
6
7
8
9
10
11
12
13 **Table of Contents:**
14
15 {{toc/}}
16
17
18
19
20
21
22 = 1. Introduction =
23
24 == 1.1 What is LoRaWAN Door Sensor ==
25
26
27 (((
28 The Dragino DS03A-LB/LS is a (% style="color:blue" %)**LoRaWAN Door Sensor**(%%) for Internet of Things solution. 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.
29 )))
30
31 (((
32 The LoRa wireless technology used in DS03A-LB/LS allows device to send data and reach extremely long ranges at low data-rates. It provides ultra-long range spread spectrum communication and high interference immunity whilst minimizing current consumption.
33 )))
34
35 (((
36 The DS03A-LB/LS 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, DS03A-LB/LS can count each open event and uplink periodically.
37 )))
38
39 (((
40 DS03A-LB/LS supports (% style="color:blue" %)**Datalog Feature,**(%%) it can save the data when there is no LoRaWAN network and uplink when network recover.
41 )))
42
43 (((
44 DS03A-LB/LS 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.
45
46 DS03A-LB/LS is designed for outdoor use. It has a weatherproof enclosure and industrial level battery to work in low to high temperatures
47 )))
48
49 (((
50 DS03A-LB/LS (% style="color:blue" %)**supports BLE configure**(%%) and (% style="color:blue" %)**wireless OTA update**(%%) which make user easy to use.
51 )))
52
53 (((
54 DS03A-LB/LS is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery **(%%)or (% style="color:blue" %)**solar powered + Li-ion battery**(%%), it is designed for long term use up to 5 years.
55 )))
56
57 (((
58 Each DS03A-LB/LS is pre-load with a set of unique keys for LoRaWAN registrations, register these keys to local LoRaWAN server and it will auto connect after power on.
59 )))
60
61
62 == 1.2 ​Features ==
63
64
65 * LoRaWAN 1.0.3 Class A
66 * Ultra-low power consumption
67 * Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/IN865
68 * Door Open/Close detect
69 * Door open/close statistics
70 * Datalog Feature, Open Alarm Feature
71 * Probe length: 40cm
72 * Support Bluetooth v5.1 and LoRaWAN remote configure
73 * Support wireless OTA update firmware
74 * Uplink on periodically
75 * Downlink to change configure
76 * Wall Mountable
77 * Outdoor Use
78 * 8500mAh Li/SOCl2 Battery (DS03A-LB)
79 * Solar panel + 3000mAh Li-ion battery (DS03A-LS)
80
81 == 1.3 Specification ==
82
83
84 (% style="color:#037691" %)**Common DC Characteristics:**
85
86 * Supply Voltage: Built-in Battery , 2.5v ~~ 3.6v
87 * Operating Temperature: -40 ~~ 85°C
88
89 (% style="color:#037691" %)**LoRa Spec:**
90
91 * Frequency Range,  Band 1 (HF): 862 ~~ 1020 Mhz
92 * Max +22 dBm constant RF output vs.
93 * RX sensitivity: down to -139 dBm.
94 * Excellent blocking immunity
95
96 (% style="color:#037691" %)**Battery:**
97
98 * Li/SOCI2 un-chargeable battery
99 * Capacity: 8500mAh
100 * Self-Discharge: <1% / Year @ 25°C
101 * Max continuously current: 130mA
102 * Max boost current: 2A, 1 second
103
104 (% style="color:#037691" %)**Power Consumption**
105
106 * Sleep Mode: 5uA @ 3.3v
107 * LoRa Transmit Mode: 125mA @ 20dBm, 82mA @ 14dBm
108
109 == 1.4 Applications ==
110
111
112 [[image:Main.User Manual for LoRaWAN End Nodes.LDS03A - Outdoor LoRaWAN OpenClose Door Sensor Manual.WebHome@1654741400370-813.png]]
113
114
115 == 1.5 Sleep mode and working mode ==
116
117
118 (% style="color:blue" %)**Deep Sleep Mode: **(%%)Sensor doesn't have any LoRaWAN activate. This mode is used for storage and shipping to save battery life.
119
120 (% style="color:blue" %)**Working Mode:** (%%)In this mode, Sensor will work as LoRaWAN Sensor to Join LoRaWAN network and send out sensor data to server. Between each sampling/tx/rx periodically, sensor will be in IDLE mode), in IDLE mode, sensor has the same power consumption as Deep Sleep mode.
121
122
123 == 1.6 Button & LEDs ==
124
125
126 [[image:image-20250417152253-1.jpeg]]
127
128 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
129 |=(% style="width: 167px;background-color:#4F81BD;color:white" %)**Behavior on ACT**|=(% style="width: 117px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 226px;background-color:#4F81BD;color:white" %)**Action**
130 |[[image:1749536870332-565.png]] 1~~3s|(% style="width:117px" %)Send an uplink|(% style="width:225px" %)(((
131 If sensor is already Joined to LoRaWAN network, sensor will send an uplink packet, (% style="color:blue" %)**blue led** (%%)will blink once.
132 Meanwhile, BLE module will be active and user can connect via BLE to configure device.
133 )))
134 |[[image:1749536872361-767.png]] >3s|(% style="width:117px" %)Active Device|(% style="width:225px" %)(((
135 (% style="color:green" %)**Green led**(%%) will fast blink 5 times, device will enter (% style="color:#037691" %)**OTA mode**(%%) for 3 seconds. And then start to JOIN LoRaWAN network.
136 (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network.
137 Once sensor is active, BLE module will be active and user can connect via BLE to configure device, no matter if device join or not join LoRaWAN network.
138 )))
139 |[[image:1749536881052-376.png]] x5|(% style="width:117px" %)Deactivate Device|(% style="width:225px" %)(% style="color:red" %)**Red led**(%%) will solid on for 5 seconds. Means Device is in Deep Sleep Mode.
140
141 == 1.7 BLE connection ==
142
143
144 DS03A-LB/LS support BLE remote configure.
145
146
147 BLE can be used to configure the parameter of sensor or see the console output from sensor. BLE will be only activate on below case:
148
149 * Press button to send an uplink
150 * Press button to active device.
151 * Device Power on or reset.
152
153 If there is no activity connection on BLE in 60 seconds, sensor will shut down BLE module to enter low power mode.
154
155
156 == 1.8 Pin Definitions ==
157
158 [[image:image-20230630160843-7.png]]
159
160
161 == 1.9 Mechanical ==
162
163 === 1.9.1 for LB version ===
164
165 [[image:image-20250331163305-1.jpeg]]
166
167
168 (% style="color:blue" %)**Probe Mechanical:**
169
170 [[image:Main.User Manual for LoRaWAN End Nodes.LDS03A - Outdoor LoRaWAN OpenClose Door Sensor Manual.WebHome@1654741444887-479.png||height="399" width="513"]]
171
172
173 === 1.9.2 for LS version ===
174
175
176 [[image:image-20250331163324-2.jpeg]]
177
178
179 == 1.10 Magnet Distance ==
180
181
182 * Wood Door: 10mm ~~ 30mm
183 * Iron Door: 30 ~~ 45mm
184
185 = 2. Configure DS03A-LB/LS to connect to LoRaWAN network =
186
187 == 2.1 How it works ==
188
189
190 The DS03A-LB/LS is configured as (% style="color:#037691" %)**LoRaWAN OTAA Class A**(%%) mode by default. It has OTAA keys to join LoRaWAN network. To connect a local LoRaWAN network, you need to input the OTAA keys in the LoRaWAN IoT server and press the button to activate the DS03A-LB/LS. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 2 hours.
191
192
193 == 2.2 ​Quick guide to connect to LoRaWAN server (OTAA) ==
194
195
196 Following is an example for how to join the [[TTN v3 LoRaWAN Network>>url:https://console.cloud.thethings.network/]]. Below is the network structure; we use the [[LPS8v2>>url:https://www.dragino.com/products/lora-lorawan-gateway/item/228-lps8v2.html]] as a LoRaWAN gateway in this example. (% style="display:none" %)
197
198 The LPS8v2 is already set to connected to [[TTN network >>url:https://console.cloud.thethings.network/]], so what we need to now is configure the TTN server.
199
200 [[image:image-20250417152741-2.png]]
201
202
203 (% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from DS03A-LB/LS.
204
205 Each DS03A-LB/LS is shipped with a sticker with the default device EUI as below:
206
207 [[image:image-20230426085205-1.png||height="238" width="512"]]
208
209
210 You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
211
212 **Create the application.**
213
214 [[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"]]
215
216 [[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"]]
217
218
219 **Add devices to the created Application.**
220
221 [[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"]]
222
223 [[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"]]
224
225
226 **Enter end device specifics manually.**
227
228 [[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"]]
229
230
231 **Add DevEUI and AppKey. Customize a platform ID for the device.**
232
233 [[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"]]
234
235
236 (% style="color:blue" %)**Step 2:**(%%) Add decoder.
237
238 In TTN, user can add a custom payload so it shows friendly reading.
239
240 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/]]
241
242 Below is TTN screen shot:
243
244 [[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"]]
245
246 [[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" height="562" width="1168"]]
247
248
249 (% style="color:blue" %)**Step 3:**(%%) Activate on DS03A-LB/LS
250
251 Press the button for 5 seconds to activate the DS03A-LB/LS.
252
253 (% style="color:green" %)**Green led**(%%) will fast blink 5 times, device will enter (% style="color:blue" %)**OTA mode**(%%) for 3 seconds. And then start to Join LoRaWAN network. (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network.
254
255 After join success, it will start to upload messages to TTN and you can see the messages in the panel.
256
257
258 == 2.3 ​Uplink Payload ==
259
260 === 2.3.1 Device Status, FPORT~=5 ===
261
262
263 Include device configure status. Once DS03A-LB/LS Joined the network, it will uplink this message to the server. After that, DS03A-LB/LS will uplink Device Status every 12 hours.
264
265 Users can also use the downlink command**(0x26 01)** to ask DS03A-LB/LS to resend this uplink. This uplink payload also includes the DeviceTimeReq to get time.
266
267
268 The Payload format is as below.
269
270 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
271 |(% colspan="6" style="background-color:#4f81bd; color:white" %)**Device Status (FPORT=5)**
272 |(% style="width:103px" %)**Size (bytes)**|(% style="width:72px" %)**1**|**2**|(% style="width:91px" %)**1**|(% style="width:86px" %)**1**|(% style="width:44px" %)**2**
273 |(% 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
274
275 Example parse in TTNv3
276
277 [[image:image-20230630155406-1.png||height="190" width="873"]]
278
279
280 (% style="color:#037691" %)**Sensor Model**(%%): For DS03A-LB/LS, this value is 0x1B
281
282 (% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
283
284 (% style="color:#037691" %)**Frequency Band**:
285
286 0x01: EU868
287
288 0x02: US915
289
290 0x03: IN865
291
292 0x04: AU915
293
294 0x05: KZ865
295
296 0x06: RU864
297
298 0x07: AS923
299
300 0x08: AS923-1
301
302 0x09: AS923-2
303
304 0x0a: AS923-3
305
306 0x0b: CN470
307
308 0x0c: EU433
309
310 0x0d: KR920
311
312 0x0e: MA869
313
314
315 (% style="color:#037691" %)**Sub-Band**:
316
317 AU915 and US915:value 0x00 ~~ 0x08
318
319 CN470: value 0x0B ~~ 0x0C
320
321 Other Bands: Always 0x00
322
323
324 (% style="color:#037691" %)**Battery Info**:
325
326 Check the battery voltage.
327
328 Ex1: 0x0B45 = 2885mV
329
330 Ex2: 0x0B49 = 2889mV
331
332
333 === 2.3.2  Sensor Configuration, FPORT~=4 ===
334
335
336 DS03A-LB/LS will only send this command after getting the downlink command **(0x26 02)** from the server.
337
338 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515px" %)
339 |(% colspan="8" style="background-color:#4f81bd; color:white; width:515px" %)**Sensor Configuration FPORT=4**
340 |**Size(bytes)**|(% style="width:75px" %)**3**|(% style="width:50px" %)**1**|(% style="width:100px" %)**1**|(% style="width:90px" %)**2**|(% style="width:100px" %)**1**|(% style="width:100px" %)**2**|(% style="width:98px" %)**1**
341 |Value|(% style="width:75px" %)TDC (unit:sec)|(% style="width:77px" %)Disalarm|(% style="width:96px" %)(((
342 Keep status1
343 )))|(% style="width:99px" %)(((
344 Keep time1(unit: sec)
345 )))|(% style="width:87px" %)Keep status2|(% style="width:97px" %)(((
346 Keep time2(unit: sec)
347 )))|(% style="width:98px" %)(((
348 Alarm interval(unit: min)
349 )))
350
351 Example parse in TTNv3
352
353 [[image:image-20230630155527-3.png||height="146" width="902"]]
354
355
356 * (((
357 (% style="color:blue" %)**TDC: (default: 0x001C20)**
358 )))
359
360 Uplink interval for the Open/Close Event, default value is 0x001C20 which is 7200 seconds = 2 hours.
361
362
363 * (((
364 (% style="color:blue" %)**Disalarm: (default: 0)**
365 )))
366
367 **If Disalarm = 1**, DS03A-LB/LS 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.
368
369 **If Disalarm = 0**, DS03A-LB/LS 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.
370
371
372 (% style="color:red" %)** Note: When Disalarm=0, a high frequently open/close event will cause lots of uplink and drain battery very fast. **
373
374
375 * (((
376 (% style="color:blue" %)**Keep Status1 & Keep Time1 & Keep Status2 & Keep Time2**
377 )))
378
379 Shows the configure value of [[Alarm Base on Timeout Feature>>||anchor="H3.3.3A0AlarmBaseonTimeout"]]
380
381
382
383 * (((
384 (% style="color:blue" %)**Alarm interval(default: 0)**
385 )))
386
387 When the state of the door sensor has not been changed after the timeout alarm, the device will send a uplink every alarm interval. It will stop the alarm until the state of the door sensor is changed after the timeout alarm.
388
389
390 === 2.3.3  Real-Time Open/Close Status, Uplink FPORT~=2 ===
391
392
393 DS03A-LB/LS will send this uplink **after** Device Status once join the LoRaWAN network successfully. And DS03A-LB/LS will send uplinks when:
394
395 * Every 2 hours, this interval [[can be changed>>||anchor="H3.3.1A0SetTransmitIntervalTime"]].
396 * There is an Open/Close event.  (This info can be disabled by AT+DISALARM=1)
397
398 **1) When (% style="color:blue" %)AT+TTRCHANNEL=1(%%), Uplink Payload totals (% style="color:blue" %)11 bytes. (Default mode)(%%)**
399
400 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515px" %)
401 |=(% colspan="5" style="background-color:#4F81BD;color:white;width:515px" %)**Real-Time Open/Close Status, FPORT=2**
402 |(% style="width:94px" %)**Size(bytes)**|(% style="width:97px" %)**1**|(% style="width:95px" %)**3**|(% style="width:119px" %)**3**|(% style="width:107px" %)**4**
403 |(% style="width:95px" %)Value|(% style="width:97px" %)(((
404 Status & [[Alarm>>||anchor="H3.3.4A0TTRIG126TTRIG2timeoutstatusalarm"]]
405 )))|(% style="width:95px" %)Total open door events|(% style="width:119px" %)(((
406 The last door open duration (unit: sec)
407 )))|(% style="width:108px" %)[[Unix TimeStamp>>||anchor="H2.5.2UnixTimeStamp"]]
408
409 **Status & Alarm:**
410
411 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515px" %)
412 |(% style="background-color:#4f81bd; color:white; width:50px" %)**Size(bit)**|(% style="background-color:#4f81bd; color:white; width:60px" %)**[bit7:bit4]**|(% style="background-color:#4f81bd; color:white; width:80px" %)**bit3**|(% style="background-color:#4f81bd; color:white; width:100px" %)**bit2**|(% style="background-color:#4f81bd; color:white; width:120px" %)**bit1**|(% style="background-color:#4f81bd; color:white; width:105px" %)**bit0**
413 |(% style="width:76px" %)Value|(% style="width:96px" %)Reserve|(% style="width:110px" %)(((
414 Count mod
415 )))|(% style="width:106px" %)TDC flag 0:No;1:Yes|(% style="width:148px" %)(((
416 Alarm 0: No Alarm; 1: Alarm
417 )))|(% style="width:131px" %)(((
418 Status 0: Close; 1: Open
419 )))
420
421 [[image:image-20230630155451-2.png||height="246" width="928"]]
422
423
424 * (((
425 (% style="color:blue" %)**Count mod:Default=0**
426 )))
427
428 0: Uplink total open door times since factory
429
430 1: Uplink total open door times since last FPORT=2 uplink.
431
432
433 * (% style="color:blue" %)**TDC flag**
434
435 When the flag is 1, it means sending packets at normal time intervals.
436
437 Otherwise, it is a packet sent at non-TDC time.
438
439
440 * (((
441 (% style="color:#0000ff" %)**Alarm**
442 )))
443
444 See [[Alarm Base on Timeout>>||anchor="H3.3.3A0AlarmBaseonTimeout"]]
445
446
447 * (((
448 (% style="color:blue" %)**Status**
449 )))
450
451 This bit is 1 when the door sensor is open and 0 when it is close.
452
453
454 * (((
455 (% style="color:blue" %)**Total open door events**
456 )))
457
458 Total pulse/counting base on open door.
459
460 Range (3 Bytes) : 0x000000 ~~ 0xFFFFFF . Max: 16777215
461
462
463 * (((
464 (% style="color:blue" %)**The last door open duration**
465 )))
466
467 Door sensor last open duration.
468
469 Unit: sec.
470
471 [[image:image-20230701094042-1.png||height="154" width="763"]]
472
473
474 **2) When (% style="color:blue" %)AT+TTRCHANNEL=2(%%), Uplink Payload totals (% style="color:blue" %)18 bytes(%%)**(% style="color:blue" %).
475
476 (When the maximum DR of some frequencies is 11 bytes, it will cause the server to receive empty packets)
477
478 (% style="color:red" %)**Note:When using the AT+TTRCHANNEL=2 command, the Datalog function cannot be used.**
479
480 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515px" %)
481 |=(% colspan="8" style="background-color:#4F81BD;color:white; width: 515px;" %)**Real-Time Open/Close Status, FPORT=2**
482 |(% style="width:50px" %)**Size(bytes)**|(% style="width:97px" %)**1**|(% style="width:95px" %)**3**|(% style="width:125px" %)**3**|(% style="width:100px" %)**4**|(% style="width:86px" %)**1**|(% style="width:96px" %)**3**|(% style="width:126px" %)**3**
483 |(% style="width:95px" %)Value|(% style="width:97px" %)(((
484 Status1 & Alarm1
485 )))|(% style="width:95px" %)Total open door events1|(% style="width:125px" %)(((
486 The last door open duration1 (unit: sec)
487 )))|(% style="width:100px" %)[[Unix TimeStamp>>||anchor="H2.5.2UnixTimeStamp"]]|(% style="width:86px" %)(((
488 Status2 & Alarm2
489 )))|(% style="width:96px" %)Total open door events2|(% style="width:126px" %)The last door open duration2 (unit: sec)
490
491 **Status1 & Alarm1:**
492
493 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:514px" %)
494 |(% style="background-color:#4f81bd; color:white; width:50px" %)**Size(bit)**|(% style="background-color:#4f81bd; color:white; width:60px" %)**[bit7:bit4]**|(% style="background-color:#4f81bd; color:white; width:70px" %)**bit3**|(% style="background-color:#4f81bd; color:white; width:100px" %)**bit2**|(% style="background-color:#4f81bd; color:white; width:117px" %)**bit1**|(% style="background-color:#4f81bd; color:white; width:117px" %)**bit0**
495 |(% style="width:76px" %)Value|(% style="width:96px" %)Reserve|(% style="width:99px" %)(((
496 Count mod
497 )))|(% style="width:103px" %)TDC flag 0:No;1:Yes|(% style="width:216px" %)(((
498 Alarm1 0: No Alarm; 1: Alarm (PA8 of pin)
499 )))|(% style="width:181px" %)(((
500 Status1 0: Close; 1: Open (PA8 of pin)
501 )))
502
503 **Status2 & Alarm2:**
504
505 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
506 |(% style="background-color:#4f81bd; color:white; width:50px" %)**Size(bit)**|(% style="background-color:#4f81bd; color:white; width:60px" %)**[bit7:bit2]**|(% style="background-color:#4f81bd; color:white; width:200px" %)**bit1**|(% style="background-color:#4f81bd; color:white; width:200px" %)**bit0**
507 |(% style="width:76px" %)Value|(% style="width:113px" %)Reserve|(% style="width:219px" %)(((
508 Alarm2 0: No Alarm; 1: Alarm (PA4 of pin)
509 )))|(% style="width:181px" %)(((
510 Status2 0: Close; 1: Open (PA4 of pin)
511 )))
512
513 [[image:image-20230630155908-6.png||height="295" width="927"]]
514
515
516 * (((
517 (% style="color:blue" %)**Count mod:Default=0**
518 )))
519
520 0: Uplink total open door times since factory
521
522 1: Uplink total open door times since last FPORT=2 uplink.
523
524
525 * (% style="color:blue" %)**TDC flag**
526
527 When the flag is 1, it means sending packets at normal time intervals.
528
529 Otherwise, it is a packet sent at non-TDC time.
530
531
532 * (((
533 (% style="color:#0000ff" %)**Alarm1 or Alarm2**
534 )))
535
536 See [[Alarm Base on Timeout>>||anchor="H3.3.3A0AlarmBaseonTimeout"]]
537
538
539 * (((
540 (% style="color:blue" %)**Status1 **(% style="color:#0000ff" %)**or **(% style="color:blue" %)**Status2**
541 )))
542
543 This bit is 1 when the door sensor is open and 0 when it is close.
544
545
546 * (((
547 (% style="color:blue" %)**Total open door events1 **(% style="color:#0000ff" %)**or**(% style="color:blue" %)** Total open door events2**
548 )))
549
550 Total pulse/counting base on open door.
551
552 Range (3 Bytes) : 0x000000 ~~ 0xFFFFFF . Max: 16777215
553
554
555 * (((
556 (% style="color:blue" %)**The last door open duration1 **(% style="color:#0000ff" %)**or**(% style="color:blue" %)** The last door open duration2**
557 )))
558
559 Door sensor last open duration.
560
561 Unit: sec.
562
563 [[image:image-20230701094042-1.png||height="154" width="763"]]
564
565
566 === 2.3.4  Historical Door Open/Close Event, FPORT~=3 ===
567
568
569 DS03A-LB/LS stores sensor values and users can retrieve these history values via the [[downlink command>>||anchor="H2.5DatalogFeature"]].
570
571 The historical payload includes one or multiplies entries and every entry has the same payload as Real-Time open/close status.
572
573 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
574 |=(% colspan="5" style="background-color:#4F81BD;color:white;width:515px" %)**Real-Time Open/Close Status, FPORT=3**
575 |(% style="width:60px" %)**Size(bytes)**|(% style="width:80px" %)**1**|(% style="width:120px" %)**3**|(% style="width:150px" %)**3**|(% style="width:90px" %)**4**
576 |(% style="width:95px" %)Value|(% style="width:97px" %)(((
577 Status & [[Alarm>>||anchor="H3.3.3A0AlarmBaseonTimeout"]]
578 )))|(% style="width:95px" %)Total open door events|(% style="width:119px" %)(((
579 The last door open duration (unit: sec)
580 )))|(% style="width:108px" %)[[Unix TimeStamp>>||anchor="H2.5.2UnixTimeStamp"]]
581
582 **Status & Alarm:**
583
584 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515px" %)
585 |(% style="background-color:#4f81bd; color:white; width:50px" %)**Size(bit)**|(% style="background-color:#4f81bd; color:white; width:75px" %)**bit7**|(% style="background-color:#4f81bd; color:white; width:65px" %)**bit6**|(% style="background-color:#4f81bd; color:white; width:50px" %)**[bit5:bit4]**|(% style="background-color:#4f81bd; color:white; width:50px" %)**bit3**|(% style="background-color:#4f81bd; color:white; width:70px" %)**bit2**|(% style="background-color:#4f81bd; color:white; width:80px" %)**bit1**|(% style="background-color:#4f81bd; color:white; width:75px" %)**bit0**
586 |(% style="width:76px" %)Value|(% style="width:88px" %)No ACK message|(% style="width:92px" %)Poll Message Flag|(% style="width:89px" %)Reserve|(% style="width:90px" %)(((
587 Count mod
588 )))|(% style="width:95px" %)(((
589 TDC flag 0:No; 1:Yes
590 )))|(% style="width:116px" %)(((
591 Alarm 0: No Alarm; 1: Alarm
592 )))|(% style="width:112px" %)(((
593 Status 0:Close; 1: Open
594 )))
595
596 * (((
597 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, DS03A-LB/LS will send max bytes according to the current DR and Frequency bands.
598 )))
599
600 For example, in the US915 band, the max payload for different DR is:
601
602 (((
603 **~1. DR0**: max is 11 bytes so one entry of data
604 )))
605
606 (((
607 **2. DR1**: max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
608 )))
609
610 (((
611 **3. DR2**: total payload includes 11 entries of data
612 )))
613
614 (((
615 **4. DR3**: total payload includes 22 entries of data.
616 )))
617
618 If DS03A-LB doesn't have any data in the polling time. It will uplink 11 bytes of 0
619
620 [[image:image-20230630155556-4.png||height="146" width="938"]]
621
622 **Downlink:**
623
624 0x31 64 9E 7D 34 64 9E 7E 9C 05
625
626
627 **Uplink:**
628
629 45 00 00 00 00 00 00 64 9E 7D 48 40 00 00 00 00 00 63 64 9E 7D 9C 41 00 00 01 00 00 63 64 9E 7D A4 40 00 00 01 00 00 8D 64 9E 7E 31 43 00 00 02 00 00 8D 64 9E 7E 44 48 00 00 02 00 00 1F 64 9E 7E 59 4B 00 00 03 00 00 1F 64 9E 7E 6B
630
631
632 **Parsed Value:**
633
634 [COUNTMOD, TDC_FLAG, ALARM,  DOOR_STATUS, OPEN_DOOR_TIMES, LAST_DOOR_OPEN_DURATION, TIME]
635
636
637 [SUM,YES,FALSE,OPEN,0,0,2023-06-30 06:59:20],
638
639 [SUM,NO,FALSE,CLOSE,0,99,2023-06-30 07:00:44],
640
641 [SUM,NO,FALSE,OPEN, 1,99,2023-06-30 07:00:52],
642
643 [SUM,NO,FALSE,CLOSE,1,141,2023-06-30 07:03:13],
644
645 [SUM,NO,TRUE,OPEN, 2,141,2023-06-30 07:03:32],
646
647 [PART,NO,FALSE,CLOSE,2,31,2023-06-30 07:03:53],
648
649 [PART,NO,TRUE,OPEN, 3,31,2023-06-30 07:04:11],
650
651 [[image:image-20230630172740-1.png||height="199" width="868"]]
652
653
654 == 2.4 Payload Decoder file ==
655
656
657 (((
658 In TTN, use can add a custom payload so it shows friendly. 
659 )))
660
661 (((
662 In the page **Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder** to add the decoder from:  [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>https://github.com/dragino/dragino-end-node-decoder]]
663 )))
664
665
666 == 2.5 Datalog Feature ==
667
668
669 (% style="color:blue" %)**Datalog Feature** (%%)is to ensure IoT Server can get all sampling data from Sensor even if the LoRaWAN network is down. For each sampling, DS03A-LB/LS will store the reading for future retrieving purposes.
670
671 (% style="color:red" %)**Note:After the device is reset,in cumulative counting mode,the last stored count value will be read as the initial value.**
672
673
674 === 2.5.1 Ways to get datalog via LoRaWAN ===
675
676
677 Set PNACKMD=1, DS03A-LB/LS will wait for ACK for every uplink, when there is no LoRaWAN network, DS03A-LB/LS will mark these records with non-ack messages and store the sensor data, and it will send all messages (10s interval) after the network recovery.
678
679 * a) DS03A-LB/LS will do an ACK check for data records sending to make sure every data arrive server.
680 * b) DS03A-LB/LS will send data in **CONFIRMED Mode** when PNACKMD=1, but DS03A-LB/LS won't re-transmit the packet if it doesn't get ACK, it will just mark it as a NONE-ACK message. In a future uplink if DS03A-LB/LS gets a ACK, DS03A-LB/LS will consider there is a network connection and resend all NONE-ACK Message.
681
682 === 2.5.2 Unix TimeStamp ===
683
684
685 DS03A-LB/LS uses Unix TimeStamp format based on
686
687 [[image:image-20250331163638-7.jpeg]]
688
689 User can get this time from link:  [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] :
690
691 Below is the converter example
692
693 [[image:image-20250331163648-8.jpeg]]
694
695 So, we can use AT+TIMESTAMP=1611889405 or downlink 3060137afd00 to set the current time 2021 – Jan ~-~- 29 Friday 03:03:25
696
697
698 === 2.5.3 Set Device Time ===
699
700
701 User need to set (% style="color:blue" %)**SYNCMOD=1**(%%) to enable sync time via MAC command.
702
703 Once DS03A-LB/LS Joined LoRaWAN network, it will send the MAC command (DeviceTimeReq) and the server will reply with (DeviceTimeAns) to send the current time to DS03A-LB/LS. If DS03A-LB/LS fails to get the time from the server, DS03A-LB/LS will use the internal time and wait for next time request (AT+SYNCTDC to set the time request period, default is 10 days).
704
705 (% style="color:red" %)**Note: LoRaWAN Server need to support LoRaWAN v1.0.3(MAC v1.0.3) or higher to support this MAC command feature, Chirpstack,TTN v3 and loriot support but TTN v2 doesn't support. If server doesn't support this command, it will through away uplink packet with this command, so user will lose the packet with time request for TTN v2 if SYNCMOD=1.**
706
707
708 == 2.6 ​Show Data in DataCake IoT Server ==
709
710
711 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:
712
713
714 (% 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]]
715
716 (% style="color:blue" %)**Step 2:**(%%)** Configure DS03A-LB/LS in Datacake.**
717
718 [[image:image-20250331163745-9.jpeg]]
719
720
721
722 [[image:image-20250331163816-10.jpeg]]
723
724
725 [[image:image-20250331163900-11.jpeg]]
726
727 [[image:image-20250331163939-12.jpeg]]
728
729 [[image:image-20250331163958-13.jpeg]]
730
731
732 [[image:image-20250331164026-14.jpeg]]
733
734
735 [[image:image-20250331164049-15.jpeg]]
736
737
738 [[image:image-20250331164119-16.jpeg]]
739
740
741 [[image:image-20250331164144-17.jpeg]]
742
743
744 [[image:image-20250331164208-18.jpeg]]
745
746
747 == 2.7 Frequency Plans ==
748
749
750 The DS03A-LB/LS uses OTAA mode and below frequency plans by default. Each frequency band use different firmware, user update the firmware to the corresponding band for their country.
751
752 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]]
753
754
755 == 2.8 ​Firmware Change Log ==
756
757
758 **Firmware download link: **[[https:~~/~~/www.dropbox.com/sh/b0uwyzjs4px4eao/AADvI7fPRwsFKTglEmaRRuaaa?dl=0>>https://www.dropbox.com/sh/b0uwyzjs4px4eao/AADvI7fPRwsFKTglEmaRRuaaa?dl=0]]
759
760
761 = 3. Configure DS03A-LB/LS =
762
763 == 3.1 Configure Methods: ==
764
765
766 DS03A-LB/LS supports below configure method:
767
768 * AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]].
769 * AT Command via UART Connection : See [[Connection>>http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H2.3UARTConnectionforSN50v3basemotherboard]].
770 * LoRaWAN Downlink.  Instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section.
771
772 == 3.2 General Commands ==
773
774
775 These commands are to configure:
776
777 * General system settings like: uplink interval.
778 * LoRaWAN protocol & radio related command.
779
780 They are same for all Dragino Devices which support DLWS-005 LoRaWAN Stack. These commands can be found on the wiki:
781
782 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/]]
783
784
785 == 3.3 Commands special design for DS03A-LB/LS ==
786
787
788 These commands only valid for DS03A-LB/LS, as below:
789
790
791 === 3.3.1  Set Transmit Interval Time ===
792
793
794 Feature: Change LoRaWAN End Node Transmit Interval.
795
796 (% style="color:blue" %)**AT Command: AT+TDC**
797
798 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
799 |=(% 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**
800 |(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|(((
801 30000
802 OK
803 the interval is 30000ms = 30s
804 )))
805 |(% style="width:156px" %)AT+TDC=60000|(% style="width:137px" %)Set Transmit Interval|(((
806 OK
807 Set transmit interval to 60000ms = 60 seconds
808 )))
809
810 (% style="color:blue" %)**Downlink Command: 0x01**
811
812 Format: Command Code (0x01) followed by 3 bytes time value.
813
814 If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01.
815
816 * Example 1: Downlink Payload: 0100001E  ~/~/  Set Transmit Interval (TDC) = 30 seconds
817 * Example 2: Downlink Payload: 0100003C  ~/~/  Set Transmit Interval (TDC) = 60 seconds
818
819 === 3.3.2  Set Power Output Duration ===
820
821
822 Control the output duration 5V . Before each sampling, device will
823
824 ~1. first enable the power output to external sensor,
825
826 2. keep it on as per duration, read sensor value and construct uplink payload
827
828 3. final, close the power output.
829
830 (% style="color:blue" %)**AT Command: AT+5VT**
831
832 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
833 |=(% style="width: 156px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 204px; background-color:#4F81BD;color:white" %)**Function**|=(% style="background-color: #4F81BD;color:white; width: 149px;" %)**Response**
834 |(% style="width:156px" %)AT+5VT=?|(% style="width:204px" %)Show 5V open time.|(% style="width:149px" %)0 (default)
835 OK
836 |(% style="width:156px" %)AT+5VT=500|(% style="width:204px" %)Close after a delay of 500 milliseconds.|(% style="width:149px" %)(((
837 OK
838
839 )))
840
841 (% style="color:blue" %)**Downlink Command: 0x07**(%%)
842 Format: Command Code (0x07) followed by 2 bytes.
843
844 The first and second bytes are the time to turn on.
845
846 * Example 1: Downlink Payload: 070000  **~-~-->**  AT+5VT=0
847 * Example 2: Downlink Payload: 0701F4  **~-~-->**  AT+5VT=500
848
849 === 3.3.3  Enable / Disable Alarm ===
850
851
852 Feature: Enable/Disable Alarm for open/close event. Default value 0.
853
854 (% style="color:blue" %)**AT Command: **
855
856 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515px" %)
857 |(% style="background-color:#4f81bd; color:white; width:153px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:276px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:86px" %)**Response**
858 |(% style="width:154px" %)AT+DISALARM=1|(% style="width:278px" %)End node will only send packets in TDC time.|OK
859 |(% style="width:154px" %)AT+DISALARM=0|(% style="width:278px" %)End node will send packets in TDC time or status change for door sensor|OK
860
861 (% style="color:blue" %)**Downlink Command: **
862
863 0xA7 01  ~/~/ Same As AT+DISALARM=1
864
865 0xA7 00  ~/~/ Same As AT+DISALARM=0
866
867
868 === 3.3.4  Alarm Base on Timeout ===
869
870
871 DS03A-LB/LS 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:
872
873 * (((
874 (% style="color:blue" %)**Keep Status: Status to be monitor**
875 )))
876
877 (% style="color:#037691" %)**Keep Status = 1**(%%): Monitor Close to Open event
878
879 (% style="color:#037691" %)**Keep Status = 0**(%%): Monitor Open to Close event
880
881
882 * (((
883 (% style="color:blue" %)**Keep Time: Timeout to send an Alarm**
884 )))
885
886 Range 0 ~~ 65535(0xFFFF) seconds.
887
888 If (% style="color:#037691" %)**keep time = 0**(%%), Disable Alarm Base on Timeout feature.
889
890 If (% style="color:#037691" %)**keep time > 0**(%%), device will monitor the keep status event and send an alarm when status doesn't change after timeout.
891
892
893 * (((
894 (% style="color:blue" %)**Downlink Command**
895 )))
896
897 (% style="color:#037691" %)**Command: 0xA9 aa bb cc dd**
898
899 **A9:** Command Type Code
900
901 **aa: **01:TTRIG1; 02:TTRIG2
902
903 **bb:** status to be monitored
904
905 **cc dd:** timeout.
906
907
908 **1) AT+TTRIG1 : (PA8 of pin)**
909
910 (% style="color:blue" %)**AT Command to configure:**
911
912 * (((
913 (% style="color:#037691" %)**AT+TTRIG1=1,30** (%%) **~-~->** When the **Keep Status** change from close to open, and device remains in open status for more than 30 seconds. DS03A-LB/LS will send an uplink packet, the Alarm1 bit(the second bit of 1^^st^^ byte of payload) on this uplink packet is set to 1.
914
915 (% style="color:#037691" %)**AT+TTRIG1=0,30** (%%) **~-~->** When the **Keep Status** change from open to close, and device remains in close status for more than 30 seconds. DS03A-LB/LS will send an uplink packet, the Alarm1 bit (the second bit of 1^^st^^ byte of payload) on this uplink packet is set to 1.
916 )))
917
918 * (((
919 (% style="color:#037691" %)**AT+TTRIG1=0,0**  (%%) **~-~-> ** Default Value, disable timeout Alarm.
920
921
922
923 )))
924
925 (% style="color:blue" %)**Downlink Command to configure:**
926
927 If user send 0xA9 01 00 00 1E: equal to AT+TTRIG1=1,30 **or** 0xA9 01 00 00 00: Equal to AT+TTRIG1=0,0.
928
929
930 **2) AT+TTRIG2 : (PA4 of pin,need to use AT+TTRCHANNEL=2)**
931
932 (% style="color:blue" %)**AT Command to configure:**
933
934 * (((
935 (% style="color:#037691" %)**AT+TTRIG2=1,30** (%%) **~-~->** When the **Keep Status** change from close to open, and device remains in open status for more than 30 seconds. DS03A-LB/LS will send an uplink packet, the Alarm2 bit (the second bit of 12^^st^^ byte of payload) on this uplink packet is set to 1.
936
937 (% style="color:#037691" %)**AT+TTRIG2=0,30** (%%) **~-~->** When the **Keep Status** change from open to close, and device remains in close status for more than 30 seconds. DS03A-LB/LS will send an uplink packet, the Alarm2 bit (the second bit of 12^^st^^ byte of payload) on this uplink packet is set to 1.
938 )))
939
940 * (((
941 (% style="color:#037691" %)**AT+TTRIG2=0,0**  (%%) **~-~-> ** Default Value, disable timeout Alarm.
942
943
944
945 )))
946
947 (% style="color:blue" %)**Downlink Command to configure:**
948
949 If user send 0xA9 02 00 00 1E: equal to AT+TTRIG2=0,30  **or**  0xA9 02 00 00 00: Equal to AT+TTRIG2=0,0.
950
951
952 === 3.3.5  TTRIG1 & TTRIG2 timeout status alarm ===
953
954
955 It needs to be used with AT+TTRIG1 or AT+TTRIG2.
956
957 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. (Max. 255 minutes)
958
959 (% style="color:blue" %)**AT Command:**
960
961 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
962 |=(% style="width: 155px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 279px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 76px;background-color:#4F81BD;color:white" %)**Response**
963 |(% style="width:155px" %)(((
964 AT+TTRALARM=0
965 )))|(% style="width:279px" %)(((
966 disable continuous alarm
967 )))|(% style="width:84px" %)(((
968 OK
969 )))
970 |(% style="width:155px" %)(((
971 AT+TTRALARM=60
972 )))|(% style="width:279px" %)(((
973 The alarm interval is 60 minutes (unit: minutes)
974 )))|(% style="width:84px" %)(((
975 OK
976 )))
977
978 (% style="color:blue" %)**Downlink Command:**
979
980 Example:  0C aa  => AT+TTRALARM= aa
981
982
983 === 3.3.6  Count Mod ===
984
985
986 Feature: Manually set the count mode.
987
988 (% style="color:blue" %)**AT Command:**
989
990 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515px" %)
991 |=(% style="width: 154px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 275px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 86px;background-color:#4F81BD;color:white" %)**Response**
992 |(% style="width:155px" %)(((
993 AT+COUNTMOD=0
994 )))|(% style="width:277px" %)(((
995 the count value keeps accumulating mode
996 )))|(% style="width:86px" %)(((
997 OK
998 )))
999 |(% style="width:155px" %)(((
1000 AT+COUNTMOD=1
1001 )))|(% style="width:277px" %)(((
1002 the count value will be reset after each TDC time(Last Close Duration Reset after each uplink)
1003 )))|(% style="width:86px" %)(((
1004 OK
1005 )))
1006
1007 (% style="color:blue" %)**Downlink Command:**
1008
1009 Example:  0B aa  => AT+COUNTMOD = second byte
1010
1011
1012 === 3.3.7  Number of channel of door sensors ===
1013
1014
1015 Feature: Set the number of door sensor channels.
1016
1017 (% style="color:blue" %)**AT Command:**
1018
1019 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:500px" %)
1020 |=(% style="width: 155px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 288px; background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 57px;background-color:#4F81BD;color:white" %)**Response**
1021 |(% style="width:155px" %)(((
1022 AT+TTRCHANNEL=1
1023 )))|(% style="width:259px" %)(((
1024 Set as single channel, only use PA8 pin as interrupt pin.
1025 )))|(% style="width:44px" %)(((
1026 OK
1027 )))
1028 |(% style="width:155px" %)(((
1029 AT+TTRCHANNEL=2
1030 )))|(% style="width:259px" %)(((
1031 Set as dual channel, use PA8 pin and PA4 pin as interrupt pin.
1032 )))|(% style="width:44px" %)(((
1033 OK
1034 )))
1035
1036 (% style="color:blue" %)**Downlink Command:**
1037
1038 Example:  0D aa => AT+TTRCHANNEL = second byte
1039
1040
1041 === 3.3.8  Set Time Sync Mode ===
1042
1043
1044 Feature: Enable/Disable Sync system time via LoRaWAN MAC Command (DeviceTimeReq), LoRaWAN server must support v1.0.3 protocol to reply to this command.
1045
1046 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.
1047
1048 (% style="color:blue" %)**AT Command:**
1049
1050 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:500px" %)
1051 |=(% style="width: 155px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 288px; background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 57px;background-color:#4F81BD;color:white" %)**Response**
1052 |(% style="width:155px" %)(((
1053 AT+SYNCMOD=1
1054 )))|(% style="width:259px" %)(((
1055 Enable Sync system time via LoRaWAN MAC Command (DeviceTimeReq) The default is zero time zone.
1056 )))|(% style="width:44px" %)(((
1057 OK
1058 )))
1059 |(% style="width:155px" %)(((
1060 AT+SYNCMOD=1,8
1061 )))|(% style="width:259px" %)(((
1062 Enable Sync system time via LoRaWAN MAC Command (DeviceTimeReq) Set to East eight time zone.
1063 )))|(% style="width:44px" %)(((
1064 OK
1065 )))
1066 |(% style="width:155px" %)AT+SYNCMOD=1,-12|(% style="width:259px" %)Enable Sync system time via LoRaWAN MAC Command (DeviceTimeReq) Set to West Twelve Time Zone.|(% style="width:44px" %)OK
1067
1068 (% style="color:blue" %)**Downlink Command:**
1069
1070 0x28 01  ~/~/ Same As AT+SYNCMOD=1
1071
1072 0x28 01 08  ~/~/ Same As AT+SYNCMOD=1,8
1073
1074 0x28 01 F4  ~/~/ Same As AT+SYNCMOD=1,-12
1075
1076 0x28 00  ~/~/ Same As AT+SYNCMOD=0
1077
1078
1079 === 3.3.9  Clear the open door times and the duration of the last open door ===
1080
1081
1082 (% style="color:blue" %)**AT Command:**
1083
1084 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1085 |=(% style="width: 163px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 290px; background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 57px;background-color:#4F81BD;color:white" %)**Response**
1086 |(% style="width:155px" %)AT+CLRC|(% style="width:259px" %)clear the open door times and the duration of the last open door.|(% style="width:44px" %)(((
1087 OK
1088 )))
1089
1090 (% style="color:blue" %)**Downlink Command:**(%%)0xA6 01
1091
1092 The sensor will clear the open door times and the duration of the last open door.
1093
1094
1095 === 3.3.10  Set the count value of the number of open door ===
1096
1097
1098 (% style="color:blue" %)**AT Command:**
1099
1100 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:500px" %)
1101 |=(% style="width: 155px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 288px; background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 57px;background-color:#4F81BD;color:white" %)**Response**
1102 |(% style="width:155px" %)(((
1103 AT+SETCNT=1,100
1104 )))|(% style="width:259px" %)(((
1105 Set the open door times of PA8 pin to 100 times.
1106 )))|(% style="width:44px" %)(((
1107 OK
1108 )))
1109 |(% style="width:155px" %)AT+SETCNT=1,0|(% style="width:259px" %)Clear the open door times of PA8 pin.|(% style="width:44px" %)OK
1110 |(% style="width:155px" %)(((
1111 AT+SETCNT=2,50
1112 )))|(% style="width:259px" %)(((
1113 Set the open door times of PA4 pin to 100 times.
1114 )))|(% style="width:44px" %)(((
1115 OK
1116 )))
1117
1118 (% style="color:blue" %)**Downlink Command:**
1119
1120 0xA6 01 00 00 64  ==>  AT+SETCNT=1,100
1121
1122 0xA6 01 00 00 00  ==>  AT+SETCNT=1,0
1123
1124 0xA6 02 00 00 32  ==>  AT+SETCNT=2,50
1125
1126
1127 = 4. Battery & Power Consumption =
1128
1129
1130 DS03A-LB use ER26500 + SPC1520 battery pack and DS03A-LS use 3000mAh Recharable Battery with Solar Panel. See below link for detail information about the battery info and how to replace.
1131
1132 [[**Battery Info & Power Consumption Analyze**>>http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] .
1133
1134
1135 = 5. OTA firmware update =
1136
1137
1138 User can change firmware DS03A-LB/LS to:
1139
1140 * Change Frequency band/ region.
1141 * Update with new features.
1142 * Fix bugs.
1143
1144 Firmware and changelog can be downloaded from : **[[Firmware download link>>https://www.dropbox.com/scl/fo/ztlw35a9xbkomu71u31im/AHx26Z9LCICx1Glt64ufq6o/LoRaWAN%20End%20Node/DS03A-LB?rlkey=ojjcsw927eaow01dgooldq3nu&subfolder_nav_tracking=1&dl=0]]**
1145
1146 Methods to Update Firmware:
1147
1148 * (Recommanded way) OTA firmware update via wireless:** [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/]]**
1149 * Update through UART TTL interface: **[[Instruction>>url:http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H1.LoRaSTv4baseHardware]]**.
1150
1151 = 6. FAQ =
1152
1153
1154
1155 = 7. Order Info =
1156
1157
1158 **Part Number: (% style="color:blue" %)DS03A-LB-XX (%%)or (% style="color:blue" %)DS03A-LS-XX(%%)**
1159
1160 (% style="color:red" %)**XX**(%%): The default frequency band
1161
1162 * (% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band
1163
1164 * (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band
1165
1166 * (% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band
1167
1168 * (% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band
1169
1170 * (% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band
1171
1172 * (% style="color:red" %)**US915**(%%): LoRaWAN US915 band
1173
1174 * (% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band
1175
1176 * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
1177
1178 = 8. ​Packing Info =
1179
1180
1181 (% style="color:#037691" %)**Package Includes**:
1182
1183 * DS03A-LB or DS03A-LS LoRaWAN Temperature Sensor
1184
1185 (% style="color:#037691" %)**Dimension and weight**:
1186
1187 * Device Size: cm
1188
1189 * Device Weight: g
1190
1191 * Package Size / pcs : cm
1192
1193 * Weight / pcs : g
1194
1195 = 9. Support =
1196
1197
1198 * 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.
1199
1200 * 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.cc>>mailto:Support@dragino.cc]].