Show last authors
1 (% style="text-align:center" %)
2 [[image:image-20221112113258-1.jpeg]]
3
4
5
6
7 **Table of Contents:**
8
9 {{toc/}}
10
11
12
13
14 = 1. Introduction =
15
16 == 1.1 ​What is NDS01 NB-IoT Door Sensor ==
17
18
19 (((
20 The Dragino NDS01 is a (% style="color:blue" %)**NB-IOT Door Sensor**(%%) for Internet of Things solution. It is used to (% style="color:blue" %)**detect the open/close event for door and uplink the event** (%%)to IoT server via NB-IoT network.
21 )))
22
23 (((
24 Besides open/close event, NDS01 also has an internal temperature and humidity sensor which can detect the temperature and humidity inside the sensor.
25 )))
26
27 (((
28 (% style="color:blue" %)**NarrowBand-Internet of Things (NB-IoT)**(%%) is a 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.
29 )))
30
31 (((
32 NDS01 is powered by (% style="color:blue" %)**2 x AAA batteries**(%%) for long term use.
33 )))
34
35 (((
36 *The measured temperature is 2~~3 degree higher than the actually environment temperature out of NDS01. 
37 )))
38
39
40 [[image:1668224602353-769.png]]
41
42
43 == 1.2 Specifications ==
44
45
46 (% style="color:blue" %)**Common DC Characteristics:**
47
48 * Supply Voltage: 2.1v ~~ 3.6v
49 * Operating Temperature: -10 ~~ 50°C
50
51 (% style="color:blue" %)**NB-IoT Spec:**
52
53 * B1 @H-FDD: 2100MHz
54 * B3 @H-FDD: 1800MHz
55 * B8 @H-FDD: 900MHz
56 * B5 @H-FDD: 850MHz
57 * B20 @H-FDD: 800MHz
58 * B28 @H-FDD: 700MHz
59
60 (% style="color:blue" %)**Power Consumption**
61
62 * IDEL Mode: 10uA @ 3.3v
63 * Max transmit power: <500mA@3.3v
64
65
66
67
68 == 1.3 Features ==
69
70
71 * NB-IoT Bands: B1/B3/B5/B8/B20/B28 @H-FDD
72 * Ultra low power consumption
73 * Door Open / Close Detect
74 * Device remove alarm
75 * Uplink Protocol: TCP or UDP
76 * Uplink on periodically
77 * Micro SIM card slot for NB-IoT SIM
78 * 2 x AAA LR03 Batteries
79
80 == 1.4  ​Applications ==
81
82
83 * Smart Buildings & Home Automation
84 * Logistics and Supply Chain Management
85 * Smart Cities
86 * Smart Factory
87
88 = 2. Use NDS01 to communicate with IoT Server =
89
90 == 2.1 How it works ==
91
92
93 The NDS01 is equipped with a NB-IoT module, the pre-loaded firmware in NDS01 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 NDS01.
94
95 The diagram below shows the working flow in default firmware of NDS01:
96
97 [[image:1671503828297-252.png||height="1120" width="554"]]
98
99
100 == 2.2 Configure the NDS01 ==
101
102 === 2.2.1 Test Requirement ===
103
104
105 To use NDS01 in your city, make sure meet below requirements:
106
107 * Your local operator has already distributed a NB-IoT Network there.
108 * The local NB-IoT network used the band that NDS01 supports.
109 * Your operator is able to distribute the data received in their NB-IoT network to your IoT server.
110
111 Below figure shows our testing structure.Here we have NB-IoT network coverage by China Mobile, the band they use is B8.  The NDS01 will use (% style="color:red" %)**UDP(120.24.4.116:5601)** (%%)or (% style="color:red" %)**TCP(120.24.4.116:5600) **(%%)protocol to send data to IoT server.
112
113
114 [[image:1668224789474-811.png]]
115
116
117 === 2.2.2 Insert SIM card ===
118
119
120 Insert the NB-IoT Card get from your provider.
121
122 User need to take out the NB-IoT module and insert the SIM card like below:
123
124 [[image:1668224846067-276.png]]
125
126
127 === 2.2.3 Configure NDS01 ===
128
129
130 User need to configure NDS01 via serial port to set the **Server Address** / **Uplink Topic** to define where and how-to uplink packets. NDS01 support AT Commands, user can use a USB to TTL adapter to connect to NDS01 and use AT Commands to configure it, NDS01 needs to be in the wake-up state when using AT commands,as below.
131
132 [[image:1668224930349-417.png]]
133
134
135 (% style="color:blue" %)**Connection:**
136
137 **~ (% style="background-color:yellow" %)USB TTL GND <~-~-~-~-> GND(%%)**
138
139 **~ (% style="background-color:yellow" %)USB TTL TXD  <~-~-~-~-> UART_RXD(%%)**
140
141 **~ (% style="background-color:yellow" %)USB TTL RXD  <~-~-~-~-> UART_TXD(%%)**
142
143
144 In the PC, use below serial tool settings:
145
146 * Baud:  (% style="color:green" %)**115200**
147
148 * Data bits:**  (% style="color:green" %)8(%%)**
149
150 * Stop bits:  (% style="color:green" %)**1**
151
152 * Parity:  (% style="color:green" %)**None**
153
154 * Flow Control: (% style="color:green" %)**None**
155
156 //**If you are using Mac OS, please download the serial port assistant for Mac OS. The settings and operation are the same as Windows**//
157
158 [[image:image-20230215100734-1.png||height="550" width="863"]]
159
160
161 After powering on the NDS01, the following information will be printed
162
163 [[image:1668225099789-919.png]]
164
165
166 (% style="color:blue" %)**AT command set**
167
168 (% style="color:#037691" %)**1. Set and query the communication protocol**
169
170 **Send: ** AT+PRO=<val>  Val: 0:TCP 1:UDP
171
172 **Reply: **OK
173
174 **Send: ** AT+PRO?  ~/~/ Inquire
175
176 **Reply:** +PRO:0
177
178 OK
179
180
181 (% style="color:#037691" %)**2. Set and query the server address**
182
183 **Send:** AT+SERVADDR=<server>,<port>        
184
185 **Reply:** OK
186
187 **Send:** AT+SERVADDR?  ~/~/ Inquire
188
189 **Reply: **+SERVADDR:<server>,<port>
190
191 OK
192
193
194 (% style="color:#037691" %)**3. Set and query the TDC**
195
196 **Send:** AT+TDC=<value>  ~/~/ Heartbeat time, in seconds, the default is 86400s,which is 24 hours
197
198 **Reply:** OK
199
200 **Send:** AT+TDC?       ~/~/ Inquire
201
202 **Reply:** +TDC:<value>
203
204 OK
205
206
207 (% style="color:#037691" %)**4. Query parameters**
208
209 **Send:** AT+CFG?            
210
211 **Reply:** +PRO:0
212
213 +SERVADDR:120.27.12.119,2023
214
215 +TDC:86400
216
217 +CSQ:31
218
219 +IMEI:868163049937383
220
221 +ICCID:898604611619C0854626
222
223 +IMSI:460048118204626
224
225 OK
226
227
228 (% style="color:#037691" %)**5. Set and query the APN**
229
230 **Send:** AT+APN="<apn>"  ~/~/ Set APN          
231
232 **Reply:** OK
233
234 **Send:** AT+APN?  ~/~/ Inquire
235
236 **Reply:** +APN:"cmiot"
237
238 OK
239
240
241 (% style="color:#037691" %)**6. Alarm and Silencer**
242
243 **Send: **AT+ALARM=<value>  ~/~/ 0~~1,0: mute 1: buzzer alarm (note that no data will be reported, only the buzzer and the red light are on, if it is in silent mode, only the red light is on)
244
245 **Reply:** OK
246
247
248 === 2.2.4 Use UDP protocol to uplink data (Default protocol) ===
249
250
251 * (% style="color:blue" %)**AT+PRO=1   **(%%) ~/~/ Set to use UDP protocol to uplink
252
253 * (% style="color:blue" %)**AT+SERVADDR=119.91.62.30,1999   ** (%%) ~/~/ to set UDP server address and port
254
255 [[image:1668231759500-524.png]]
256
257
258 === 2.2.5 Use TCP protocol to uplink data ===
259
260
261 * (% style="color:blue" %)**AT+PRO=0   ** (%%) ~/~/ Set to use TCP protocol to uplink
262
263 * (% style="color:blue" %)**AT+SERVADDR=119.91.62.30,2002   **(%%) ~/~/ to set TCP server address and port
264
265 [[image:1668231789502-211.png]]
266
267
268 === 2.2.6 Change Update Interval ===
269
270
271 User can use below command to change the (% style="color:blue" %)**uplink interval**.
272
273 * (% style="color:blue" %)**AT+TDC=86400      ** (%%)~/~/ Set Update Interval to 86400s
274
275 (% style="color:red" %)**NOTE:**
276
277 ~1. By default, the device will send an uplink message every 24 hour (86400s).
278
279
280 [[image:1668231824288-204.png]]
281
282
283 == 2.3 Uplink Payload ==
284
285
286 registration package, uplink payload includes in total 61 bytes
287
288 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:500px" %)
289 |(% style="background-color:#4f81bd; color:white; width:60px" %)(((
290 **Size(bytes)**
291 )))|(% style="background-color:#4f81bd; color:white; width:30px" %)**2**|(% style="background-color:#4f81bd; color:white; width:40px" %)**1**|(% style="background-color:#4f81bd; color:white; width:50px" %)**1**|(% style="background-color:#4f81bd; color:white; width:50px" %)**1**|(% style="background-color:#4f81bd; color:white; width:60px" %)**1**|(% style="background-color:#4f81bd; color:white; width:50px" %)**15**|(% style="background-color:#4f81bd; color:white; width:40px" %)**15**|(% style="background-color:#4f81bd; color:white; width:30px" %)**20**|(% style="background-color:#4f81bd; color:white; width:30px" %)**1**|(% style="background-color:#4f81bd; color:white; width:30px" %)**1**|(% style="background-color:#4f81bd; color:white; width:30px" %)**3**
292 |(% style="width:50px" %)Value|(% style="width:51px" %)head|(% style="width:68px" %)Version|(% style="width:81px" %)data type|(% style="width:96px" %)Data length|(% style="width:94px" %)device type|(% style="width:80px" %)device ID|(% style="width:49px" %)IMSI|(% style="width:57px" %)ICCID|(% style="width:43px" %)BAT|(% style="width:59px" %)Signal|(% style="width:41px" %)tail
293
294 The payload is ASCII string, representative same HEX: **0x (% style="color:red" %)4B57 (% style="color:blue" %)10 (% style="color:green" %)01 (% style="color:#00b0f0" %)34 (% style="color:#7030a0" %) 01 (% style="color:#d60093" %)383639393735303334343431303832 (% style="color:#0020b0" %)3839383631313230323234303134333938373632 (% style="color:#420042" %)1E (% style="color:#663300" %)15 (% style="color:#660066" %)494F54(%%)**
295
296 **where:**
297
298 * (% style="color:#037691" %)**Head:** (%%)0x4B57(fixed)
299
300 * (% style="color:#037691" %)**Version:** (%%)0x10=”V1.0”
301
302 * (% style="color:#037691" %)**Data type:** (%%)0x01=1(1:register,2:data sending)
303
304 * (% style="color:#037691" %)**Data length:** (%%)0x34=52(Valid data is 52 bytes)
305
306 * (% style="color:#037691" %)**Device type:**(%%) 0x01 = 1(Representative NDS01)
307
308 * (% style="color:#037691" %)**Device ID:** (%%)0x383639393735303334343431303832=869975034441082(ASCII)
309
310 * (% style="color:#037691" %)**IMSI:**(%%) 0x343630313133313138373433373332 = 460113118743732(ASCII)
311
312 * (% style="color:#037691" %)**ICCID:**(%%) 0x3839383631313230323234303134333938373632=89861120224014398762(ASCII)
313
314 * (% style="color:#037691" %)**Bat: **(%%)0x1E = 30/10=3.0V
315
316 * (% style="color:#037691" %)**Signal:**(%%) 0x15=21
317
318 (% style="color:red" %)** 0**(%%)  -113dBm or less
319
320 (% style="color:red" %)** 1**  (%%)-111dBm
321
322 (% style="color:red" %)** 2...30**(%%)  -109dBm... -53dBm
323
324 (% style="color:red" %)** 31**   (%%)-51dBm or greater
325
326 (% style="color:red" %)** 99**   (%%)Not known or not detectable
327
328 * (% style="color:#037691" %)**Tail: **(%%)0x494F54(fixed)
329
330 data upload, uplink payload includes in total 32 bytes
331
332 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:430px" %)
333 |(% style="background-color:#4f81bd; color:white; width:60px" %)(((
334 **Size(bytes)**
335 )))|(% style="background-color:#4f81bd; color:white; width:40px" %)**2**|(% style="background-color:#4f81bd; color:white; width:40px" %)**1**|(% style="background-color:#4f81bd; color:white; width:50px" %)**1**|(% style="background-color:#4f81bd; color:white; width:60px" %)**1**|(% style="background-color:#4f81bd; color:white; width:60px" %)**1**|(% style="background-color:#4f81bd; color:white; width:60px" %)**15**|(% style="background-color:#4f81bd; color:white; width:60px" %)**1**
336 |(% style="width:60px" %)Value|(% style="width:51px" %)head|(% style="width:68px" %)Version|(% style="width:51px" %)data type|(% style="width:68px" %)Data length|(% style="width:61px" %)device type|(% style="width:64px" %)device ID|(% style="width:57px" %)event type
337
338 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:430px" %)
339 |(% style="background-color:#4f81bd; color:white; width:90px" %)**1**|(% style="background-color:#4f81bd; color:white; width:30px" %)**1**|(% style="background-color:#4f81bd; color:white; width:35px" %)**1**|(% style="background-color:#4f81bd; color:white; width:60px" %)**1**|(% style="background-color:#4f81bd; color:white; width:65px" %)**1**|(% style="background-color:#4f81bd; color:white; width:60px" %)**1**|(% style="background-color:#4f81bd; color:white; width:60px" %)**1**|(% style="background-color:#4f81bd; color:white; width:30px" %)**3**
340 |(% style="width:78px" %)Door magnetic state|(% style="width:42px" %)BAT|(% style="width:58px" %)Signal|(% style="width:67px" %)(((
341 Temp integer
342 )))|(% style="width:72px" %)(((
343 Temp decimal
344 )))|(% style="width:67px" %)(((
345 Hum integer
346 )))|(% style="width:69px" %)(((
347 Hum decimal
348 )))|(% style="width:38px" %)tail
349
350 The payload is ASCII string, representative same HEX: **0x (% style="color:red" %)4B57 (% style="color:blue" %)10 (% style="color:green" %)02 (% style="color:#00b0f0" %)14 (% style="color:#7030a0" %)01 (% style="color:#d60093" %)383639393735303334343431303832 (% style="color:#a14d07" %)01 (% style="color:#0020b0" %)00 (% style="color:#420042" %)20 (% style="color:#663300" %)15 (% style="color:#660066" %)1c (% style="color:#aaaa40" %)55 (% style="color:#abaa70" %)23 (% style="color:#ba5a70" %)12 (% style="color:purple" %)454F54 (%%)**
351
352 **where:**
353
354 * (% style="color:#037691" %)**Head:** (%%)0x4B57(fixed)
355
356 * (% style="color:#037691" %)**Version:** (%%)0x10=”V1.0”
357
358 * (% style="color:#037691" %)**Data type:** (%%)0x02=2(1:register,2:data sending)
359
360 * (% style="color:#037691" %)**Data length:** (%%)0x14=20(Valid data is 20 bytes)
361
362 * (% style="color:#037691" %)**Device type: **(%%)0x01 = 1(Representative NDS01)
363
364 * (% style="color:#037691" %)**Device ID:** (%%)0x383639393735303334343431303832=869975034441082(ASCII)
365
366 * (% style="color:#037691" %)**Event type:** (%%)0x01
367
368 (% style="color:red" %)** 01:**(%%) TDC
369
370 (% style="color:red" %)** 02:**(%%)** **alarm
371
372 (% style="color:red" %)** 03:**(%%) remove alarm
373
374 (% style="color:red" %)**04: **(%%)dismantling alarm
375
376 (% style="color:red" %)**05:** (%%)remove demolition alarm
377
378 (% style="color:red" %)**06:** (%%)low voltage
379
380 **~ (% style="color:red" %)07: (%%)**remove low voltage
381
382 * (% style="color:#037691" %)**Door magnetic state:** (%%)0x00
383
384 (% style="color:red" %)**00:**(%%) Door sensor is close
385
386 (% style="color:red" %)**01:** (%%)Door sensor is open
387
388 * (% style="color:#037691" %)**Bat:**(%%)** **0x20 = 32/10=3.2V
389
390 * (% style="color:#037691" %)**Signal:**(%%)** **0x15=21
391
392 (% style="color:red" %)** 0**  (%%)-113dBm or less
393
394 (% style="color:red" %)** 1**  (%%)-111dBm
395
396 (% style="color:red" %)** 2...30**(%%) -109dBm... -53dBm
397
398 (% style="color:red" %)** 31**  (%%)-51dBm or greater
399
400 (% style="color:red" %)** 99**  (%%)Not known or not detectable
401
402 * (% style="color:#037691" %)**Temp integer:**(%%) 0x1c=28
403
404 * (% style="color:#037691" %)**Temp decimal:** (%%)0x55=85
405
406 Temp =Temp integer+(Temp decimal)/100=28+85/100=28.85℃
407
408 * (% style="color:#037691" %)**Hum integer:  **(%%)0x23=35
409
410 * (% style="color:#037691" %)**Hum decimal:** (%%)0x12=18
411
412 Hum =Hum integer+(Hum decimal)/100=35+18/100=35.18**%**rh
413
414 * (% style="color:#037691" %)**Tail:** (%%)0x494F54(fixed)
415
416 == 2.4 Node-Red Example ==
417
418
419 Please refer to this link for the use of Node-RED: [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Node-RED/>>http://wiki.dragino.com/xwiki/bin/view/Main/Node-RED/]]
420
421 Please visit this link to download the Node-RED process: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder/tree/main/Node-RED>>url:https://github.com/dragino/dragino-end-node-decoder/tree/main/Node-RED]]
422
423 [[image:1668234343252-612.png]]
424
425
426 == 2.5 Buttons and LED and Mode ==
427
428
429 (% style="color:blue" %)**Operating mode**
430
431 (1) In the self-check mode (the default is the self-check mode when power on for the first time), the state change of the tamper switch does not trigger an alarm;
432
433 (2) In normal working mode, the state change of the tamper switch triggers an alarm;
434
435 (3) In silent mode (the default is non-silent mode when power on for the first time), the buzzer is silent.
436
437
438 (% style="color:blue" %)**led lights**
439
440 (1) After the device is powered on, the green light flashes once;
441
442 (2) The device does not set server parameters or cannot connect to the server, and the green light flashes quickly;
443
444 (3) SIM card recognition fails, the green light is always on for 20s;
445
446 (4) The equipment signal is poor, and the green light flashes once every 3 seconds;
447
448 (5) When the device sends data, the green light flashes twice;
449
450 (6) The communication of the equipment is normal, and the green light flashes 3 times continuously;
451
452 (7) Trigger the tamper switch, the red light is always on for 30s, and goes out when the alarm is canceled;
453
454 (8) Trigger the door magnetic alarm, the red light is always on for 30s, and goes out when the alarm is canceled;
455
456
457 (% style="color:blue" %)**buzzer**
458
459 (1) When the door magnetic alarm is triggered, the buzzer will sound for 30s; after the alarm is restored, the buzzer will be silenced;
460
461 (2) Enter the normal working mode (the tamper switch is closed for more than 5s or the door sensor is locked for more than 5s), the buzzer will sound for 1500ms;
462
463 (3) After entering the normal working mode, the tamper switch does not close, the buzzer sounds for 30s, the tamper switch is closed, and the buzzer sounds 1 time;
464
465 (4) When the door sensor does not alarm, press the button to trigger the alarm, and the buzzer will sound for 30s; when the door sensor alarms, press it once to cancel the alarm, and the buzzer will be silenced.
466
467
468 (% style="color:blue" %)**button**
469
470 (1) When there is no alarm, press it once to trigger the alarm, and the buzzer will sound; when it alarms, press the buzzer to silence the sound.
471
472 (2) Press twice to silence the buzzer;
473
474 (3) Press the button three times or more, when the mute function is turned off, the mute function is turned on, and the green light flashes once; when the mute function is turned on, the mute function is turned off, and the green light flashes once.
475
476
477 (% style="color:blue" %)**data pack**
478
479 (1) The device needs to send a registration packet and a heartbeat packet every time it is powered on and registered;
480
481 (2) The heartbeat time is reported once every 24 hours by default.
482
483
484 = 3. FAQ =
485
486 == 3.1 How to Upgrade Firmware ==
487
488
489 User can upgrade the firmware for 1) bug fix, 2) new feature release.
490
491 Burning software please go to this link to download: [[https:~~/~~/www.dropbox.com/sh/floxy4qsf2rgnrc/AAAJXz_rex37dPHwqVMBaqI_a?dl=0>>https://www.dropbox.com/sh/floxy4qsf2rgnrc/AAAJXz_rex37dPHwqVMBaqI_a?dl=0]]
492
493 (% style="color:red" %)**Note:**
494
495 Disconnect one battery before starting the upgrade
496
497 Please use 1.8V USB TO TTL serial port
498
499 (% style="color:blue" %)**Connection:**
500
501 * (% style="background-color:yellow" %)**USB TTL GND <~-~-~-~-> GND**
502
503 * (% style="background-color:yellow" %)**USB TTL TXD  <~-~-~-~-> UART_RXD**
504
505 * (% style="background-color:yellow" %)**USB TTL RXD  <~-~-~-~-> UART_TXD**
506
507 (% style="color:blue" %)**1.  Double-click "FlashTool.exe" to start the program**
508
509
510 [[image:1668234935834-828.png]]
511
512
513 [[image:1668234950508-848.png]]
514
515
516
517 (% style="color:blue" %)**2.  Select burn serial port and firmware package to complete the upgrade**
518
519 [[image:1668234971869-640.png]]
520
521
522 [[image:1668234993821-197.png]]
523
524
525
526 (% style="color:blue" %)**3.  Install the battery to the node, and the upgrade will start at this time**
527
528 [[image:1668235018478-767.png]]
529
530
531
532 (% style="color:blue" %)**4.  The following screenshot appears, indicating that the upgrade has been successful**
533
534 [[image:1668235042540-676.png]]
535
536
537 = 4. Order Info =
538
539
540 Part Number: (% style="color:blue" %)**NDS01**
541
542
543 = 5. Packing Info =
544
545
546 (% style="color:#037691" %)**Package Includes**:
547
548 * NDS01 NB-IoT Door Sensor
549
550 (% style="color:#037691" %)**Dimension and weight**:
551
552 * Device Size:
553 * Device Weight:
554 * Package Size / pcs :
555 * Weight / pcs :
556
557 = 6. Support =
558
559
560 * 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.
561 * 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]].
Copyright ©2010-2022 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0