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