Version 107.28 by Xiaoling on 2023/10/11 18:25

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