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
44 == 1.2 Specifications ==
45
46
47 (% style="color:blue" %)**Common DC Characteristics:**
48
49 * Supply Voltage: 2.1v ~~ 3.6v
50 * Operating Temperature: -10 ~~ 50°C
51
52 (% style="color:blue" %)**NB-IoT Spec:**
53
54 * - B1 @H-FDD: 2100MHz
55 * - B3 @H-FDD: 1800MHz
56 * - B8 @H-FDD: 900MHz
57 * - B5 @H-FDD: 850MHz
58 * - B20 @H-FDD: 800MHz
59 * - B28 @H-FDD: 700MHz
60
61 (% style="color:blue" %)**Power Consumption**
62
63 * IDEL Mode: 10uA @ 3.3v
64 * Max transmit power: <500mA@3.3v
65
66
67
68
69 == 1.3 Features ==
70
71
72 * NB-IoT Bands: B1/B3/B5/B8/B20/B28 @H-FDD
73 * Ultra low power consumption
74 * Door Open / Close Detect
75 * Device remove alarm
76 * Uplink Protocol: TCP or UDP
77 * Uplink on periodically
78 * Micro SIM card slot for NB-IoT SIM
79 * 2 x AAA LR03 Batteries
80
81
82
83 == 1.4  ​Applications ==
84
85
86 * Smart Buildings & Home Automation
87 * Logistics and Supply Chain Management
88 * Smart Cities
89 * Smart Factory
90
91
92
93 = 2. Use NDS01 to communicate with IoT Server =
94
95 == 2.1 How it works ==
96
97
98 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.
99
100 The diagram below shows the working flow in default firmware of NDS01:
101
102
103 == 2.2 Configure the NDS01 ==
104
105 === 2.2.1 Test Requirement ===
106
107
108 To use NDS01 in your city, make sure meet below requirements:
109
110 * Your local operator has already distributed a NB-IoT Network there.
111 * The local NB-IoT network used the band that NDS01 supports.
112 * Your operator is able to distribute the data received in their NB-IoT network to your IoT server.
113
114 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.
115
116
117 [[image:1668224789474-811.png]]
118
119
120 === 2.2.1 Insert SIM card ===
121
122
123 Insert the NB-IoT Card get from your provider.
124
125 User need to take out the NB-IoT module and insert the SIM card like below:
126
127
128 [[image:1668224846067-276.png]]
129
130
131 === 2.2.3 Configure NDS01 ===
132
133
134 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.
135
136
137 [[image:1668224930349-417.png]]
138
139
140 (% style="color:blue" %)**Connection:**
141
142 **~ (% style="background-color:yellow" %)USB TTL GND <~-~-~-~-> GND(%%)**
143
144 **~ (% style="background-color:yellow" %)USB TTL TXD  <~-~-~-~-> UART_RXD(%%)**
145
146 **~ (% style="background-color:yellow" %)USB TTL RXD  <~-~-~-~-> UART_TXD(%%)**
147
148
149 In the PC, use below serial tool settings:
150
151 * Baud:  (% style="color:green" %)**9600**
152
153 * Data bits:**  (% style="color:green" %)8(%%)**
154
155 * Stop bits:  (% style="color:green" %)**1**
156
157 * Parity:  (% style="color:green" %)**None**
158
159 * Flow Control: (% style="color:green" %)**None**
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
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
260 === 2.2.5 Use TCP protocol to uplink data ===
261
262
263 * (% style="color:blue" %)**AT+PRO=0   ** (%%) ~/~/ Set to use TCP protocol to uplink
264
265 * (% style="color:blue" %)**AT+SERVADDR=119.91.62.30,2002   **(%%) ~/~/ to set TCP server address and port
266
267 [[image:1668231789502-211.png]]
268
269
270
271 === 2.2.6 Change Update Interval ===
272
273
274 User can use below command to change the (% style="color:blue" %)**uplink interval**.
275
276 (% style="color:blue" %)**AT+TDC=86400      ** (%%)~/~/ Set Update Interval to 86400s
277
278
279 (% style="color:red" %)**NOTE:**
280
281 ~1. By default, the device will send an uplink message every 24 hour (86400s).
282
283
284 [[image:1668231824288-204.png]]
285
286
287
288 == 2.3 Uplink Payload ==
289
290
291 registration package, uplink payload includes in total 61 bytes
292
293
294 (% border="1" cellspacing="5" style="background-color:#ffffcc; color:green; width:500px" %)
295 |(% style="width:60px" %)(((
296 **Size(bytes)**
297 )))|(% 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**
298 |(% 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
299
300 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(%%)**
301
302 **where:**
303
304 * (% style="color:#037691" %)**Head:** (%%)0x4B57(fixed)
305
306 * (% style="color:#037691" %)**Version:** (%%)0x10=”V1.0”
307
308 * (% style="color:#037691" %)**Data type:** (%%)0x01=1(1:register,2:data sending)
309
310 * (% style="color:#037691" %)**Data length:** (%%)0x34=52(Valid data is 52 bytes)
311
312 * (% style="color:#037691" %)**Device type:**(%%) 0x01 = 1(Representative NDS01)
313
314 * (% style="color:#037691" %)**Device ID:** (%%)0x383639393735303334343431303832=869975034441082(ASCII)
315
316 * (% style="color:#037691" %)**IMSI:**(%%) 0x343630313133313138373433373332 = 460113118743732(ASCII)
317
318 * (% style="color:#037691" %)**ICCID:**(%%) 0x3839383631313230323234303134333938373632=89861120224014398762(ASCII)
319
320 * (% style="color:#037691" %)**Bat: **(%%)0x1E = 30/10=3.0V
321
322 * (% style="color:#037691" %)**Signal:**(%%) 0x15=21
323
324 (% style="color:red" %)** 0**(%%)  -113dBm or less
325
326 (% style="color:red" %)** 1**  (%%)-111dBm
327
328 (% style="color:red" %)** 2...30**(%%)  -109dBm... -53dBm
329
330 (% style="color:red" %)** 31**   (%%)-51dBm or greater
331
332 (% style="color:red" %)** 99**   (%%)Not known or not detectable
333
334 * (% style="color:#037691" %)**Tail: **(%%)0x494F54(fixed)
335
336 data upload, uplink payload includes in total 32 bytes
337
338 (% border="1" cellspacing="5" style="background-color:#ffffcc; color:green; width:430px" %)
339 |(% style="width:60px" %)(((
340 **Size(bytes)**
341 )))|(% 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**
342 |(% 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
343
344 (% border="1" cellspacing="5" style="background-color:#ffffcc; color:green; width:430px" %)
345 |(% 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**
346 |(% style="width:78px" %)Door magnetic state|(% style="width:42px" %)BAT|(% style="width:58px" %)Signal|(% style="width:67px" %)(((
347 Temp integer
348 )))|(% style="width:72px" %)(((
349 Temp decimal
350 )))|(% style="width:67px" %)(((
351 Hum integer
352 )))|(% style="width:69px" %)(((
353 Hum decimal
354 )))|(% style="width:38px" %)tail
355
356 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 (%%)**
357
358 **where:**
359
360 * (% style="color:#037691" %)**Head:** (%%)0x4B57(fixed)
361
362 * (% style="color:#037691" %)**Version:** (%%)0x10=”V1.0”
363
364 * (% style="color:#037691" %)**Data type:** (%%)0x02=2(1:register,2:data sending)
365
366 * (% style="color:#037691" %)**Data length:** (%%)0x14=20(Valid data is 20 bytes)
367
368 * (% style="color:#037691" %)**Device type: **(%%)0x01 = 1(Representative NDS01)
369
370 * (% style="color:#037691" %)**Device ID:** (%%)0x383639393735303334343431303832=869975034441082(ASCII)
371
372 * (% style="color:#037691" %)**Event type:** (%%)0x01
373
374 (% style="color:red" %)** 01:**(%%) TDC
375
376 (% style="color:red" %)** 02:**(%%)** **alarm
377
378 (% style="color:red" %)** 03:**(%%) remove alarm
379
380 (% style="color:red" %)**04: **(%%)dismantling alarm
381
382 (% style="color:red" %)**05:** (%%)remove demolition alarm
383
384 (% style="color:red" %)**06:** (%%)low voltage
385
386 **~ (% style="color:red" %)07: (%%)**remove low voltage
387
388 * (% style="color:#037691" %)**Door magnetic state:** (%%)0x00
389
390 (% style="color:red" %)**00:**(%%) Door sensor is close
391
392 (% style="color:red" %)**01:** (%%)Door sensor is open
393
394 * (% style="color:#037691" %)**Bat:**(%%)** **0x20 = 32/10=3.2V
395
396 * (% style="color:#037691" %)**Signal:**(%%)** **0x15=21
397
398 (% style="color:red" %)** 0**  (%%)-113dBm or less
399
400 (% style="color:red" %)** 1**  (%%)-111dBm
401
402 (% style="color:red" %)** 2...30**(%%) -109dBm... -53dBm
403
404 (% style="color:red" %)** 31**  (%%)-51dBm or greater
405
406 (% style="color:red" %)** 99**  (%%)Not known or not detectable
407
408 * (% style="color:#037691" %)**Temp integer:**(%%) 0x1c=28
409
410 * (% style="color:#037691" %)**Temp decimal:** (%%)0x55=85
411
412 Temp =Temp integer+(Temp decimal)/100=28+85/100=28.85℃
413
414 * (% style="color:#037691" %)**Hum integer:  **(%%)0x23=35
415
416 * (% style="color:#037691" %)**Hum decimal:** (%%)0x12=18
417
418 Hum =Hum integer+(Hum decimal)/100=35+18/100=35.18**%**rh
419
420 * (% style="color:#037691" %)**Tail:** (%%)0x494F54(fixed)
421
422
423
424 == 2.4 Node-Red Example ==
425
426
427 Please refer to this link for the use of Node-RED:
428
429 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Node-RED/>>http://wiki.dragino.com/xwiki/bin/view/Main/Node-RED/]]
430
431 Please visit this link to download the Node-RED process:
432
433 [[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]]
434
435 [[image:1668234343252-612.png]]
436
437
438
439 == 2.5 Buttons and LED and Mode ==
440
441
442 (% style="color:blue" %)**Operating mode**
443
444 (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;
445
446 (2) In normal working mode, the state change of the tamper switch triggers an alarm;
447
448 (3) In silent mode (the default is non-silent mode when power on for the first time), the buzzer is silent.
449
450
451 (% style="color:blue" %)**led lights**
452
453 (1) After the device is powered on, the green light flashes once;
454
455 (2) The device does not set server parameters or cannot connect to the server, and the green light flashes quickly;
456
457 (3) SIM card recognition fails, the green light is always on for 20s;
458
459 (4) The equipment signal is poor, and the green light flashes once every 3 seconds;
460
461 (5) When the device sends data, the green light flashes twice;
462
463 (6) The communication of the equipment is normal, and the green light flashes 3 times continuously;
464
465 (7) Trigger the tamper switch, the red light is always on for 30s, and goes out when the alarm is canceled;
466
467 (8) Trigger the door magnetic alarm, the red light is always on for 30s, and goes out when the alarm is canceled;
468
469
470 (% style="color:blue" %)**buzzer**
471
472 (1) When the door magnetic alarm is triggered, the buzzer will sound for 30s; after the alarm is restored, the buzzer will be silenced;
473
474 (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;
475
476 (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;
477
478 (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.
479
480
481 (% style="color:blue" %)**button**
482
483 (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.
484
485 (2) Press twice to silence the buzzer;
486
487 (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.
488
489
490 (% style="color:blue" %)**data pack**
491
492 (1) The device needs to send a registration packet and a heartbeat packet every time it is powered on and registered;
493
494 (2) The heartbeat time is reported once every 24 hours by default.
495
496
497
498 = 3. FAQ =
499
500 == 3.1 How to Upgrade Firmware ==
501
502
503 User can upgrade the firmware for 1) bug fix, 2) new feature release.
504
505 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]]
506
507 (% style="color:red" %)**Note:**
508
509 Disconnect one battery before starting the upgrade
510
511 Please use 1.8V USB TO TTL serial port
512
513 (% style="color:blue" %)**Connection:**
514
515 * (% style="background-color:yellow" %)**USB TTL GND <~-~-~-~-> GND**
516
517 * (% style="background-color:yellow" %)**USB TTL TXD  <~-~-~-~-> UART_RXD**
518
519 * (% style="background-color:yellow" %)**USB TTL RXD  <~-~-~-~-> UART_TXD**
520
521
522 (% style="color:blue" %)**1.  Double-click "FlashTool.exe" to start the program**
523
524
525 [[image:1668234935834-828.png]]
526
527
528 [[image:1668234950508-848.png]]
529
530
531
532 (% style="color:blue" %)**2.  Select burn serial port and firmware package to complete the upgrade**
533
534 [[image:1668234971869-640.png]]
535
536
537 [[image:1668234993821-197.png]]
538
539
540
541 (% style="color:blue" %)**3.  Install the battery to the node, and the upgrade will start at this time**
542
543 [[image:1668235018478-767.png]]
544
545
546
547 (% style="color:blue" %)**4.  The following screenshot appears, indicating that the upgrade has been successful**
548
549 [[image:1668235042540-676.png]]
550
551
552
553 = 4. Order Info =
554
555
556 Part Number: (% style="color:blue" %)**NDS01**
557
558
559 = 5. Packing Info =
560
561
562 (% style="color:#037691" %)**Package Includes**:
563
564 * NDS01 NB-IoT Door Sensor
565
566 (% style="color:#037691" %)**Dimension and weight**:
567
568 * Device Size:
569 * Device Weight:
570 * Package Size / pcs :
571 * Weight / pcs :
Copyright ©2010-2022 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0