Show last authors
1
2
3 (% style="text-align:center" %)
4 [[image:image-20230517162801-1.jpeg||height="472" width="472"]]
5
6
7
8
9 **Table of Contents:**
10
11 {{toc/}}
12
13
14
15
16
17
18 = 1.  Introduction =
19
20 == 1.1 ​ What is NDDS20 Ultrasonic liquid level Sensor ==
21
22
23 (((
24 The Dragino NDDS20 is a (% style="color:blue" %)**NB-IoT Ultrasonic liquid level sensor**(%%) for Internet of Things solution. It uses (% style="color:blue" %)**none-contact method **(%%)to measure the height of liquid in a container without opening the container, and uploads the value via wireless to IoT Server via NB-IoT Network.
25 )))
26
27 (((
28 The NDDS20 sensor is installed directly below the container to detect the height of the liquid level. User doesn't need to open a hole on the container to be tested. The (% style="color:blue" %)**none-contact measurement makes the measurement safety, easier and possible for some strict situation**. 
29 )))
30
31 (((
32 NDDS20 uses ultrasonic sensing technology for distance measurement. NDDS20 is of high accuracy to measure various liquid such as: (% style="color:blue" %)**toxic substances**(%%), (% style="color:blue" %)**strong acids**(%%), (% style="color:blue" %)**strong alkalis**(%%) and (% style="color:blue" %)**various pure liquids**(%%) in high-temperature and high-pressure airtight containers.
33 )))
34
35 (((
36 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.
37 )))
38
39 (((
40 NDDS20 supports different uplink methods include (% style="color:blue" %)**TCP, MQTT, UDP and CoAP** (%%)for different application requirement.
41 )))
42
43 (((
44 NDDS20 is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%), It is designed for long term use up to 5 years. (Actually Battery life depends on the use environment, update period & uplink method)
45 )))
46
47 (((
48 To use NDDS20, user needs to check if there is NB-IoT coverage in local area and with the bands NDDS20 supports. If the local operate support it, user needs to get a NB-IoT SIM card from local operator and install NDDS20 to get NB-IoT network connection.
49 )))
50
51 [[image:image-20230517170822-1.png||height="304" width="955"]]
52
53
54 == 1.2 ​ Features ==
55
56
57 * NB-IoT Bands: B1/B3/B8/B5/B20/B28 @H-FDD
58 * Ultra low power consumption
59 * Distance Detection by Ultrasonic technology
60 * Flat object range 20mm - 2000mm
61 * Accuracy: ±(5mm+S*0.5%) (S: Measure Value)
62 * Cable Length: 25cm
63 * AT Commands to change parameters
64 * Uplink on periodically
65 * Downlink to change configure
66 * IP66 Waterproof Enclosure
67 * Micro SIM card slot for NB-IoT SIM
68 * 8500mAh Battery for long term use
69
70 == 1.3  Specification ==
71
72
73 (% style="color:#037691" %)**Common DC Characteristics:**
74
75 * Supply Voltage: 2.1v ~~ 3.6v
76 * Operating Temperature: -40 ~~ 85°C
77
78 (% style="color:#037691" %)**NB-IoT Spec:**
79
80 * B1 @H-FDD: 2100MHz
81 * B3 @H-FDD: 1800MHz
82 * B8 @H-FDD: 900MHz
83 * B5 @H-FDD: 850MHz
84 * B20 @H-FDD: 800MHz
85 * B28 @H-FDD: 700MHz
86
87 (% style="color:#037691" %)**Battery:**
88
89 * Li/SOCI2 un-chargeable battery
90 * Capacity: 8500mAh
91 * Self Discharge: <1% / Year @ 25°C
92 * Max continuously current: 130mA
93 * Max boost current: 2A, 1 second
94
95 (% style="color:#037691" %)**Power Consumption**
96
97 * STOP Mode: 10uA @ 3.3v
98 * Max transmit power: 350mA@3.3v
99
100 == 1.4  Suitable Container & Liquid ==
101
102
103 * Solid Wall container such as: steel, iron, glass, ceramics, non-foaming plastics etc.
104 * Container shape is regular, and surface is smooth.
105 * Container Thickness:
106 ** Pure metal material.  2~~8mm, best is 3~~5mm
107 ** Pure non metal material: <10 mm
108 * Pure liquid without irregular deposition.
109
110 == 1.5  Mechanical ==
111
112
113 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDDS20%20-%20LoRaWAN%20Liquid%20Level%20Sensor%20User%20Manual/WebHome/image-20220615090910-1.png?rev=1.1||alt="image-20220615090910-1.png"]]
114
115
116 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDDS20%20-%20LoRaWAN%20Liquid%20Level%20Sensor%20User%20Manual/WebHome/image-20220615090910-2.png?rev=1.1||alt="image-20220615090910-2.png"]]
117
118
119 == 1.6  Install NDDS20 ==
120
121
122 (% style="color:blue" %)**Step 1**(%%):  Choose the installation point.
123
124 NDDS20 (% style="color:red" %)**MUST**(%%) be installed on the container bottom middle position.
125
126
127 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDDS20%20-%20LoRaWAN%20Liquid%20Level%20Sensor%20User%20Manual/WebHome/image-20220615091045-3.png?rev=1.1||alt="image-20220615091045-3.png"]]
128
129
130 (((
131 (% style="color:blue" %)**Step 2**(%%):  Polish the installation point.
132 )))
133
134 (((
135 For Metal Surface with paint, it is important to polish the surface, first use crude sand paper to polish the paint level , then use exquisite sand paper to polish the metal level to make it shine & smooth.
136 )))
137
138 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDDS20%20-%20LoRaWAN%20Liquid%20Level%20Sensor%20User%20Manual/WebHome/image-20220615092010-11.png?rev=1.1||alt="image-20220615092010-11.png"]]
139
140
141 No polish needed if the container is shine metal surface without paint or non-metal container.
142
143 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDDS20%20-%20LoRaWAN%20Liquid%20Level%20Sensor%20User%20Manual/WebHome/image-20220615092044-12.png?rev=1.1||alt="image-20220615092044-12.png"]]
144
145
146 (((
147 (% style="color:blue" %)**Step3:   **(%%)Test the installation point.
148 )))
149
150 (((
151 Power on NDDS20, check if the blue LED is on, If the blue LED is on, means the sensor works. Then put ultrasonic coupling paste on the sensor and put it tightly on the installation point.
152 )))
153
154 (((
155
156 )))
157
158 (((
159 It is necessary to put the coupling paste between the sensor and the container, otherwise NDDS20 won't detect the liquid level.
160
161
162 )))
163
164 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDDS20%20-%20LoRaWAN%20Liquid%20Level%20Sensor%20User%20Manual/WebHome/1655256160324-178.png?rev=1.1||alt="1655256160324-178.png" height="143" width="396"]][[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDDS20%20-%20LoRaWAN%20Liquid%20Level%20Sensor%20User%20Manual/WebHome/image-20220615092327-13.png?rev=1.1||alt="image-20220615092327-13.png" height="152" width="271"]]
165
166
167 (((
168 After paste the NDDS20 well, power on NDDS20. In the first 30 seconds of booting, device will check the sensors status and BLUE LED will show the status as below. After 30 seconds, BLUE LED will be off to save battery life.
169 )))
170
171 (((
172
173 )))
174
175 (((
176 (% style="color:red" %)**LED Status:**
177 )))
178
179 * (((
180 Onboard LED: When power on device, the onboard LED will fast blink 4 times which means detect the sensor well.
181 )))
182
183 * (((
184 (% style="color:blue" %)**BLUE LED**(% style="color:red" %)** always ON**(%%): Sensor is power on but doesn't detect liquid. There is problem in installation point.
185 )))
186 * (((
187 (% style="color:blue" %)**BLUE LED**(% style="color:red" %)** slowly blinking**(%%): Sensor detects Liquid Level, The installation point is good.
188 )))
189
190 (((
191 LDDS20 will enter into low power mode at 30 seconds after system reset or power on, Blue LED will be off after that.
192 )))
193
194 (((
195
196 )))
197
198 (((
199 (% style="color:red" %)**Note 2:**
200 )))
201
202 (((
203 (% style="color:red" %)**Ultrasonic coupling paste** (%%) is subjected in most shipping way. So the default package doesn't include it and user needs to purchase locally.
204 )))
205
206 (((
207
208 )))
209
210 (((
211 (% style="color:blue" %)**Step4:   **(%%)Install use Epoxy ab glue.
212 )))
213
214 (((
215 Prepare Eproxy AB glue.
216 )))
217
218 (((
219 Put Eproxy AB glue in the sensor and press it hard on the container installation point.
220 )))
221
222 (((
223 Reset LDDS20 and see if the BLUE LED is slowly blinking.
224 )))
225
226 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDDS20%20-%20LoRaWAN%20Liquid%20Level%20Sensor%20User%20Manual/WebHome/image-20220615091045-8.png?width=380&height=226&rev=1.1||alt="image-20220615091045-8.png" height="175" width="295"]] [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDDS20%20-%20LoRaWAN%20Liquid%20Level%20Sensor%20User%20Manual/WebHome/image-20220615091045-9.png?width=339&height=239&rev=1.1||alt="image-20220615091045-9.png" height="168" width="239"]](% style="display:none" %)
227
228 (% style="display:none" %) (%%)
229
230 (((
231 (% style="color:red" %)**Note 1:**
232 )))
233
234 (((
235 Eproxy AB glue needs 3~~ 5 minutes to stable attached. we can use other glue material to keep it in the position.
236 )))
237
238 (((
239
240 )))
241
242 (((
243 (% style="color:red" %)**Note 2:**
244 )))
245
246 (((
247 (% style="color:red" %)**Eproxy AB glue**(%%) is subjected in most shipping way. So the default package doesn't include it and user needs to purchase locally.
248 )))
249
250
251 == ​1.7  Applications ==
252
253
254 * Smart liquid control solution.
255 * Smart liquefied gas solution.
256
257 (% class="wikigeneratedid" id="H200B1.5FirmwareChangelog" %)
258
259
260
261 == 1.8  Precautions ==
262
263
264 * At room temperature, containers of different materials, such as steel, glass, iron, ceramics, non-foamed plastics and other dense materials, have different detection blind areas and detection limit heights.
265 * For containers of the same material at room temperature, the detection blind zone and detection limit height are also different for the thickness of the container.
266 * When the detected liquid level exceeds the effective detection value of the sensor, and the liquid level of the liquid to be measured shakes or tilts, the detected liquid height is unstable.
267
268 == 1.9  Pin Definitions ==
269
270
271 [[image:1657328609906-564.png]]
272
273
274 = 2.  Use NDDS20 to communicate with IoT Server =
275
276 == 2.1  How it works ==
277
278
279 (((
280 The NDDS20 is equipped with a NB-IoT module, the pre-loaded firmware in NDDS20 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 NDDS20.
281 )))
282
283
284 (((
285 The diagram below shows the working flow in default firmware of NDDS20:
286 )))
287
288 (((
289
290 )))
291
292 [[image:1657328659945-416.png]]
293
294 (((
295
296 )))
297
298 == 2.2 ​ Configure the NDDS20 ==
299
300 === 2.2.1 Test Requirement ===
301
302
303 (((
304 To use NDDS20 in your city, make sure meet below requirements:
305 )))
306
307 * Your local operator has already distributed a NB-IoT Network there.
308 * The local NB-IoT network used the band that NDDS20 supports.
309 * Your operator is able to distribute the data received in their NB-IoT network to your IoT server.
310
311 (((
312 Below figure shows our testing structure. Here we have NB-IoT network coverage by China Mobile, the band they use is B8.  The NDDS20 will use CoAP((% style="color:red" %)120.24.4.116:5683)(%%) or raw UDP((% style="color:red" %)120.24.4.116:5601)(%%) or MQTT((% style="color:red" %)120.24.4.116:1883)(%%)or TCP((% style="color:red" %)120.24.4.116:5600)(%%)protocol to send data to the test server.
313 )))
314
315 [[image:image-20230517170822-1.png||height="286" width="898"]]
316
317
318 === 2.2.2 Insert SIM card ===
319
320
321 (((
322 Insert the NB-IoT Card get from your provider.
323 )))
324
325 (((
326 User need to take out the NB-IoT module and insert the SIM card like below:
327 )))
328
329 [[image:1657328884227-504.png]]
330
331
332 === 2.2.3 Connect USB – TTL to NDDS20 to configure it ===
333
334
335 (((
336 (((
337 User need to configure NDDS20 via serial port to set the (% style="color:blue" %)**Server Address** / **Uplink Topic** (%%)to define where and how-to uplink packets. NDDS20 support AT Commands, user can use a USB to TTL adapter to connect to NDDS20 and use AT Commands to configure it, as below.
338 )))
339 )))
340
341 [[image:image-20230517174357-2.png]]
342
343
344 (% style="color:blue" %)**Connection:**
345
346 (% style="background-color:yellow" %)**USB TTL GND <~-~-~-~-> GND**
347
348 **~ (% style="background-color:yellow" %)USB TTL TXD <~-~-~-~-> UART_RXD(%%)**
349
350 **~ (% style="background-color:yellow" %)USB TTL RXD <~-~-~-~-> UART_TXD(%%)**
351
352
353 In the PC, use below serial tool settings:
354
355 * Baud:  (% style="color:green" %)**9600**
356 * Data bits:** (% style="color:green" %)8(%%)**
357 * Stop bits: (% style="color:green" %)**1**
358 * Parity:  (% style="color:green" %)**None**
359 * Flow Control: (% style="color:green" %)**None**
360
361 (((
362 Make sure the switch is in FLASH position, then power on device by connecting the jumper on NDDS20. NDDS20 will output system info once power on as below, we can enter the (% style="color:green" %)**password: 12345678**(%%) to access AT Command input.
363 )))
364
365 [[image:1657329814315-101.png]]
366
367
368 (((
369 (% style="color:red" %)**Note: the valid AT Commands can be found at: **(%%)**[[https:~~/~~/www.dropbox.com/sh/aaq2xcl0bzfu0yd/AAAEAHRa7Io_465ds4Y7-F3aa?dl=0>>https://www.dropbox.com/sh/aaq2xcl0bzfu0yd/AAAEAHRa7Io_465ds4Y7-F3aa?dl=0]]**
370 )))
371
372
373 === 2.2.4 Use CoAP protocol to uplink data ===
374
375
376 (% style="color:red" %)**Note: if you don't have CoAP server, you can refer this link to set up one: **(%%)**[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Set%20up%20CoAP%20Server/>>http://wiki.dragino.com/xwiki/bin/view/Main/Set%20up%20CoAP%20Server/]]**
377
378
379 (((
380 **Use below commands:**
381 )))
382
383 * (((
384 (% style="color:blue" %)**AT+PRO=1**  (%%) ~/~/ Set to use CoAP protocol to uplink
385 )))
386 * (((
387 (% style="color:blue" %)**AT+SERVADDR=120.24.4.116,5683   ** (%%)~/~/  to set CoAP server address and port
388 )))
389 * (((
390 (% style="color:blue" %)**AT+URI=0,0,11,2,"coap" ** (%%) ~/~/  Set COAP resource path
391
392
393
394 )))
395
396 (((
397 For parameter description, please refer to AT command set
398 )))
399
400 [[image:1657330452568-615.png]]
401
402
403 (((
404 After configure the server address and (% style="color:green" %)**reset the device**(%%) (via AT+ATZ ), NDDS20 will start to uplink sensor values to CoAP server.
405
406
407 )))
408
409 [[image:1657330472797-498.png]]
410
411
412 === 2.2.5 Use UDP protocol to uplink data(Default protocol) ===
413
414
415 * (% style="color:blue" %)**AT+PRO=2   ** (%%) ~/~/  Set to use UDP protocol to uplink
416 * (% style="color:blue" %)**AT+SERVADDR=120.24.4.116,5601   ** (%%) ~/~/  to set UDP server address and port
417
418 [[image:1657330501006-241.png]]
419
420
421 [[image:1657330533775-472.png]]
422
423
424 === 2.2.6 Use MQTT protocol to uplink data ===
425
426
427 * (% style="color:blue" %)**AT+PRO=3   ** (%%) ~/~/  Set to use MQTT protocol to uplink
428 * (% style="color:blue" %)**AT+SERVADDR=120.24.4.116,1883   ** (%%) ~/~/  Set MQTT server address and port
429 * (% style="color:blue" %)**AT+CLIENT=CLIENT       ** (%%)~/~/  Set up the CLIENT of MQTT
430 * (% style="color:blue" %)**AT+UNAME=UNAME                                **(%%)~/~/  Set the username of MQTT
431 * (% style="color:blue" %)**AT+PWD=PWD                                         **(%%)~/~/  Set the password of MQTT
432 * (% style="color:blue" %)**AT+PUBTOPIC=NDDS20_PUB                 **(%%)~/~/  Set the sending topic of MQTT
433 * (% style="color:blue" %)**AT+SUBTOPIC=NDDS20_SUB          **(%%) ~/~/  Set the subscription topic of MQTT
434
435 [[image:1657249978444-674.png]]
436
437
438 [[image:1657330723006-866.png]]
439
440
441 (((
442 MQTT protocol has a much higher power consumption compare vs UDP / CoAP protocol. Please check the power analyze document and adjust the uplink period to a suitable interval.
443 )))
444
445
446 === 2.2.7 Use TCP protocol to uplink data ===
447
448
449 * (% style="color:blue" %)**AT+PRO=4   ** (%%) ~/~/  Set to use TCP protocol to uplink
450 * (% style="color:blue" %)**AT+SERVADDR=120.24.4.116,5600   **(%%) ~/~/  to set TCP server address and port
451
452 [[image:image-20220709093918-1.png]]
453
454
455 [[image:image-20220709093918-2.png]]
456
457
458 === 2.2.8 Change Update Interval ===
459
460
461 User can use below command to change the (% style="color:green" %)**uplink interval**.
462
463 * (% style="color:blue" %)**AT+TDC=600      ** (%%)~/~/  Set Update Interval to 600s
464
465 (((
466
467
468 (% style="color:red" %)**NOTE:**
469
470 (% style="color:red" %)**1. By default, the device will send an uplink message every 1 hour.**
471
472 (% style="color:red" %)**2. When the firmware version is v1.3.2 and later firmware:**
473 )))
474
475 (% style="color:red" %)**By default, the device will send an uplink message every 2 hours. Each Uplink Include 8 set of records in this 2 hour (15 minute interval / record).**
476
477
478 == 2.3  Uplink Payload ==
479
480 === 2.3.1  Before Firmware v1.3.2 ===
481
482
483 In this mode, uplink payload includes in total 14 bytes
484
485 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:460px" %)
486 |=(% style="width: 60px;background-color:#4F81BD;color:white" %)(((
487 **Size(bytes)**
488 )))|=(% style="width: 60px;background-color:#4F81BD;color:white" %)**6**|=(% style="width: 35px;background-color:#4F81BD;color:white" %)2|=(% style="width: 35px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 100px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 110px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 60px;background-color:#4F81BD;color:white" %)**1**
489 |(% style="width:97px" %)Value|(% style="width:83px" %)[[Device ID>>||anchor="H2.4.1A0A0DeviceID"]]|(% style="width:41px" %)[[Ver>>||anchor="H2.4.2A0VersionInfo"]]|(% style="width:46px" %)[[BAT>>||anchor="H2.4.3A0BatteryInfo"]]|(% style="width:123px" %)[[Signal Strength>>||anchor="H2.4.4A0SignalStrength"]]|(% style="width:120px" %)[[Distance (unit: mm)>>||anchor="H2.4.5A0Distance"]]|(% style="width:80px" %)[[Interrupt>>||anchor="H2.4.6A0DigitalInterrupt"]]
490
491 (((
492 If we use the MQTT client to subscribe to this MQTT topic, we can see the following information when the NDDS20 uplink data.
493 )))
494
495
496 [[image:1657331036973-987.png]]
497
498
499 The payload is **ASCII** string, representative same HEX:
500
501 (% style="background-color:yellow" %)**0x 724031556159 0064 0c6c 19 0292 00 **
502
503 **where :**
504
505 * (% style="color:#037691" %)**Device ID:**(%%) 0x724031556159 = 724031556159
506
507 * (% style="color:#037691" %)**Version:**(%%)  0x0064=100=1.0.0
508
509 * (% style="color:#037691" %)**BAT:** (%%) 0x0c6c = 3180 mV = 3.180V
510
511 * (% style="color:#037691" %)**Signal:**(%%)  0x19 = 25
512
513 * (% style="color:#037691" %)**Distance:**  (%%)0x0292= 658 mm
514
515 * (% style="color:#037691" %)**Interrupt:**(%%) 0x00 = 0
516
517 === 2.3.2  Since firmware v1.3.2 ===
518
519
520 In this mode, uplink payload includes 69 bytes in total by default.
521
522 Each time the device uploads a data package, 8 sets of recorded data will be attached. Up to 32 sets of recorded data can be uploaded.
523
524 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:490px" %)
525 |(% style="background-color:#4f81bd; color:white; width:60px" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white; width:40px" %)**8**|(% style="background-color:#4f81bd; color:white; width:25px" %)**2**|(% style="background-color:#4f81bd; color:white; width:25px" %)**2**|(% style="background-color:#4f81bd; color:white; width:60px" %)**1**|(% style="background-color:#4f81bd; color:white; width:25px" %)**1**|(% style="background-color:#4f81bd; color:white; width:40px" %)**1**|(% style="background-color:#4f81bd; color:white; width:40px" %)**2**|(% style="background-color:#4f81bd; color:white; width:70px" %)**4**|(% style="background-color:#4f81bd; color:white; width:40px" %)**2**|(% style="background-color:#4f81bd; color:white; width:65px" %)**4**
526 |(% style="width:95px" %)Value|(% style="width:84px" %)Device ID|(% style="width:44px" %)Ver|(% style="width:48px" %)BAT|(% style="width:123px" %)Signal Strength|(% style="width:55px" %)MOD|(% style="width:80px" %)Interrupt|(% style="width:77px" %)Distance|(% style="width:94px" %)Timestamp|(% style="width:77px" %)Distance|(% style="width:116px" %)Timestamp.......
527
528 If we use the MQTT client to subscribe to this MQTT topic, we can see the following information when the NDDS20 uplink data.
529
530 [[image:image-20220908175246-1.png]]
531
532
533 The payload is ASCII string, representative same HEX:
534
535 **0x (% style="color:red" %)f867787050213317 (% style="color:blue" %)0084 (% style="color:green" %)0cf4 (% style="color:#00b0f0" %)1e (% style="color:#7030a0" %)01 (% style="color:#d60093" %)00(% style="color:#a14d07" %) 0039 (% style="color:#0020b0" %)6315537b (% style="color:#663300" %)00396319baf0 00396319ba3c 00396319b988 00396319b8d4 00396319b820 00396319b76c 00396319b6b8 00396319b604 (%%)**
536
537 **where:**
538
539 * (% style="color:#037691" %)**Device ID:**(%%) f867787050213317 = f867787050213317
540
541 * (% style="color:#037691" %)**Version:**(%%) 0x0084=132=1.3.2
542
543 * (% style="color:#037691" %)**BAT:**(%%)  0x0cf4 = 3316 mV = 3.316V
544
545 * (% style="color:#037691" %)**Singal:**(%%)  0x1e = 30
546
547 * (% style="color:#037691" %)**Mod:**(%%)**     **0x01 = 1
548
549 * (% style="color:#037691" %)**Interrupt:**(%%) 0x00= 0
550
551 * (% style="color:#037691" %)**Distance:**(%%) 0x0039= 57 = 57
552
553 * (% style="color:#037691" %)**Time stamp:**(%%) 0x6315537b =1662342011  ([[Unix Epoch Time>>url:http://www.epochconverter.com/]])
554
555 * (% style="color:#037691" %)**Distance,Time stamp:**(%%) 00396319baf0
556
557 * (% style="color:#037691" %)**8 sets of recorded data: Distance,Time stamp :**(%%) //**00396319ba3c**//,.......
558
559 == 2.4  Payload Explanation and Sensor Interface ==
560
561 === 2.4.1  Device ID ===
562
563
564 (((
565 By default, the Device ID equal to the last 6 bytes of IMEI.
566 )))
567
568 (((
569 User can use (% style="color:blue" %)**AT+DEUI**(%%) to set Device ID
570
571
572 )))
573
574 (((
575 (% style="color:blue" %)**Example :**
576 )))
577
578 (((
579 AT+DEUI=A84041F15612
580 )))
581
582 (((
583 The Device ID is stored in a none-erase area, Upgrade the firmware or run (% style="color:blue" %)**AT+FDR**(%%) won't erase Device ID.
584 )))
585
586
587 (% style="color:red" %)**NOTE: When the firmware version is v1.3.2 and later firmware:**
588
589 (% style="color:red" %)**By default, the Device ID equal to the last 15 bits of IMEI.**
590
591 User can use (% style="color:blue" %)**AT+DEUI**(%%) to set Device ID
592
593
594 (% style="color:blue" %)**Example :**
595
596 AT+DEUI=868411056754138
597
598
599 === 2.4.2  Version Info ===
600
601
602 (((
603 Specify the software version: 0x64=100, means firmware version 1.00.
604 )))
605
606 (((
607 For example: 0x00 64 : this device is NDDS20 with firmware version 1.0.0.
608 )))
609
610
611 === 2.4.3  Battery Info ===
612
613
614 (((
615 Ex1: 0x0B45 = 2885mV
616 )))
617
618 (((
619 Ex2: 0x0B49 = 2889mV
620 )))
621
622
623 === 2.4.4  Signal Strength ===
624
625
626 (((
627 NB-IoT Network signal Strength.
628 )))
629
630 (((
631 **Ex1: 0x1d = 29**
632 )))
633
634 (((
635 (% style="color:blue" %)**0**(%%)  -113dBm or less
636 )))
637
638 (((
639 (% style="color:blue" %)**1**(%%)  -111dBm
640 )))
641
642 (((
643 (% style="color:blue" %)**2...30**(%%) -109dBm... -53dBm
644 )))
645
646 (((
647 (% style="color:blue" %)**31**  (%%) -51dBm or greater
648 )))
649
650 (((
651 (% style="color:blue" %)**99**   (%%) Not known or not detectable
652 )))
653
654
655 === 2.4.5  Distance ===
656
657
658 (((
659 Get the distance. Flat object range 20mm - 2000mm.
660 )))
661
662 (((
663 For example, if the data you get from the register is __0x06 0x05__, the distance between the sensor and the measured object is(% style="color:#4472c4" %)** 0605(H) = 1541 (D) = 1541 mm.**
664 )))
665
666 * If the sensor value is 0x0000, it means system doesn't detect ultrasonic sensor.
667 * If the sensor value lower than 0x0014 (20mm), the sensor value will be invalid.
668
669 === 2.4.6  Digital Interrupt ===
670
671
672 (((
673 Digital Interrupt refers to pin (% style="color:blue" %)**GPIO_EXTI**(%%), and there are different trigger methods. When there is a trigger, the NDDS20 will send a packet to the server.
674 )))
675
676 (((
677 The command is:
678 )))
679
680 (((
681 (% style="color:blue" %)**AT+INTMOD=3 **(%%) ~/~/  (more info about INMOD please refer [[**AT Command Manual**>>url:https://www.dragino.com/downloads/downloads/NB-IoT/NBSN95/DRAGINO_NBSN95-NB_AT%20Commands_v1.1.0.pdf]])**.**
682 )))
683
684
685 (((
686 The lower four bits of this data field shows if this packet is generated by interrupt or not. Click here for the hardware and software set up.
687 )))
688
689
690 (((
691 Example:
692 )))
693
694 (((
695 0x(00): Normal uplink packet.
696 )))
697
698 (((
699 0x(01): Interrupt Uplink Packet.
700 )))
701
702
703 === 2.4.7  ​+5V Output ===
704
705
706 (((
707 NDDS20 will enable +5V output before all sampling and disable the +5v after all sampling. 
708 )))
709
710 (((
711 The 5V output time can be controlled by AT Command.
712 )))
713
714 (((
715 (% style="color:blue" %)**AT+5VT=1000**
716 )))
717
718 (((
719 Means set 5V valid time to have 1000ms. So the real 5V output will actually have 1000ms + sampling time for other sensors.
720 )))
721
722
723 == 2.5  Downlink Payload ==
724
725
726 By default, NDDS20 prints the downlink payload to console port.
727
728 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:515px" %)
729 |(% style="background-color:#4f81bd; color:white" %)**Downlink Control Type**|(% style="background-color:#4f81bd; color:white" %)**FPort**|(% style="background-color:#4f81bd; color:white; width:97px" %)**Type Code**|(% style="background-color:#4f81bd; color:white; width:178px" %)**Downlink payload size(bytes)**
730 |TDC (Transmit Time Interval)|Any|(% style="width:97px" %)01|(% style="width:183px" %)4
731 |RESET|Any|(% style="width:97px" %)04|(% style="width:183px" %)2
732 |INTMOD|Any|(% style="width:97px" %)06|(% style="width:183px" %)4
733
734 (((
735 (% style="color:blue" %)**Examples:**
736 )))
737
738 (((
739
740 )))
741
742 * (((
743 (% style="color:blue" %)**Set TDC**
744 )))
745
746 (((
747 If the payload=0100003C, it means set the END Node's TDC to 0x00003C=60(S), while type code is 01.
748 )))
749
750 (((
751 Payload:    01 00 00 1E    TDC=30S
752 )))
753
754 (((
755 Payload:    01 00 00 3C    TDC=60S
756 )))
757
758 (((
759
760 )))
761
762 * (((
763 (% style="color:blue" %)**Reset**
764 )))
765
766 (((
767 If payload = 0x04FF, it will reset the NDDS20
768 )))
769
770
771 * (% style="color:blue" %)**INTMOD**
772
773 (((
774 Downlink Payload: 06000003, Set AT+INTMOD=3
775 )))
776
777
778 == 2.6  Distance alarm function(Since firmware v1.3.2) ==
779
780
781 (% style="color:blue" %)** ➢ AT Command:**
782
783 (% style="color:#037691" %)** AT+ LDDSALARM=min,max**
784
785 ² When min=0, and max≠0, Alarm higher than max
786
787 ² When min≠0, and max=0, Alarm lower than min
788
789 ² When min≠0 and max≠0, Alarm higher than max or lower than min
790
791
792 (% style="color:blue" %)** Example:**
793
794 **AT+ LDDSALARM=260,2000**  ~/~/ Alarm when distance lower than 260.
795
796
797 == 2.7  Set the number of data to be uploaded and the recording time ==
798
799
800 (% style="color:blue" %)** ➢ AT Command:**
801
802 * (% style="color:#037691" %)** AT+TR=900** (%%) ~/~/ The unit is seconds, and the default is to record data once every 900 seconds.( The minimum can be set to 180 seconds)
803 * (% style="color:#037691" %)** AT+NOUD=8**             (%%) ~/~/  The device uploads 8 sets of recorded data by default. Up to 32 sets of record data can be uploaded.
804
805 The diagram below explains the relationship between TR, NOUD, and TDC more clearly**:**
806
807 [[image:image-20221009001114-1.png||height="687" width="955"]]
808
809
810 == 2.8  Read or Clear cached data ==
811
812
813 (% style="color:blue" %)** ➢ AT Command:**
814
815 * (% style="color:#037691" %)** AT+CDP ** (%%) ~/~/  Read cached data
816 * (% style="color:#037691" %)** AT+CDP=0**  (%%) ~/~/  Clear cached data
817
818 [[image:image-20220908175333-2.png]]
819
820
821 == 2.9  ​LED Indicator ==
822
823
824 The NDDS20 has an internal LED which is to show the status of different state.
825
826 * When power on, NDDS20 will detect if sensor probe is connected, if probe detected, LED will blink four times. (no blinks in this step is no probe)
827 * Then the LED will be on for 1 second means device is boot normally.
828 * After NDDS20 join NB-IoT network. The LED will be ON for 3 seconds.
829 * For each uplink probe, LED will be on for 500ms.
830
831 (((
832
833 )))
834
835
836 == 2.10  ​Firmware Change Log ==
837
838
839 (((
840 Download URL & Firmware Change log:  [[https:~~/~~/www.dropbox.com/sh/wb89169stk9pgre/AACdyIrp8PnJcmDycKrzp6KWa?dl=0>>https://www.dropbox.com/sh/wb89169stk9pgre/AACdyIrp8PnJcmDycKrzp6KWa?dl=0]]
841 )))
842
843 (((
844 Upgrade Instruction: [[Upgrade Firmware>>||anchor="H5.1200BHowtoUpgradeFirmware"]]
845 )))
846
847
848 == 2.11 Battery & Power Consumption ==
849
850
851 NDDS20 uses ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace.
852
853 [[**Battery Info & Power Consumption Analyze**>>url:http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] .
854
855
856 = 3. ​ Access NB-IoT Module =
857
858
859 (((
860 Users can directly access the AT command set of the NB-IoT module.
861 )))
862
863 (((
864 The AT Command set can refer the BC35-G NB-IoT Module AT Command: [[https:~~/~~/www.dragino.com/downloads/index.php?dir=datasheet/other_vendors/BC35-G/>>url:https://www.dragino.com/downloads/index.php?dir=datasheet/other_vendors/BC35-G/]] 
865
866
867 )))
868
869 [[image:1657333200519-600.png]]
870
871
872 = 4.  Using the AT Commands =
873
874 == 4.1  Access AT Commands ==
875
876
877 See this link for detail:  [[https:~~/~~/www.dropbox.com/sh/aaq2xcl0bzfu0yd/AAAEAHRa7Io_465ds4Y7-F3aa?dl=0>>https://www.dropbox.com/sh/aaq2xcl0bzfu0yd/AAAEAHRa7Io_465ds4Y7-F3aa?dl=0]]
878
879
880 AT+<CMD>?  :  Help on <CMD>
881
882 AT+<CMD>         :  Run <CMD>
883
884 AT+<CMD>=<value> :  Set the value
885
886 AT+<CMD>=?  :  Get the value
887
888
889 (% style="color:#037691" %)**General Commands**(%%)      
890
891 AT  :  Attention       
892
893 AT?  :  Short Help     
894
895 ATZ  :  MCU Reset    
896
897 AT+TDC  :  Application Data Transmission Interval
898
899 AT+CFG  :  Print all configurations
900
901 AT+CFGMOD           :  Working mode selection
902
903 AT+INTMOD            :  Set the trigger interrupt mode
904
905 AT+5VT  :  Set extend the time of 5V power  
906
907 AT+PRO  :  Choose agreement
908
909 AT+WEIGRE  :  Get weight or set weight to 0
910
911 AT+WEIGAP  :  Get or Set the GapValue of weight
912
913 AT+RXDL  :  Extend the sending and receiving time
914
915 AT+CNTFAC  :  Get or set counting parameters
916
917 AT+SERVADDR  :  Server Address
918
919 AT+TR  :  Get or Set record time"
920
921 AT+APN     :  Get or set the APN
922
923 AT+FBAND  :  Get or Set whether to automatically modify the frequency band
924
925 AT+DNSCFG  : Get or Set DNS Server
926
927 AT+GETSENSORVALUE   :  Returns the current sensor measurement
928
929 AT+NOUD  :  Get or Set the number of data to be uploaded
930
931 AT+CDP     :  Read or Clear cached data
932
933 AT+LDDSALARM :  Get or Set alarm of distance
934
935
936 (% style="color:#037691" %)**COAP Management**      
937
938 AT+URI            :  Resource parameters
939
940
941
942 (% style="color:#037691" %)**MQTT Management**
943
944 AT+CLIENT  :  Get or Set MQTT client
945
946 AT+UNAME  :  Get or Set MQTT Username
947
948 AT+PWD  :  Get or Set MQTT password
949
950 AT+PUBTOPIC  :  Get or Set MQTT publish topic
951
952 AT+SUBTOPIC  :  Get or Set MQTT subscription topic
953
954
955 (% style="color:#037691" %)**Information**          
956
957 AT+FDR  :  Factory Data Reset
958
959 AT+PWORD  :  Serial Access Password
960
961
962 = ​5.  FAQ =
963
964 == 5.1 ​ How to Upgrade Firmware ==
965
966
967 (((
968 User can upgrade the firmware for 1) bug fix, 2) new feature release.
969 )))
970
971 (((
972 Please see this link for how to upgrade:  [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Firmware%20Upgrade%20Instruction%20for%20STM32%20base%20products/#H2.HardwareUpgradeMethodSupportList>>http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20Upgrade%20Instruction%20for%20STM32%20base%20products/#H2.HardwareUpgradeMethodSupportList]]
973 )))
974
975 (((
976 (% style="color:red" %)**Notice, NDDS20 and LDDS75 share the same mother board. They use the same connection and method to update.**
977 )))
978
979
980 = 6.  Trouble Shooting =
981
982 == 6.1  ​Connection problem when uploading firmware ==
983
984
985 (((
986 **Please see: **[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Firmware%20Upgrade%20Instruction%20for%20STM32%20base%20products/#H3.3Troubleshooting>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20Upgrade%20Instruction%20for%20STM32%20base%20products/#H3.3Troubleshooting]]
987 )))
988
989 (% class="wikigeneratedid" %)
990 (((
991
992 )))
993
994 == 6.2  AT Command input doesn't work ==
995
996
997 (((
998 In the case if user can see the console output but can't type input to the device. Please check if you already include the (% style="color:green" %)**ENTER**(%%) while sending out the command. Some serial tool doesn't send (% style="color:green" %)**ENTER**(%%) while press the send key, user need to add ENTER in their string.
999 )))
1000
1001
1002 == 6.3 Not able to connect to NB-IoT network and keep showing "Signal Strength:99". ==
1003
1004
1005 This means sensor is trying to join the NB-IoT network but fail. Please see this link for **//[[trouble shooting for signal strenght:99>>doc:Main.CSQ\:99,99.WebHome]]//**.
1006
1007
1008 = 7. ​ Order Info =
1009
1010
1011 Part Number**:** (% style="color:#4f81bd" %)**NSDDS20**
1012
1013
1014 = 8.  Packing Info =
1015
1016 (((
1017
1018
1019 (% style="color:#037691" %)**Package Includes**:
1020
1021 * NDDS20 NB-IoT Ultrasonic Liquid Level Sensor x 1
1022 * External antenna x 1
1023 )))
1024
1025 (((
1026 (% style="color:red" %)**Note:**
1027 )))
1028
1029 (((
1030 (% style="color:red" %)**Ultrasonic coupling paste**(%%) and(% style="color:red" %)** Eproxy AB glue**(%%) are subjected in most shipping way. So the default package doesn't include it and user needs to purchase locally.
1031
1032
1033 )))
1034
1035 (((
1036 (% style="color:#037691" %)**Dimension and weight**:
1037
1038 * Device Size:
1039 * Device Weight:
1040 * Package Size / pcs :
1041 * Weight / pcs :
1042 )))
1043
1044 (((
1045
1046
1047
1048 )))
1049
1050 = 9.  Support =
1051
1052
1053 * 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.
1054
1055 * 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