Version 146.1 by Mengting Qiu on 2025/02/18 15:03

Show last authors
1 (% aria-label="image-20230911134259-1.png image widget" contenteditable="false" role="region" tabindex="-1" %)
2 (((
3 (% data-widget="image" style="text-align:center" %)
4 [[image:image-20230911134259-1.png||height="570" width="570"]](% title="Click and drag to resize" %)​
5
6 (% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||height="15" role="presentation" title="Click and drag to move" width="15"]]
7 )))
8
9
10 **Table of Contents:**
11
12 (% aria-label="macro:toc widget" contenteditable="false" role="region" tabindex="-1" %)
13 (((
14 {{toc/}}
15
16 (% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||height="15" role="presentation" title="Click and drag to move" width="15"]]
17 )))
18
19
20
21
22
23
24 = 1. Introduction =
25
26 == 1.1 What is DDS20-NB NB-IoT Ultrasonic liquid level Sensor ==
27
28
29 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.
30
31 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. 
32
33 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.
34
35 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.
36
37 DDS20-NB (% style="color:blue" %)**supports BLE configure **(%%)and(% style="color:blue" %)** OTA update**(%%) which make user easy to use.
38
39 DDS20-NB is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%), it is designed for long-term use up to several years.
40
41 DDS20-NB has optional built-in SIM card and default IoT server connection version. Which makes it works with simple configuration.
42
43
44 (% aria-label="image-20230911140426-2.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:image-20230911140426-2.png||data-widget="image" height="320" width="951"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %)​
45
46
47 == 1.2 ​Features ==
48
49
50 * NB-IoT Bands: B1/B2/B3/B4/B5/B8/B12/B13/B17/B18/B19/B20/B25/B28/B66/B70/B85 @H-FDD
51 * Ultra-low power consumption
52 * Liquid Level Measurement by Ultrasonic technology
53 * Measure through container, No need to contact Liquid
54 * Valid level range 20mm - 2000mm
55 * Accuracy: ±(5mm+S*0.5%) (S: Measure Value)
56 * Multiply Sampling and one uplink
57 * Support Bluetooth v5.1 remote configure and update firmware
58 * Uplink on periodically
59 * Downlink to change configure
60 * IP66 Waterproof Enclosure
61 * 8500mAh Battery for long term use
62 * Nano SIM card slot for NB-IoT SIM
63
64 == 1.3 Specification ==
65
66
67 (% style="color:blue" %)**Common DC Characteristics:**
68
69 * Supply Voltage: 2.5v ~~ 3.6v
70 * Operating Temperature: -40 ~~ 85°C
71
72 (% style="color:blue" %)**NB-IoT Spec:**
73
74 (% style="color:#037691" %)**NB-IoT Module: BC660K-GL**
75
76 (% style="color:#037691" %)**Support Bands:**
77
78 * B1 @H-FDD: 2100MHz
79 * B2 @H-FDD: 1900MHz
80 * B3 @H-FDD: 1800MHz
81 * B4 @H-FDD: 2100MHz
82 * B5 @H-FDD: 860MHz
83 * B8 @H-FDD: 900MHz
84 * B12 @H-FDD: 720MHz
85 * B13 @H-FDD: 740MHz
86 * B17 @H-FDD: 730MHz
87 * B18 @H-FDD: 870MHz
88 * B19 @H-FDD: 870MHz
89 * B20 @H-FDD: 790MHz
90 * B25 @H-FDD: 1900MHz
91 * B28 @H-FDD: 750MHz
92 * B66 @H-FDD: 2000MHz
93 * B70 @H-FDD: 2000MHz
94 * B85 @H-FDD: 700MHz
95
96 (% style="color:blue" %)**Battery:**
97
98 * Li/SOCI2 un-chargeable battery
99 * Capacity: 8500mAh
100 * Self Discharge: <1% / Year @ 25°C
101 * Max continuously current: 130mA
102 * Max boost current: 2A, 1 second
103
104 (% style="color:blue" %)**Power Consumption**
105
106 * STOP Mode: 10uA @ 3.3v
107 * Max transmit power: 350mA@3.3v
108
109 == 1.4 Suitable Container & Liquid ==
110
111
112 * Solid Wall container such as: steel, iron, glass, ceramics, non-foaming plastics etc.
113 * Container shape is regular, and surface is smooth.
114 * Container Thickness:
115 ** Pure metal material.  2~~8mm, best is 3~~5mm
116 ** Pure non metal material: <10 mm
117 * Pure liquid without irregular deposition.
118
119 (% style="display:none" %)
120
121 == 1.5 Install DDS20-NB ==
122
123
124 (% style="color:blue" %)**Step 1**(%%):  ** Choose the installation point.**
125
126 DDS20-NB (% style="color:red" %)**MUST**(%%) be installed on the container bottom middle position.
127
128 (% aria-label="image-20220615091045-3.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[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" data-widget="image"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %)​
129
130
131 (((
132 (% style="color:blue" %)**Step 2**(%%):  **Polish the installation point.**
133 )))
134
135 (((
136 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.
137 )))
138
139 (% aria-label="image-20230613143052-5.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[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" data-widget="image"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %)​
140
141
142 No polish needed if the container is shine metal surface without paint or non-metal container.
143
144 (% aria-label="image-20230613143125-6.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[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" data-widget="image"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %)​
145
146
147 (((
148 (% style="color:blue" %)**Step3:   **(%%)**Test the installation point.**
149 )))
150
151 (((
152 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.
153 )))
154
155 (((
156 It is necessary to put the coupling paste between the sensor and the container, otherwise DDS20-NB won't detect the liquid level.
157 )))
158
159 (((
160 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.
161 )))
162
163
164 (((
165 (% style="color:blue" %)**LED Status:**
166 )))
167
168 * (((
169 **Onboard LED**: When power on device, the onboard LED will fast blink 4 times which means detect the sensor well.
170 )))
171
172 * (((
173 (% 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.
174 )))
175 * (((
176 (% style="color:blue" %)**BLUE LED**(% style="color:red" %)** slowly blinking**(%%): Sensor detects Liquid Level, The installation point is good.
177 )))
178
179 (((
180 DDS20-NB will enter into low power mode at 30 seconds after system reset or power on, Blue LED will be off after that.
181 )))
182
183 (((
184 (% 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.
185 )))
186
187
188 (((
189 (% style="color:blue" %)**Step4:   **(%%)**Install use Epoxy ab glue.**
190
191
192 After ensuring that the ultrasonic coupling paste is applied to the sensor and adheres closely to the mounting point, and the sensor can work normally, add AB epoxy glue.
193
194 ((% style="color:red" %)**Note :**(%%)The ultrasonic coupling agent is used to help the sensor detect the liquid in the container, and the epoxy AB glue is used to fix the probe. Both need to be used at the same time.)
195 )))
196
197 (((
198 Prepare Eproxy AB glue.
199 )))
200
201 (((
202 Put Eproxy AB glue in the sensor and press it hard on the container installation point.
203 )))
204
205 (((
206 Reset DDS20-NB and see if the BLUE LED is slowly blinking.
207 )))
208
209 (% aria-label="image-20230809172509-1.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[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" data-widget="image"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %)​(%%)     
210
211 (((
212 (% style="color:red" %)**Note :**(% style="color:red; display:none" %)** **
213
214 (% 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.
215 )))
216
217 (((
218 (% 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.
219 )))
220
221
222 == 1.6 Applications ==
223
224
225 * Smart liquid control solution
226
227 * Smart liquefied gas solution
228
229 == 1.7 Precautions ==
230
231
232 * 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.
233
234 * 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.
235
236 * 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.
237
238 (% style="display:none" %)
239
240
241 == 1.8 Sleep mode and working mode ==
242
243
244 (% style="color:blue" %)**Deep Sleep Mode: **(%%)Sensor doesn't have any NB-IoT activate. This mode is used for storage and shipping to save battery life.
245
246 (% style="color:blue" %)**Working Mode:** (%%)In this mode, Sensor will work as NB-IoT Sensor to Join NB-IoT 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.
247
248
249 == 1.9 Button & LEDs ==
250
251
252 (% aria-label="1675071855856-879.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675071855856-879.png||data-widget="image"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %)​
253
254
255 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
256 |=(% 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**
257 |(% style="width:167px" %)Pressing ACT between 1s < time < 3s|(% style="width:117px" %)Send an uplink|(% style="width:225px" %)(((
258 If sensor has already attached to NB-IoT network, sensor will send an uplink packet, (% style="color:blue" %)**blue led** (%%)will blink once.
259 Meanwhile, BLE module will be active and user can connect via BLE to configure device.
260 )))
261 |(% style="width:167px" %)Pressing ACT for more than 3s|(% style="width:117px" %)Active Device|(% style="width:225px" %)(((
262 (% 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.
263 (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network.
264 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.
265 )))
266 |(% 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.
267
268 (% style="color:red" %)**Note: When the device is executing a program, the buttons may become invalid. It is best to press the buttons after the device has completed the program execution.**
269
270
271 == 1.10 BLE connection ==
272
273
274 DDS20-NB support BLE remote configure and firmware update.
275
276 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:
277
278 * Press button to send an uplink
279 * Press button to active device.
280 * Device Power on or reset.
281
282 If there is no activity connection on BLE in 60 seconds, sensor will shut down BLE module to enter low power mode.
283
284
285 == 1.11 Pin Definitions , Switch & SIM Direction ==
286
287
288 [[image:image-20250218150249-1.jpeg||height="356" width="775"]](% title="Click and drag to resize" %)​
289
290
291 === 1.11.1 Jumper JP2 ===
292
293
294 Power on Device when put this jumper.
295
296
297 === 1.11.2 BOOT MODE / SW1 ===
298
299
300 **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.
301
302 **2)** (% style="color:blue" %)**Flash**(%%): work mode, device starts to work and send out console output for further debug
303
304
305 === 1.11.3 Reset Button ===
306
307
308 Press to reboot the device.
309
310 (% style="display:none" %)
311
312
313 === 1.11.4 SIM Card Direction ===
314
315
316 See this link. [[How to insert SIM Card>>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]].
317
318
319 == 1.12 Mechanical ==
320
321
322 (% aria-label="1675143884058-338.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[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" data-widget="image"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %)​
323
324 (% aria-label="1675143899218-599.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[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" data-widget="image"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %)​
325
326 (% aria-label="1675143909447-639.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[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" data-widget="image"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %)​
327
328
329 (% style="color:blue" %)**Probe Mechanical:**
330
331 (% aria-label="image-20220615090910-1.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[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" data-widget="image"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %)​
332
333 (% aria-label="image-20220615090910-2.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[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" data-widget="image"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %)​
334
335
336 = 2. Use DDS20-NB to communicate with IoT Server =
337
338 == 2.1 Send data to IoT server via NB-IoT network ==
339
340
341 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.
342
343
344 Below shows the network structure:
345
346 (% aria-label="image-20230911140426-2.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[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" data-widget="image"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %)​
347
348
349 There are two version: (% style="color:blue" %)**-GE**(%%) and (% style="color:blue" %)**-1T**(%%) version of DDS20-NB.
350
351
352 (% 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.
353
354 * 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]].
355
356 * 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]]. 
357
358 Below shows result of different server as a glance.
359
360 (% border="1" cellspacing="4" style="width:515px" %)
361 |(% 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**
362 |(% 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" %)(((
363 (% aria-label="image-20230819113244-8.png image widget" contenteditable="false" role="region" tabindex="-1" %)
364 (((
365 (% data-widget="image" style="text-align:center" %)
366 [[image:image-20230819113244-8.png||height="183" width="367"]](% title="Click and drag to resize" %)​
367
368 (% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||height="15" role="presentation" title="Click and drag to move" width="15"]]
369 )))
370 )))|(% style="width:170px" %)
371 |(% 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" %)(((
372 (% aria-label="image-20230819113244-9.png image widget" contenteditable="false" role="region" tabindex="-1" %)
373 (((
374 (% data-widget="image" style="text-align:center" %)
375 [[image:image-20230819113244-9.png||height="119" width="367"]](% title="Click and drag to resize" %)​
376
377 (% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||height="15" role="presentation" title="Click and drag to move" width="15"]]
378 )))
379 )))|(% style="width:170px" %)
380 |(% 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" %)
381 |(% 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" %)
382 |(% 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" %)
383 |(% 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" %)(((
384 (% aria-label="image-20230819113244-10.png image widget" contenteditable="false" role="region" tabindex="-1" %)
385 (((
386 (% data-widget="image" style="text-align:center" %)
387 [[image:image-20230819113244-10.png||height="104" width="367"]](% title="Click and drag to resize" %)​
388
389 (% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||height="15" role="presentation" title="Click and drag to move" width="15"]]
390 )))
391 )))|(% style="width:170px" %)
392 |(% 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" %)(((
393 (% aria-label="image-20230819113244-11.png image widget" contenteditable="false" role="region" tabindex="-1" %)
394 (((
395 (% data-widget="image" style="text-align:center" %)
396 [[image:image-20230819113244-11.png||height="141" width="367"]](% title="Click and drag to resize" %)​
397
398 (% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||height="15" role="presentation" title="Click and drag to move" width="15"]]
399 )))
400 )))|(% style="width:170px" %)
401
402 (% style="color:blue" %)**1T Version**(%%): This version has 1NCE SIM card pre-installed and configure to send value to ThingsEye. User Just need to select the sensor type in ThingsEyeand Activate DDS20-NB and user will be able to see data in ThingsEye. See here for [[ThingsEye Config Instruction>>url:https://wiki.thingseye.io/xwiki/bin/view/Main/]].
403
404
405 == 2.2 ​Payload Types ==
406
407
408 To meet different server requirement, DDS20-NB supports different payload type.
409
410 **Includes:**
411
412 * [[General JSON format payload>>||anchor="H2.2.1GeneralJsonFormat28Type3D529"]]. (Type=5)
413
414 * [[HEX format Payload>>||anchor="H2.2.2HEXformatPayload28Type3D029"]]. (Type=0)
415
416 * [[ThingSpeak Format>>||anchor="H2.2.4ThingSpeakPayload28Type3D129"]]. (Type=1)
417
418 * [[ThingsBoard Format>>||anchor="H2.2.3ThingsBoardPayload28Type3D329"]]. (Type=3)
419
420 User can specify the payload type when choose the connection protocol. Example:
421
422 (% style="color:#037691" %)**AT+PRO=2,0**  (%%) ~/~/ Use UDP Connection & hex Payload
423
424 (% style="color:#037691" %)**AT+PRO=2,5**   (%%) ~/~/ Use UDP Connection & Json Payload
425
426 (% style="color:#037691" %)**AT+PRO=3,5 ** (%%) ~/~/ Use MQTT Connection & Json Payload
427
428
429 === 2.2.1 General Json Format(Type~=5) ===
430
431
432 This is the General Json Format. As below:
433
434 (% style="color:#4472c4" %)**{"IMEI":"863663062798914","IMSI":"460083513507314","Model":"DDS20-NB","distance":31,"interrupt":0,"interrupt_level":0,"battery":3.26,"signal":16,"time":"2024/11/21 06:47:49","1":[0,"2024/11/21 05:26:12"],"2":[0,"2024/11/21 05:11:12"],"3":[0,"2024/11/21 04:56:12"],"4":[0,"2024/11/21 04:41:12"],"5":[0,"2024/11/21 04:26:12"],"6":[0,"2024/11/21 04:11:12"],"7":[0,"2024/11/21 03:10:21"],"8":[0,"2024/11/21 01:22:43"]}**
435
436 [[image:image-20241121145000-1.png]]
437
438 (% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %)​
439
440 (% style="color:red" %)**Notice, from above payload:**
441
442 * Distance, interrupt, interrupt_level, Battery, Signal & time are the value at uplink time.
443
444 * Json entry 1 ~~ 8 are the last 1 ~~ 8 sampling data as specify by (% style="color:#037691" %)**AT+CLOCKLOG=1,65535,15,8** (%%)Command. Each entry includes (from left to right): Distance, Sampling time.
445
446 === 2.2.2 HEX format Payload(Type~=0) ===
447
448
449 This is the HEX Format. As below:
450
451 (% style="color:#4472c4" %)**f863663062798914f4600835135073140a820cd413010000001f673ed8a40000673ec4740000673ec0f00000673ebd6c0000673eb9e80000673eb6640000673eb2e00000673ea49d0000673e8b63**
452
453 (% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]][[image:image-20240528101748-3.png||height="206" width="1226"]](% title="Click and drag to resize" %)​[[image:image-20241204100001-1.png||height="240" width="1462"]]
454
455 If we use the MQTT client to subscribe to this MQTT topic, we can see the following information when the NB sensor uplink data.
456
457 (% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %)​[[image:image-20241121145354-2.png]]
458
459 (% style="color:blue" %)**Version:**
460
461 These bytes include the hardware and software version.
462
463 (% style="color:#037691" %)**Higher byte:**(%%) Specify Sensor Model: 0x0a for DDS20-NB
464
465 (% style="color:#037691" %)**Lower byte:**(%%) Specify the software version: 0x82=130, means firmware version 1.3.0
466
467
468 (% style="color:blue" %)**BAT (Battery Info):**
469
470 Ex1: 0x0d28 = 3368mV
471
472
473 (% style="color:blue" %)**Signal Strength:**
474
475 NB-IoT Network signal Strength.
476
477 **Ex1: 0x12 = 18**
478
479 **0**  -113dBm or less
480
481 **1**  -111dBm
482
483 **2...30** -109dBm... -53dBm
484
485 **31**   -51dBm or greater
486
487 **99**    Not known or not detectable
488
489
490 (% style="color:blue" %)**Distance:  **
491
492 Ex1: 0x002C = 44 mm
493
494
495 (% style="color:blue" %)**TimeStamp:   **
496
497 Unit TimeStamp Example: 66518047(H) = 1716617287(D)
498
499 Put the decimal value into this link ([[https:~~/~~/www.epochconverter.com)>>https://www.epochconverter.com]])to get the time.
500
501
502 === 2.2.3 ThingsBoard Payload(Type~=3) ===
503
504
505 Type3 payload special design for ThingsBoard, it will also configure other default server to ThingsBoard.
506
507 (% style="color:#4472c4" %)**{
508 "topic": "2276492",
509 "payload": {
510 "IMEI": "863663062798914",
511 "Model": "DDS20-NB",
512 "distance": 44,
513 "interrupt": 0,
514 "interrupt_level": 0,
515 "battery": 3.38,
516 "signal": 13,
517 "1": [44, "2024/05/25 06:18:55"],
518 "2": [44, "2024/05/25 06:14:13"],
519 "3": [44, "2024/05/25 06:11:12"],
520 "4": [44, "2024/05/25 05:25:53"],
521 "5": [44, "2024/05/25 05:10:53"],
522 "6": [44, "2024/05/25 04:55:53"],
523 "7": [44, "2024/05/25 04:40:52"],
524 "8": [44, "2024/05/25 04:25:53"]
525 }
526 }**
527
528 [[image:image-20240528102652-6.png||height="673" width="1358"]]
529
530 === 2.2.4 ThingSpeak Payload(Type~=1) ===
531
532
533 This payload meets ThingSpeak platform requirement. It includes only four fields. Form 1~~3 are:
534
535 Distance, Battery & Signal. This payload type only valid for ThingsSpeak Platform
536
537 As below:
538
539 (% style="color:#4472c4" %)**field1=Distance value&field2=Battery value&field3=Signal value**
540
541 (% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]][[image:image-20240528102726-8.png]]
542
543 (% title="Click and drag to resize" %)​
544
545 == 2.3 Test Uplink and Change Update Interval ==
546
547
548 By default, Sensor will send uplinks (% style="color:blue" %)**every 2 hours**(%%) & AT+NOUD=8
549
550 User can use below commands to change the (% style="color:blue" %)**uplink interval**.
551
552 (% style="color:#037691" %)**AT+TDC=7200 ** (%%) ~/~/ Set Update Interval to 7200s
553
554 User can also push the button for more than 1 seconds to activate an uplink.
555
556
557 == 2.4 Multi-Samplings and One uplink ==
558
559
560 (% style="color:red" %)**Notice: The AT+NOUD feature is upgraded to Clock Logging, please refer [[Clock Logging Feature>>||anchor="H2.7Clocklogging28Sincefirmwareversionv1.2.129"]]**
561
562 To save battery life, DDS20-NB will sample Distance 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:
563
564 * (% 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)
565
566 * (% 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.
567
568 The diagram below explains the relationship between TR, NOUD, and TDC more clearly:
569
570 (% aria-label="1692424376354-959.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:1692424376354-959.png||data-widget="image"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %)​
571
572
573 == 2.5 Trggier an uplink by external interrupt ==
574
575
576 DDS20-NB has an external trigger interrupt function. Users can use the GPIO_EXTI pin to trigger the upload of data packets.
577
578 (% style="color:blue" %)**AT command:**
579
580 * (% style="color:#037691" %)**AT+INTMOD **(%%) ~/~/ Set the trigger interrupt mode
581
582 * (% style="color:#037691" %)**AT+INTMOD=0 **(%%) ~/~/ Disable Interrupt
583
584 * (% style="color:#037691" %)**AT+INTMOD=1 **(%%) ~/~/ Trigger by rising and falling edge
585
586 * (% style="color:#037691" %)**AT+INTMOD=2 **(%%) ~/~/ Trigger by falling edge
587
588 * (% style="color:#037691" %)**AT+INTMOD=3  **(%%) ~/~/ Trigger by rising edge
589
590 == 2.6 Clock logging (Since firmware version v1.2.1) ==
591
592
593 Sometimes when we deploy lots of end nodes in field. We want all sensors sample data at the same time, and upload these data together for analyze. In such case, we can use clock loging feature.
594
595 We can use this command to set the start time of data recording and the time interval to meet the requirements of the specific collection time of data.
596
597 * (% style="color:blue" %)**AT command: **(% style="color:#037691" %)**AT+CLOCKLOG=a,b,c,d**
598
599 (% style="color:#037691" %)**a:**(%%)** 0:** Disable Clock logging.  ** 1: **Enable Clock Logging
600
601 (% style="color:#037691" %)**b:**(%%)** **Specify First sampling start second: range **(0 ~~ 3599, 65535)   ** ~/~/ (% style="color:red" %)**Note:**(%%)** **If parameter b is set to 65535, the log period starts after the node accesses the network and sends packets.
602
603 (% style="color:#037691" %)**c:**(%%)** **Specify the sampling interval: range **(0 ~~ 255 minutes)**
604
605 (% style="color:#037691" %)**d:**(%%)** **How many entries should be uplink on every TDC **(max 32)**
606
607 (% style="color:red" %)**Note: To disable clock recording, set the following parameters: AT+CLOCKLOG=1,65535,0,0**
608
609 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/SPH01-NB_NB-IoT_Soil_pH_Sensor_User_Manual/WebHome/image-20240315141254-1.png?rev=1.1||alt="image-20240315141254-1.png"]]
610
611 **Example:**
612
613 **AT+CLOCKLOG=1,65535,1,5**
614
615 After the node sends the first packet, data is recorded to the memory at intervals of 1 minute. For each TDC uplink, the uplink load will include: battery information + the last 5 memory records (payload + timestamp).
616
617 (% class="wikigeneratedid" %)
618 [[image:image-20240316112756-1.png||height="559" width="1218"]]
619
620 (% class="wikigeneratedid" %)
621 (% style="color:red" %)**Note: Users need to synchronize the server time before configuring this command. If the server time is not synchronized before this command is configured, the command takes effect only after the node is reset.**
622
623
624 * (% style="color:blue" %)**Downlink command:**(%%)** (% style="color:#037691" %)0x0A(%%)**
625
626 Format: Command Code (0x0A) followed by 5 bytes.
627
628 * **Example 1**: Downlink Payload:** 0A01FFFF0F08**  ~/~/ Set SHT record time: AT+CLOCKLOG=1,65535,15,8
629 * **Example 1**: Downlink Payload:** 0A0104B00F08**  ~/~/ Set SHT record time: AT+CLOCKLOG=1,1200,15,8
630
631 (% style="color:red" %)**Note: When entering the downlink payload, there must be no Spaces between bytes.**
632
633
634 == 2.7 Example Query saved historical records ==
635
636
637 * (% style="color:blue" %)**AT command:**(%%)** (% style="color:#037691" %)AT+CDP(%%)**
638
639 This command can be used to search the saved history, recording up to 32 groups of data, each group of historical data contains a maximum of 100 bytes.
640
641 (% class="wikigeneratedid" %)
642 [[image:image-20240316112902-2.png||height="699" width="905"]]
643
644
645 == 2.8 Uplink log query ==
646
647
648 * (% style="color:blue" %)**AT command:**(%%)** (% style="color:#037691" %)AT+GETLOG(%%)**
649
650 This command can be used to query upstream logs of data packets.
651
652 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/PS-NB-NA_NB-IoT_Analog_Sensor_User_Manual/WebHome/image-20240407191922-2.png?width=903&height=631&rev=1.1||alt="image-20240407191922-2.png"]]
653
654
655 == 2.9 Scheduled domain name resolution ==
656
657
658 This command is used to set up scheduled domain name resolution.
659
660 (% style="color:blue" %)**AT command:**
661
662 * (% style="color:#037691" %)**AT+DNSTIMER=XX   **(%%)~/~/ Unit: hour
663
664 After setting this command, domain name resolution will be performed regularly.
665
666
667 == 2.10 Set the QoS level ==
668
669
670 This command is used to set the QoS level of **MQTT**.
671
672 (% style="color:blue" %)**AT command:**
673
674 * (% style="color:#037691" %)**AT+MQOS=xx**(%%)**   **~/~/ 0~~2
675
676 (% style="color:blue" %)**Downlink command:**(%%)** (% style="color:#037691" %)0x07(%%)**
677
678 Format: Command Code (0x07) followed by 1 byte.
679
680 **Ex1:** Downlink payload: **0x0700**  ~/~/ AT+MQOS=0
681
682 **Ex2:** Downlink payload: **0x0701**  ~/~/ AT+MQOS=1
683
684
685 == 2.11 Distance Alarm ==
686
687
688 Feature: Set alarm of LDDS and NMDS.
689
690 (% style="color:blue" %)**AT command:**(%%)** (% style="color:#037691" %)AT+LDDSALARM(%%) ** (Range: 20mm - 2000mm)
691
692 Example: AT+LDDSALARM=500,1000  ~/~/ Set the alarm threshold
693
694
695 (% style="color:blue" %)**Downlink Command:**(%%)** (% style="color:#037691" %)0x08(%%)**
696
697 Format: Command Code (0x08) followed by 4 bytes.
698
699 Example:  Downlink Payload: ** 08 01 F4  03 E8   **~/~/ AT+LDDSALARM=500,1000
700
701
702 == 2.12 Set the downlink debugging mode(Since firmware v1.3.0) ==
703
704
705 Feature: Set the conversion between the standard version and 1T version downlinks.
706
707 (% style="color:blue" %)**AT command: AT+DOWNTE**
708
709 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
710 |=(% style="width: 138px; background-color: rgb(79, 129, 189); color: white;" %)**Command Example**|=(% style="width: 143px; background-color: rgb(79, 129, 189); color: white;" %)**Function/Parameters**|=(% style="width: 229px; background-color: rgb(79, 129, 189); color: white;" %)**Response/Explanation**
711 |(% style="width:134px" %)AT+DOWNTE=?|(% style="width:143px" %)Get current Settings|(% style="width:229px" %)(((
712 0,0  (default)
713 OK
714 )))
715 |(% colspan="1" rowspan="2" style="width:134px" %)(((
716
717
718
719
720 AT+DOWNTE=a,b
721 )))|(% style="width:143px" %)**a**: Set the conversion between the downlink of the standard version and 1T version|(% style="width:229px" %)(((
722 **0**: Set the downlink of the standard version.
723 **1**: Set the downlink of the 1T version(ThingsEye platform)
724 )))
725 |(% style="width:143px" %)**b**: Enable/Disable downlink debugging|(% style="width:229px" %)(((
726 **0**: Disable downlink debugging mode.
727 **1**: Enable downlink debugging mode, users can see the original downlink reception.
728 )))
729
730 **Example:**
731
732 * AT+DOWNTE=0,1  ~/~/ Set to standard version downlink, and enable downlink debugging.
733 * AT+DOWNTE=1,1  ~/~/ Set to 1T version downlink, and enable downlink debugging.
734
735 (% style="color:blue" %)**Downlink Command:  **
736
737 No downlink commands for feature
738
739
740 == 2.13 Domain name resolution settings(Since firmware v1.3.0) ==
741
742
743 Feature: Set dynamic domain name resolution IP.
744
745 (% style="color:blue" %)**AT command: AT+BKDNS**
746
747 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
748 |=(% style="width: 138px; background-color: rgb(79, 129, 189); color: white;" %)**Command Example**|=(% style="width: 143px; background-color: rgb(79, 129, 189); color: white;" %)**Function/Parameters**|=(% style="width: 229px; background-color: rgb(79, 129, 189); color: white;" %)**Response/Explanation**
749 |(% style="width:134px" %)(((
750 AT+BKDNS=?
751 )))|(% style="width:143px" %)Get current Settings|(% style="width:606px" %)(((
752 0,0,NULL  (default)
753 OK
754 )))
755 |(% colspan="1" rowspan="3" style="width:134px" %)(((
756
757
758
759
760
761
762
763
764
765
766
767 AT+BKDNS=a,b,c
768 )))|(% style="width:143px" %)(((
769 **a**: Enable/Disable dynamic domain name resolution.
770 )))|(% style="width:606px" %)**1**: Disable dynamic domain name update. The ip address will be saved after the domain name is resolved, if the next domain name resolution fails, the last saved ip address will be used.
771 **2**: Enable dynamic domain name update. The ip address will be saved after domain name resolution, if the next domain name resolution fails, the last saved ip address will be used, and the domain name resolution will be updated regularly according to the time set by the customer.
772 |(% style="width:143px" %)**b**: Set the time to update the domain name resolution at regular intervals.|(% style="width:606px" %)(((
773 Unit: hour
774 )))
775 |(% style="width:143px" %)(((
776 **c**: Set the IP address manually.
777 )))|(% style="width:606px" %)(((
778 The format is the same as AT+SERVADDR.
779 If domain name resolution fails, this ip address will be used directly, if domain name resolution succeeds, parameter c will be updated to the successfully resolved IP address.
780 )))
781
782 **Example:**
783
784 * AT+BKDNS=1,0  ~/~/ Dynamic domain name resolution is disabled.
785 * AT+BKDNS=2,1  ~/~/ The dynamic domain name resolution function is enabled and the automatic update time is set to 1 hour.
786 * AT+BKDNS=2,4,3.69.98.183,1883  ~/~/ The dynamic domain name resolution function is enabled and the automatic update time is set to 4 hour, and manually set the ip address, if the domain name failed to resolve, it will directly use this ip to communicate. When the next domain name resolution is successful, it will be updated to the ip address of the successful resolution.
787
788 (% style="color:blue" %)**Downlink Command:  **
789
790 No downlink commands for feature
791
792
793 = 3. Configure DDS20-NB =
794
795 == 3.1 Configure Methods ==
796
797
798 DDS20-NB supports below configure method:
799
800 * AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]].
801
802 * 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]].
803
804 == 3.2  Serial Access Password ==
805
806
807 After the Bluetooth or UART connection is successful, use the Serial Access Password to enter the AT command window.
808
809 The label on the box of the node will print the initial password: AT+PIN=**xxxxxx**, and directly use the six-digit password to access the AT instruction window.
810
811 [[image:image-20240826175843-1.png]]
812
813
814 If you need to change the password, use **AT+PWORD=**xxxxxx (6 characters), NB nodes only support lowercase letters.
815
816 [[image:image-20240826175850-2.png]]
817
818
819 (% style="color:red" %)**Note: After entering the command, you need to add a line break, and you can also set automatic line breaks in the Bluetooth tool or UART connection tool.**
820
821 [[image:image-20240826175856-3.png]]
822
823
824 == 3.3 AT Commands Set ==
825
826
827 AT+<CMD>?        : Help on <CMD>
828
829 AT+<CMD>         : Run <CMD>
830
831 AT+<CMD>=<value> : Set the value
832
833 AT+<CMD>=?       : Get the value
834
835
836 (% style="color:blue" %)**General Commands**      
837
838 AT                    : Attention       
839
840 AT?  : Short Help     
841
842 ATZ  : MCU Reset    
843
844 AT+TDC  : Application Data Transmission Interval
845
846 AT+CFG  : Print all configurations
847
848 AT+CFGMOD           : Working mode selection
849
850 AT+DEUI  : Get or set the Device ID
851
852 AT+INTMOD            : Set the trigger interrupt mode
853
854 AT+5VT           : Set extend the time of 5V power  
855
856 AT+PRO          : Choose agreement
857
858 AT+RXDL  : Extend the sending and receiving time
859
860 AT+DNSCFG  : Get or Set DNS Server
861
862 AT+GETSENSORVALUE   : Returns the current sensor measurement
863
864 AT+NOUD  : Get or Set the number of data to be uploaded
865
866 AT+CDP     : Read or Clear cached data
867
868 AT+SHTEMP:  Get or Set alarm of temp
869
870 AT+SHHUM:  Get or Set alarm of moisture
871
872 AT+SERVADDR :  Server Address
873
874
875
876 (% style="color:blue" %)**MQTT Management**
877
878 AT+CLIENT               : Get or Set MQTT client
879
880 AT+UNAME              : Get or Set MQTT Username
881
882 AT+PWD                  : Get or Set MQTT password
883
884 AT+PUBTOPIC  : Get or Set MQTT publish topic
885
886 AT+SUBTOPIC  : Get or Set MQTT subscription topic
887
888
889 (% style="color:blue" %)**Information**          
890
891 AT+FDR  : Factory Data Reset
892
893 AT+PWORD  : Serial Access Password
894
895 AT+LDATA  : Get the last upload data
896
897 AT+CDP  : Read or Clear cached data
898
899
900 = 4. Battery & Power Consumption =
901
902
903 DDS20-NB use ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace.
904
905 [[**Battery Info & Power Consumption Analyze**>>http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] .
906
907
908 = 5. Firmware update =
909
910
911 User can change device firmware to::
912
913 * Update with new features.
914
915 * Fix bugs.
916
917 Firmware and changelog can be downloaded from : **[[Firmware download link>>https://www.dropbox.com/sh/nyzeu0lf0amcaek/AAC6UZrqyTcAyJgXOH7l9F9Ka?dl=0]]**
918
919 Methods to Update Firmware:
920
921 * (Recommended way) OTA firmware update via BLE: [[**Instruction**>>url:http://wiki.dragino.com/xwiki/bin/view/Main/BLE_Firmware_Update_NB_Sensors_BC660K-GL/]].
922
923 * Update through UART TTL interface : **[[Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/UART_Access_for_NB_ST_BC660K-GL/#H4.2UpdateFirmware28Assumethedevicealreadyhaveabootloader29]]**.
924
925 = 6. FAQ =
926
927 == 6.1 How can I access t BC660K-GL AT Commands? ==
928
929
930 User can access to BC660K-GL directly and send AT Commands.
931
932 [[See BC660K-GL AT Command set>>url:https://www.dropbox.com/sh/5f6ssda5fum8rvs/AABT68l8ZzWOvZ5eg2qwOoFda?dl=0]]
933
934
935 == 6.2 How to configure the certificate? ==
936
937
938 User can can refer to this [[description>>url:http://wiki.dragino.com/xwiki/bin/view/How%20to%20configure%20the%20certificate%3F/]] to configure the certificate.
939
940
941 = 7.  Trouble Shooting =
942
943 == 7.1  Why i always see 0x0000 or 0 for the distance value? ==
944
945
946 (((
947 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.
948
949 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.
950
951
952 )))
953
954 = 8. Order Info =
955
956
957 Part Number: (% style="color:blue" %)**DDS20-NB-XX**
958
959 (% style="color:red" %)**XX**(%%):
960
961 * (% style="color:#037691" %)**GE**(%%): General version ( Exclude SIM card)
962
963 * (% style="color:#037691" %)**1T**(%%): with 1NCE * 10 years 500MB SIM card and Pre-configure to ThingsEye server
964
965 = 9. ​Packing Info =
966
967
968 (% style="color:#037691" %)**Package Includes**:
969
970 * DDS20-NB NB-IoT Ultrasonic liquid level sensor x 1
971
972 * External antenna x 1
973
974 (% style="color:#037691" %)**Dimension and weight**:
975
976 * Device Size: 13.0 x 5 x 4.5 cm
977
978 * Device Weight: 150g
979
980 * Package Size / pcs : 14.0 x 8x 5 cm
981
982 * Weight / pcs : 180g
983
984 = 10. Support =
985
986
987 * 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.
988
989 * 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]].
990
991 (% style="display:none" %) (%%)