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