Version 70.2 by Xiaoling on 2022/11/18 10:39

Show last authors
1 (% style="text-align:center" %)
2 [[image:image-20221117105556-1.png]]
3
4
5
6
7
8
9
10 **Table of Contents:**
11
12 {{toc/}}
13
14
15
16
17
18 = 1.  Introduction =
19
20 == 1.1 ​ What is NDS03A NB-IoT Open/Close Door Sensor ==
21
22
23 (((
24 The Dragino NDS03A is an (% style="color:blue" %)**Open/Close NB-IoT Door Sensor**(%%). It detects door (% style="color:blue" %)**open/close status**(%%) and (% style="color:blue" %)**uplinks**(%%) to IoT server via NB-IoT network. NDS03A can connect two door sensors. user can see the door status, open duration, open counts in the IoT Server.
25 )))
26
27 (((
28 The NDS03A will send periodically data (% style="color:blue" %)**every 4 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, NDS03A can count each open event and uplink periodically.
29 )))
30
31 (((
32 NDS03A has a (% style="color:blue" %)**Datalog feature**(%%), it will record the open/close event and the user can retrieve the history from NB-IoT.
33 )))
34
35 (((
36 NDS03A 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.
37 )))
38
39 (((
40 NDS03A is designed for outdoor use. It has a weatherproof enclosure and industrial level battery to work in low to high temperatures.
41 )))
42
43 (((
44 NarrowBand-Internet of Things (NB-IoT) is a (% style="color:blue" %)**standards-based low power wide area (LPWA) technologyTCP, MQTT, UDP, and CoAP**(%%) for different application requirements.
45 )))
46
47 (((
48 NDS03A is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%), It is designed for long-term use of up to 5 years. (Actually Battery life depends on the use environment, update period & uplink method)
49 )))
50
51 (((
52 To use NDS03A, user needs to check if there is NB-IoT coverage in the field and with the Nb-IoT bands that NDS03A supports. If local operator support it, user needs to get a (% style="color:blue" %)**NB-IoT SIM card**(%%) from the operator and install into NDS03A to get NB-IoT network connection.
53 )))
54
55
56
57 == ​1.2  Features ==
58
59
60 * NB-IoT Bands: B1/B3/B8/B5/B20/B28 @H-FDD
61 * Open/Close detect
62 * Open/Close statistics
63 * Monitor Battery Level
64 * connect two door sensors
65 * Datalog feature
66 * Uplink periodically
67 * Downlink to change configure
68 * Wall Mountable
69 * Outdoor Use
70 * Ultra-Low Power consumption
71 * AT Commands to change parameters
72 * Micro SIM card slot for NB-IoT SIM
73 * 8500mAh Battery for long-term use
74
75
76
77 == 1.3  Storage & Operation ==
78
79
80 Temperature -40°C to +85°C
81
82
83 == 1.4  Mechanical ==
84
85
86 [[image:image-20221117114937-4.png]]
87
88
89 [[image:image-20221117114949-5.png]]
90
91
92 [[image:image-20221117115010-6.png]]
93
94
95
96 == 1.5 ​ Applications ==
97
98
99 [[image:image-20221117114842-3.png]]
100
101
102
103 == 1.6  Specification ==
104
105
106 (% style="color:blue" %)**Common DC Characteristics:**
107
108 * Supply Voltage: 2.1v ~~ 3.6v
109 * Operating Temperature: -40 ~~ 85°C
110
111 (% style="color:blue" %)**NB-IoT Spec:**
112
113 * - B1 @H-FDD: 2100MHz
114 * - B3 @H-FDD: 1800MHz
115 * - B8 @H-FDD: 900MHz
116 * - B5 @H-FDD: 850MHz
117 * - B20 @H-FDD: 800MHz
118 * - B28 @H-FDD: 700MHz
119
120
121
122 == 1.7  Pin Definitions and Switch ==
123
124
125 [[image:image-20221021110429-4.png]]
126
127
128 === 1.7.1  Pin Definition ===
129
130
131 The device is pre-configured to connect to a door sensor. The other pins are not used. If user wants to know more about other pins, please refer to the user manual of LSN50v2 at:  [[https:~~/~~/www.dropbox.com/sh/djkxs7mr17y94mi/AABVlWbM9uzK9OA3mXyAT10Za?dl=0>>https://www.dropbox.com/sh/djkxs7mr17y94mi/AABVlWbM9uzK9OA3mXyAT10Za?dl=0]]
132
133
134
135 === 1.7.2  Jumper JP2(Power ON/OFF) ===
136
137
138 Power on Device when putting this jumper.
139
140
141
142 === 1.7.3  BOOT MODE / SW1 ===
143
144
145 1)  ISP:  upgrade mode, device won't have any signal in this mode. but ready for upgrade firmware. LED won't work. The firmware won't run.
146
147 2)  Flash:  working mode, the device starts to work for NB-IoT connection and sends out console output for further debugging.
148
149
150
151 === 1.7.4  Reset Button ===
152
153
154 Press to reboot the device.
155
156
157
158 === 1.7.5  LED ===
159
160
161 The LED will blink when :
162
163 1.  Boot the device in flash mode
164
165 2.  Send an uplink packet
166
167
168
169 == 1.8  Magnet Distance ==
170
171
172 (% style="color:blue" %)**Wood Door:**(%%) 10 ~~ 30mm
173
174 (% style="color:blue" %)**Iron Door:**(%%)**    **30 ~~ 45mm
175
176
177
178 = 2.  Use NDS03A to communicate with IoT Server =
179
180 == 2.1  How it works ==
181
182
183 In this user case, the NDS03A is installed on the door edge to detect the open/close event and send the status to the NB-IoT server. The NB-IoT network will forward this value to IoT server via the protocol defined by NDS03A.
184
185 The diagram below shows the working flow in the default firmware of NDS03A:
186
187 [[image:image-20221021110615-5.png]]
188
189
190
191 == 2.2 ​ Configure NDS03A ==
192
193 === 2.2.1 Test Requirement ===
194
195
196 To use NDS03A in your city, make sure to meet below requirements:
197
198 * Your local operator has already distributed an NB-IoT Network.
199 * The local NB-IoT network used the band that NDS03A supports.
200 * Your operator is able to distribute the data received in their NB-IoT network to your IoT server.
201
202 Below figure shows our testing structure. Here we have NB-IoT network coverage by China Mobile, the band they use is B8.  The NDS03A will use** (% style="color:red" %)CoAP(120.24.4.116:5683)(%%)** or raw (% style="color:red" %)**UDP(120.24.4.116:5601) **(%%)or (% style="color:red" %)**MQTT(120.24.4.116:1883) **(%%)or (% style="color:red" %)**TCP(120.24.4.116:5600)protocol**(%%) to send data to the test server.
203
204 [[image:image-20221117142300-1.png]]
205
206
207
208
209 === 2.2.2 Insert NB-IoT SIM card ===
210
211
212 Insert the NB-IoT Card get from your provider.
213
214 User needs to take out the NB-IoT module and insert the SIM card like below:
215
216 [[image:image-20221021110745-6.png]] ​
217
218
219
220 === 2.2.3 Connect USB – TTL to NDS03A and configure it ===
221
222
223 User need to configure NDS03A via serial port to set the (% style="color:red" %)**Server Address** / **Uplink Topic**(%%) to define where and how-to uplink packets. NDS03A support AT Commands, user can use a USB to TTL adapter to connect to NDS03A and use AT Commands to configure it, as below.
224
225 (% style="color:blue" %)**Connection:**
226
227 (% style="background-color:yellow" %)** USB TTL GND <~-~-~-~-> GND**
228
229 (% style="background-color:yellow" %)** USB TTL TXD <~-~-~-~-> UART_RXD**
230
231 (% style="background-color:yellow" %)** USB TTL RXD <~-~-~-~-> UART_TXD**
232
233
234 In the PC, use below serial tool settings:
235
236 * Baud:  (% style="color:red" %)**9600**
237
238 * Data bits:** (% style="color:red" %)8(%%)**
239
240 * Stop bits: (% style="color:red" %)**1**
241
242 * Parity:  (% style="color:red" %)**None**
243
244 * Flow Control: (% style="color:red" %)**None**
245
246 Make sure the switch is in FLASH position, then power on NDS03A by connecting the (% style="color:orange" %)**Yellow Jumper**(%%).
247
248 ​[[image:image-20221021110817-7.png]]
249
250 NDS03A will output system info once powered on as below, we can enter the **password: 12345678** to access AT Command input.
251
252
253 (% style="color:red" %)**Note: the valid AT Commands can be found at:  **(%%)[[**https:~~/~~/www.dropbox.com/sh/351dwor6joz8nwh/AADn1BQaAAxLF_QMyU8NkW47a?dl=0**>>url:https://www.dropbox.com/sh/351dwor6joz8nwh/AADn1BQaAAxLF_QMyU8NkW47a?dl=0]]
254
255
256
257 === 2.2.4 Use CoAP protocol to uplink data ===
258
259
260 (% style="color:red" %)**Note: if you don't have a CoAP server, you can refer this link to set up a CoAP server: **(%%)[[**http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Set%20up%20CoAP%20Server/**>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Set%20up%20CoAP%20Server/]]
261
262
263 (% style="color:blue" %)**Use below commands in NDS03A:**
264
265 * (% style="color:#037691" %)**AT+PRO=1**                (%%) ~/~/ Set to use CoAP protocol to uplink
266
267 * (% style="color:#037691" %)**AT+SERVADDR=120.24.4.116,5683   ** (%%) ~/~/ Set CoAP server address and port
268
269 * (% style="color:#037691" %)**AT+URI=0,0,11,2,"mqtt" ** (%%) ~/~/  Set CoAP resource path
270
271 For parameter description, please refer to AT command set
272
273 [[image:image-20221021110948-8.png]]
274
275
276 After configuring the server address and (% style="color:green" %)**reset NDS03A**(%%) (via AT+ATZ ), NDS03A will start to uplink sensor values to the CoAP server.
277
278 [[image:image-20221118103547-9.png||height="605" width="837"]] ​
279
280
281
282 === 2.2.5 Use UDP protocol to uplink data(Default protocol) ===
283
284
285 (% style="color:blue" %)**AT Commands:**
286
287 * (% style="color:#037691" %)**AT+PRO=2   ** (%%) ~/~/  Set to use UDP protocol to uplink
288
289 * (% style="color:#037691" %)**AT+SERVADDR=120.24.4.116,5601   ** (%%) ~/~/  Set UDP server address and port
290
291 * (% style="color:#037691" %)**AT+CFM=1       ** (%%) ~/~/  If the server does not respond, this command is unnecessary
292
293 ​ [[image:image-20221021111025-10.png]]
294
295
296 [[image:image-20221021111033-11.png||height="241" width="576"]]
297
298
299
300
301 === 2.2.6 Use MQTT protocol to uplink data ===
302
303
304 (% style="color:blue" %)**AT Commands:**
305
306 * (% style="color:#037691" %)**AT+PRO=3   ** (%%) ~/~/  Set to use MQTT protocol to uplink
307
308 * (% style="color:#037691" %)**AT+SERVADDR=120.24.4.116,1883   ** (%%) ~/~/  Set MQTT server address and port
309
310 * (% style="color:#037691" %)**AT+CLIENT=CLIENT       ** (%%) ~/~/  Set up the CLIENT of MQTT
311
312 * (% style="color:#037691" %)**AT+UNAME=UNAME                     **(%%)** **~/~/  Set the username of MQTT
313
314 * (% style="color:#037691" %)**AT+PWD=PWD                         **(%%)** **~/~/  Set the password of MQTT
315
316 * (% style="color:#037691" %)**AT+PUBTOPIC=NSE01_PUB              **(%%)** **~/~/  Set the sending topic of MQTT
317
318 * (% style="color:#037691" %)**AT+SUBTOPIC=NSE01_SUB          ** (%%) ~/~/  Set the subscription topic of MQTT
319
320 ​ [[image:image-20221118103445-7.png]]
321
322
323 [[image:image-20221118103453-8.png||height="608" width="841"]]
324
325
326
327 MQTT protocol has a much higher power consumption compare with UDP / CoAP protocol. Please check the power analyze document and adjust the uplink period to a suitable interval.
328
329
330
331 === 2.2.7 Use TCP protocol to uplink data ===
332
333
334 (% style="color:blue" %)**AT Commands:**
335
336 * (% style="color:#037691" %)**AT+PRO=4   ** (%%) ~/~/  Set to use TCP protocol to uplink
337
338 * (% style="color:#037691" %)**AT+SERVADDR=120.24.4.116,5600   ** (%%) ~/~/  Set TCP server address and port
339
340 ​ [[image:image-20221021111125-14.png]]
341
342 [[image:image-20221021111131-15.png]]
343
344
345
346
347 === 2.2.8 Change Update Interval ===
348
349
350 User can use below command to change the (% style="color:blue" %)**uplink interval**.
351
352 * (% style="color:#037691" %)**AT+TDC=14400      ** (%%) ~/~/ Set Update Interval to 14400s (4 hours)
353
354 (% style="color:red" %)**NOTE:**
355
356 1.  By default, the device will send an uplink message every 4 hour.
357
358
359
360 == 2.3  Uplink Payload ==
361
362
363 The uplink payload includes 26 bytes in total by default.
364
365 Each time the device uploads a data package. The user can use the AT+NOUD command to upload the recorded data.Up to 32 sets of recorded data can be uploaded.
366
367 (% style="color:blue" %)**When AT+TTRCHANNEL=1:**
368
369 (% border="1" cellspacing="5" style="background-color:#ffffcc; color:green; width:693px" %)
370 |=(% scope="row" style="width: 93px;" %)**Size(bytes)**|(% style="width:67px" %)**8**|(% style="width:40px" %)**2**|(% style="width:45px" %)**2**|(% style="width:75px" %)**1**|(% style="width:54px" %)**1**|(% style="width:62px" %)**1**|(% style="width:60px" %)**1**|(% style="width:94px" %)**3**|(% style="width:93px" %)**3**
371 |=(% style="width: 93px;" %)**Value**|(% style="width:67px" %)[[Device ID>>||anchor="H2.4.1A0A0DeviceID"]]|(% style="width:40px" %)[[Ver>>||anchor="H2.4.2A0VersionInfo"]]|(% style="width:45px" %)[[BAT>>||anchor="H2.4.3A0BatteryInfo"]]|(% style="width:75px" %)[[Signal Strength>>||anchor="H2.4.4A0SignalStrength"]]|(% style="width:54px" %)MOD|(% style="width:62px" %)Door Status|(% style="width:60px" %)[[Alarm Status>>||anchor="H2.7A0AlarmBaseonTimeout"]]|(% style="width:94px" %)door open num(pb14) |(% style="width:93px" %)last open time(pb14)
372
373 (% border="1.5" style="background-color:#ffffcc; color:green; width:490px" %)
374 |(% style="width:50px" %)**4**|(% style="width:70px" %)**1**|(% style="width:50px" %)**3**|(% style="width:99px" %)**3**|(% style="width:67px" %)4|(% style="width:50px" %)(((
375 **1-32 group**
376 )))
377 |(% style="width:98px" %)[[Time stamp>>||anchor="H2.4.7A0Timestamp"]]|(% style="width:115px" %)Door Status(pb14)|(% style="width:92px" %)door open num(pb14)|(% style="width:99px" %)last open time(pb14)|(% style="width:67px" %)Time stamp|(% style="width:74px" %)...
378
379
380
381 (% style="color:blue" %)**When AT+TTRCHANNEL=2:**
382
383
384 (% border="1" cellspacing="5" style="background-color:#ffffcc; color:green; width:520px" %)
385 |=(% scope="row" style="width: 96px;" %)**Size(bytes)**|(% style="width:66px" %)**8**|(% style="width:40px" %)**2**|(% style="width:46px" %)**2**|(% style="width:70px" %)**1**|(% style="width:54px" %)**1**|(% style="width:55px" %)**1**|(% style="width:57px" %)**1**|(% style="width:86px" %)**3**|(% style="width:82px" %)**3**
386 |=(% style="width: 96px;" %)**Value**|(% style="width:66px" %)[[Device ID>>||anchor="H2.4.1A0A0DeviceID"]]|(% style="width:40px" %)[[Ver>>||anchor="H2.4.2A0VersionInfo"]]|(% style="width:46px" %)[[BAT>>||anchor="H2.4.3A0BatteryInfo"]]|(% style="width:70px" %)[[Signal Strength>>||anchor="H2.4.4A0SignalStrength"]]|(% style="width:54px" %)MOD|(% style="width:55px" %)Door Status(pb14)|(% style="width:57px" %)[[Alarm Status>>||anchor="H2.7A0AlarmBaseonTimeout"]](pb14)|(% style="width:86px" %)door open num(pb14) |(% style="width:82px" %)last open time(pb14)
387
388 (% border="1" cellspacing="5" style="background-color:#ffffcc; color:green; width:520px" %)
389 |(% style="width:59px" %)**1**|(% style="width:67px" %)**1**|(% style="width:88px" %)**3**|(% style="width:81px" %)**3**|(% style="width:50px" %)**4**|(% style="width:66px" %)**1**|(% style="width:92px" %)**3**
390 |(% style="width:59px" %)Door Status(pb15)|(% style="width:67px" %)[[Alarm Status>>||anchor="H2.7A0AlarmBaseonTimeout"]](pb15)|(% style="width:88px" %)door open num(pb15)|(% style="width:81px" %)last open time(pb15)|(% style="width:50px" %)[[Time stamp>>||anchor="H2.4.7A0Timestamp"]]|(% style="width:66px" %)Door Status(pb14)|(% style="width:92px" %)door open num(pb14)
391
392 (% border="1" cellspacing="5" style="background-color:#ffffcc; color:green; width:500px" %)
393 |(% style="width:102px" %)**3**|(% style="width:93px" %)**1**|(% style="width:91px" %)**3**|(% style="width:88px" %)**3**|(% style="width:63px" %)**4**|(% style="width:87px" %)(((
394 **1-32 group**
395 )))
396 |(% style="width:102px" %)last open time (pb14)|(% style="width:93px" %)Door Status(pb15)|(% style="width:91px" %)door open num(pb15)|(% style="width:88px" %)last open time(pb15)|(% style="width:63px" %)[[Time stamp>>||anchor="H2.4.7A0Timestamp"]]|(% style="width:87px" %)......
397
398 If we use the MQTT client to subscribe to this MQTT topic, we can see the following information when the NDS03A uplink data.
399
400 [[image:image-20221117145932-2.png]]
401
402
403 The payload is ASCII string, representative same HEX:
404
405 **0x (% style="color:red" %)__f867787050213317__  (% style="color:blue" %)__0064__ (% style="color:green" %) __0ccf__(% style="color:#00b0f0" %) __19__(% style="color:#7030a0" %) __01__(% style="color:#0020b0" %) __00__ (% style="color:#420042" %)__00__(% style="color:#660066" %) (% style="color:#aaaa40" %)__000016__(% style="color:#663300" %) __000017__ (% style="color:#d60093" %)__637590df__(%%)**
406
407 **where:**
408
409 * (% style="color:#037691" %)**Device ID:**(%%) 0x f867787050213317 = f867787050213317
410
411 * (% style="color:#037691" %)**Version:**(%%)  0x0064=100=1.0.0
412
413 * (% style="color:#037691" %)**BAT :**(%%)  0x0ccf = 3279 mV = 3.279V
414
415 * (% style="color:#037691" %)**Singal: **(%%)0x19 = 25
416
417 * (% style="color:#037691" %)**Mod:**(%%)  0x01 = 1
418
419 * (% style="color:#037691" %)**Door Status:**(%%)  0x00=0
420
421 * (% style="color:#037691" %)**Alarm Status: **(%%)0x00 =0
422
423 * (% style="color:#037691" %)**door open num: **(%%)0x000016 =22
424
425 * (% style="color:#037691" %)**last open time:  **(%%)0x000017 =23
426
427 * (% style="color:#037691" %)**Timestamp:**(%%) 0x637590df =1668649183 (Unix Time)
428
429
430
431 == 2.4  Payload Explanation and Sensor Interface ==
432
433 === 2.4.1  Device ID ===
434
435
436 By default, the Device ID is equal to the last 15 bits of IMEI.
437
438 User can use (% style="color:blue" %)**AT+DEUI** (%%)to set Device ID
439
440 **Example:**
441
442 AT+DEUI=868411056754138
443
444 The Device ID is stored in a non-erase area, Upgrade the firmware or run AT+FDR won't erase the Device ID.
445
446
447 === 2.4.2  Version Info ===
448
449
450 Specify the software version: 0x64=100, which means firmware version 1.00.
451
452 For example 0x00 64 : This device is NDS03A 1 with firmware version 1.0.0.
453
454
455 === 2.4.3  Battery Info ===
456
457
458 Check the battery voltage for NDS03A.
459
460 Ex1: 0x0B45 = 2885mV
461
462 Ex2: 0x0B49 = 2889mV
463
464
465 === 2.4.4  Signal Strength ===
466
467
468 NB-IoT Network signal Strength.
469
470 **Ex1: 0x1d = 29**
471
472 **0**  -113dBm or less
473
474 **1**  -111dBm
475
476 **2...30** -109dBm... -53dBm
477
478 **31**   -51dBm or greater
479
480 **99**    Not known or not detectable
481
482
483 === 2.4.5  Disalarm: (default: 0) ===
484
485
486 (% style="color:blue" %)**If Disalarm = 1**(%%), NDS03A 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.
487
488 (% style="color:blue" %)**If Disalarm = 0**(%%), NDS03A 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.
489
490 (% style="color:red" %)**Note:**(%%) When Disalarm=0, a high frequently open/close event will cause lots of uplink and drain battery very fast.
491
492
493 === 2.4.6  Keep Status & Keep Time ===
494
495
496 Shows the configure value of Alarm Base on Timeout Feature
497
498
499 === 2.4.7  Timestamp ===
500
501
502 Timestamp : 0x6315537b =1662342011
503
504
505 === 2.4.8  Switch Dual Channel Mode ===
506
507
508 NDS03A can connect two door sensors. Another door sensor can be connected to PB15 pin. Both channels support alarm function.
509
510
511 == 2.5  Downlink Payload ==
512
513
514 By default, NDS03A prints the downlink payload to console port.
515
516 [[image:image-20221021111414-18.png]] ​
517
518
519 **Examples:**
520
521 * (% style="color:#037691" %)**Set TDC**
522
523 If the payload=0100003C, it means set the END Node's TDC to 0x00003C=60(S), while type code is 01.
524
525 Payload:    01 00 00 1E    TDC=30S
526
527 Payload:    01 00 00 3C    TDC=60S
528
529 * (% style="color:#037691" %)**Reset**
530
531 If payload = 0x04FF, it will reset the NDS03A
532
533 * (% style="color:#037691" %)**INTMOD**
534
535 Downlink Payload: 06000003, Set AT+INTMOD=3
536
537
538 == 2.6  ​LED Indicator ==
539
540
541 The NDS03A has an internal LED which is to show the status of different states.
542
543 * When the device starts normally, the LED will light up for 1 second.
544 * After NDS03A join NB-IoT network. The LED will be ON for 3 seconds.
545 * For each uplink probe, LED will be on for 500ms.
546
547
548
549 == 2.7  Alarm Base on Timeout ==
550
551
552 NDS03A 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:
553
554
555 (% style="color:blue" %)**1. Keep Status: Status to be monitor**
556
557 Keep Status = 1: Monitor Close to Open event
558
559 Keep Status = 0: Monitor Open to Close event
560
561
562 (% style="color:blue" %)**2. Keep Time: Timeout to send an Alarm**
563
564 Range 0 ~~ 65535(0xFFFF) seconds.
565
566 If keep time = 0, Disable Alarm Base on Timeout feature.
567
568 If keep time > 0, device will monitor the keep status event and send an alarm when status doesn't change after timeout.
569
570
571 (% style="color:blue" %)**AT Command to configure:**
572
573 (% style="color:blue" %)**PB14 PIN:**
574
575 (% style="color:#037691" %)**AT+TTRIG=1,30** (%%) **~-~->**  When the **Keep Status** change from connected to disconnect, and device remains in disconnect status for more than 30 seconds. NDS03A will send an uplink packet, the [[Alarm bit>>url:http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/CPL01%20LoRaWAN%20Outdoor%20PulseContact%20%20Sensor%20Manual/#H2.3.3Real-TimeOpen2FCloseStatus2CUplinkFPORT3D2]] (the second bit of 1^^st^^ byte of payload) on this uplink packet is set to 1.
576
577 (% style="color:#037691" %)**AT+TTRIG=0,0 ** (%%) **~-~->** Default Value, disable timeout Alarm.
578
579
580 (% style="color:blue" %)**PB15 PIN:**
581
582 (% style="color:#037691" %)**AT+TTRIG2=1,30**
583
584 (% style="color:#037691" %)**AT+TTRIG2=0,0 **
585
586
587 == 2.8  Set debug mode ==
588
589
590 Feature: Enable or Disable debug mode
591
592 (% style="color:blue" %)**AT Command: AT+DEBUG**
593
594 [[image:image-20221021111629-21.png]]
595
596
597
598 == 2.9  Clear Flash Record ==
599
600
601 Feature: Clear flash storage for data log feature.
602
603 (% style="color:blue" %)**AT Command: AT+CLRDTA**
604
605 [[image:image-20221021111527-19.png]]
606
607
608
609 == 2.10  Count Mod ==
610
611
612 (% style="color:blue" %)**AT Command: AT+COUNTMOD**
613
614 [[image:image-20221118092935-1.png]]
615
616
617
618 == 2.11  Interrupt Pin Channel Mod ==
619
620
621 (% style="color:blue" %)**AT Command: AT+TTRCHANNEL**
622
623 [[image:image-20221118093144-2.png]]
624
625
626
627 == 2.12 TTRIG1/2 timeout status alarm ==
628
629
630 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.
631
632 (% style="color:blue" %)**AT Command: AT+TTRALARM**
633
634 [[image:image-20221118093512-3.png]]
635
636
637
638 == 2.13  Select counting mode ==
639
640
641 (% style="color:blue" %)**AT Command: AT+TTRMODx=a,b**
642
643 When (% style="color:red" %)**a=0**(%%), the door is opened to count, and when (% style="color:red" %)**a=1**(%%),the closed door is counted.
644
645 When (% style="color:red" %)**b=0**(%%), it is the last door open duration, and when (% style="color:red" %)**b=1**(%%),the last door close duration.
646
647 [[image:image-20221118093658-4.png]]
648
649
650
651
652 == 2.14  Set the number of data to be uploaded and the recording time ==
653
654
655 (% style="color:blue" %)**AT Command:**
656
657 (% style="color:#037691" %)**AT+TR=900**(%%)  ~/~/  The unit is seconds, and the default is to record data once every 900 seconds.( The minimum can be set to 180 seconds)
658
659 (% style="color:#037691" %)**AT+NOUD=8**(%%)** ** ~/~/  The device uploads 0 sets of recorded data by default. Up to 32 sets of record data can be uploaded.
660
661
662 == 2.15  Read or Clear cached data ==
663
664
665 (% style="color:blue" %)**AT Command:**
666
667 (% style="color:#037691" %)**AT+CDP**  (%%) ~/~/ Read cached data
668
669 (% style="color:#037691" %)**AT+CDP=0**  (%%) ~/~/ Clear cached data ​
670
671 [[image:image-20221118094227-5.png]]
672
673
674
675 == 2.16  ​Firmware Change Log ==
676
677
678 Download URL & Firmware Change log: [[https:~~/~~/www.dropbox.com/sh/hacq385w6qgnonr/AAC3D79GFGF1JdZUIzNegn2Ha?dl=0>>https://www.dropbox.com/sh/hacq385w6qgnonr/AAC3D79GFGF1JdZUIzNegn2Ha?dl=0]]
679
680 Upgrade Instruction: [[Upgrade Firmware>>||anchor="H5.1200BHowtoUpgradeFirmware"]]
681
682
683
684 == 2.17  ​Battery Analysis ==
685
686
687 === 2.17.1  ​Battery Type ===
688
689
690 The NDS03A battery is a combination of an 8500mAh Li/SOCI2 Battery and a Super Capacitor. The battery is non-rechargeable battery type with a low discharge rate (<2% per year). This type of battery is commonly used in IoT devices such as water meter.
691
692 The battery is designed to last for several years depends on the actual use environment and update interval. 
693
694 The battery-related documents as below:
695
696 * [[Battery Dimension>>url:http://www.dragino.com/downloads/index.php?dir=datasheet/Battery/ER26500/]]
697
698 * [[Lithium-Thionyl Chloride Battery datasheet>>url:http://www.dragino.com/downloads/index.php?dir=datasheet/Battery/ER26500/]]
699
700 * [[Lithium-ion Battery-Capacitor datasheet>>url:http://www.dragino.com/downloads/index.php?dir=datasheet/Battery/ER26500/]]
701
702 [[image:image-20221021111911-26.png]] ​
703
704
705
706 === 2.17.2  Power consumption Analyze ===
707
708
709 Dragino battery powered product are all runs in Low Power mode. We have an update battery calculator which base on the measurement of the real device. User can use this calculator to check the battery life and calculate the battery life if want to use different transmit interval.
710
711 Instruction to use as below:
712
713 (% style="color:blue" %)**Step 1:  **(%%)Downlink the up-to-date DRAGINO_Battery_Life_Prediction_Table.xlsx from: [[https:~~/~~/www.dragino.com/downloads/index.php?dir=LoRa_End_Node/Battery_Analyze/>>url:https://www.dragino.com/downloads/index.php?dir=LoRa_End_Node/Battery_Analyze/]]
714
715 (% style="color:blue" %)**Step 2: **(%%) Open it and choose
716
717 * Product Model
718
719 * Uplink Interval
720
721 * Working Mode
722
723 And the Life expectation in difference case will be shown on the right.
724
725 [[image:1666596205057-567.png]] ​
726
727
728
729 === 2.17.3  ​Battery Note ===
730
731
732 The Li-SICO battery is designed for small current / long period application. It is not good to use a high current, short period transmit method. The recommended minimum period for use of this battery is 5 minutes. If you use a shorter period time to transmit LoRa, then the battery life may be decreased.
733
734
735
736 === 2.17.4  Replace the battery ===
737
738
739 The default battery pack of NDS03A includes a ER26500 plus super capacitor. If user can't find this pack locally, they can find ER26500 or equivalence without the SPC1520 capacitor, which will also work in most case. The SPC can enlarge the battery life for high frequency use (update period below 5 minutes).
740
741
742
743 = 3. ​ Access NB-IoT Module =
744
745
746 Users can directly access the AT command set of the NB-IoT module.
747
748 The AT Command set can refer the BC35-G NB-IoT Module AT Command: [[https:~~/~~/www.dragino.com/downloads/index.php?dir=datasheet/other_vendors/BC35-G/>>url:https://www.dragino.com/downloads/index.php?dir=datasheet/other_vendors/BC35-G/]] 
749
750 [[image:image-20221118094449-6.png]] ​
751
752
753
754 = 4.  Using the AT Commands =
755
756
757 == 4.1  Access AT Commands ==
758
759
760 See this link for detail:  [[https:~~/~~/www.dropbox.com/sh/351dwor6joz8nwh/AADn1BQaAAxLF_QMyU8NkW47a?dl=0>>url:https://www.dropbox.com/sh/351dwor6joz8nwh/AADn1BQaAAxLF_QMyU8NkW47a?dl=0]]
761
762 AT+<CMD>?  : Help on <CMD>
763
764 AT+<CMD>         : Run <CMD>
765
766 AT+<CMD>=<value> : Set the value
767
768 AT+<CMD>=?  : Get the value
769
770
771 (% style="color:blue" %)**General Commands**      
772
773 AT  : Attention       
774
775 AT?  : Short Help     
776
777 ATZ  : MCU Reset    
778
779 AT+TDC  : Application Data Transmission Interval
780
781 AT+CFG  : Print all configurations
782
783 AT+CFGMOD           : Working mode selection
784
785 AT+INTMOD            : Set the trigger interrupt mode
786
787 AT+5VT  : Set extend the time of 5V power  
788
789 AT+PRO  : Choose agreement
790
791 AT+RXDL  : Extend the sending and receiving time
792
793 AT+SERVADDR  : Server Address
794
795 AT+TR      :  Get or Set record time
796
797 AT+NOUD      : Get or Set the number of data to be uploaded
798
799 AT+CDP     :  Read or Clear cached data
800
801 AT+ DEBUG   : Enable or Disable debug mode
802
803 AT+ TTRIG1   : Get or Set PB14 PIN Alarm Base on Timeout
804
805 AT+ TTRIG2   : Get or Set PB15 PIN Alarm Base on Timeout
806
807 AT+COUNTMOD  :  Get or Set the count mode
808
809 AT+TTRCHANNEL  : Get or Set the number of interrupt channels
810
811 AT+TTRALARM : Get or Set TTRIG1 of Alarm interval (unit: minute)
812
813 AT+DISALARM  : Enable/Disable Alarm for door open/close or water leak event
814
815 AT+ CLRC   :  Clear current door open count
816
817
818 (% style="color:blue" %)**COAP Management**      
819
820 AT+URI            : Resource parameters
821
822
823 (% style="color:blue" %)**UDP Management**
824
825 AT+CFM          : Upload confirmation mode (only valid for UDP)
826
827
828 (% style="color:blue" %)**MQTT Management**
829
830 AT+CLIENT               : Get or Set MQTT client
831
832 AT+UNAME  : Get or Set MQTT Username
833
834 AT+PWD                  : Get or Set MQTT password
835
836 AT+PUBTOPIC  : Get or Set MQTT publish topic
837
838 AT+SUBTOPIC  : Get or Set MQTT subscription topic
839
840
841 (% style="color:blue" %)**Information**          
842
843 AT+FDR  : Factory Data Reset
844
845 AT+PWORD  : Serial Access Password
846
847
848
849 = ​5.  FAQ =
850
851
852 == 5.1 ​ How to Upgrade Firmware ==
853
854
855 User can upgrade the firmware for 1) bug fix, 2) new feature release.
856
857 Please see this link for how to upgrade:  [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Firmware%20Upgrade%20Instruction%20for%20STM32%20base%20products/#H2.HardwareUpgradeMethodSupportList>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20Upgrade%20Instruction%20for%20STM32%20base%20products/#H2.HardwareUpgradeMethodSupportList]]
858
859 (% style="color:red" %)**Notice: **(% style="color:blue" %)**NDS03A** (%%)**and (% style="color:blue" %)LDS03A(%%)**(% style="color:blue" %) (%%)**share the same mother board. They use the same connection and method to update.**
860
861
862
863 = 6.  Trouble Shooting =
864
865
866 == 6.1  ​Connection problem when uploading firmware ==
867
868
869 (% style="color:blue" %)**Please see: **[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Firmware%20Upgrade%20Instruction%20for%20STM32%20base%20products/#H3.3Troubleshooting>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20Upgrade%20Instruction%20for%20STM32%20base%20products/#H3.3Troubleshooting]]
870
871
872
873 == 6.2  AT Command input doesn't work ==
874
875
876 In the case if user can see the console output but can't type input to the device. Please check if you already include the (% style="color:green" %)**ENTER**(%%) while sending out the command. Some serial tool doesn't send (% style="color:green" %)**ENTER** (%%)while press the send key, user need to add ENTER in their string.
877
878
879
880 = 7. ​ Order Info =
881
882
883 Part Number**:** NDS03A
884
885
886
887 = 8.  Packing Info =
888
889
890 (% style="color:blue" %)**Package Includes**:
891
892 * NDS03A Open/Close Door Sensor x 1
893
894 = 9.  Support =
895
896
897 * 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.
898
899 * Provide as much information as possible regarding your enquiry (product models, accurately describe your problem and steps to replicate it etc) and send a mail to [[support@dragino.com>>url:http://../../../../../../D:%5C%E5%B8%82%E5%9C%BA%E8%B5%84%E6%96%99%5C%E8%AF%B4%E6%98%8E%E4%B9%A6%5CLoRa%5CLT%E7%B3%BB%E5%88%97%5Csupport@dragino.com]]
900
901