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
81
82 == 1.4  ​Applications ==
83
84
85 * Smart Buildings & Home Automation
86 * Logistics and Supply Chain Management
87 * Smart Cities
88 * Smart Factory
89
90
91
92 = 2. Use NDS01 to communicate with IoT Server =
93
94 == 2.1 How it works ==
95
96
97 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.
98
99 The diagram below shows the working flow in default firmware of NDS01:
100
101 [[image:1671503828297-252.png||height="1120" width="554"]]
102
103
104 == 2.2 Configure the NDS01 ==
105
106 === 2.2.1 Test Requirement ===
107
108
109 To use NDS01 in your city, make sure meet below requirements:
110
111 * Your local operator has already distributed a NB-IoT Network there.
112 * The local NB-IoT network used the band that NDS01 supports.
113 * Your operator is able to distribute the data received in their NB-IoT network to your IoT server.
114
115 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.
116
117
118 [[image:1668224789474-811.png]]
119
120
121 === 2.2.2 Insert SIM card ===
122
123
124 Insert the NB-IoT Card get from your provider.
125
126 User need to take out the NB-IoT module and insert the SIM card like below:
127
128
129 [[image:1668224846067-276.png]]
130
131
132 === 2.2.3 Configure NDS01 ===
133
134
135 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.
136
137
138 [[image:1668224930349-417.png]]
139
140
141 (% style="color:blue" %)**Connection:**
142
143 **~ (% style="background-color:yellow" %)USB TTL GND <~-~-~-~-> GND(%%)**
144
145 **~ (% style="background-color:yellow" %)USB TTL TXD  <~-~-~-~-> UART_RXD(%%)**
146
147 **~ (% style="background-color:yellow" %)USB TTL RXD  <~-~-~-~-> UART_TXD(%%)**
148
149
150 In the PC, use below serial tool settings:
151
152 * Baud:  (% style="color:green" %)**9600**
153
154 * Data bits:**  (% style="color:green" %)8(%%)**
155
156 * Stop bits:  (% style="color:green" %)**1**
157
158 * Parity:  (% style="color:green" %)**None**
159
160 * Flow Control: (% style="color:green" %)**None**
161
162 After powering on the NDS01, the following information will be printed
163
164 [[image:1668225099789-919.png]]
165
166
167 (% style="color:blue" %)**AT command set**
168
169 (% style="color:#037691" %)**1. Set and query the communication protocol**
170
171 **Send: ** AT+PRO=<val>  Val: 0:TCP 1:UDP
172
173 **Reply: **OK
174
175 **Send: ** AT+PRO?  ~/~/ Inquire
176
177 **Reply:** +PRO:0
178
179 OK
180
181
182 (% style="color:#037691" %)**2. Set and query the server address**
183
184 **Send:** AT+SERVADDR=<server>,<port>        
185
186 **Reply:** OK
187
188 **Send:** AT+SERVADDR?  ~/~/ Inquire
189
190 **Reply: **+SERVADDR:<server>,<port>
191
192 OK
193
194
195 (% style="color:#037691" %)**3. Set and query the TDC**
196
197 **Send:** AT+TDC=<value>  ~/~/ Heartbeat time, in seconds, the default is 86400s,which is 24 hours
198
199 **Reply:** OK
200
201 **Send:** AT+TDC?       ~/~/ Inquire
202
203 **Reply:** +TDC:<value>
204
205 OK
206
207
208 (% style="color:#037691" %)**4. Query parameters**
209
210 **Send:** AT+CFG?            
211
212 **Reply:** +PRO:0
213
214 +SERVADDR:120.27.12.119,2023
215
216 +TDC:86400
217
218 +CSQ:31
219
220 +IMEI:868163049937383
221
222 +ICCID:898604611619C0854626
223
224 +IMSI:460048118204626
225
226 OK
227
228
229 (% style="color:#037691" %)**5. Set and query the APN**
230
231 **Send:** AT+APN="<apn>"  ~/~/ Set APN          
232
233 **Reply:** OK
234
235 **Send:** AT+APN?  ~/~/ Inquire
236
237 **Reply:** +APN:"cmiot"
238
239 OK
240
241
242 (% style="color:#037691" %)**6. Alarm and Silencer**
243
244 **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)
245
246 **Reply:** OK
247
248
249 === 2.2.4 Use UDP protocol to uplink data (Default protocol) ===
250
251
252 * (% style="color:blue" %)**AT+PRO=1   **(%%) ~/~/ Set to use UDP protocol to uplink
253
254 * (% style="color:blue" %)**AT+SERVADDR=119.91.62.30,1999   ** (%%) ~/~/ to set UDP server address and port
255
256 [[image:1668231759500-524.png]]
257
258
259 === 2.2.5 Use TCP protocol to uplink data ===
260
261
262 * (% style="color:blue" %)**AT+PRO=0   ** (%%) ~/~/ Set to use TCP protocol to uplink
263
264 * (% style="color:blue" %)**AT+SERVADDR=119.91.62.30,2002   **(%%) ~/~/ to set TCP server address and port
265
266 [[image:1668231789502-211.png]]
267
268
269 === 2.2.6 Change Update Interval ===
270
271
272 User can use below command to change the (% style="color:blue" %)**uplink interval**.
273
274 * (% style="color:blue" %)**AT+TDC=86400      ** (%%)~/~/ Set Update Interval to 86400s
275
276
277 (% style="color:red" %)**NOTE:**
278
279 ~1. By default, the device will send an uplink message every 24 hour (86400s).
280
281
282 [[image:1668231824288-204.png]]
283
284
285 == 2.3 Uplink Payload ==
286
287
288 registration package, uplink payload includes in total 61 bytes
289
290
291 (% border="1" cellspacing="5" style="background-color:#ffffcc; color:green; width:500px" %)
292 |(% style="width:60px" %)(((
293 **Size(bytes)**
294 )))|(% style="width:30px" %)**2**|(% style="width:40px" %)**1**|(% style="width:50px" %)**1**|(% style="width:50px" %)**1**|(% style="width:60px" %)**1**|(% style="width:50px" %)**15**|(% style="width:40px" %)**15**|(% style="width:30px" %)**30**|(% style="width:30px" %)**1**|(% style="width:30px" %)**1**|(% style="width:30px" %)**3**
295 |(% 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
296
297 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(%%)**
298
299 **where:**
300
301 * (% style="color:#037691" %)**Head:** (%%)0x4B57(fixed)
302
303 * (% style="color:#037691" %)**Version:** (%%)0x10=”V1.0”
304
305 * (% style="color:#037691" %)**Data type:** (%%)0x01=1(1:register,2:data sending)
306
307 * (% style="color:#037691" %)**Data length:** (%%)0x34=52(Valid data is 52 bytes)
308
309 * (% style="color:#037691" %)**Device type:**(%%) 0x01 = 1(Representative NDS01)
310
311 * (% style="color:#037691" %)**Device ID:** (%%)0x383639393735303334343431303832=869975034441082(ASCII)
312
313 * (% style="color:#037691" %)**IMSI:**(%%) 0x343630313133313138373433373332 = 460113118743732(ASCII)
314
315 * (% style="color:#037691" %)**ICCID:**(%%) 0x3839383631313230323234303134333938373632=89861120224014398762(ASCII)
316
317 * (% style="color:#037691" %)**Bat: **(%%)0x1E = 30/10=3.0V
318
319 * (% style="color:#037691" %)**Signal:**(%%) 0x15=21
320
321 (% style="color:red" %)** 0**(%%)  -113dBm or less
322
323 (% style="color:red" %)** 1**  (%%)-111dBm
324
325 (% style="color:red" %)** 2...30**(%%)  -109dBm... -53dBm
326
327 (% style="color:red" %)** 31**   (%%)-51dBm or greater
328
329 (% style="color:red" %)** 99**   (%%)Not known or not detectable
330
331 * (% style="color:#037691" %)**Tail: **(%%)0x494F54(fixed)
332
333 data upload, uplink payload includes in total 32 bytes
334
335 (% border="1" cellspacing="5" style="background-color:#ffffcc; color:green; width:430px" %)
336 |(% style="width:60px" %)(((
337 **Size(bytes)**
338 )))|(% style="width:30px" %)**2**|(% style="width:40px" %)**1**|(% style="width:50px" %)**1**|(% style="width:60px" %)**1**|(% style="width:60px" %)**1**|(% style="width:60px" %)**15**|(% style="width:60px" %)**1**
339 |(% 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
340
341 (% border="1" cellspacing="5" style="background-color:#ffffcc; color:green; width:430px" %)
342 |(% style="width:80px" %)**1**|(% style="width:30px" %)**1**|(% style="width:30px" %)**1**|(% style="width:60px" %)**1**|(% style="width:60px" %)**1**|(% style="width:60px" %)**1**|(% style="width:60px" %)**1**|(% style="width:30px" %)**3**
343 |(% style="width:78px" %)Door magnetic state|(% style="width:42px" %)BAT|(% style="width:58px" %)Signal|(% style="width:67px" %)(((
344 Temp integer
345 )))|(% style="width:72px" %)(((
346 Temp decimal
347 )))|(% style="width:67px" %)(((
348 Hum integer
349 )))|(% style="width:69px" %)(((
350 Hum decimal
351 )))|(% style="width:38px" %)tail
352
353 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 (%%)**
354
355 **where:**
356
357 * (% style="color:#037691" %)**Head:** (%%)0x4B57(fixed)
358
359 * (% style="color:#037691" %)**Version:** (%%)0x10=”V1.0”
360
361 * (% style="color:#037691" %)**Data type:** (%%)0x02=2(1:register,2:data sending)
362
363 * (% style="color:#037691" %)**Data length:** (%%)0x14=20(Valid data is 20 bytes)
364
365 * (% style="color:#037691" %)**Device type: **(%%)0x01 = 1(Representative NDS01)
366
367 * (% style="color:#037691" %)**Device ID:** (%%)0x383639393735303334343431303832=869975034441082(ASCII)
368
369 * (% style="color:#037691" %)**Event type:** (%%)0x01
370
371 (% style="color:red" %)** 01:**(%%) TDC
372
373 (% style="color:red" %)** 02:**(%%)** **alarm
374
375 (% style="color:red" %)** 03:**(%%) remove alarm
376
377 (% style="color:red" %)**04: **(%%)dismantling alarm
378
379 (% style="color:red" %)**05:** (%%)remove demolition alarm
380
381 (% style="color:red" %)**06:** (%%)low voltage
382
383 **~ (% style="color:red" %)07: (%%)**remove low voltage
384
385 * (% style="color:#037691" %)**Door magnetic state:** (%%)0x00
386
387 (% style="color:red" %)**00:**(%%) Door sensor is close
388
389 (% style="color:red" %)**01:** (%%)Door sensor is open
390
391 * (% style="color:#037691" %)**Bat:**(%%)** **0x20 = 32/10=3.2V
392
393 * (% style="color:#037691" %)**Signal:**(%%)** **0x15=21
394
395 (% style="color:red" %)** 0**  (%%)-113dBm or less
396
397 (% style="color:red" %)** 1**  (%%)-111dBm
398
399 (% style="color:red" %)** 2...30**(%%) -109dBm... -53dBm
400
401 (% style="color:red" %)** 31**  (%%)-51dBm or greater
402
403 (% style="color:red" %)** 99**  (%%)Not known or not detectable
404
405 * (% style="color:#037691" %)**Temp integer:**(%%) 0x1c=28
406
407 * (% style="color:#037691" %)**Temp decimal:** (%%)0x55=85
408
409 Temp =Temp integer+(Temp decimal)/100=28+85/100=28.85℃
410
411 * (% style="color:#037691" %)**Hum integer:  **(%%)0x23=35
412
413 * (% style="color:#037691" %)**Hum decimal:** (%%)0x12=18
414
415 Hum =Hum integer+(Hum decimal)/100=35+18/100=35.18**%**rh
416
417 * (% style="color:#037691" %)**Tail:** (%%)0x494F54(fixed)
418
419
420
421 == 2.4 Node-Red Example ==
422
423
424 Please refer to this link for the use of Node-RED:
425
426 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Node-RED/>>http://wiki.dragino.com/xwiki/bin/view/Main/Node-RED/]]
427
428 Please visit this link to download the Node-RED process:
429
430 [[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]]
431
432 [[image:1668234343252-612.png]]
433
434
435 == 2.5 Buttons and LED and Mode ==
436
437
438 (% style="color:blue" %)**Operating mode**
439
440 (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;
441
442 (2) In normal working mode, the state change of the tamper switch triggers an alarm;
443
444 (3) In silent mode (the default is non-silent mode when power on for the first time), the buzzer is silent.
445
446
447 (% style="color:blue" %)**led lights**
448
449 (1) After the device is powered on, the green light flashes once;
450
451 (2) The device does not set server parameters or cannot connect to the server, and the green light flashes quickly;
452
453 (3) SIM card recognition fails, the green light is always on for 20s;
454
455 (4) The equipment signal is poor, and the green light flashes once every 3 seconds;
456
457 (5) When the device sends data, the green light flashes twice;
458
459 (6) The communication of the equipment is normal, and the green light flashes 3 times continuously;
460
461 (7) Trigger the tamper switch, the red light is always on for 30s, and goes out when the alarm is canceled;
462
463 (8) Trigger the door magnetic alarm, the red light is always on for 30s, and goes out when the alarm is canceled;
464
465
466 (% style="color:blue" %)**buzzer**
467
468 (1) When the door magnetic alarm is triggered, the buzzer will sound for 30s; after the alarm is restored, the buzzer will be silenced;
469
470 (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;
471
472 (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;
473
474 (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.
475
476
477 (% style="color:blue" %)**button**
478
479 (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.
480
481 (2) Press twice to silence the buzzer;
482
483 (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.
484
485
486 (% style="color:blue" %)**data pack**
487
488 (1) The device needs to send a registration packet and a heartbeat packet every time it is powered on and registered;
489
490 (2) The heartbeat time is reported once every 24 hours by default.
491
492
493 = 3. FAQ =
494
495 == 3.1 How to Upgrade Firmware ==
496
497
498 User can upgrade the firmware for 1) bug fix, 2) new feature release.
499
500 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]]
501
502 (% style="color:red" %)**Note:**
503
504 Disconnect one battery before starting the upgrade
505
506 Please use 1.8V USB TO TTL serial port
507
508 (% style="color:blue" %)**Connection:**
509
510 * (% style="background-color:yellow" %)**USB TTL GND <~-~-~-~-> GND**
511
512 * (% style="background-color:yellow" %)**USB TTL TXD  <~-~-~-~-> UART_RXD**
513
514 * (% style="background-color:yellow" %)**USB TTL RXD  <~-~-~-~-> UART_TXD**
515
516 (% style="color:blue" %)**1.  Double-click "FlashTool.exe" to start the program**
517
518
519 [[image:1668234935834-828.png]]
520
521
522 [[image:1668234950508-848.png]]
523
524
525
526 (% style="color:blue" %)**2.  Select burn serial port and firmware package to complete the upgrade**
527
528 [[image:1668234971869-640.png]]
529
530
531 [[image:1668234993821-197.png]]
532
533
534
535 (% style="color:blue" %)**3.  Install the battery to the node, and the upgrade will start at this time**
536
537 [[image:1668235018478-767.png]]
538
539
540
541 (% style="color:blue" %)**4.  The following screenshot appears, indicating that the upgrade has been successful**
542
543 [[image:1668235042540-676.png]]
544
545
546 = 4. Order Info =
547
548
549 Part Number: (% style="color:blue" %)**NDS01**
550
551
552 = 5. Packing Info =
553
554
555 (% style="color:#037691" %)**Package Includes**:
556
557 * NDS01 NB-IoT Door Sensor
558
559 (% style="color:#037691" %)**Dimension and weight**:
560
561 * Device Size:
562 * Device Weight:
563 * Package Size / pcs :
564 * Weight / pcs :
565
566
Copyright ©2010-2022 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0