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
125 [[image:1668224846067-276.png]]
126
127
128 === 2.2.3 Configure NDS01 ===
129
130
131 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.
132
133
134 [[image:1668224930349-417.png]]
135
136
137 (% style="color:blue" %)**Connection:**
138
139 **~ (% style="background-color:yellow" %)USB TTL GND <~-~-~-~-> GND(%%)**
140
141 **~ (% style="background-color:yellow" %)USB TTL TXD  <~-~-~-~-> UART_RXD(%%)**
142
143 **~ (% style="background-color:yellow" %)USB TTL RXD  <~-~-~-~-> UART_TXD(%%)**
144
145
146 In the PC, use below serial tool settings:
147
148 * Baud:  (% style="color:green" %)**115200**
149
150 * Data bits:**  (% style="color:green" %)8(%%)**
151
152 * Stop bits:  (% style="color:green" %)**1**
153
154 * Parity:  (% style="color:green" %)**None**
155
156 * Flow Control: (% style="color:green" %)**None**
157
158 //**If you are using Mac OS, please download the serial port assistant for Mac OS. The settings and operation are the same as Windows**//
159
160 [[image:/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/NDS01%20-%20NB-IoT%20Door%20Sensor%20User%20Manual/WebHome/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20230214103254.png?rev=1.1||alt="微信图片_20230214103254.png" height="550" width="863"]]//**[[image:微信图片_20230214103254.png]]**//
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 (% style="color:red" %)**NOTE:**
277
278 ~1. By default, the device will send an uplink message every 24 hour (86400s).
279
280
281 [[image:1668231824288-204.png]]
282
283
284 == 2.3 Uplink Payload ==
285
286
287 registration package, uplink payload includes in total 61 bytes
288
289
290 (% border="1" cellspacing="5" style="background-color:#ffffcc; color:green; width:500px" %)
291 |(% style="width:60px" %)(((
292 **Size(bytes)**
293 )))|(% 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**
294 |(% 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
295
296 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(%%)**
297
298 **where:**
299
300 * (% style="color:#037691" %)**Head:** (%%)0x4B57(fixed)
301
302 * (% style="color:#037691" %)**Version:** (%%)0x10=”V1.0”
303
304 * (% style="color:#037691" %)**Data type:** (%%)0x01=1(1:register,2:data sending)
305
306 * (% style="color:#037691" %)**Data length:** (%%)0x34=52(Valid data is 52 bytes)
307
308 * (% style="color:#037691" %)**Device type:**(%%) 0x01 = 1(Representative NDS01)
309
310 * (% style="color:#037691" %)**Device ID:** (%%)0x383639393735303334343431303832=869975034441082(ASCII)
311
312 * (% style="color:#037691" %)**IMSI:**(%%) 0x343630313133313138373433373332 = 460113118743732(ASCII)
313
314 * (% style="color:#037691" %)**ICCID:**(%%) 0x3839383631313230323234303134333938373632=89861120224014398762(ASCII)
315
316 * (% style="color:#037691" %)**Bat: **(%%)0x1E = 30/10=3.0V
317
318 * (% style="color:#037691" %)**Signal:**(%%) 0x15=21
319
320 (% style="color:red" %)** 0**(%%)  -113dBm or less
321
322 (% style="color:red" %)** 1**  (%%)-111dBm
323
324 (% style="color:red" %)** 2...30**(%%)  -109dBm... -53dBm
325
326 (% style="color:red" %)** 31**   (%%)-51dBm or greater
327
328 (% style="color:red" %)** 99**   (%%)Not known or not detectable
329
330 * (% style="color:#037691" %)**Tail: **(%%)0x494F54(fixed)
331
332 data upload, uplink payload includes in total 32 bytes
333
334 (% border="1" cellspacing="5" style="background-color:#ffffcc; color:green; width:430px" %)
335 |(% style="width:60px" %)(((
336 **Size(bytes)**
337 )))|(% 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**
338 |(% 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
339
340 (% border="1" cellspacing="5" style="background-color:#ffffcc; color:green; width:430px" %)
341 |(% 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**
342 |(% style="width:78px" %)Door magnetic state|(% style="width:42px" %)BAT|(% style="width:58px" %)Signal|(% style="width:67px" %)(((
343 Temp integer
344 )))|(% style="width:72px" %)(((
345 Temp decimal
346 )))|(% style="width:67px" %)(((
347 Hum integer
348 )))|(% style="width:69px" %)(((
349 Hum decimal
350 )))|(% style="width:38px" %)tail
351
352 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 (%%)**
353
354 **where:**
355
356 * (% style="color:#037691" %)**Head:** (%%)0x4B57(fixed)
357
358 * (% style="color:#037691" %)**Version:** (%%)0x10=”V1.0”
359
360 * (% style="color:#037691" %)**Data type:** (%%)0x02=2(1:register,2:data sending)
361
362 * (% style="color:#037691" %)**Data length:** (%%)0x14=20(Valid data is 20 bytes)
363
364 * (% style="color:#037691" %)**Device type: **(%%)0x01 = 1(Representative NDS01)
365
366 * (% style="color:#037691" %)**Device ID:** (%%)0x383639393735303334343431303832=869975034441082(ASCII)
367
368 * (% style="color:#037691" %)**Event type:** (%%)0x01
369
370 (% style="color:red" %)** 01:**(%%) TDC
371
372 (% style="color:red" %)** 02:**(%%)** **alarm
373
374 (% style="color:red" %)** 03:**(%%) remove alarm
375
376 (% style="color:red" %)**04: **(%%)dismantling alarm
377
378 (% style="color:red" %)**05:** (%%)remove demolition alarm
379
380 (% style="color:red" %)**06:** (%%)low voltage
381
382 **~ (% style="color:red" %)07: (%%)**remove low voltage
383
384 * (% style="color:#037691" %)**Door magnetic state:** (%%)0x00
385
386 (% style="color:red" %)**00:**(%%) Door sensor is close
387
388 (% style="color:red" %)**01:** (%%)Door sensor is open
389
390 * (% style="color:#037691" %)**Bat:**(%%)** **0x20 = 32/10=3.2V
391
392 * (% style="color:#037691" %)**Signal:**(%%)** **0x15=21
393
394 (% style="color:red" %)** 0**  (%%)-113dBm or less
395
396 (% style="color:red" %)** 1**  (%%)-111dBm
397
398 (% style="color:red" %)** 2...30**(%%) -109dBm... -53dBm
399
400 (% style="color:red" %)** 31**  (%%)-51dBm or greater
401
402 (% style="color:red" %)** 99**  (%%)Not known or not detectable
403
404 * (% style="color:#037691" %)**Temp integer:**(%%) 0x1c=28
405
406 * (% style="color:#037691" %)**Temp decimal:** (%%)0x55=85
407
408 Temp =Temp integer+(Temp decimal)/100=28+85/100=28.85℃
409
410 * (% style="color:#037691" %)**Hum integer:  **(%%)0x23=35
411
412 * (% style="color:#037691" %)**Hum decimal:** (%%)0x12=18
413
414 Hum =Hum integer+(Hum decimal)/100=35+18/100=35.18**%**rh
415
416 * (% style="color:#037691" %)**Tail:** (%%)0x494F54(fixed)
417
418 == 2.4 Node-Red Example ==
419
420
421 Please refer to this link for the use of Node-RED:
422
423 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Node-RED/>>http://wiki.dragino.com/xwiki/bin/view/Main/Node-RED/]]
424
425 Please visit this link to download the Node-RED process:
426
427 [[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]]
428
429 [[image:1668234343252-612.png]]
430
431
432 == 2.5 Buttons and LED and Mode ==
433
434
435 (% style="color:blue" %)**Operating mode**
436
437 (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;
438
439 (2) In normal working mode, the state change of the tamper switch triggers an alarm;
440
441 (3) In silent mode (the default is non-silent mode when power on for the first time), the buzzer is silent.
442
443
444 (% style="color:blue" %)**led lights**
445
446 (1) After the device is powered on, the green light flashes once;
447
448 (2) The device does not set server parameters or cannot connect to the server, and the green light flashes quickly;
449
450 (3) SIM card recognition fails, the green light is always on for 20s;
451
452 (4) The equipment signal is poor, and the green light flashes once every 3 seconds;
453
454 (5) When the device sends data, the green light flashes twice;
455
456 (6) The communication of the equipment is normal, and the green light flashes 3 times continuously;
457
458 (7) Trigger the tamper switch, the red light is always on for 30s, and goes out when the alarm is canceled;
459
460 (8) Trigger the door magnetic alarm, the red light is always on for 30s, and goes out when the alarm is canceled;
461
462
463 (% style="color:blue" %)**buzzer**
464
465 (1) When the door magnetic alarm is triggered, the buzzer will sound for 30s; after the alarm is restored, the buzzer will be silenced;
466
467 (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;
468
469 (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;
470
471 (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.
472
473
474 (% style="color:blue" %)**button**
475
476 (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.
477
478 (2) Press twice to silence the buzzer;
479
480 (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.
481
482
483 (% style="color:blue" %)**data pack**
484
485 (1) The device needs to send a registration packet and a heartbeat packet every time it is powered on and registered;
486
487 (2) The heartbeat time is reported once every 24 hours by default.
488
489
490 = 3. FAQ =
491
492 == 3.1 How to Upgrade Firmware ==
493
494
495 User can upgrade the firmware for 1) bug fix, 2) new feature release.
496
497 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]]
498
499 (% style="color:red" %)**Note:**
500
501 Disconnect one battery before starting the upgrade
502
503 Please use 1.8V USB TO TTL serial port
504
505 (% style="color:blue" %)**Connection:**
506
507 * (% style="background-color:yellow" %)**USB TTL GND <~-~-~-~-> GND**
508
509 * (% style="background-color:yellow" %)**USB TTL TXD  <~-~-~-~-> UART_RXD**
510
511 * (% style="background-color:yellow" %)**USB TTL RXD  <~-~-~-~-> UART_TXD**
512
513 (% style="color:blue" %)**1.  Double-click "FlashTool.exe" to start the program**
514
515
516 [[image:1668234935834-828.png]]
517
518
519 [[image:1668234950508-848.png]]
520
521
522
523 (% style="color:blue" %)**2.  Select burn serial port and firmware package to complete the upgrade**
524
525 [[image:1668234971869-640.png]]
526
527
528 [[image:1668234993821-197.png]]
529
530
531
532 (% style="color:blue" %)**3.  Install the battery to the node, and the upgrade will start at this time**
533
534 [[image:1668235018478-767.png]]
535
536
537
538 (% style="color:blue" %)**4.  The following screenshot appears, indicating that the upgrade has been successful**
539
540 [[image:1668235042540-676.png]]
541
542
543 = 4. Order Info =
544
545
546 Part Number: (% style="color:blue" %)**NDS01**
547
548
549 = 5. Packing Info =
550
551
552 (% style="color:#037691" %)**Package Includes**:
553
554 * NDS01 NB-IoT Door Sensor
555
556 (% style="color:#037691" %)**Dimension and weight**:
557
558 * Device Size:
559 * Device Weight:
560 * Package Size / pcs :
561 * Weight / pcs :
Copyright ©2010-2022 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0