Version 107.29 by Xiaoling on 2023/10/12 16:20

Show last authors
1 (% style="text-align:center" %)
2 [[image:image-20231011093014-5.png]]
3
4
5
6
7 **Table of Contents:**
8
9 {{toc/}}
10
11
12
13
14
15
16 = 1. Introduction =
17
18 == 1.1 What is DS03A-NB NB-IoT Door Sensor ==
19
20
21 The Dragino DS03A-NB is a (% style="color:blue" %) **NB-IoT Door Sensor**(%%) for Internet of Things solution. It (% style="color:blue" %)**detects door open/close status**(%%) and uplinks to IoT server via NB-IoT network. user can see the door status, open duration, open counts in the IoT Server.
22
23 The DS03A-NB 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-NB can count each open event and uplink periodically.
24
25 DS03A-NB supports (% style="color:blue" %)**Datalog Feature,** (%%)it can save the data when there is no NB-IoT network and uplink when network recover.
26
27 DS03A-NB 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.
28
29 DS03A-NB is designed for outdoor use. It has a weatherproof enclosure and industrial level battery to work in low to high temperatures
30
31 DS03A-NB supports different uplink methods including (% style="color:blue" %)**MQTT, MQTTs, UDP & TCP**(%%) for different application requirement, and support uplinks to various IoT Servers.
32
33 DS03A-NB (% style="color:blue" %)**supports BLE configure **(%%)and(% style="color:blue" %)** OTA update**(%%) which make user easy to use.
34
35 DS03A-NB is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%), it is designed for long-term use up to several years.
36
37 DS03A-NB has optional built-in SIM card and default IoT server connection version. Which makes it works with simple configuration.
38
39 [[image:image-20231011093807-6.png||height="278" width="879"]]
40
41
42 == 1.2 ​Features ==
43
44
45 * NB-IoT Bands: B1/B2/B3/B4/B5/B8/B12/B13/B17/B18/B19/B20/B25/B28/B66/B70/B85 @H-FDD
46 * Ultra-low power consumption
47 * Upload water flow volume
48 * Door Open/Close detect
49 * Door open/close statistics
50 * Datalog Feature
51 * Open Alarm Feature
52 * Multiply Sampling and one uplink
53 * Support Bluetooth v5.1 remote configure and update firmware
54 * Uplink on periodically
55 * Downlink to change configure
56 * 8500mAh Battery for long term use
57 * Nano SIM card slot for NB-IoT SIM
58
59
60 == 1.3 Specification ==
61
62
63 (% style="color:blue" %)**Common DC Characteristics:**
64
65 * Supply Voltage: 2.5v ~~ 3.6v
66 * Operating Temperature: -40 ~~ 85°C
67
68 (% style="color:blue" %)**NB-IoT Spec:**
69
70 (% style="color:#037691" %)**NB-IoT Module: BC660K-GL**
71
72 (% style="color:#037691" %)**Support Bands:**
73
74 * B1 @H-FDD: 2100MHz
75 * B2 @H-FDD: 1900MHz
76 * B3 @H-FDD: 1800MHz
77 * B4 @H-FDD: 2100MHz
78 * B5 @H-FDD: 860MHz
79 * B8 @H-FDD: 900MHz
80 * B12 @H-FDD: 720MHz
81 * B13 @H-FDD: 740MHz
82 * B17 @H-FDD: 730MHz
83 * B18 @H-FDD: 870MHz
84 * B19 @H-FDD: 870MHz
85 * B20 @H-FDD: 790MHz
86 * B25 @H-FDD: 1900MHz
87 * B28 @H-FDD: 750MHz
88 * B66 @H-FDD: 2000MHz
89 * B70 @H-FDD: 2000MHz
90 * B85 @H-FDD: 700MHz
91
92 (% style="color:blue" %)**Battery:**
93
94 * Li/SOCI2 un-chargeable battery
95 * Capacity: 8500mAh
96 * Self Discharge: <1% / Year @ 25°C
97 * Max continuously current: 130mA
98 * Max boost current: 2A, 1 second
99
100 (% style="color:blue" %)**Power Consumption**
101
102 * STOP Mode: 10uA @ 3.3v
103 * Max transmit power: 350mA@3.3v
104
105 (% class="wikigeneratedid" id="H1.4Ratedenvironmentalconditions" %)
106 (% style="display:none" %) (%%)
107
108
109 == 1.4 Applications ==
110
111
112 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDS03A%20-%20Outdoor%20LoRaWAN%20OpenClose%20Door%20Sensor%20Manual/WebHome/1654741400370-813.png?rev=1.1||alt="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 NB-IoT 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 NB-IoT Sensor to Join NB-IoT 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:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675071855856-879.png]]
127
128
129 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
130 |=(% style="width: 167px;background-color:#4F81BD;color:white" %)**Behavior on ACT**|=(% style="width: 117px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width:225px;background-color:#4F81BD;color:white" %)**Action**
131 |(% style="width:167px" %)Pressing ACT between 1s < time < 3s|(% style="width:117px" %)Send an uplink|(% style="width:225px" %)(((
132 If sensor has already attached to NB-IoT network, sensor will send an uplink packet, (% style="color:blue" %)**blue led** (%%)will blink once.
133 Meanwhile, BLE module will be active and user can connect via BLE to configure device.
134 )))
135 |(% style="width:167px" %)Pressing ACT for more than 3s|(% style="width:117px" %)Active Device|(% style="width:225px" %)(((
136 (% 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 attach NB-IoT network.
137 (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network.
138 Once sensor is active, BLE module will be active and user can connect via BLE to configure device, no matter if device attach NB-IoT network or not.
139 )))
140 |(% style="width:167px" %)Fast press ACT 5 times.|(% 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.
141
142 (% style="color:red" %)**Note: When the device is executing a program, the buttons may become invalid. It is best to press the buttons after the device has completed the program execution.**
143
144
145 == 1.7 BLE connection ==
146
147
148 DS03A-NB support BLE remote configure and firmware update.
149
150
151 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:
152
153 * Press button to send an uplink
154 * Press button to active device.
155 * Device Power on or reset.
156
157 If there is no activity connection on BLE in 60 seconds, sensor will shut down BLE module to enter low power mode.
158
159
160 == 1.8 Pin Definitions & Switch ==
161
162
163 [[image:image-20230819104805-5.png]]
164
165
166 === 1.8.1 Jumper JP2 ===
167
168
169 Power on Device when put this jumper.
170
171
172 === 1.8.2 BOOT MODE / SW1 ===
173
174
175 **1)** (% style="color:blue" %)**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.
176
177 **2)** (% style="color:blue" %)**Flash**(%%): work mode, device starts to work and send out console output for further debug
178
179
180 === 1.8.3 Reset Button ===
181
182
183 Press to reboot the device.
184
185 (% style="display:none" %)
186
187
188 == 1.9 Mechanical ==
189
190 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual/WebHome/1675143884058-338.png?rev=1.1||alt="1675143884058-338.png"]]
191
192 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual/WebHome/1675143899218-599.png?rev=1.1||alt="1675143899218-599.png"]]
193
194 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual/WebHome/1675143909447-639.png?rev=1.1||alt="1675143909447-639.png"]]
195
196
197
198 **Probe Mechanical:**
199
200
201 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDS03A%20-%20Outdoor%20LoRaWAN%20OpenClose%20Door%20Sensor%20Manual/WebHome/1654741444887-479.png?width=513&height=399&rev=1.1||alt="1654741444887-479.png"]]
202
203
204
205 == 1.10 Magnet Distance ==
206
207
208 * Wood Door: 10mm ~~ 30mm
209 * Iron Door: 30 ~~ 45mm
210
211
212 = 2. Use DS03A-NB to communicate with IoT Server =
213
214 == 2.1 Send data to IoT server via NB-IoT network ==
215
216
217 The DS03A-NB is equipped with a NB-IoT module, the pre-loaded firmware in DS03A-NB will get environment data from sensors and send the value to local NB-IoT network via the NB-IoT module.  The NB-IoT network will forward this value to IoT server via the protocol defined by DS03A-NB.
218
219
220 Below shows the network structure:
221
222 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/DS03A-NB_NB-IoT_Door_Sensor_User_Manual/WebHome/image-20231011093807-6.png?width=879&height=278&rev=1.1||alt="image-20231011093807-6.png"]]
223
224
225 There are two version: (% style="color:blue" %)**-GE**(%%) and (% style="color:blue" %)**-1D**(%%) version of DS03A-NB.
226
227
228 (% style="color:blue" %)**GE Version**(%%): This version doesn't include SIM card or point to any IoT server. User needs to use AT Commands to configure below two steps to set DS03A-NB send data to IoT server.
229
230 * Install NB-IoT SIM card and configure APN. See instruction of [[Attach Network>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H2.AttachNetwork]].
231
232 * Set up sensor to point to IoT Server. See instruction of [[Configure to Connect Different Servers>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.Configuretoconnecttodifferentservers]]. 
233
234 Below shows result of different server as a glance.
235
236 (% border="1" cellspacing="4" style="width:515px" %)
237 |(% style="background-color:#4f81bd; color:white; width:100px" %)**Servers**|(% style="background-color:#4f81bd; color:white; width:300px" %)**Dash Board**|(% style="background-color:#4f81bd; color:white; width:115px" %)**Comments**
238 |(% style="width:127px" %)[[Node-Red>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.5A0Node-RedA028viaA0MQTT29]]|(% style="width:385px" %)(((
239 (% style="text-align:center" %)
240 [[image:image-20230819113244-8.png||height="183" width="367"]]
241 )))|(% style="width:170px" %)
242 |(% style="width:127px" %)[[DataCake>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.4Datacake]]|(% style="width:385px" %)(((
243 (% style="text-align:center" %)
244 [[image:image-20230819113244-9.png||height="119" width="367"]]
245 )))|(% style="width:170px" %)
246 |(% style="width:127px" %)[[Tago.IO>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.7A0Tago.ioA028viaA0MQTT29]]|(% style="width:385px" %) |(% style="width:170px" %)
247 |(% style="width:127px" %)[[General UDP>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.1GeneralA0UDPA0Connection]]|(% style="width:385px" %)Raw Payload. Need Developer to design Dash Board|(% style="width:170px" %)
248 |(% style="width:127px" %)[[General MQTT>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.2GeneralA0MQTTA0Connection]]|(% style="width:385px" %)Raw Payload. Need Developer to design Dash Board|(% style="width:170px" %)
249 |(% style="width:127px" %)[[ThingSpeak>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.3A0ThingSpeakA028viaA0MQTT29]]|(% style="width:385px" %)(((
250 (% style="text-align:center" %)
251 [[image:image-20230819113244-10.png||height="104" width="367"]]
252 )))|(% style="width:170px" %)
253 |(% style="width:127px" %)[[ThingsBoard>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.6A0ThingsBoard.CloudA028viaA0MQTT29]]|(% style="width:385px" %)(((
254 (% style="text-align:center" %)
255 [[image:image-20230819113244-11.png||height="141" width="367"]]
256 )))|(% style="width:170px" %)
257
258 (% style="color:blue" %)**1D Version**(%%): This version has 1NCE SIM card pre-installed and configure to send value to DataCake. User Just need to select the sensor type in DataCake and Activate DS03A-NB and user will be able to see data in DataCake. See here for [[DataCake Config Instruction>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.4Datacake]].
259
260
261 == 2.2 ​Payload Types ==
262
263
264 To meet different server requirement, DS03A-NB supports different payload type.
265
266 **Includes:**
267
268 * [[General JSON format payload>>||anchor="H2.2.1GeneralJsonFormat28Type3D529"]]. (Type=5)
269
270 * [[HEX format Payload>>||anchor="H2.2.2HEXformatPayload28Type3D029"]]. (Type=0)
271
272 * [[ThingSpeak Format>>||anchor="H2.2.4ThingSpeakPayload28Type3D129"]]. (Type=1)
273
274 * [[ThingsBoard Format>>||anchor="H2.2.3ThingsBoardPayload28Type3D329"]]. (Type=3)
275
276 User can specify the payload type when choose the connection protocol. Example:
277
278 (% style="color:#037691" %)**AT+PRO=2,0**  (%%) ~/~/ Use UDP Connection & hex Payload
279
280 (% style="color:#037691" %)**AT+PRO=2,5**   (%%) ~/~/ Use UDP Connection & Json Payload
281
282 (% style="color:#037691" %)**AT+PRO=3,5 ** (%%) ~/~/ Use MQTT Connection & Json Payload
283
284
285 === 2.2.1 General Json Format(Type~=5) ===
286
287
288 This is the General Json Format. As below:
289
290 (% style="color:#4472c4" %)**{"IMEI":"866207058378443","Model":"DS03A-NB","flow":217,"battery":3.54,"signal":24,"1":{221,2023/09/20 09:47:01},"2":{0,2023/09/20 09:15:04},"3":{0,2023/09/20 09:00:04},"4":{0,2023/09/20 08:45:03},"5":{0,2023/09/20 08:30:03},"6":{0,2023/09/20 08:15:03},"7":{0,2023/09/20 08:00:04},"8":{0,2023/09/20 07:45:04}}**
291
292
293 [[image:image-20230920175015-3.png||height="613" width="890"]]
294
295
296 (% style="color:red" %)**Notice, from above payload:**
297
298 * Distance , Battery & Signal are the value at uplink time.
299
300 * Json entry 1 ~~ 8 are the last 1 ~~ 8 sampling data as specify by (% style="color:#037691" %)**AT+NOUD=8 ** (%%)Command. Each entry includes (from left to right): Water Flow, Sampling time.
301
302
303 === 2.2.2 HEX format Payload(Type~=0) ===
304
305
306 This is the HEX Format. As below:
307
308 (% style="color:#4472c4" %)**f8662070583784430b640dda15010003a4650abc400000650ab8180000650ab4940000650ab10f0000650aad8b0000650aaa070000650aa6840000650aa3000000650a9308**
309
310 [[image:image-20230920172200-1.png||height="191" width="1047"]]
311
312
313 If we use the MQTT client to subscribe to this MQTT topic, we can see the following information when the NB sensor uplink data.
314
315 [[image:image-20230920173352-2.png||height="636" width="919"]]
316
317
318 (% style="color:blue" %)**Version:**
319
320 These bytes include the hardware and software version.
321
322 (% style="color:#037691" %)**Higher byte:**(%%) Specify Sensor Model: 0x12 for DS03A-NB
323
324 (% style="color:#037691" %)**Lower byte:**(%%) Specify the software version: 0x64=100, means firmware version 1.0.0
325
326
327 (% style="color:blue" %)**BAT (Battery Info):**
328
329 Ex1: 0x0dda = 3546mV
330
331
332 (% style="color:blue" %)**Signal Strength:**
333
334 NB-IoT Network signal Strength.
335
336 **Ex1: 0x15 = 21**
337
338 **0**  -113dBm or less
339
340 **1**  -111dBm
341
342 **2...30** -109dBm... -53dBm
343
344 **31**   -51dBm or greater
345
346 **99**    Not known or not detectable
347
348
349 (% style="color:blue" %)**Timestamp:   **
350
351 Unit Timestamp Example: 650abc40(H) = 1695202368(D)
352
353 Put the decimal value into this link([[https:~~/~~/www.epochconverter.com)>>https://www.epochconverter.com]]) to get the time.
354
355
356 === 2.2.3 ThingsBoard Payload(Type~=3) ===
357
358
359 Type3 payload special design for ThingsBoard, it will also configure other default server to ThingsBoard.
360
361 (% style="color:#4472c4" %)** {"IMEI": "866207058378443","Model": "DS03A","flow": 502,"battery": 3.57,"signal": 23}**
362
363 [[image:image-20230922094043-2.png||height="558" width="851"]]
364
365
366 === 2.2.4 ThingSpeak Payload(Type~=1) ===
367
368
369 This payload meets ThingSpeak platform requirement. It includes only four fields. Form 1~~3 are:
370
371 Distance, Battery & Signal. This payload type only valid for ThingsSpeak Platform
372
373 As below:
374
375 (% style="color:#4472c4" %)**field1=Flow value&field2=Battery value&field3=Singal value**
376
377 [[image:image-20230921104741-1.png||height="565" width="826"]]
378
379
380 == 2.3  ​Uplink Payload ==
381
382 === 2.3.1  Sensor Configuration, FPORT~=4 ===
383
384
385 DS03A-NB will only send this command after getting the downlink command **(0x26 02)** from the server.
386
387 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515px" %)
388 |(% colspan="8" style="background-color:#4f81bd; color:white; width:515px" %)**Sensor Configuration FPORT=4**
389 |**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**
390 |**Value**|(% style="width:75px" %)TDC (unit:sec)|(% style="width:77px" %)Disalarm|(% style="width:96px" %)(((
391 Keep status1
392 )))|(% style="width:99px" %)(((
393 Keep time1(unit: sec)
394 )))|(% style="width:87px" %)Keep status2|(% style="width:97px" %)(((
395 Keep time2(unit: sec)
396 )))|(% style="width:98px" %)(((
397 Alarm interval(unit: min)
398 )))
399
400 Example parse in TTNv3
401
402 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/DS03A-LB/WebHome/image-20230630155527-3.png?width=902&height=146&rev=1.1||alt="image-20230630155527-3.png"]]
403
404
405 * (((
406 (% style="color:blue" %)**TDC: (default: 0x001C20)**
407 )))
408
409 Uplink interval for the Open/Close Event, default value is 0x001C20 which is 7200 seconds = 2 hours.
410
411
412 * (((
413 (% style="color:blue" %)**Disalarm: (default: 0)**
414 )))
415
416 **If Disalarm = 1**, DS03A-NB 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.
417
418 **If Disalarm = 0**, DS03A-NB 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.
419
420 (% style="color:red" %)** Note: When Disalarm=0, a high frequently open/close event will cause lots of uplink and drain battery very fast. **
421
422
423 * (((
424 (% style="color:blue" %)**Keep Status1 & Keep Time1 & Keep Status2 & Keep Time2**
425 )))
426
427 Shows the configure value of [[Alarm Base on Timeout Feature>>||anchor="H2.9AlarmBaseonTimeout"]]
428
429
430 * (((
431 (% style="color:blue" %)**Alarm interval(default: 0)**
432 )))
433
434 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.
435
436
437 === 2.3.2  Real-Time Open/Close Status, Uplink FPORT~=2 ===
438
439
440 DS03A-NB will send this uplink **after** Device Status once join the LoRaWAN network successfully. And DS03A-NB will send uplinks when:
441
442 * Every 2 hours, this interval [[can be changed>>||anchor="H2.7SetTransmitIntervalTime"]].
443 * There is an Open/Close event.  (This info can be disabled by AT+DISALARM=1)
444
445 **1) When (% style="color:blue" %)AT+TTRCHANNEL=1(%%), Uplink Payload totals (% style="color:blue" %)11 bytes. (Default mode)(%%)**
446
447 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515px" %)
448 |=(% colspan="5" style="background-color:#4F81BD;color:white;width:515px" %)**Real-Time Open/Close Status, FPORT=2**
449 |(% style="width:94px" %)**Size(bytes)**|(% style="width:97px" %)**1**|(% style="width:95px" %)**3**|(% style="width:119px" %)**3**|(% style="width:107px" %)**4**
450 |(% style="width:95px" %)**Value**|(% style="width:97px" %)(((
451 Status & [[Alarm>>||anchor="2.10TTRIG126TTRIG2timeoutstatusalarm"]]
452 )))|(% style="width:95px" %)Total open door events|(% style="width:119px" %)(((
453 The last door open duration (unit: sec)
454 )))|(% style="width:108px" %)Unix TimeStamp
455
456 **Status & Alarm:**
457
458 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515px" %)
459 |(% 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**
460 |(% style="width:76px" %)**Value**|(% style="width:96px" %)Reserve|(% style="width:110px" %)(((
461 Count mod
462 )))|(% style="width:106px" %)TDC flag 0:No;1:Yes|(% style="width:148px" %)(((
463 Alarm 0: No Alarm; 1: Alarm
464 )))|(% style="width:131px" %)(((
465 Status 0: Close; 1: Open
466 )))
467
468 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/DS03A-LB/WebHome/image-20230630155451-2.png?width=928&height=246&rev=1.1||alt="image-20230630155451-2.png"]]
469
470
471 * (((
472 (% style="color:blue" %)**Count mod:Default=0**
473 )))
474
475 0: Uplink total open door times since factory
476
477 1: Uplink total open door times since last FPORT=2 uplink.
478
479
480 * (% style="color:blue" %)**TDC flag**
481
482 When the flag is 1, it means sending packets at normal time intervals.
483
484 Otherwise, it is a packet sent at non-TDC time.
485
486
487 * (((
488 (% style="color:#0000ff" %)**Alarm**
489 )))
490
491 See [[Alarm Base on Timeout>>||anchor="H3.3.3A0AlarmBaseonTimeout"]]
492
493
494 * (((
495 (% style="color:blue" %)**Status**
496 )))
497
498 This bit is 1 when the door sensor is open and 0 when it is close.
499
500
501 * (((
502 (% style="color:blue" %)**Total open door events**
503 )))
504
505 Total pulse/counting base on open door.
506
507 Range (3 Bytes) : 0x000000 ~~ 0xFFFFFF . Max: 16777215
508
509
510 * (((
511 (% style="color:blue" %)**The last door open duration**
512 )))
513
514 Door sensor last open duration.
515
516 Unit: sec.
517
518 [[image:http://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"]]
519
520
521 **2) When (% style="color:blue" %)AT+TTRCHANNEL=2(%%), Uplink Payload totals (% style="color:blue" %)18 bytes(%%)**(% style="color:blue" %).
522
523 (When the maximum DR of some frequencies is 11 bytes, it will cause the server to receive empty packets)
524
525 (% style="color:red" %)**Note:When using the AT+TTRCHANNEL=2 command, the Datalog function cannot be used.**
526
527 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515px" %)
528 |=(% colspan="8" style="background-color:#4F81BD;color:white; width: 515px;" %)**Real-Time Open/Close Status, FPORT=2**
529 |(% 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**
530 |(% style="width:95px" %)**Value**|(% style="width:97px" %)(((
531 Status1 & Alarm1
532 )))|(% style="width:95px" %)Total open door events1|(% style="width:125px" %)(((
533 The last door open duration1 (unit: sec)
534 )))|(% style="width:100px" %)Unix TimeStamp|(% style="width:86px" %)(((
535 Status2 & Alarm2
536 )))|(% style="width:96px" %)Total open door events2|(% style="width:126px" %)The last door open duration2 (unit: sec)
537
538 **Status1 & Alarm1:**
539
540 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:514px" %)
541 |(% 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**
542 |(% style="width:76px" %)**Value**|(% style="width:96px" %)Reserve|(% style="width:99px" %)(((
543 Count mod
544 )))|(% style="width:103px" %)TDC flag 0:No;1:Yes|(% style="width:216px" %)(((
545 Alarm1 0: No Alarm; 1: Alarm (PA8 of pin)
546 )))|(% style="width:181px" %)(((
547 Status1 0: Close; 1: Open (PA8 of pin)
548 )))
549
550 **Status2 & Alarm2:**
551
552 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
553 |(% 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**
554 |(% style="width:76px" %)**Value**|(% style="width:113px" %)Reserve|(% style="width:219px" %)(((
555 Alarm2 0: No Alarm; 1: Alarm (PA4 of pin)
556 )))|(% style="width:181px" %)(((
557 Status2 0: Close; 1: Open (PA4 of pin)
558 )))
559
560 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/DS03A-LB/WebHome/image-20230630155908-6.png?width=927&height=295&rev=1.1||alt="image-20230630155908-6.png"]]
561
562
563 * (((
564 (% style="color:blue" %)**Count mod:Default=0**
565 )))
566
567 0: Uplink total open door times since factory
568
569 1: Uplink total open door times since last FPORT=2 uplink.
570
571
572 * (% style="color:blue" %)**TDC flag**
573
574 When the flag is 1, it means sending packets at normal time intervals.
575
576 Otherwise, it is a packet sent at non-TDC time.
577
578
579 * (((
580 (% style="color:#0000ff" %)**Alarm1 or Alarm2**
581 )))
582
583 See [[Alarm Base on Timeout>>||anchor="H2.9AlarmBaseonTimeout"]]
584
585
586 * (((
587 (% style="color:blue" %)**Status1 **(% style="color:#0000ff" %)**or **(% style="color:blue" %)**Status2**
588 )))
589
590 This bit is 1 when the door sensor is open and 0 when it is close.
591
592
593 * (((
594 (% style="color:blue" %)**Total open door events1 **(% style="color:#0000ff" %)**or**(% style="color:blue" %)** Total open door events2**
595 )))
596
597 Total pulse/counting base on open door.
598
599 Range (3 Bytes) : 0x000000 ~~ 0xFFFFFF . Max: 16777215
600
601
602 * (((
603 (% style="color:blue" %)**The last door open duration1 **(% style="color:#0000ff" %)**or**(% style="color:blue" %)** The last door open duration2**
604 )))
605
606 Door sensor last open duration.
607
608 Unit: sec.
609
610 [[image:http://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"]]
611
612
613 === 2.3.3  Historical Door Open/Close Event, FPORT~=3 ===
614
615
616 DS03A-NB stores sensor values and users can retrieve these history values via the downlink command.
617
618 The historical payload includes one or multiplies entries and every entry has the same payload as Real-Time open/close status.
619
620 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
621 |=(% colspan="5" style="background-color:#4F81BD;color:white;width:515px" %)**Real-Time Open/Close Status, FPORT=3**
622 |(% style="width:60px" %)**Size(bytes)**|(% style="width:80px" %)**1**|(% style="width:120px" %)**3**|(% style="width:150px" %)**3**|(% style="width:90px" %)**4**
623 |(% style="width:95px" %)**Value**|(% style="width:97px" %)(((
624 Status & [[Alarm>>||anchor="H2.9A0AlarmBaseonTimeout"]]
625 )))|(% style="width:95px" %)Total open door events|(% style="width:119px" %)(((
626 The last door open duration (unit: sec)
627 )))|(% style="width:108px" %)Unix TimeStamp
628
629 **Status & Alarm:**
630
631 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515px" %)
632 |(% 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**
633 |(% style="width:76px" %)**Value**|(% style="width:88px" %)No ACK message|(% style="width:92px" %)Poll Message Flag|(% style="width:89px" %)Reserve|(% style="width:90px" %)(((
634 Count mod
635 )))|(% style="width:95px" %)(((
636 TDC flag 0:No; 1:Yes
637 )))|(% style="width:116px" %)(((
638 Alarm 0: No Alarm; 1: Alarm
639 )))|(% style="width:112px" %)(((
640 Status 0:Close; 1: Open
641 )))
642
643 * (((
644 Each data entry is 11 bytes and has the same structure as [[Real-Time open/close status>>||anchor="H2.3.2A0Real-TimeOpen2FCloseStatus2CUplinkFPORT3D2"]], to save airtime and battery, DS03A-NB will send max bytes according to the current DR and Frequency bands.
645 )))
646
647 For example, in the US915 band, the max payload for different DR is:
648
649 (((
650 **~1. DR0**: max is 11 bytes so one entry of data
651 )))
652
653 (((
654 **2. DR1**: max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
655 )))
656
657 (((
658 **3. DR2**: total payload includes 11 entries of data
659 )))
660
661 (((
662 **4. DR3**: total payload includes 22 entries of data.
663 )))
664
665 If DS03A-NB doesn't have any data in the polling time. It will uplink 11 bytes of 0
666
667 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/DS03A-LB/WebHome/image-20230630155556-4.png?width=938&height=146&rev=1.1||alt="image-20230630155556-4.png"]]
668
669 **Downlink:**
670
671 0x31 64 9E 7D 34 64 9E 7E 9C 05
672
673
674 **Uplink:**
675
676 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
677
678
679 **Parsed Value:**
680
681 [COUNTMOD, TDC_FLAG, ALARM,  DOOR_STATUS, OPEN_DOOR_TIMES, LAST_DOOR_OPEN_DURATION, TIME]
682
683
684 [SUM,YES,FALSE,OPEN,0,0,2023-06-30 06:59:20],
685
686 [SUM,NO,FALSE,CLOSE,0,99,2023-06-30 07:00:44],
687
688 [SUM,NO,FALSE,OPEN, 1,99,2023-06-30 07:00:52],
689
690 [SUM,NO,FALSE,CLOSE,1,141,2023-06-30 07:03:13],
691
692 [SUM,NO,TRUE,OPEN, 2,141,2023-06-30 07:03:32],
693
694 [PART,NO,FALSE,CLOSE,2,31,2023-06-30 07:03:53],
695
696 [PART,NO,TRUE,OPEN, 3,31,2023-06-30 07:04:11],
697
698 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/DS03A-LB/WebHome/image-20230630172740-1.png?width=868&height=199&rev=1.1||alt="image-20230630172740-1.png"]]
699
700
701 == 2.4 Test Uplink and Change Update Interval ==
702
703
704 By default, Sensor will send uplinks (% style="color:blue" %)**every 2 hours**(%%) & AT+NOUD=8
705
706 User can use below commands to change the (% style="color:blue" %)**uplink interval**.
707
708 (% style="color:#037691" %)**AT+TDC=600 ** (%%) ~/~/ Set Update Interval to 600s
709
710 User can also push the button for more than 1 seconds to activate an uplink.
711
712
713 == 2.5 Multi-Samplings and One uplink ==
714
715
716 To save battery life, DS03A-NB will sample Water Flow data every 15 minutes and send one uplink every 2 hours. So each uplink it will include 8 stored data + 1 real-time data. They are defined by:
717
718 * (% style="color:#037691" %)**AT+TR=900**   (%%) ~/~/ The unit is seconds, and the default is to record data once every 900 seconds (15 minutes, the minimum can be set to 180 seconds)
719
720 * (% style="color:#037691" %)**AT+NOUD=8**     (%%)~/~/  The device uploads 8 sets of recorded data by default. Up to 32 sets of record data can be uploaded.
721
722 The diagram below explains the relationship between TR, NOUD, and TDC more clearly:
723
724 [[image:1692424376354-959.png]]
725
726
727 == 2.6 Trggier an uplink by external interrupt ==
728
729
730 DS03A-NB has an external trigger interrupt function. Users can use the PB15 pin to trigger the upload of data packets.
731
732 (% style="color:blue" %)**AT command:**
733
734 * (% style="color:#037691" %)**AT+INTMOD **(%%) ~/~/ Set the trigger interrupt mode
735
736 * (% style="color:#037691" %)**AT+INTMOD=0 **(%%) ~/~/ Disable Interrupt
737
738 * (% style="color:#037691" %)**AT+INTMOD=1 **(%%) ~/~/ Trigger by rising and falling edge
739
740 * (% style="color:#037691" %)**AT+INTMOD=2 **(%%) ~/~/ Trigger by falling edge
741
742 * (% style="color:#037691" %)**AT+INTMOD=3  **(%%) ~/~/ Trigger by rising edge
743
744
745 == 2.7 Set Transmit Interval Time ==
746
747
748 (((
749 Feature: Change NB-IoT End Node Transmit Interval.
750 )))
751
752 (((
753 (% style="color:blue" %)**AT Command: AT+TDC**
754 )))
755
756 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
757 |=(% 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**
758 |(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|(((
759 30000
760 OK
761 the interval is 30000ms = 30s
762 )))
763 |(% style="width:156px" %)AT+TDC=60000|(% style="width:137px" %)Set Transmit Interval|(((
764 OK
765 Set transmit interval to 60000ms = 60 seconds
766 )))
767
768 (((
769 (% style="color:blue" %)**Downlink Command: 0x01**
770 )))
771
772 (((
773 Format: Command Code (0x01) followed by 3 bytes time value.
774 )))
775
776 (((
777 If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01.
778 )))
779
780 * (((
781 Example 1: Downlink Payload: 0100001E  ~/~/ Set Transmit Interval (TDC) = 30 seconds
782 )))
783 * (((
784 Example 2: Downlink Payload: 0100003C  ~/~/ Set Transmit Interval (TDC) = 60 seconds
785
786
787
788 )))
789
790 == 2.8 Enable / Disable Alarm ==
791
792
793 Feature: Enable/Disable Alarm for open/close event. Default value 0.
794
795 (% style="color:blue" %)**AT Command: **
796
797 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515px" %)
798 |(% 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**
799 |(% style="width:154px" %)AT+DISALARM=1|(% style="width:278px" %)End node will only send packets in TDC time.|OK
800 |(% style="width:154px" %)AT+DISALARM=0|(% style="width:278px" %)End node will send packets in TDC time or status change for door sensor|OK
801
802 (% style="color:blue" %)**Downlink Command: **
803
804 0xA7 01  ~/~/ Same As AT+DISALARM=1
805
806 0xA7 00  ~/~/ Same As AT+DISALARM=0
807
808
809 == 2.9 Alarm Base on Timeout ==
810
811
812 DS03A-NB 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:
813
814 * (((
815 (% style="color:blue" %)**Keep Status: Status to be monitor**
816 )))
817
818 (% style="color:#037691" %)**Keep Status = 1**(%%): Monitor Close to Open event
819
820 (% style="color:#037691" %)**Keep Status = 0**(%%): Monitor Open to Close event
821
822
823 * (((
824 (% style="color:blue" %)**Keep Time: Timeout to send an Alarm**
825 )))
826
827 Range 0 ~~ 65535(0xFFFF) seconds.
828
829 If (% style="color:#037691" %)**keep time = 0**(%%), Disable Alarm Base on Timeout feature.
830
831 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.
832
833
834 * (((
835 (% style="color:blue" %)**Downlink Command**
836 )))
837
838 (% style="color:#037691" %)**Command: 0xA9 aa bb cc dd**
839
840 **A9:** Command Type Code
841
842 **aa: **01:TTRIG1; 02:TTRIG2
843
844 **bb:** status to be monitored
845
846 **cc dd:** timeout.
847
848
849 **1) AT+TTRIG1 : (PA8 of pin)**
850
851 (% style="color:blue" %)**AT Command to configure:**
852
853 * (((
854 (% 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-NB 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.
855
856 (% style="color:#037691" %)**AT+TTRIG1=0,30** (%%) **~-~->** When the **Keep Status** change from open to close, and device remains in open status for more than 30 seconds. DS03A-NB 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.
857 )))
858
859 * (((
860 (% style="color:#037691" %)**AT+TTRIG1=0,0**  (%%) **~-~-> ** Default Value, disable timeout Alarm.
861
862
863 )))
864
865 (% style="color:blue" %)**Downlink Command to configure:**
866
867 If user send 0xA9 01 01 00 1E: equal to AT+TTRIG1=1,30 **or** 0xA9 01 00 00 00: Equal to AT+TTRIG1=0,0.
868
869
870 **2) AT+TTRIG2 : (PA4 of pin,need to use AT+TTRCHANNEL=2)**
871
872 (% style="color:blue" %)**AT Command to configure:**
873
874 * (((
875 (% 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-NB 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.
876
877 (% style="color:#037691" %)**AT+TTRIG2=0,30** (%%) **~-~->** When the **Keep Status** change from open to close, and device remains in open status for more than 30 seconds. DS03A-NB 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.
878 )))
879
880 * (((
881 (% style="color:#037691" %)**AT+TTRIG2=0,0**  (%%) **~-~-> ** Default Value, disable timeout Alarm.
882
883
884 )))
885
886 (% style="color:blue" %)**Downlink Command to configure:**
887
888 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.
889
890
891 == 2.10 TTRIG1 & TTRIG2 timeout status alarm ==
892
893
894 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.
895
896 (% style="color:blue" %)**AT Command:**
897
898 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
899 |=(% 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**
900 |(% style="width:155px" %)(((
901 AT+TTRALARM=0
902 )))|(% style="width:279px" %)(((
903 disable continuous alarm
904 )))|(% style="width:84px" %)(((
905 OK
906 )))
907 |(% style="width:155px" %)(((
908 AT+TTRALARM=60
909 )))|(% style="width:279px" %)(((
910 The alarm interval is 60 minutes (unit: minutes)
911 )))|(% style="width:84px" %)(((
912 OK
913 )))
914
915 (% style="color:blue" %)**Downlink Command:**
916
917 Example:  0C aa  => AT+TTRALARM= aa
918
919
920 == 2.11 Count Mod ==
921
922
923 Feature: Manually set the count mode.
924
925 (% style="color:blue" %)**AT Command:**
926
927 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515px" %)
928 |=(% 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**
929 |(% style="width:155px" %)(((
930 AT+COUNTMOD=0
931 )))|(% style="width:277px" %)(((
932 the count value keeps accumulating mode
933 )))|(% style="width:86px" %)(((
934 OK
935 )))
936 |(% style="width:155px" %)(((
937 AT+COUNTMOD=1
938 )))|(% style="width:277px" %)(((
939 the count value will be reset after each TDC time(Last Close Duration Reset after each uplink)
940 )))|(% style="width:86px" %)(((
941 OK
942 )))
943
944 (% style="color:blue" %)**Downlink Command:**
945
946 Example:  0B aa  => AT+COUNTMOD = second byte
947
948
949 == 2.12  Number of channel of door sensors ==
950
951
952 Feature: Set the number of door sensor channels.
953
954 (% style="color:blue" %)**AT Command:**
955
956 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:500px" %)
957 |=(% 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**
958 |(% style="width:155px" %)(((
959 AT+TTRCHANNEL=1
960 )))|(% style="width:259px" %)(((
961 Set as single channel, only use PA8 pin as interrupt pin.
962 )))|(% style="width:44px" %)(((
963 OK
964 )))
965 |(% style="width:155px" %)(((
966 AT+TTRCHANNEL=2
967 )))|(% style="width:259px" %)(((
968 Set as dual channel, use PA8 pin and PA4 pin as interrupt pin.
969 )))|(% style="width:44px" %)(((
970 OK
971 )))
972
973 (% style="color:blue" %)**Downlink Command:**
974
975 Example:  0D aa => AT+TTRCHANNEL = second byte
976
977
978 == 2.13  Clear the open door times and the duration of the last open door ==
979
980
981 (% style="color:blue" %)**AT Command:**
982
983 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
984 |=(% 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**
985 |(% style="width:155px" %)AT+CLRC|(% style="width:259px" %)clear the open door times and the duration of the last open door.|(% style="width:44px" %)(((
986 OK
987 )))
988
989 (% style="color:blue" %)**Downlink Command:**(%%)0xA6 01
990
991 The sensor will clear the open door times and the duration of the last open door.
992
993
994 == 2.14  Set the count value of the number of open door ==
995
996
997 (% style="color:blue" %)**AT Command:**
998
999 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:500px" %)
1000 |=(% 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**
1001 |(% style="width:155px" %)(((
1002 AT+SETCNT=1,100
1003 )))|(% style="width:259px" %)(((
1004 Set the open door times of PA8 pin to 100 times.
1005 )))|(% style="width:44px" %)(((
1006 OK
1007 )))
1008 |(% style="width:155px" %)AT+SETCNT=1,0|(% style="width:259px" %)Clear the open door times of PA8 pin.|(% style="width:44px" %)OK
1009 |(% style="width:155px" %)(((
1010 AT+SETCNT=2,50
1011 )))|(% style="width:259px" %)(((
1012 Set the open door times of PA4 pin to 100 times.
1013 )))|(% style="width:44px" %)(((
1014 OK
1015 )))
1016
1017 (% style="color:blue" %)**Downlink Command:**
1018
1019 0xA6 01 00 00 64  ==>  AT+SETCNT=1,100
1020
1021 0xA6 01 00 00 00  ==>  AT+SETCNT=1,0
1022
1023 0xA6 02 00 00 32  ==>  AT+SETCNT=2,50
1024
1025
1026 = 3. Configure DS03A-NB =
1027
1028 == 3.1 Configure Methods ==
1029
1030
1031 DS03A-NB supports below configure method:
1032
1033 * AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]].
1034
1035 * AT Command via UART Connection : See [[UART Connection>>http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H2.3UARTConnectionforSN50v3basemotherboard]].
1036
1037
1038 == 3.2 AT Commands Set ==
1039
1040
1041 AT+<CMD>?        : Help on <CMD>
1042
1043 AT+<CMD>         : Run <CMD>
1044
1045 AT+<CMD>=<value> : Set the value
1046
1047 AT+<CMD>=?       : Get the value
1048
1049
1050 (% style="color:blue" %)**General Commands**      
1051
1052 AT                    : Attention       
1053
1054 AT?  : Short Help     
1055
1056 ATZ  : MCU Reset    
1057
1058 AT+TDC  : Application Data Transmission Interval
1059
1060 AT+CFG  : Print all configurations
1061
1062 AT+CFGMOD           : Working mode selection
1063
1064 AT+DEUI  : Get or set the Device ID
1065
1066 AT+INTMOD            : Set the trigger interrupt mode
1067
1068 AT+5VT           : Set extend the time of 5V power  
1069
1070 AT+PRO          : Choose agreement
1071
1072 AT+RXDL  : Extend the sending and receiving time
1073
1074 AT+DNSCFG  : Get or Set DNS Server
1075
1076 AT+GETSENSORVALUE   : Returns the current sensor measurement
1077
1078 AT+NOUD  : Get or Set the number of data to be uploaded
1079
1080 AT+CDP     : Read or Clear cached data
1081
1082 AT+SHTEMP:  Get or Set alarm of temp
1083
1084 AT+SHHUM:  Get or Set alarm of moisture
1085
1086 AT+SERVADDR :  Server Address
1087
1088
1089 (% style="color:blue" %)**UDP Management**
1090
1091 AT+CFM  :  Upload confirmation mode (only valid for UDP)
1092
1093
1094 (% style="color:blue" %)**MQTT Management**
1095
1096 AT+CLIENT               : Get or Set MQTT client
1097
1098 AT+UNAME              : Get or Set MQTT Username
1099
1100 AT+PWD                  : Get or Set MQTT password
1101
1102 AT+PUBTOPIC  : Get or Set MQTT publish topic
1103
1104 AT+SUBTOPIC  : Get or Set MQTT subscription topic
1105
1106
1107 (% style="color:blue" %)**Information**          
1108
1109 AT+FDR  : Factory Data Reset
1110
1111 AT+PWORD  : Serial Access Password
1112
1113 AT+LDATA  : Get the last upload data
1114
1115 AT+CDP  : Read or Clear cached data
1116
1117
1118 = 4. Battery & Power Consumption =
1119
1120
1121 DS03A-NB use ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace.
1122
1123 [[**Battery Info & Power Consumption Analyze**>>http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] .
1124
1125
1126 = 5. Firmware update =
1127
1128
1129 User can change device firmware to::
1130
1131 * Update with new features.
1132
1133 * Fix bugs.
1134
1135 Firmware and changelog can be downloaded from : **[[Firmware download link>>https://www.dropbox.com/sh/zbsm9p4coksqwd5/AADy2ZJc39KsvfbhTMCUGmz1a?dl=0]]**
1136
1137 Methods to Update Firmware:
1138
1139 * (Recommended way) OTA firmware update via BLE: [[**Instruction**>>url:http://wiki.dragino.com/xwiki/bin/view/Main/BLE_Firmware_Update_NB_Sensors_BC660K-GL/]].
1140
1141 * 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]]**.
1142
1143
1144 = 6. FAQ =
1145
1146 == 6.1 How can I access t BC660K-GL AT Commands? ==
1147
1148
1149 User can access to BC660K-GL directly and send AT Commands.
1150
1151 [[See BC660K-GL AT Command set>>url:https://www.dropbox.com/sh/5f6ssda5fum8rvs/AABT68l8ZzWOvZ5eg2qwOoFda?dl=0]]
1152
1153
1154 = 7. Order Info =
1155
1156
1157 Part Number: (% style="color:blue" %)**DS03A-NB-XX**
1158
1159 (% style="color:red" %)**XX**(%%):
1160
1161 * (% style="color:#037691" %)**GE**(%%): General version ( Exclude SIM card)
1162
1163 * (% style="color:#037691" %)**1D**(%%): with 1NCE* 10 years 500MB SIM card and Pre-configure to DataCake server
1164
1165 (% style="color:#037691" %)**1NCE SIM Card NB-IoT network coverage**(%%): Austria, Belgium, Bulgaria, Croatia, Czech Republic, Denmark, Finland, Germany, Great Britain, Greece, Hungary, Ireland, Italy, Latvia, Malta, Netherlands, Norway, Puerto Rico, Russia, Slovak , Republic, Slovenia, Spain, Sweden, Switzerland, Taiwan, USA, US Virgin Islands
1166
1167
1168 = 8. ​Packing Info =
1169
1170
1171 (% style="color:#037691" %)**Package Includes**:
1172
1173 * DS03A-NB NB-IoT Door sensor x 1
1174
1175 * External antenna x 1
1176
1177 (% style="color:#037691" %)**Dimension and weight**:
1178
1179 * Device Size: 13.0 x 5 x 4.5 cm
1180
1181 * Device Weight: 150g
1182
1183 * Package Size / pcs : 14.0 x 8x 5 cm
1184
1185 * Weight / pcs : 180g
1186
1187
1188 = 9. Support =
1189
1190
1191 * 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.
1192
1193 * 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]].
1194
1195 (% style="display:none" %) (%%)