Version 84.27 by Xiaoling on 2023/09/12 08:54

Show last authors
1 (% style="text-align:center" %)
2 [[image:image-20230911134259-1.png||height="570" width="570"]]
3
4
5 **Table of Contents:**
6
7 {{toc/}}
8
9
10
11
12
13
14 = 1. Introduction =
15
16 == 1.1 What is DDS20-NB NB-IoT Ultrasonic liquid level Sensor ==
17
18
19 The Dragino DDS20-NB 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 (% style="color:blue" %)**height of liquid**(%%) in a container without opening the container, and send IoT platform via NB-IoT network.
20
21 The DDS20-NB 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 none-contact measurement makes the measurement safety, easier and possible for some strict situation. 
22
23 DDS20-NB uses (% style="color:blue" %)**ultrasonic sensing technology**(%%) for distance measurement. DDS20-NB is of high accuracy to measure various liquid such as: (% style="color:blue" %)**toxic substances**, **strong acids**, **strong alkalis**(%%) and (% style="color:blue" %)**various pure liquids**(%%) in high-temperature and high-pressure airtight containers.
24
25 DDS20-NB supports different uplink methods including (% style="color:blue" %)**MQTT, MQTTs, UDP & TCP**(%%) for different application requirement, and support uplinks to various IoT Servers.
26
27 DDS20-NB (% style="color:blue" %)**supports BLE configure **(%%)and(% style="color:blue" %)** OTA update**(%%) which make user easy to use.
28
29 DDS20-NB is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%), it is designed for long-term use up to severa years.
30
31 DDS20-NB has optional built-in SIM card and default IoT server connection version. Which makes it works with simple configuration.
32
33
34 [[image:image-20230911140426-2.png||height="320" width="951"]]
35
36
37 == 1.2 ​Features ==
38
39
40 * NB-IoT Bands: B1/B2/B3/B4/B5/B8/B12/B13/B17/B18/B19/B20/B25/B28/B66/B70/B85 @H-FDD
41 * Ultra-low power consumption
42 * Liquid Level Measurement by Ultrasonic technology
43 * Measure through container, No need to contact Liquid
44 * Valid level range 20mm - 2000mm
45 * Accuracy: ±(5mm+S*0.5%) (S: Measure Value)
46 * Multiply Sampling and one uplink
47 * Support Bluetooth v5.1 remote configure and update firmware
48 * Uplink on periodically
49 * Downlink to change configure
50 * IP66 Waterproof Enclosure
51 * 8500mAh Battery for long term use
52 * Nano SIM card slot for NB-IoT SIM
53
54
55
56 == 1.3 Specification ==
57
58
59 (% style="color:blue" %)**Common DC Characteristics:**
60
61 * Supply Voltage: 2.5v ~~ 3.6v
62 * Operating Temperature: -40 ~~ 85°C
63
64 (% style="color:blue" %)**NB-IoT Spec:**
65
66 (% style="color:#037691" %)**NB-IoT Module: BC660K-GL**
67
68 (% style="color:#037691" %)**Support Bands:**
69
70 * B1 @H-FDD: 2100MHz
71 * B2 @H-FDD: 1900MHz
72 * B3 @H-FDD: 1800MHz
73 * B4 @H-FDD: 2100MHz
74 * B5 @H-FDD: 860MHz
75 * B8 @H-FDD: 900MHz
76 * B12 @H-FDD: 720MHz
77 * B13 @H-FDD: 740MHz
78 * B17 @H-FDD: 730MHz
79 * B18 @H-FDD: 870MHz
80 * B19 @H-FDD: 870MHz
81 * B20 @H-FDD: 790MHz
82 * B25 @H-FDD: 1900MHz
83 * B28 @H-FDD: 750MHz
84 * B66 @H-FDD: 2000MHz
85 * B70 @H-FDD: 2000MHz
86 * B85 @H-FDD: 700MHz
87
88 (% style="color:blue" %)**Battery:**
89
90 * Li/SOCI2 un-chargeable battery
91 * Capacity: 8500mAh
92 * Self Discharge: <1% / Year @ 25°C
93 * Max continuously current: 130mA
94 * Max boost current: 2A, 1 second
95
96 (% style="color:blue" %)**Power Consumption**
97
98 * STOP Mode: 10uA @ 3.3v
99 * Max transmit power: 350mA@3.3v
100
101
102
103 == 1.4 Suitable Container & Liquid ==
104
105
106 * Solid Wall container such as: steel, iron, glass, ceramics, non-foaming plastics etc.
107 * Container shape is regular, and surface is smooth.
108 * Container Thickness:
109 ** Pure metal material.  2~~8mm, best is 3~~5mm
110 ** Pure non metal material: <10 mm
111 * Pure liquid without irregular deposition.
112
113
114
115 (% style="display:none" %)
116
117 == 1.5 Install DDS20-NB ==
118
119
120 (% style="color:blue" %)**Step 1**(%%):  ** Choose the installation point.**
121
122 DDS20-NB (% style="color:red" %)**MUST**(%%) be installed on the container bottom middle position.
123
124 [[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"]]
125
126
127 (((
128 (% style="color:blue" %)**Step 2**(%%):  **Polish the installation point.**
129 )))
130
131 (((
132 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.
133 )))
134
135 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/DDS20-LB_LoRaWAN_Ultrasonic_Liquid_Level_Sensor_User_Manual/WebHome/image-20230613143052-5.png?rev=1.1||alt="image-20230613143052-5.png"]]
136
137
138 No polish needed if the container is shine metal surface without paint or non-metal container.
139
140 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/DDS20-LB_LoRaWAN_Ultrasonic_Liquid_Level_Sensor_User_Manual/WebHome/image-20230613143125-6.png?rev=1.1||alt="image-20230613143125-6.png"]]
141
142
143 (((
144 (% style="color:blue" %)**Step3:   **(%%)**Test the installation point.**
145 )))
146
147 (((
148 Power on DDS20-NB, 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.
149 )))
150
151 (((
152 It is necessary to put the coupling paste between the sensor and the container, otherwise DDS20-NB won't detect the liquid level.
153 )))
154
155 (((
156 After paste the DDS20-NB well, power on DDS20-NB. 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.
157 )))
158
159
160 (((
161 (% style="color:blue" %)**LED Status:**
162 )))
163
164 * (((
165 **Onboard LED**: When power on device, the onboard LED will fast blink 4 times which means detect the sensor well.
166 )))
167
168 * (((
169 (% 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.
170 )))
171 * (((
172 (% style="color:blue" %)**BLUE LED**(% style="color:red" %)** slowly blinking**(%%): Sensor detects Liquid Level, The installation point is good.
173 )))
174
175 (((
176 DDS20-NB will enter into low power mode at 30 seconds after system reset or power on, Blue LED will be off after that.
177 )))
178
179
180 (((
181 (% style="color:red" %)**Note :**(%%)** (% style="color:blue" %)Ultrasonic coupling paste(%%)**(% style="color:blue" %) (%%) is subjected in most shipping way. So the default package doesn't include it and user needs to purchase locally.
182 )))
183
184
185 (((
186 (% style="color:blue" %)**Step4:   **(%%)**Install use Epoxy ab glue.**
187 )))
188
189 (((
190 Prepare Eproxy AB glue.
191 )))
192
193 (((
194 Put Eproxy AB glue in the sensor and press it hard on the container installation point.
195 )))
196
197 (((
198 Reset DDS20-NB and see if the BLUE LED is slowly blinking.
199 )))
200
201 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/DDS20-LB_LoRaWAN_Ultrasonic_Liquid_Level_Sensor_User_Manual/WebHome/image-20230809172509-1.png?rev=1.1||alt="image-20230809172509-1.png"]]
202
203 (((
204 (% style="color:red" %)**Note :**(% style="color:red; display:none" %)** **
205
206 (% style="color:red" %)**1:**(%%)** (% style="color:blue" %)Eproxy AB glue(%%)** needs 3~~ 5 minutes to stable attached. we can use other glue material to keep it in the position.
207 )))
208
209 (((
210 (% style="color:red" %)**2:**(%%)** (% style="color:blue" %)Eproxy AB glue(%%)** is subjected in most shipping way. So the default package doesn't include it and user needs to purchase locally.
211 )))
212
213
214 == 1.6 Applications ==
215
216
217 * Smart liquid control solution
218
219 * Smart liquefied gas solution
220
221
222
223 == 1.7 Precautions ==
224
225
226 * 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.
227
228 * 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.
229
230 * 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.
231
232 (% style="display:none" %)
233
234
235
236 == 1.8 Sleep mode and working mode ==
237
238
239 (% style="color:blue" %)**Deep Sleep Mode: **(%%)Sensor doesn't have any LoRaWAN activate. This mode is used for storage and shipping to save battery life.
240
241 (% style="color:blue" %)**Working Mode:** (%%)In this mode, Sensor will work as LoRaWAN Sensor to Join LoRaWAN network and send out sensor data to server. Between each sampling/tx/rx periodically, sensor will be in IDLE mode), in IDLE mode, sensor has the same power consumption as Deep Sleep mode.
242
243
244 == 1.9 Button & LEDs ==
245
246
247 [[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675071855856-879.png]]
248
249
250 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
251 |=(% style="width: 167px;background-color:#4F81BD;color:white" %)**Behavior on ACT**|=(% style="width: 117px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width:225px;background-color:#4F81BD;color:white" %)**Action**
252 |(% style="width:167px" %)Pressing ACT between 1s < time < 3s|(% style="width:117px" %)Send an uplink|(% style="width:225px" %)(((
253 If sensor has already attached to NB-IoT network, sensor will send an uplink packet, (% style="color:blue" %)**blue led** (%%)will blink once.
254 Meanwhile, BLE module will be active and user can connect via BLE to configure device.
255 )))
256 |(% style="width:167px" %)Pressing ACT for more than 3s|(% style="width:117px" %)Active Device|(% style="width:225px" %)(((
257 (% style="color:green" %)**Green led**(%%) will fast blink 5 times, device will enter (% style="color:#037691" %)**OTA mode**(%%) for 3 seconds. And then start to attach NB-IoT network.
258 (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network.
259 Once sensor is active, BLE module will be active and user can connect via BLE to configure device, no matter if device attach NB-IoT network or not.
260 )))
261 |(% style="width:167px" %)Fast press ACT 5 times.|(% style="width:117px" %)Deactivate Device|(% style="width:225px" %)(% style="color:red" %)**Red led**(%%) will solid on for 5 seconds. Means device is in Deep Sleep Mode.
262
263
264
265 == 1.10 BLE connection ==
266
267
268 DDS20-NB support BLE remote configure and firmware update.
269
270
271 BLE can be used to configure the parameter of sensor or see the console output from sensor. BLE will be only activate on below case:
272
273 * Press button to send an uplink
274 * Press button to active device.
275 * Device Power on or reset.
276
277 If there is no activity connection on BLE in 60 seconds, sensor will shut down BLE module to enter low power mode.
278
279
280 == 1.11 Pin Definitions & Switch ==
281
282
283 [[image:image-20230819104805-5.png]]
284
285
286 === 1.11.1 Jumper JP2 ===
287
288
289 Power on Device when put this jumper.
290
291
292 === 1.11.2 BOOT MODE / SW1 ===
293
294
295 **1)** (% style="color:blue" %)**ISP**(%%): upgrade mode, device won't have any signal in this mode. but ready for upgrade firmware. LED won't work. Firmware won't run.
296
297 **2)** (% style="color:blue" %)**Flash**(%%): work mode, device starts to work and send out console output for further debug
298
299
300 === 1.11.3 Reset Button ===
301
302
303 Press to reboot the device.
304
305 (% style="display:none" %)
306
307
308 == 1.12 Mechanical ==
309
310
311 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual/WebHome/1675143884058-338.png?rev=1.1||alt="1675143884058-338.png"]]
312
313 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual/WebHome/1675143899218-599.png?rev=1.1||alt="1675143899218-599.png"]]
314
315 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual/WebHome/1675143909447-639.png?rev=1.1||alt="1675143909447-639.png"]]
316
317
318 (% style="color:blue" %)**Probe Mechanical:**
319
320 [[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"]]
321
322 [[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"]]
323
324
325 = 2. Use DDS20-NB to communicate with IoT Server =
326
327 == 2.1 Send data to IoT server via NB-IoT network ==
328
329
330 The DDS20-NB is equipped with a NB-IoT module, the pre-loaded firmware in DDS20-NB 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 DDS20-NB.
331
332
333 Below shows the network structure:
334
335 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/DDS20-NB_NB-IoT_Ultrasonic_Liquid_Level_Sensor_User_Manual/WebHome/image-20230911140426-2.png?width=951&height=320&rev=1.1||alt="image-20230911140426-2.png"]]
336
337
338 There are two version: (% style="color:blue" %)**-GE**(%%) and (% style="color:blue" %)**-1D**(%%) version of DDS20-NB.
339
340
341 (% style="color:blue" %)**GE Version**(%%): This version doesn't include SIM card or point to any IoT server. User needs to use AT Commands to configure below two steps to set DDS20-NB send data to IoT server.
342
343 * Install NB-IoT SIM card and configure APN. See instruction of [[Attach Network>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H2.AttachNetwork]].
344
345 * Set up sensor to point to IoT Server. See instruction of [[Configure to Connect Different Servers>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.Configuretoconnecttodifferentservers]]. 
346
347 Below shows result of different server as a glance.
348
349 (% border="1" cellspacing="4" style="width:515px" %)
350 |(% style="background-color:#4f81bd; color:white; width:100px" %)**Servers**|(% style="background-color:#4f81bd; color:white; width:300px" %)**Dash Board**|(% style="background-color:#4f81bd; color:white; width:115px" %)**Comments**
351 |(% style="width:127px" %)[[Node-Red>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.5A0Node-RedA028viaA0MQTT29]]|(% style="width:385px" %)(((
352 (% style="text-align:center" %)
353 [[image:image-20230819113244-8.png||height="183" width="367"]]
354 )))|(% style="width:170px" %)
355 |(% style="width:127px" %)[[DataCake>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.4Datacake]]|(% style="width:385px" %)(((
356 (% style="text-align:center" %)
357 [[image:image-20230819113244-9.png||height="119" width="367"]]
358 )))|(% style="width:170px" %)
359 |(% style="width:127px" %)[[Tago.IO>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.7A0Tago.ioA028viaA0MQTT29]]|(% style="width:385px" %) |(% style="width:170px" %)
360 |(% style="width:127px" %)[[General UDP>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.1GeneralA0UDPA0Connection]]|(% style="width:385px" %)Raw Payload. Need Developer to design Dash Board|(% style="width:170px" %)
361 |(% style="width:127px" %)[[General MQTT>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.2GeneralA0MQTTA0Connection]]|(% style="width:385px" %)Raw Payload. Need Developer to design Dash Board|(% style="width:170px" %)
362 |(% style="width:127px" %)[[ThingSpeak>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.3A0ThingSpeakA028viaA0MQTT29]]|(% style="width:385px" %)(((
363 (% style="text-align:center" %)
364 [[image:image-20230819113244-10.png||height="104" width="367"]]
365 )))|(% style="width:170px" %)
366 |(% style="width:127px" %)[[ThingsBoard>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.6A0ThingsBoard.CloudA028viaA0MQTT29]]|(% style="width:385px" %)(((
367 (% style="text-align:center" %)
368 [[image:image-20230819113244-11.png||height="141" width="367"]]
369 )))|(% style="width:170px" %)
370
371 (% style="color:blue" %)**1D Version**(%%): This version has 1NCE SIM card pre-installed and configure to send value to DataCake. User Just need to select the sensor type in DataCake and Activate DDS20-NB and user will be able to see data in DataCake. See here for [[DataCake Config Instruction>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.4Datacake]].
372
373
374 == 2.2 ​Payload Types ==
375
376
377 To meet different server requirement, DDS20-NB supports different payload type.
378
379 **Includes:**
380
381 * [[General JSON format payload>>||anchor="H2.2.1GeneralJsonFormat28Type3D529"]]. (Type=5)
382
383 * [[HEX format Payload>>||anchor="H2.2.2HEXformatPayload28Type3D029"]]. (Type=0)
384
385 * [[ThingSpeak Format>>||anchor="H2.2.4ThingSpeakPayload28Type3D129"]]. (Type=1)
386
387 * [[ThingsBoard Format>>||anchor="H2.2.3ThingsBoardPayload28Type3D329"]]. (Type=3)
388
389 User can specify the payload type when choose the connection protocol. Example:
390
391 (% style="color:#037691" %)**AT+PRO=2,0**  (%%) ~/~/ Use UDP Connection & hex Payload
392
393 (% style="color:#037691" %)**AT+PRO=2,5**   (%%) ~/~/ Use UDP Connection & Json Payload
394
395 (% style="color:#037691" %)**AT+PRO=3,5 ** (%%) ~/~/ Use MQTT Connection & Json Payload
396
397
398 === 2.2.1 General Json Format(Type~=5) ===
399
400
401 This is the General Json Format. As below:
402
403 (% style="color:#4472c4" %)**{"IMEI":866207053462762,"temperature":29.2,"humidity":54.2,"battery":3.27,"signal":24,"Model":DDS20-NB, "1":{28.2,48.3,2023/08/10 08:00:37},"2":{28.1,49.1,2023/08/10 07:57:37},"3":{28.1,48.5,2023/08/10 07:54:37},"4":{28.2,48.6,2023/08/10 07:51:37},"5":{28.1,48.9,2023/08/10 07:48:37},"6":{28.2,48.8,2023/08/10 07:45:37},"7":{28.2,48.8,2023/08/10 07:42:37},"8":{28.0,48.8,2023/08/10 07:39:37}}**
404
405
406 (% style="color:red" %)**Notice, from above payload:**
407
408 * Temperature , Humidity , Battery & Signal are the value at uplink time.
409
410 * Json entry 1 ~~ 8 are the last 1 ~~ 8 sampling data as specify by (% style="color:#037691" %)**AT+NOUD=8 ** (%%)Command. Each entry includes (from left to right): Temperature, Humidity, Sampling time.
411
412
413
414 === 2.2.2 HEX format Payload(Type~=0) ===
415
416
417 This is the HEX Format. As below:
418
419 (% style="color:#4472c4" %)**f86620705346276200640cba16010000000011011801e864d49c2d011a01e364d49925011901eb64d49871011901e564d497bd011a01e664d49709011901e964d49655011a01e864d495a1011a01e864d494ed011801e864d49439**
420
421 [[image:1692424009971-458.png]]
422
423
424 (% style="color:blue" %)**Version:**
425
426 These bytes include the hardware and software version.
427
428 (% style="color:#037691" %)**Higher byte:**(%%) Specify Sensor Model: 0x00 for DDS20-NB
429
430 (% style="color:#037691" %)**Lower byte:**(%%) Specify the software version: 0x64=100, means firmware version 100
431
432
433 (% style="color:blue" %)**BAT (Battery Info):**
434
435 Ex1: 0x0CBA = 3258mV
436
437
438 (% style="color:blue" %)**Signal Strength:**
439
440 NB-IoT Network signal Strength.
441
442 **Ex1: 0x16 = 22**
443
444 **0**  -113dBm or less
445
446 **1**  -111dBm
447
448 **2...30** -109dBm... -53dBm
449
450 **31**   -51dBm or greater
451
452 **99**    Not known or not detectable
453
454
455 (% style="color:blue" %)**TimeStamp:   **
456
457 Unit TimeStamp Example: 64d49439(H) = 1691653177(D)
458
459 Put the decimal value into this link(https:~/~/www.epochconverter.com/) to get the time.
460
461
462 === 2.2.3 ThingsBoard Payload(Type~=3) ===
463
464
465 Type3 payload special design for ThingsBoard, it will also configure other default server to ThingsBoard.
466
467 (% style="color:#4472c4" %)**{"IMEI":866207053462762,"temperature":29.2,"humidity":54.2,"battery":3.27,"signal":24}**
468
469
470 === 2.2.4 ThingSpeak Payload(Type~=1) ===
471
472
473 This payload meets ThingSpeak platform requirement. It includes only four fields. Form 1~~4 are:
474
475 Temperature, Humidity, Battery & Signal. This payload type only valid for ThingsSpeak Platform
476
477 As below:
478
479 (% style="color:#4472c4" %)**field1=27.9&field2=49.9&field3=3.23&field4=28**
480
481
482 == 2.3  ​Uplink Payload ==
483
484
485 (((
486 DDS20-NB will uplink payload via LoRaWAN with below payload format: 
487 )))
488
489 (((
490 Uplink payload includes in total 8 bytes.
491 )))
492
493 (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %)
494 |=(% style="width: 95px; background-color:#4F81BD;color:white" %)Size(bytes)|=(% style="width: 61px; background-color:#4F81BD;color:white" %)2|=(% style="background-color:#4F81BD;color:white" %)2|=(% style="background-color:#4F81BD;color:white" %)1|=(% style="background-color:#4F81BD;color:white" %)2|=(% style="background-color:#4F81BD;color:white" %)1
495 |(% style="width:95px" %)Value|(% style="width:61px" %)[[BAT>>||anchor="H2.3.1A0BatteryInfo"]]|(((
496 [[Distance>>||anchor="H2.3.2A0Distance"]]
497 (unit: mm)
498 )))|[[Digital Interrupt (Optional)>>||anchor="H2.3.3A0InterruptPin"]]|(((
499 [[Temperature (Optional)>>||anchor="H2.3.4A0DS18B20Temperaturesensor"]]
500 )))|[[Sensor Flag>>||anchor="H2.3.5A0SensorFlag"]]
501
502 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/DDS20-LB_LoRaWAN_Ultrasonic_Liquid_Level_Sensor_User_Manual/WebHome/%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20230702135733.png?width=964&height=215&rev=1.1||alt="微信截图_20230702135733.png"]]
503
504
505 === 2.3.1  Battery Info ===
506
507
508 Check the battery voltage for DDS20-NB.
509
510 Ex1: 0x0B45 = 2885mV
511
512 Ex2: 0x0B49 = 2889mV
513
514
515 === 2.3.2  Distance ===
516
517
518 (((
519 Get the distance. Flat object range 20mm - 2000mm.
520 )))
521
522 (((
523 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" %)** **
524
525 (% style="color:blue" %)**0605(H) = 1541 (D) = 1541 mm.**
526 )))
527
528 * If the sensor value is 0x0000, it means system doesn't detect ultrasonic sensor.
529
530 * If the sensor value lower than 0x0014 (20mm), the sensor value will be invalid.
531
532
533
534 === 2.3.3  Interrupt Pin ===
535
536
537 This data field shows if this packet is generated by interrupt or not.
538
539 **Example:**
540
541 0x00: Normal uplink packet.
542
543 0x01: Interrupt Uplink Packet.
544
545
546 === 2.3.4  DS18B20 Temperature sensor ===
547
548
549 This is optional, user can connect external DS18B20 sensor to the +3.3v, 1-wire and GND pin . and this field will report temperature.
550
551 **Example**:
552
553 If payload is: 0105H:  (0105 & FC00 == 0), temp = 0105H /10 = 26.1 degree
554
555 If payload is: FF3FH :  (FF3F & FC00 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees.
556
557
558 === 2.3.5  Sensor Flag ===
559
560
561 (((
562 0x01: Detect Ultrasonic Sensor
563 )))
564
565 (((
566 0x00: No Ultrasonic Sensor
567
568
569 )))
570
571 == 2.4 Test Uplink and Change Update Interval ==
572
573
574 By default, Sensor will send uplinks (% style="color:blue" %)**every 2 hours**(%%) & AT+NOUD=8
575
576 User can use below commands to change the (% style="color:blue" %)**uplink interval**.
577
578 (% style="color:#037691" %)**AT+TDC=600 ** (%%) ~/~/ Set Update Interval to 600s
579
580 User can also push the button for more than 1 seconds to activate an uplink.
581
582
583 == 2.5 Multi-Samplings and One uplink ==
584
585
586 To save battery life, DDS20-NB will sample temperature & humidity data every 15 minutes and send one uplink every 2 hours. So each uplink it will include 8 stored data + 1 real-time data. They are defined by:
587
588 * (% style="color:#037691" %)**AT+TR=900**   (%%) ~/~/ The unit is seconds, and the default is to record data once every 900 seconds (15 minutes, the minimum can be set to 180 seconds)
589
590 * (% 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.
591
592 The diagram below explains the relationship between TR, NOUD, and TDC more clearly:
593
594 [[image:1692424376354-959.png]]
595
596
597 == 2.6 Trggier an uplink by external interrupt ==
598
599
600 DDS20-NB has an external trigger interrupt function. Users can use the PB15 pin to trigger the upload of data packets.
601
602 (% style="color:blue" %)**AT command:**
603
604 * (% style="color:#037691" %)**AT+INTMOD **(%%) ~/~/ Set the trigger interrupt mode
605
606 * (% style="color:#037691" %)**AT+INTMOD=0 **(%%) ~/~/ Disable Interrupt
607
608 * (% style="color:#037691" %)**AT+INTMOD=1 **(%%) ~/~/ Trigger by rising and falling edge
609
610 * (% style="color:#037691" %)**AT+INTMOD=2 **(%%) ~/~/ Trigger by falling edge
611
612 * (% style="color:#037691" %)**AT+INTMOD=3  **(%%) ~/~/ Trigger by rising edge
613
614
615
616 = 3. Configure DDS20-NB =
617
618 == 3.1 Configure Methods ==
619
620
621 DDS20-NB supports below configure method:
622
623 * AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]].
624
625 * AT Command via UART Connection : See [[UART Connection>>http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H2.3UARTConnectionforSN50v3basemotherboard]].
626
627
628
629 == 3.2 AT Commands Set ==
630
631
632 AT+<CMD>?        : Help on <CMD>
633
634 AT+<CMD>         : Run <CMD>
635
636 AT+<CMD>=<value> : Set the value
637
638 AT+<CMD>=?       : Get the value
639
640
641 (% style="color:blue" %)**General Commands**      
642
643 AT                    : Attention       
644
645 AT?  : Short Help     
646
647 ATZ  : MCU Reset    
648
649 AT+TDC  : Application Data Transmission Interval
650
651 AT+CFG  : Print all configurations
652
653 AT+CFGMOD           : Working mode selection
654
655 AT+DEUI  : Get or set the Device ID
656
657 AT+INTMOD            : Set the trigger interrupt mode
658
659 AT+5VT           : Set extend the time of 5V power  
660
661 AT+PRO          : Choose agreement
662
663 AT+RXDL  : Extend the sending and receiving time
664
665 AT+DNSCFG  : Get or Set DNS Server
666
667 AT+GETSENSORVALUE   : Returns the current sensor measurement
668
669 AT+NOUD  : Get or Set the number of data to be uploaded
670
671 AT+CDP     : Read or Clear cached data
672
673 AT+SHTEMP:  Get or Set alarm of temp
674
675 AT+SHHUM:  Get or Set alarm of moisture
676
677 AT+SERVADDR :  Server Address
678
679
680 (% style="color:blue" %)**UDP Management**
681
682 AT+CFM  :  Upload confirmation mode (only valid for UDP)
683
684
685 (% style="color:blue" %)**MQTT Management**
686
687 AT+CLIENT               : Get or Set MQTT client
688
689 AT+UNAME              : Get or Set MQTT Username
690
691 AT+PWD                  : Get or Set MQTT password
692
693 AT+PUBTOPIC  : Get or Set MQTT publish topic
694
695 AT+SUBTOPIC  : Get or Set MQTT subscription topic
696
697
698 (% style="color:blue" %)**Information**          
699
700 AT+FDR  : Factory Data Reset
701
702 AT+PWORD  : Serial Access Password
703
704 AT+LDATA  : Get the last upload data
705
706 AT+CDP  : Read or Clear cached data
707
708
709 = 4. Battery & Power Consumption =
710
711
712 DDS20-NB use ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace.
713
714 [[**Battery Info & Power Consumption Analyze**>>http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] .
715
716
717 = 5. Firmware update =
718
719
720 User can change device firmware to::
721
722 * Update with new features.
723
724 * Fix bugs.
725
726 Firmware and changelog can be downloaded from : **[[Firmware download link>>https://www.dropbox.com/sh/nyzeu0lf0amcaek/AAC6UZrqyTcAyJgXOH7l9F9Ka?dl=0]]**
727
728 Methods to Update Firmware:
729
730 * (Recommended way) OTA firmware update via BLE: [[**Instruction**>>url:http://wiki.dragino.com/xwiki/bin/view/Main/BLE_Firmware_Update_NB_Sensors_BC660K-GL/]].
731
732 * Update through UART TTL interface : **[[Instruction>>url:http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H1.LoRaSTv4baseHardware]]**.
733
734
735
736 = 6. FAQ =
737
738 == 6.1 How can I access t BC660K-GL AT Commands? ==
739
740
741 User can access to BC660K-GL directly and send AT Commands.
742
743 [[See BC660K-GL AT Command set>>url:https://www.dropbox.com/sh/5f6ssda5fum8rvs/AABT68l8ZzWOvZ5eg2qwOoFda?dl=0]]
744
745
746 = 7.  Trouble Shooting =
747
748 == 7.1  Why i always see 0x0000 or 0 for the distance value? ==
749
750
751 (((
752 DDS20-NB has a strict [[**installation requirement**>>||anchor="H1.5A0InstallDDS20-NB"]]. Please make sure the installation method exactly follows up with the installation requirement. Otherwise, the reading might be always 0x00.
753
754 If you have followed the instruction requirement exactly but still see the 0x00 reading issue, please. please double-check the decoder, you can check the raw payload to verify.
755
756
757 )))
758
759 = 8. Order Info =
760
761
762 Part Number: (% style="color:blue" %)**DDS20-NB-XX**
763
764 (% style="color:red" %)**XX**(%%):
765
766 * (% style="color:#037691" %)**GE**(%%): General version ( Exclude SIM card)
767
768 * (% style="color:#037691" %)**1D**(%%): with 1NCE* 10 years 500MB SIM card and Pre-configure to DataCake server
769
770 (% style="color:#037691" %)**1NCE SIM Card NB-IoT network coverage**(%%): Austria, Belgium, Bulgaria, Croatia, Czech Republic, Denmark, Finland, Germany, Great Britain, Greece, Hungary, Ireland, Italy, Latvia, Malta, Netherlands, Norway, Puerto Rico, Russia, Slovak , Republic, Slovenia, Spain, Sweden, Switzerland, Taiwan, USA, US Virgin Islands
771
772
773 = 9. ​Packing Info =
774
775
776 (% style="color:#037691" %)**Package Includes**:
777
778 * DDS20-NB NB-IoT Ultrasonic liquid level sensor x 1
779
780 * External antenna x 1
781
782 (% style="color:#037691" %)**Dimension and weight**:
783
784 * Device Size: 13.0 x 5 x 4.5 cm
785
786 * Device Weight: 150g
787
788 * Package Size / pcs : 14.0 x 8x 5 cm
789
790 * Weight / pcs : 180g
791
792
793
794 = 10. Support =
795
796
797 * 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.
798
799 * 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.cc>>mailto:Support@dragino.cc]].
800
801 (% style="display:none" %) (%%)