Version 84.18 by Xiaoling on 2023/09/11 15:48

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 == 1.3 Specification ==
55
56
57 (% style="color:blue" %)**Common DC Characteristics:**
58
59 * Supply Voltage: 2.5v ~~ 3.6v
60 * Operating Temperature: -40 ~~ 85°C
61
62 (% style="color:blue" %)**NB-IoT Spec:**
63
64 (% style="color:#037691" %)**NB-IoT Module: BC660K-GL**
65
66 (% style="color:#037691" %)**Support Bands:**
67
68 * B1 @H-FDD: 2100MHz
69 * B2 @H-FDD: 1900MHz
70 * B3 @H-FDD: 1800MHz
71 * B4 @H-FDD: 2100MHz
72 * B5 @H-FDD: 860MHz
73 * B8 @H-FDD: 900MHz
74 * B12 @H-FDD: 720MHz
75 * B13 @H-FDD: 740MHz
76 * B17 @H-FDD: 730MHz
77 * B18 @H-FDD: 870MHz
78 * B19 @H-FDD: 870MHz
79 * B20 @H-FDD: 790MHz
80 * B25 @H-FDD: 1900MHz
81 * B28 @H-FDD: 750MHz
82 * B66 @H-FDD: 2000MHz
83 * B70 @H-FDD: 2000MHz
84 * B85 @H-FDD: 700MHz
85
86 (% style="color:blue" %)**Battery:**
87
88 * Li/SOCI2 un-chargeable battery
89 * Capacity: 8500mAh
90 * Self Discharge: <1% / Year @ 25°C
91 * Max continuously current: 130mA
92 * Max boost current: 2A, 1 second
93
94 (% style="color:blue" %)**Power Consumption**
95
96 * STOP Mode: 10uA @ 3.3v
97 * Max transmit power: 350mA@3.3v
98
99 == 1.4 Suitable Container & Liquid ==
100
101
102 * Solid Wall container such as: steel, iron, glass, ceramics, non-foaming plastics etc.
103 * Container shape is regular, and surface is smooth.
104 * Container Thickness:
105 ** Pure metal material.  2~~8mm, best is 3~~5mm
106 ** Pure non metal material: <10 mm
107 * Pure liquid without irregular deposition.
108
109 (% style="display:none" %)
110
111 == 1.5 Install DDS20-NB ==
112
113
114 (% style="color:blue" %)**Step 1**(%%):  ** Choose the installation point.**
115
116 DDS20-NB (% style="color:red" %)**MUST**(%%) be installed on the container bottom middle position.
117
118 [[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"]]
119
120
121 (((
122 (% style="color:blue" %)**Step 2**(%%):  **Polish the installation point.**
123 )))
124
125 (((
126 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.
127 )))
128
129 [[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"]]
130
131
132 No polish needed if the container is shine metal surface without paint or non-metal container.
133
134 [[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"]]
135
136
137 (((
138 (% style="color:blue" %)**Step3:   **(%%)**Test the installation point.**
139 )))
140
141 (((
142 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.
143 )))
144
145 (((
146 It is necessary to put the coupling paste between the sensor and the container, otherwise DDS20-NB won't detect the liquid level.
147 )))
148
149 (((
150 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.
151 )))
152
153
154 (((
155 (% style="color:blue" %)**LED Status:**
156 )))
157
158 * (((
159 **Onboard LED**: When power on device, the onboard LED will fast blink 4 times which means detect the sensor well.
160 )))
161
162 * (((
163 (% 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.
164 )))
165 * (((
166 (% style="color:blue" %)**BLUE LED**(% style="color:red" %)** slowly blinking**(%%): Sensor detects Liquid Level, The installation point is good.
167 )))
168
169 (((
170 DDS20-NB will enter into low power mode at 30 seconds after system reset or power on, Blue LED will be off after that.
171 )))
172
173
174 (((
175 (% 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.
176 )))
177
178
179 (((
180 (% style="color:blue" %)**Step4:   **(%%)**Install use Epoxy ab glue.**
181 )))
182
183 (((
184 Prepare Eproxy AB glue.
185 )))
186
187 (((
188 Put Eproxy AB glue in the sensor and press it hard on the container installation point.
189 )))
190
191 (((
192 Reset DDS20-NB and see if the BLUE LED is slowly blinking.
193 )))
194
195 [[image:image-20230809172509-1.png]]
196
197 (((
198 (% style="color:red" %)**Note :**(% style="color:red; display:none" %)** **
199
200 (% 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.
201 )))
202
203 (((
204 (% 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.
205 )))
206
207
208 == 1.6 Applications ==
209
210
211 * Smart liquid control solution
212
213 * Smart liquefied gas solution
214
215 == 1.7 Precautions ==
216
217
218 * 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.
219
220 * 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.
221
222 * 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.
223
224 (% style="display:none" %)
225
226
227
228 == 1.8 Sleep mode and working mode ==
229
230
231 (% 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.
232
233 (% 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.
234
235
236 == 1.9 Button & LEDs ==
237
238
239 [[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675071855856-879.png]]
240
241
242 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
243 |=(% 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**
244 |(% style="width:167px" %)Pressing ACT between 1s < time < 3s|(% style="width:117px" %)Send an uplink|(% style="width:225px" %)(((
245 If sensor has already attached to NB-IoT network, sensor will send an uplink packet, (% style="color:blue" %)**blue led** (%%)will blink once.
246 Meanwhile, BLE module will be active and user can connect via BLE to configure device.
247 )))
248 |(% style="width:167px" %)Pressing ACT for more than 3s|(% style="width:117px" %)Active Device|(% style="width:225px" %)(((
249 (% 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.
250 (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network.
251 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.
252 )))
253 |(% 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.
254
255 == 1.10 BLE connection ==
256
257
258 DDS20-NB support BLE remote configure and firmware update.
259
260
261 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:
262
263 * Press button to send an uplink
264 * Press button to active device.
265 * Device Power on or reset.
266
267 If there is no activity connection on BLE in 60 seconds, sensor will shut down BLE module to enter low power mode.
268
269
270 == 1.11 Pin Definitions & Switch ==
271
272
273 [[image:image-20230819104805-5.png]]
274
275
276 === 1.11.1 Jumper JP2 ===
277
278
279 Power on Device when put this jumper.
280
281
282 === 1.11.2 BOOT MODE / SW1 ===
283
284
285 **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.
286
287 **2)** (% style="color:blue" %)**Flash**(%%): work mode, device starts to work and send out console output for further debug
288
289
290 === 1.11.3 Reset Button ===
291
292
293 Press to reboot the device.
294
295 (% style="display:none" %)
296
297
298 == 1.12 Mechanical ==
299
300
301 [[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"]]
302
303 [[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"]]
304
305 [[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"]]
306
307
308 (% style="color:blue" %)**Probe Mechanical:**
309
310 [[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"]]
311
312 [[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"]]
313
314
315 = 2. Use DDS20-NB to communicate with IoT Server =
316
317 == 2.1 Send data to IoT server via NB-IoT network ==
318
319
320 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.
321
322
323 Below shows the network structure:
324
325 [[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"]]
326
327
328 There are two version: (% style="color:blue" %)**-GE**(%%) and (% style="color:blue" %)**-1D**(%%) version of DDS20-NB.
329
330
331 (% 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.
332
333 * 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]].
334
335 * 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]]. 
336
337 Below shows result of different server as a glance.
338
339 (% border="1" cellspacing="4" style="width:515px" %)
340 |(% 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**
341 |(% 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" %)(((
342 (% style="text-align:center" %)
343 [[image:image-20230819113244-8.png||height="183" width="367"]]
344 )))|(% style="width:170px" %)
345 |(% 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" %)(((
346 (% style="text-align:center" %)
347 [[image:image-20230819113244-9.png||height="119" width="367"]]
348 )))|(% style="width:170px" %)
349 |(% 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" %)
350 |(% 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" %)
351 |(% 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" %)
352 |(% 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" %)(((
353 (% style="text-align:center" %)
354 [[image:image-20230819113244-10.png||height="104" width="367"]]
355 )))|(% style="width:170px" %)
356 |(% 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" %)(((
357 (% style="text-align:center" %)
358 [[image:image-20230819113244-11.png||height="141" width="367"]]
359 )))|(% style="width:170px" %)
360
361 (% 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]].
362
363
364 == 2.2 ​Payload Types ==
365
366
367 To meet different server requirement, DDS20-NB supports different payload type.
368
369 **Includes:**
370
371 * [[General JSON format payload>>||anchor="H2.2.1GeneralJsonFormat28Type3D529"]]. (Type=5)
372
373 * [[HEX format Payload>>||anchor="H2.2.2HEXformatPayload28Type3D029"]]. (Type=0)
374
375 * [[ThingSpeak Format>>||anchor="H2.2.4ThingSpeakPayload28Type3D129"]]. (Type=1)
376
377 * [[ThingsBoard Format>>||anchor="H2.2.3ThingsBoardPayload28Type3D329"]]. (Type=3)
378
379 User can specify the payload type when choose the connection protocol. Example:
380
381 (% style="color:#037691" %)**AT+PRO=2,0**  (%%) ~/~/ Use UDP Connection & hex Payload
382
383 (% style="color:#037691" %)**AT+PRO=2,5**   (%%) ~/~/ Use UDP Connection & Json Payload
384
385 (% style="color:#037691" %)**AT+PRO=3,5 ** (%%) ~/~/ Use MQTT Connection & Json Payload
386
387
388 === 2.2.1 General Json Format(Type~=5) ===
389
390
391 This is the General Json Format. As below:
392
393 (% 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}}**
394
395
396 (% style="color:red" %)**Notice, from above payload:**
397
398 * Temperature , Humidity , Battery & Signal are the value at uplink time.
399
400 * 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.
401
402 === 2.2.2 HEX format Payload(Type~=0) ===
403
404
405 This is the HEX Format. As below:
406
407 (% style="color:#4472c4" %)**f86620705346276200640cba16010000000011011801e864d49c2d011a01e364d49925011901eb64d49871011901e564d497bd011a01e664d49709011901e964d49655011a01e864d495a1011a01e864d494ed011801e864d49439**
408
409 [[image:1692424009971-458.png]]
410
411
412 (% style="color:blue" %)**Version:**
413
414 These bytes include the hardware and software version.
415
416 (% style="color:#037691" %)**Higher byte:**(%%) Specify Sensor Model: 0x00 for DDS20-NB
417
418 (% style="color:#037691" %)**Lower byte:**(%%) Specify the software version: 0x64=100, means firmware version 100
419
420
421 (% style="color:blue" %)**BAT (Battery Info):**
422
423 Ex1: 0x0CBA = 3258mV
424
425
426 (% style="color:blue" %)**Signal Strength:**
427
428 NB-IoT Network signal Strength.
429
430 **Ex1: 0x16 = 22**
431
432 **0**  -113dBm or less
433
434 **1**  -111dBm
435
436 **2...30** -109dBm... -53dBm
437
438 **31**   -51dBm or greater
439
440 **99**    Not known or not detectable
441
442
443 (% style="color:blue" %)**TimeStamp:   **
444
445 Unit TimeStamp Example: 64d49439(H) = 1691653177(D)
446
447 Put the decimal value into this link(https:~/~/www.epochconverter.com/) to get the time.
448
449
450 === 2.2.3 ThingsBoard Payload(Type~=3) ===
451
452
453 Type3 payload special design for ThingsBoard, it will also configure other default server to ThingsBoard.
454
455 (% style="color:#4472c4" %)**{"IMEI":866207053462762,"temperature":29.2,"humidity":54.2,"battery":3.27,"signal":24}**
456
457
458 === 2.2.4 ThingSpeak Payload(Type~=1) ===
459
460
461 This payload meets ThingSpeak platform requirement. It includes only four fields. Form 1~~4 are:
462
463 Temperature, Humidity, Battery & Signal. This payload type only valid for ThingsSpeak Platform
464
465 As below:
466
467 (% style="color:#4472c4" %)**field1=27.9&field2=49.9&field3=3.23&field4=28**
468
469 == 2.3  ​Uplink Payload ==
470
471
472 (((
473 DDS20-NB will uplink payload via LoRaWAN with below payload format: 
474 )))
475
476 (((
477 Uplink payload includes in total 8 bytes.
478 )))
479
480 (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %)
481 |=(% 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
482 |(% style="width:95px" %)Value|(% style="width:61px" %)[[BAT>>||anchor="H2.3.2A0BatteryInfo"]]|(((
483 [[Distance>>||anchor="H2.3.3A0Distance"]]
484 (unit: mm)
485 )))|[[Digital Interrupt (Optional)>>||anchor="H2.3.4A0InterruptPin"]]|(((
486 [[Temperature (Optional)>>||anchor="H2.3.5A0DS18B20Temperaturesensor"]]
487 )))|[[Sensor Flag>>||anchor="H2.3.6A0SensorFlag"]]
488
489 [[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"]]
490
491
492 === 2.3.1 Device Status, FPORT~=5 ===
493
494
495 (((
496 Users can use the downlink command(**0x26 01**) to ask DDS20-NB to send device configure detail, include device configure status. DDS20-NB will uplink a payload via FPort=5 to server.
497
498 The Payload format is as below.
499 )))
500
501 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:490px" %)
502 |=(% colspan="6" style="background-color:#4F81BD;color:white" %)Device Status (FPORT=5)
503 |(% style="width:60px" %)**Size(bytes)**|(% style="width:80px" %)**1**|(% style="width:140px" %)**2**|(% style="width:140px" %)**1**|(% style="width:70px" %)**1**|(% style="width:70px" %)**2**
504 |(% style="width:94px" %)**Value**|(% style="width:68px" %)Sensor Model|(% style="width:80px" %)Firmware Version|(% style="width:86px" %)Frequency Band|(% style="width:61px" %)Sub-band|(% style="width:61px" %)BAT
505
506 [[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/DDS20.png?width=1336&height=241&rev=1.1||alt="DDS20.png"]]
507
508
509 (% style="color:#037691" %)**Sensor Model**(%%)**:** For DDS20-NB, this value is 0x29
510
511 (% style="color:#037691" %)**Firmware Version**(%%)**:** 0x0100, Means: v1.0.0 version
512
513 (% style="color:#037691" %)**Frequency Band**(%%)**:**
514
515 0x01: EU868
516
517 0x02: US915
518
519 0x03: IN865
520
521 0x04: AU915
522
523 0x05: KZ865
524
525 0x06: RU864
526
527 0x07: AS923
528
529 0x08: AS923-1
530
531 0x09: AS923-2
532
533 0x0a: AS923-3
534
535 0x0b: CN470
536
537 0x0c: EU433
538
539 0x0d: KR920
540
541 0x0e: MA869
542
543
544 (% style="color:#037691" %)**Sub-Band**(%%)**:**
545
546 AU915 and US915: value 0x00 ~~ 0x08
547
548 CN470: value 0x0B ~~ 0x0C
549
550 Other Bands: Always 0x00
551
552
553 (% style="color:#037691" %)**Battery Info:**
554
555 Check the battery voltage.
556
557 Ex1: 0x0B45 = 2885mV
558
559 Ex2: 0x0B49 = 2889mV
560
561
562 === 2.3.2  Battery Info ===
563
564
565 Check the battery voltage for DDS20-NB.
566
567 Ex1: 0x0B45 = 2885mV
568
569 Ex2: 0x0B49 = 2889mV
570
571
572 === 2.3.3  Distance ===
573
574
575 (((
576 Get the distance. Flat object range 20mm - 2000mm.
577 )))
578
579 (((
580 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" %)** **
581
582 (% style="color:blue" %)**0605(H) = 1541 (D) = 1541 mm.**
583 )))
584
585 * If the sensor value is 0x0000, it means system doesn't detect ultrasonic sensor.
586
587 * If the sensor value lower than 0x0014 (20mm), the sensor value will be invalid.
588
589 === 2.3.4  Interrupt Pin ===
590
591
592 This data field shows if this packet is generated by interrupt or not.
593
594 **Example:**
595
596 0x00: Normal uplink packet.
597
598 0x01: Interrupt Uplink Packet.
599
600
601 === 2.3.5  DS18B20 Temperature sensor ===
602
603
604 This is optional, user can connect external DS18B20 sensor to the +3.3v, 1-wire and GND pin . and this field will report temperature.
605
606 **Example**:
607
608 If payload is: 0105H:  (0105 & FC00 == 0), temp = 0105H /10 = 26.1 degree
609
610 If payload is: FF3FH :  (FF3F & FC00 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees.
611
612
613 === 2.3.6  Sensor Flag ===
614
615
616 (((
617 0x01: Detect Ultrasonic Sensor
618 )))
619
620 (((
621 0x00: No Ultrasonic Sensor
622
623
624 )))
625
626 == 2.4 Test Uplink and Change Update Interval ==
627
628
629 By default, Sensor will send uplinks (% style="color:blue" %)**every 2 hours**(%%) & AT+NOUD=8
630
631 User can use below commands to change the (% style="color:blue" %)**uplink interval**.
632
633 (% style="color:#037691" %)**AT+TDC=600 ** (%%) ~/~/ Set Update Interval to 600s
634
635 User can also push the button for more than 1 seconds to activate an uplink.
636
637
638 == 2.5 Multi-Samplings and One uplink ==
639
640
641 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:
642
643 * (% 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)
644
645 * (% 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.
646
647 The diagram below explains the relationship between TR, NOUD, and TDC more clearly:
648
649 [[image:1692424376354-959.png]]
650
651
652 == 2.6 Trggier an uplink by external interrupt ==
653
654
655 DDS20-NB has an external trigger interrupt function. Users can use the PB15 pin to trigger the upload of data packets.
656
657 (% style="color:blue" %)**AT command:**
658
659 * (% style="color:#037691" %)**AT+INTMOD **(%%) ~/~/ Set the trigger interrupt mode
660
661 * (% style="color:#037691" %)**AT+INTMOD=0 **(%%) ~/~/ Disable Interrupt
662
663 * (% style="color:#037691" %)**AT+INTMOD=1 **(%%) ~/~/ Trigger by rising and falling edge
664
665 * (% style="color:#037691" %)**AT+INTMOD=2 **(%%) ~/~/ Trigger by falling edge
666
667 * (% style="color:#037691" %)**AT+INTMOD=3  **(%%) ~/~/ Trigger by rising edge
668
669
670 = 3. Configure DDS20-NB =
671
672 == 3.1 Configure Methods ==
673
674
675 DDS20-NB supports below configure method:
676
677 * AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]].
678
679 * 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]].
680
681 == 3.2 AT Commands Set ==
682
683
684 AT+<CMD>?        : Help on <CMD>
685
686 AT+<CMD>         : Run <CMD>
687
688 AT+<CMD>=<value> : Set the value
689
690 AT+<CMD>=?       : Get the value
691
692
693 (% style="color:blue" %)**General Commands**      
694
695 AT                    : Attention       
696
697 AT?  : Short Help     
698
699 ATZ  : MCU Reset    
700
701 AT+TDC  : Application Data Transmission Interval
702
703 AT+CFG  : Print all configurations
704
705 AT+CFGMOD           : Working mode selection
706
707 AT+DEUI  : Get or set the Device ID
708
709 AT+INTMOD            : Set the trigger interrupt mode
710
711 AT+5VT           : Set extend the time of 5V power  
712
713 AT+PRO          : Choose agreement
714
715 AT+RXDL  : Extend the sending and receiving time
716
717 AT+DNSCFG  : Get or Set DNS Server
718
719 AT+GETSENSORVALUE   : Returns the current sensor measurement
720
721 AT+NOUD  : Get or Set the number of data to be uploaded
722
723 AT+CDP     : Read or Clear cached data
724
725 AT+SHTEMP:  Get or Set alarm of temp
726
727 AT+SHHUM:  Get or Set alarm of moisture
728
729 AT+SERVADDR :  Server Address
730
731
732 (% style="color:blue" %)**UDP Management**
733
734 AT+CFM  :  Upload confirmation mode (only valid for UDP)
735
736
737 (% style="color:blue" %)**MQTT Management**
738
739 AT+CLIENT               : Get or Set MQTT client
740
741 AT+UNAME              : Get or Set MQTT Username
742
743 AT+PWD                  : Get or Set MQTT password
744
745 AT+PUBTOPIC  : Get or Set MQTT publish topic
746
747 AT+SUBTOPIC  : Get or Set MQTT subscription topic
748
749
750 (% style="color:blue" %)**Information**          
751
752 AT+FDR  : Factory Data Reset
753
754 AT+PWORD  : Serial Access Password
755
756 AT+LDATA  : Get the last upload data
757
758 AT+CDP  : Read or Clear cached data
759
760
761 = 4. Battery & Power Consumption =
762
763
764 DDS20-NB use ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace.
765
766 [[**Battery Info & Power Consumption Analyze**>>http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] .
767
768
769 = 5. Firmware update =
770
771
772 User can change device firmware to::
773
774 * Update with new features.
775
776 * Fix bugs.
777
778 Firmware and changelog can be downloaded from : **[[Firmware download link>>https://www.dropbox.com/sh/fhb3uyl4gt6clru/AAAiZVTFcxrfE1JOOyfcgO9ha?dl=0]]**
779
780 Methods to Update Firmware:
781
782 * (Recommended way) OTA firmware update via BLE: [[**Instruction**>>url:http://wiki.dragino.com/xwiki/bin/view/Main/BLE_Firmware_Update_NB_Sensors_BC660K-GL/]].
783
784 * 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]]**.
785
786 = 6. FAQ =
787
788 == 6.1 How can I access t BC660K-GL AT Commands? ==
789
790
791 User can access to BC660K-GL directly and send AT Commands.
792
793 [[See BC660K-GL AT Command set>>url:https://www.dropbox.com/sh/5f6ssda5fum8rvs/AABT68l8ZzWOvZ5eg2qwOoFda?dl=0]]
794
795
796 = 7.  Trouble Shooting =
797
798 == 7.1  Why i always see 0x0000 or 0 for the distance value? ==
799
800
801 (((
802 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.
803
804 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.
805 )))
806
807 = 8. Order Info =
808
809
810 Part Number: (% style="color:blue" %)**DDS20-NB-XX**
811
812 (% style="color:red" %)**XX**(%%):
813
814 * (% style="color:#037691" %)**GE**(%%): General version ( Exclude SIM card)
815
816 * (% style="color:#037691" %)**1D**(%%): with 1NCE* 10 years 500MB SIM card and Pre-configure to DataCake server
817
818 (% 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
819
820
821 = 9. ​Packing Info =
822
823
824 (% style="color:#037691" %)**Package Includes**:
825
826 * DDS20-NB NB-IoT Ultrasonic liquid level sensor x 1
827
828 * External antenna x 1
829
830 (% style="color:#037691" %)**Dimension and weight**:
831
832 * Device Size: 13.0 x 5 x 4.5 cm
833
834 * Device Weight: 150g
835
836 * Package Size / pcs : 14.0 x 8x 5 cm
837
838 * Weight / pcs : 180g
839
840 = 10. Support =
841
842
843 * 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.
844
845 * 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]].
846
847 (% style="display:none" %) (%%)