Wiki source code of NMDS200 - NB-IoT Microwave Radar Distance Sensor User Manual
Last modified by Mengting Qiu on 2024/04/02 17:03
Hide last authors
author | version | line-number | content |
---|---|---|---|
![]() |
1.5 | 1 | (% style="text-align:center" %) |
![]() |
88.2 | 2 | [[image:LMDS200_10.jpg||height="572" width="572"]] |
![]() |
1.5 | 3 | |
![]() |
48.2 | 4 | |
![]() |
88.2 | 5 | |
6 | |||
7 | |||
8 | (% style="display:none" %) (%%) | ||
9 | |||
10 | |||
11 | |||
12 | |||
13 | |||
![]() |
48.2 | 14 | **Table of Contents:** |
15 | |||
![]() |
83.5 | 16 | {{toc/}} |
![]() |
1.5 | 17 | |
18 | |||
19 | |||
![]() |
48.2 | 20 | |
![]() |
88.2 | 21 | |
22 | |||
23 | |||
24 | |||
25 | |||
![]() |
48.2 | 26 | = 1. Introduction = |
27 | |||
![]() |
71.2 | 28 | == 1.1 What is NMDS200 NB-IoT Microwave Radar Distance Sensor == |
![]() |
48.2 | 29 | |
30 | |||
![]() |
52.2 | 31 | ((( |
![]() |
74.2 | 32 | The Dragino NMDS200 is a(% style="color:blue" %)** NB-IoT Microwave Radar distance sensor**(%%). It uses (% style="color:blue" %)**24Ghz Microwave**(%%) to detect the distance between sensor and different objects. Compare vs ultrasonic or Lidar measurement method, Microwave Radar is (% style="color:blue" %)**more reliable for condensation / dusty environment**(%%). It can sense correct distance even there is water or thick dust on top of the sensor. |
![]() |
83.9 | 33 | ))) |
![]() |
1.5 | 34 | |
![]() |
83.9 | 35 | ((( |
![]() |
74.2 | 36 | The NMDS200 can be applied to scenarios such as horizontal distance measurement, parking management system, object proximity and presence detection, intelligent trash can management system, robot obstacle avoidance, automatic control, sewer, etc. |
![]() |
83.9 | 37 | ))) |
![]() |
1.5 | 38 | |
![]() |
83.9 | 39 | ((( |
![]() |
74.2 | 40 | NMDS200 can (% style="color:blue" %)**measure two distances**(%%): the closest object and next object behind the closest one. |
![]() |
83.9 | 41 | ))) |
![]() |
53.2 | 42 | |
![]() |
83.9 | 43 | ((( |
![]() |
74.2 | 44 | NMDS200 (% style="color:blue" %)**supports Alarm Feature**(%%), user can set the NMDS200 to uplink data in a short interval when the distance is out of configured range. |
![]() |
83.9 | 45 | ))) |
![]() |
1.5 | 46 | |
![]() |
83.9 | 47 | ((( |
![]() |
70.23 | 48 | NarrowBand-Internet of Things (NB-IoT) is a (% style="color:blue" %)**standards-based low power wide area (LPWA) technology**(%%) developed to enable a wide range of new IoT devices and services. NB-IoT significantly improves the power consumption of user devices, system capacity, and spectrum efficiency, especially in deep coverage. |
![]() |
83.9 | 49 | ))) |
![]() |
1.5 | 50 | |
![]() |
83.9 | 51 | ((( |
![]() |
74.2 | 52 | NMDS200 (% style="color:blue" %)**supports different uplink**(%%) methods including (% style="color:blue" %)**TCP, MQTT, UDP, and CoAP**(%%) for different application requirements. |
![]() |
83.9 | 53 | ))) |
![]() |
70.23 | 54 | |
![]() |
83.9 | 55 | ((( |
![]() |
74.2 | 56 | NMDS200 is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**,(%%) It is designed for long-term use of up to 5 years. (Actually Battery life depends on the use environment, update period & uplink method) |
![]() |
83.9 | 57 | ))) |
![]() |
53.3 | 58 | |
![]() |
83.9 | 59 | ((( |
![]() |
74.2 | 60 | To use NMDS200, user needs to check if there is NB-IoT coverage in the field and with the Nb-IoT bands that NMDS200 supports. If local operator support it, user needs to get a** (% style="color:blue" %)NB-IoT SIM card(%%)** from the operator and install into NMDS200 to get NB-IoT network connection. |
![]() |
53.3 | 61 | ))) |
62 | |||
63 | |||
![]() |
48.2 | 64 | == 1.2 Features == |
65 | |||
66 | |||
![]() |
2.1 | 67 | * NB-IoT Bands: B1/B3/B8/B5/B20/B28 @H-FDD |
![]() |
74.2 | 68 | * Short uplink interval for Distance Alarm |
![]() |
2.1 | 69 | * Monitor Battery Level |
![]() |
74.2 | 70 | * Microwave Radar for distance detection |
![]() |
2.1 | 71 | * Datalog feature |
![]() |
34.1 | 72 | * Uplink periodically |
![]() |
2.1 | 73 | * Downlink to change configure |
74 | * Wall Mountable | ||
75 | * Outdoor Use | ||
76 | * Ultra-Low Power consumption | ||
77 | * AT Commands to change parameters | ||
78 | * Micro SIM card slot for NB-IoT SIM | ||
![]() |
34.1 | 79 | * 8500mAh Battery for long-term use |
![]() |
1.5 | 80 | |
![]() |
90.20 | 81 | |
![]() |
74.2 | 82 | == 1.3 Radar probe specification == |
![]() |
70.2 | 83 | |
![]() |
1.5 | 84 | |
![]() |
74.3 | 85 | * Measuring Method: FMCW |
![]() |
83.12 | 86 | * Frequency: 24.000 ~~ 24.500 GHz |
![]() |
74.3 | 87 | * Measurement output power: 6dBm |
![]() |
83.12 | 88 | * Measure range: 0.5 ~~ 20m |
![]() |
74.3 | 89 | * Accuracy: ±0.1m |
90 | * Resolution: 0.01m | ||
91 | * Horizontal Angel: 78° | ||
92 | * Vertical Angel: 23° | ||
![]() |
1.5 | 93 | |
![]() |
90.20 | 94 | |
![]() |
74.2 | 95 | == 1.4 Storage Temperature == |
![]() |
1.5 | 96 | |
97 | |||
![]() |
74.2 | 98 | -40°C to +85°C |
![]() |
52.2 | 99 | |
![]() |
1.5 | 100 | |
![]() |
48.2 | 101 | == 1.5 Applications == |
102 | |||
103 | |||
![]() |
74.2 | 104 | * Horizontal distance measurement |
105 | * Liquid level measurement | ||
106 | * Parking management system | ||
107 | * Object proximity and presence detection | ||
108 | * Intelligent trash can management system | ||
109 | * Robot obstacle avoidance | ||
110 | * Automatic control | ||
111 | * Sewer | ||
112 | * Bottom water level monitoring | ||
![]() |
1.5 | 113 | |
![]() |
90.20 | 114 | |
![]() |
58.2 | 115 | == 1.6 Specification == |
![]() |
1.5 | 116 | |
117 | |||
![]() |
58.2 | 118 | (% style="color:blue" %)**Common DC Characteristics:** |
![]() |
48.2 | 119 | |
![]() |
58.2 | 120 | * Supply Voltage: 2.1v ~~ 3.6v |
![]() |
74.2 | 121 | * Operating Temperature: 0 ~~ 70°C |
![]() |
58.2 | 122 | |
123 | (% style="color:blue" %)**NB-IoT Spec:** | ||
124 | |||
![]() |
70.24 | 125 | * B1 @H-FDD: 2100MHz |
126 | * B3 @H-FDD: 1800MHz | ||
127 | * B8 @H-FDD: 900MHz | ||
128 | * B5 @H-FDD: 850MHz | ||
129 | * B20 @H-FDD: 800MHz | ||
130 | * B28 @H-FDD: 700MHz | ||
![]() |
58.2 | 131 | |
![]() |
90.20 | 132 | |
![]() |
74.2 | 133 | == 1.7 Installation == |
![]() |
52.2 | 134 | |
![]() |
1.5 | 135 | |
![]() |
74.2 | 136 | Sensor measure direction and angle is as below. When install the sensor, please make sure the sensor direct to object. |
![]() |
1.5 | 137 | |
![]() |
48.2 | 138 | |
![]() |
83.11 | 139 | [[image:image-20221207170748-1.png]] |
![]() |
48.2 | 140 | |
![]() |
1.5 | 141 | |
![]() |
83.11 | 142 | [[image:image-20221207170748-2.png||height="345" width="634"]] |
![]() |
38.1 | 143 | |
![]() |
83.11 | 144 | |
![]() |
74.2 | 145 | == 1.8 Pin Definitions and Switch == |
![]() |
48.2 | 146 | |
147 | |||
![]() |
74.2 | 148 | [[image:1670404362039-351.png]] |
![]() |
2.1 | 149 | |
150 | |||
![]() |
74.3 | 151 | = 2. Use NMDS200 to communicate with IoT Server = |
![]() |
48.2 | 152 | |
153 | == 2.1 How it works == | ||
154 | |||
155 | |||
![]() |
74.3 | 156 | The NB-IoT network will forward this value to IoT server via the protocol defined by NMDS200. |
![]() |
48.2 | 157 | |
![]() |
74.3 | 158 | The diagram below shows the working flow in the default firmware of NMDS200: |
![]() |
2.1 | 159 | |
![]() |
83.12 | 160 | [[image:image-20221021110615-5.png||height="996" width="492"]] |
![]() |
2.1 | 161 | |
162 | |||
![]() |
76.2 | 163 | == 2.2 Configure NMDS200 == |
![]() |
2.1 | 164 | |
![]() |
48.2 | 165 | |
![]() |
76.2 | 166 | To use NMDS200 in your city, make sure to meet below requirements: |
![]() |
48.2 | 167 | |
![]() |
40.1 | 168 | * Your local operator has already distributed an NB-IoT Network. |
![]() |
76.2 | 169 | * The local NB-IoT network used the band that NMDS200 supports. |
![]() |
2.1 | 170 | * Your operator is able to distribute the data received in their NB-IoT network to your IoT server. |
171 | |||
![]() |
76.2 | 172 | Below figure shows our testing structure. Here we have NB-IoT network coverage by China Mobile, the band they use is B8. The NMDS200 will use** (% style="color:red" %)CoAP(120.24.4.116:5683)(%%)** or raw (% style="color:red" %)**UDP(120.24.4.116:5601) **(%%)or (% style="color:red" %)**MQTT(120.24.4.116:1883) **(%%)or (% style="color:red" %)**TCP(120.24.4.116:5600)protocol**(%%) to send data to the test server. |
![]() |
2.1 | 173 | |
![]() |
88.2 | 174 | [[image:image-20221209090938-1.png]] |
![]() |
40.1 | 175 | |
![]() |
2.1 | 176 | |
![]() |
76.2 | 177 | === 2.2.1 Insert NB-IoT SIM card === |
![]() |
48.2 | 178 | |
179 | |||
![]() |
2.1 | 180 | Insert the NB-IoT Card get from your provider. |
181 | |||
![]() |
40.1 | 182 | User needs to take out the NB-IoT module and insert the SIM card like below: |
![]() |
2.1 | 183 | |
![]() |
31.1 | 184 | [[image:image-20221021110745-6.png]] |
![]() |
2.1 | 185 | |
![]() |
40.1 | 186 | |
![]() |
79.2 | 187 | === 2.2.2 Connect USB – TTL to NMDS200 and configure it === |
![]() |
2.1 | 188 | |
189 | |||
![]() |
79.2 | 190 | User need to configure NMDS200 via serial port to set the (% style="color:red" %)**Server Address** / **Uplink Topic**(%%) to define where and how-to uplink packets. NMDS200 support AT Commands, user can use a USB to TTL adapter to connect to NMDS200 and use AT Commands to configure it, as below. |
![]() |
2.1 | 191 | |
![]() |
48.2 | 192 | (% style="color:blue" %)**Connection:** |
![]() |
2.1 | 193 | |
![]() |
48.2 | 194 | (% style="background-color:yellow" %)** USB TTL GND <~-~-~-~-> GND** |
![]() |
2.1 | 195 | |
![]() |
48.2 | 196 | (% style="background-color:yellow" %)** USB TTL TXD <~-~-~-~-> UART_RXD** |
197 | |||
198 | (% style="background-color:yellow" %)** USB TTL RXD <~-~-~-~-> UART_TXD** | ||
199 | |||
200 | |||
![]() |
2.1 | 201 | In the PC, use below serial tool settings: |
202 | |||
![]() |
48.2 | 203 | * Baud: (% style="color:red" %)**9600** |
![]() |
2.1 | 204 | |
![]() |
48.2 | 205 | * Data bits:** (% style="color:red" %)8(%%)** |
206 | |||
207 | * Stop bits: (% style="color:red" %)**1** | ||
208 | |||
209 | * Parity: (% style="color:red" %)**None** | ||
210 | |||
211 | * Flow Control: (% style="color:red" %)**None** | ||
212 | |||
![]() |
79.2 | 213 | Make sure the switch is in FLASH position, then power on NMDS200 by connecting the (% style="color:orange" %)**Yellow Jumper**(%%). |
![]() |
2.1 | 214 | |
![]() |
31.1 | 215 | [[image:image-20221021110817-7.png]] |
![]() |
2.1 | 216 | |
![]() |
79.2 | 217 | NMDS200 will output system info once powered on as below, we can enter the **password: 12345678** to access AT Command input. |
![]() |
40.1 | 218 | |
219 | |||
![]() |
48.2 | 220 | (% style="color:red" %)**Note: the valid AT Commands can be found at: **(%%)[[**https:~~/~~/www.dropbox.com/sh/351dwor6joz8nwh/AADn1BQaAAxLF_QMyU8NkW47a?dl=0**>>url:https://www.dropbox.com/sh/351dwor6joz8nwh/AADn1BQaAAxLF_QMyU8NkW47a?dl=0]] |
![]() |
2.1 | 221 | |
![]() |
42.1 | 222 | |
![]() |
79.2 | 223 | === 2.2.3 Use CoAP protocol to uplink data === |
![]() |
2.1 | 224 | |
225 | |||
![]() |
48.2 | 226 | (% style="color:red" %)**Note: if you don't have a CoAP server, you can refer this link to set up a CoAP server: **(%%)[[**http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Set%20up%20CoAP%20Server/**>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Set%20up%20CoAP%20Server/]] |
![]() |
42.1 | 227 | |
![]() |
2.1 | 228 | |
![]() |
83.2 | 229 | (% style="color:blue" %)**Use below commands in NMDS200:** |
![]() |
48.2 | 230 | |
![]() |
48.3 | 231 | * (% style="color:#037691" %)**AT+PRO=1** (%%) ~/~/ Set to use CoAP protocol to uplink |
![]() |
48.2 | 232 | |
![]() |
48.3 | 233 | * (% style="color:#037691" %)**AT+SERVADDR=120.24.4.116,5683 ** (%%) ~/~/ Set CoAP server address and port |
![]() |
48.2 | 234 | |
![]() |
48.3 | 235 | * (% style="color:#037691" %)**AT+URI=0,0,11,2,"mqtt" ** (%%) ~/~/ Set CoAP resource path |
![]() |
48.2 | 236 | |
![]() |
2.1 | 237 | For parameter description, please refer to AT command set |
238 | |||
![]() |
87.2 | 239 | [[image:1670471530120-960.png||height="647" width="674"]] |
![]() |
2.1 | 240 | |
241 | |||
![]() |
79.2 | 242 | After configuring the server address and (% style="color:green" %)**reset NMDS200**(%%) (via AT+ATZ ), NMDS200 will start to uplink sensor values to the CoAP server. |
![]() |
42.1 | 243 | |
![]() |
79.2 | 244 | [[image:1670405841875-916.png]] |
![]() |
2.1 | 245 | |
![]() |
42.1 | 246 | |
![]() |
79.2 | 247 | === 2.2.4 Use UDP protocol to uplink data(Default protocol) === |
![]() |
2.1 | 248 | |
![]() |
42.1 | 249 | |
![]() |
48.2 | 250 | (% style="color:blue" %)**AT Commands:** |
![]() |
2.1 | 251 | |
![]() |
48.3 | 252 | * (% style="color:#037691" %)**AT+PRO=2 ** (%%) ~/~/ Set to use UDP protocol to uplink |
![]() |
48.2 | 253 | |
![]() |
48.3 | 254 | * (% style="color:#037691" %)**AT+SERVADDR=120.24.4.116,5601 ** (%%) ~/~/ Set UDP server address and port |
![]() |
48.2 | 255 | |
![]() |
87.2 | 256 | [[image:1670471559211-638.png]] |
![]() |
2.1 | 257 | |
![]() |
48.3 | 258 | |
![]() |
31.1 | 259 | [[image:image-20221021111033-11.png||height="241" width="576"]] |
![]() |
2.1 | 260 | |
261 | | ||
262 | |||
![]() |
79.2 | 263 | === 2.2.5 Use MQTT protocol to uplink data === |
![]() |
2.1 | 264 | |
![]() |
42.1 | 265 | |
![]() |
48.2 | 266 | (% style="color:blue" %)**AT Commands:** |
![]() |
2.1 | 267 | |
![]() |
48.3 | 268 | * (% style="color:#037691" %)**AT+PRO=3 ** (%%) ~/~/ Set to use MQTT protocol to uplink |
![]() |
48.2 | 269 | |
![]() |
48.3 | 270 | * (% style="color:#037691" %)**AT+SERVADDR=120.24.4.116,1883 ** (%%) ~/~/ Set MQTT server address and port |
![]() |
48.2 | 271 | |
![]() |
48.3 | 272 | * (% style="color:#037691" %)**AT+CLIENT=CLIENT ** (%%) ~/~/ Set up the CLIENT of MQTT |
![]() |
48.2 | 273 | |
![]() |
48.3 | 274 | * (% style="color:#037691" %)**AT+UNAME=UNAME **(%%)** **~/~/ Set the username of MQTT |
![]() |
48.2 | 275 | |
![]() |
48.3 | 276 | * (% style="color:#037691" %)**AT+PWD=PWD **(%%)** **~/~/ Set the password of MQTT |
![]() |
48.2 | 277 | |
![]() |
48.3 | 278 | * (% style="color:#037691" %)**AT+PUBTOPIC=NSE01_PUB **(%%)** **~/~/ Set the sending topic of MQTT |
![]() |
48.2 | 279 | |
![]() |
48.3 | 280 | * (% style="color:#037691" %)**AT+SUBTOPIC=NSE01_SUB ** (%%) ~/~/ Set the subscription topic of MQTT |
![]() |
48.2 | 281 | |
![]() |
88.2 | 282 | [[image:1670471584490-640.png]] |
![]() |
2.1 | 283 | |
![]() |
48.3 | 284 | |
![]() |
79.2 | 285 | [[image:1670405928926-116.png]] |
![]() |
2.1 | 286 | |
287 | | ||
288 | |||
![]() |
42.1 | 289 | MQTT protocol has a much higher power consumption compare with UDP / CoAP protocol. Please check the power analyze document and adjust the uplink period to a suitable interval. |
![]() |
2.1 | 290 | |
![]() |
42.1 | 291 | |
![]() |
79.2 | 292 | === 2.2.6 Use TCP protocol to uplink data === |
![]() |
2.1 | 293 | |
294 | |||
![]() |
48.3 | 295 | (% style="color:blue" %)**AT Commands:** |
![]() |
2.1 | 296 | |
![]() |
48.3 | 297 | * (% style="color:#037691" %)**AT+PRO=4 ** (%%) ~/~/ Set to use TCP protocol to uplink |
![]() |
48.2 | 298 | |
![]() |
48.3 | 299 | * (% style="color:#037691" %)**AT+SERVADDR=120.24.4.116,5600 ** (%%) ~/~/ Set TCP server address and port |
![]() |
48.2 | 300 | |
![]() |
88.4 | 301 | [[image:1670471613823-833.png]] |
![]() |
2.1 | 302 | |
![]() |
79.2 | 303 | |
![]() |
31.1 | 304 | [[image:image-20221021111131-15.png]] |
![]() |
2.1 | 305 | |
306 | | ||
307 | |||
![]() |
79.2 | 308 | === 2.2.7 Change Update Interval === |
![]() |
2.1 | 309 | |
310 | |||
![]() |
48.2 | 311 | User can use below command to change the (% style="color:blue" %)**uplink interval**. |
![]() |
2.1 | 312 | |
![]() |
79.2 | 313 | * (% style="color:#037691" %)**AT+TDC=7200 ** (%%) ~/~/ Set Update Interval to 7200s (4 hours) |
![]() |
2.1 | 314 | |
![]() |
48.2 | 315 | (% style="color:red" %)**NOTE:** |
![]() |
2.1 | 316 | |
![]() |
59.3 | 317 | 1. By default, the device will send an uplink message every 4 hour. |
![]() |
42.1 | 318 | |
![]() |
48.3 | 319 | |
![]() |
48.2 | 320 | == 2.3 Uplink Payload == |
![]() |
2.1 | 321 | |
![]() |
48.2 | 322 | |
![]() |
80.2 | 323 | The uplink payload includes 23 bytes in total by default. |
![]() |
2.1 | 324 | |
![]() |
61.3 | 325 | Each time the device uploads a data package. The user can use the AT+NOUD command to upload the recorded data.Up to 32 sets of recorded data can be uploaded. |
![]() |
2.1 | 326 | |
327 | |||
![]() |
90.12 | 328 | (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:450px" %) |
![]() |
90.17 | 329 | |(% style="background-color:#4f81bd; color:white; width:60px" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white; width:50px" %)**8**|(% style="background-color:#4f81bd; color:white; width:31px" %)**2**|(% style="background-color:#4f81bd; color:white; width:31px" %)**2**|(% style="background-color:#4f81bd; color:white; width:75px" %)**1**|(% style="background-color:#4f81bd; color:white; width:31px" %)**1**|(% style="background-color:#4f81bd; color:white; width:51px" %)**1**|(% style="background-color:#4f81bd; color:white; width:61px" %)**2**|(% style="background-color:#4f81bd; color:white; width:60px" %)**2** |
![]() |
90.15 | 330 | |(% style="width:93px" %)**Value**|(% style="width:67px" %)[[Device ID>>||anchor="H2.4.1A0A0DeviceID"]]|(% style="width:40px" %)[[Ver>>||anchor="H2.4.2A0VersionInfo"]]|(% style="width:45px" %)[[BAT>>||anchor="H2.4.3A0BatteryInfo"]]|(% style="width:75px" %)[[Signal Strength>>||anchor="H2.4.4A0SignalStrength"]]|(% style="width:54px" %)MOD|(% style="width:62px" %)Exit flag|(% style="width:94px" %) [[Distance 1>>||anchor="H2.4.5A0Distance"]] |(% style="width:93px" %) [[Distance 2>>||anchor="H2.4.5A0Distance"]] |
![]() |
2.1 | 331 | |
![]() |
90.16 | 332 | (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:430px" %) |
333 | |(% style="background-color:#4f81bd; color:white; width:80px" %)**4**|(% style="background-color:#4f81bd; color:white; width:80px" %)**2**|(% style="background-color:#4f81bd; color:white; width:80px" %)**2**|(% style="background-color:#4f81bd; color:white; width:80px" %)**4**|(% style="background-color:#4f81bd; color:white; width:110px" %)((( | ||
![]() |
61.3 | 334 | **1-32 group** |
335 | ))) | ||
![]() |
83.12 | 336 | |(% style="width:98px" %)[[Time stamp>>||anchor="H2.4.6A0Timestamp"]]| Distance 1 | Distance 2|(% style="width:67px" %)Time stamp|(% style="width:100px" %)... |
![]() |
48.3 | 337 | |
![]() |
80.2 | 338 | If we use the MQTT client to subscribe to this MQTT topic, we can see the following information when the NMDS200 uplink data. |
![]() |
61.3 | 339 | |
![]() |
80.2 | 340 | [[image:1670406261143-723.png]] |
![]() |
61.3 | 341 | |
342 | |||
![]() |
90.4 | 343 | The payload is ASCII string, representative same HEX: **0x (% style="color:red" %)__f867787050471071__ (% style="color:blue" %)__0064__ (% style="color:green" %) __0cc3__(% style="color:#00b0f0" %) 0__9__(% style="color:#7030a0" %) __01__(% style="color:#0020b0" %) __00__ (% style="color:#420042" %)__00ef__(% style="color:#660066" %) (% style="color:#663300" %)__013d__ (% style="color:#d60093" %)__6390453d__(%%)** |
![]() |
61.3 | 344 | |
![]() |
48.2 | 345 | **where:** |
![]() |
2.1 | 346 | |
![]() |
80.2 | 347 | * (% style="color:#037691" %)**Device ID:**(%%) 0x f867787050471071 = f867787050471071 |
![]() |
2.1 | 348 | |
![]() |
70.2 | 349 | * (% style="color:#037691" %)**Version:**(%%) 0x0064=100=1.0.0 |
![]() |
33.1 | 350 | |
![]() |
80.2 | 351 | * (% style="color:#037691" %)**BAT :**(%%) 0x0cc3 = 3267 mV = 3.267V |
![]() |
33.1 | 352 | |
![]() |
80.2 | 353 | * (% style="color:#037691" %)**Singal: **(%%)0x09 = 9 |
![]() |
33.1 | 354 | |
![]() |
70.2 | 355 | * (% style="color:#037691" %)**Mod:**(%%) 0x01 = 1 |
![]() |
33.1 | 356 | |
![]() |
80.2 | 357 | * (% style="color:#037691" %)**Exit flag: **(%%)0x00 =0 |
![]() |
33.1 | 358 | |
![]() |
80.2 | 359 | * (% style="color:#037691" %)**Distance 1: **(%%)0x00ef=239 |
![]() |
33.1 | 360 | |
![]() |
80.2 | 361 | * (% style="color:#037691" %)**Distance 2: **(%%)0x013d =317 |
![]() |
33.1 | 362 | |
![]() |
80.2 | 363 | * (% style="color:#037691" %)**Timestamp: **(%%)0x6390453d =1670399293 (Unix Time) |
![]() |
33.1 | 364 | |
![]() |
90.20 | 365 | |
![]() |
48.2 | 366 | == 2.4 Payload Explanation and Sensor Interface == |
367 | |||
368 | === 2.4.1 Device ID === | ||
369 | |||
370 | |||
![]() |
42.1 | 371 | By default, the Device ID is equal to the last 15 bits of IMEI. |
![]() |
2.1 | 372 | |
![]() |
48.2 | 373 | User can use (% style="color:blue" %)**AT+DEUI** (%%)to set Device ID |
![]() |
2.1 | 374 | |
375 | **Example:** | ||
376 | |||
377 | AT+DEUI=868411056754138 | ||
378 | |||
![]() |
42.1 | 379 | The Device ID is stored in a non-erase area, Upgrade the firmware or run AT+FDR won't erase the Device ID. |
![]() |
2.1 | 380 | |
![]() |
42.1 | 381 | |
![]() |
48.2 | 382 | === 2.4.2 Version Info === |
383 | |||
384 | |||
![]() |
42.1 | 385 | Specify the software version: 0x64=100, which means firmware version 1.00. |
![]() |
2.1 | 386 | |
![]() |
90.5 | 387 | For example 0x00 64 : This device is NMDS200 with firmware version 1.0.0. |
![]() |
2.1 | 388 | |
![]() |
42.1 | 389 | |
![]() |
48.2 | 390 | === 2.4.3 Battery Info === |
391 | |||
392 | |||
![]() |
81.2 | 393 | Check the battery voltage for NMDS200. |
![]() |
2.1 | 394 | |
395 | Ex1: 0x0B45 = 2885mV | ||
396 | |||
397 | Ex2: 0x0B49 = 2889mV | ||
398 | |||
![]() |
42.1 | 399 | |
![]() |
48.2 | 400 | === 2.4.4 Signal Strength === |
401 | |||
402 | |||
![]() |
2.1 | 403 | NB-IoT Network signal Strength. |
404 | |||
![]() |
83.4 | 405 | (% style="color:blue" %)**Ex1: 0x1d = 29** |
![]() |
2.1 | 406 | |
![]() |
83.4 | 407 | (% style="color:#037691" %)**0** (%%) -113dBm or less |
![]() |
2.1 | 408 | |
![]() |
83.4 | 409 | (% style="color:#037691" %)**1** (%%) -111dBm |
![]() |
2.1 | 410 | |
![]() |
83.4 | 411 | (% style="color:#037691" %)**2...30** (%%) -109dBm... -53dBm |
![]() |
2.1 | 412 | |
![]() |
83.4 | 413 | (% style="color:#037691" %)**31** (%%) -51dBm or greater |
![]() |
2.1 | 414 | |
![]() |
83.4 | 415 | (% style="color:#037691" %)**99** (%%) Not known or not detectable |
![]() |
2.1 | 416 | |
![]() |
42.1 | 417 | |
![]() |
81.2 | 418 | === 2.4.5 Distance === |
![]() |
48.2 | 419 | |
420 | |||
![]() |
81.2 | 421 | [[image:1670407401682-959.png]] |
![]() |
2.1 | 422 | |
![]() |
83.2 | 423 | |
![]() |
81.3 | 424 | (% style="color:blue" %)**Object1 Distance:** |
![]() |
2.1 | 425 | |
![]() |
81.2 | 426 | Distance between sensor probe to the first object. (unit: cm) |
![]() |
2.1 | 427 | |
![]() |
81.2 | 428 | For example, if the data you get from the register is 0x02 0x05, the distance between the sensor and the measured object is |
![]() |
2.1 | 429 | |
![]() |
81.3 | 430 | (% style="color:blue" %)**0205(H) = 517 (D) = 517 cm.** |
![]() |
42.1 | 431 | |
![]() |
48.2 | 432 | |
![]() |
81.3 | 433 | (% style="color:blue" %)**Object2 Distance:** |
![]() |
48.2 | 434 | |
![]() |
81.2 | 435 | Distance between sensor probe to the second object. (unit: cm) |
![]() |
2.1 | 436 | |
![]() |
42.1 | 437 | |
![]() |
81.2 | 438 | === 2.4.6 Timestamp === |
![]() |
2.1 | 439 | |
![]() |
81.2 | 440 | |
![]() |
61.6 | 441 | Timestamp : 0x6315537b =1662342011 |
![]() |
48.2 | 442 | |
443 | |||
444 | == 2.5 Downlink Payload == | ||
445 | |||
446 | |||
![]() |
81.3 | 447 | By default, NMDS200 prints the downlink payload to console port. |
![]() |
2.1 | 448 | |
![]() |
90.11 | 449 | (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %) |
![]() |
90.20 | 450 | |(% style="background-color:#4f81bd; color:white" %)**Downlink Control Type**|(% style="background-color:#4f81bd; color:white" %)**FPort**|(% style="background-color:#4f81bd; color:white; width:97px" %)**Type Code**|(% style="background-color:#4f81bd; color:white; width:183px" %)**Downlink payload size(bytes)** |
![]() |
90.11 | 451 | |TDC (Transmit Time Interval)|Any|(% style="width:97px" %)01|(% style="width:183px" %)4 |
452 | |RESET|Any|(% style="width:97px" %)04|(% style="width:183px" %)2 | ||
453 | |INTMOD|Any|(% style="width:97px" %)06|(% style="width:183px" %)4 | ||
454 | |||
![]() |
2.1 | 455 | **Examples:** |
456 | |||
![]() |
48.2 | 457 | * (% style="color:#037691" %)**Set TDC** |
![]() |
2.1 | 458 | |
459 | If the payload=0100003C, it means set the END Node's TDC to 0x00003C=60(S), while type code is 01. | ||
460 | |||
461 | Payload: 01 00 00 1E TDC=30S | ||
462 | |||
463 | Payload: 01 00 00 3C TDC=60S | ||
464 | |||
![]() |
48.2 | 465 | * (% style="color:#037691" %)**Reset** |
![]() |
2.1 | 466 | |
![]() |
81.3 | 467 | If payload = 0x04FF, it will reset the NMDS200 |
![]() |
2.1 | 468 | |
![]() |
48.2 | 469 | * (% style="color:#037691" %)**INTMOD** |
![]() |
2.1 | 470 | |
471 | Downlink Payload: 06000003, Set AT+INTMOD=3 | ||
472 | |||
473 | |||
![]() |
48.2 | 474 | == 2.6 LED Indicator == |
475 | |||
476 | |||
![]() |
81.3 | 477 | The NMDS200 has an internal LED which is to show the status of different states. |
![]() |
2.1 | 478 | |
![]() |
45.1 | 479 | * When the device starts normally, the LED will light up for 1 second. |
![]() |
83.2 | 480 | * After NMDS200 join NB-IoT network. The LED will be ON for 3 seconds. |
![]() |
2.1 | 481 | * For each uplink probe, LED will be on for 500ms. |
482 | |||
![]() |
90.20 | 483 | |
![]() |
81.3 | 484 | == 2.7 Distance alarm function == |
485 | |||
486 | |||
![]() |
81.4 | 487 | (% style="color:blue" %)**AT Command: AT+ALARM1=min,max** |
![]() |
2.1 | 488 | |
![]() |
83.4 | 489 | (% style="color:#037691" %)**Example 1:** |
![]() |
2.1 | 490 | |
![]() |
89.1 | 491 | AT+ ALARM1 =60,200 ~/~/ Alarm when distance1 lower than 60. |
![]() |
2.1 | 492 | |
![]() |
81.4 | 493 | AT+ ALARM2 =min,max |
![]() |
2.1 | 494 | |
495 | |||
![]() |
83.4 | 496 | (% style="color:#037691" %)**Example 2:** |
![]() |
2.1 | 497 | |
![]() |
89.1 | 498 | AT+ ALARM2 =200,1500 ~/~/ Alarm when distance2 lower than 1500. |
![]() |
2.1 | 499 | |
500 | |||
![]() |
82.2 | 501 | == 2.8 Set the number of data to be uploaded and the recording time == |
![]() |
48.2 | 502 | |
503 | |||
504 | (% style="color:blue" %)**AT Command:** | ||
505 | |||
![]() |
91.1 | 506 | (% style="color:#037691" %)**AT+TR=900**(%%) ~/~/ The unit is seconds, and the default is to record data once every 900 seconds. **(**The minimum can be set to 180 seconds, **also the time when the alarm function sends an uplink when it detects an alarm)** |
![]() |
66.2 | 507 | |
508 | (% style="color:#037691" %)**AT+NOUD=8**(%%)** ** ~/~/ The device uploads 0 sets of recorded data by default. Up to 32 sets of record data can be uploaded. | ||
509 | |||
510 | |||
![]() |
82.2 | 511 | == 2.9 Read or Clear cached data == |
![]() |
66.2 | 512 | |
513 | |||
514 | (% style="color:blue" %)**AT Command:** | ||
515 | |||
![]() |
48.2 | 516 | (% style="color:#037691" %)**AT+CDP** (%%) ~/~/ Read cached data |
517 | |||
518 | (% style="color:#037691" %)**AT+CDP=0** (%%) ~/~/ Clear cached data | ||
519 | |||
![]() |
82.2 | 520 | [[image:1670408172929-569.png]] |
![]() |
2.1 | 521 | |
522 | |||
![]() |
82.2 | 523 | == 2.10 Firmware Change Log == |
![]() |
2.1 | 524 | |
![]() |
48.2 | 525 | |
![]() |
90.3 | 526 | Download URL & Firmware Change log: [[https:~~/~~/www.dropbox.com/sh/8elvp2qi9bcv47a/AAAKp0E2nUffztF0tYhqPoE1a?dl=0>>https://www.dropbox.com/sh/8elvp2qi9bcv47a/AAAKp0E2nUffztF0tYhqPoE1a?dl=0]] |
![]() |
2.1 | 527 | |
![]() |
48.12 | 528 | Upgrade Instruction: [[Upgrade Firmware>>||anchor="H5.1200BHowtoUpgradeFirmware"]] |
![]() |
2.1 | 529 | |
530 | |||
![]() |
90.6 | 531 | == 2.11 Battery & Power Consumption == |
![]() |
48.2 | 532 | |
533 | |||
![]() |
90.6 | 534 | NMDS200 uses ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace. |
![]() |
48.2 | 535 | |
![]() |
90.6 | 536 | [[**Battery Info & Power Consumption Analyze**>>url:http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] . |
![]() |
2.1 | 537 | |
![]() |
90.7 | 538 | |
![]() |
48.2 | 539 | = 3. Access NB-IoT Module = |
540 | |||
541 | |||
![]() |
2.1 | 542 | Users can directly access the AT command set of the NB-IoT module. |
543 | |||
544 | The AT Command set can refer the BC35-G NB-IoT Module AT Command: [[https:~~/~~/www.dragino.com/downloads/index.php?dir=datasheet/other_vendors/BC35-G/>>url:https://www.dragino.com/downloads/index.php?dir=datasheet/other_vendors/BC35-G/]] | ||
545 | |||
![]() |
70.22 | 546 | |
![]() |
67.2 | 547 | [[image:image-20221118094449-6.png]] |
![]() |
2.1 | 548 | |
549 | |||
![]() |
48.2 | 550 | = 4. Using the AT Commands = |
551 | |||
552 | == 4.1 Access AT Commands == | ||
553 | |||
554 | |||
![]() |
2.1 | 555 | See this link for detail: [[https:~~/~~/www.dropbox.com/sh/351dwor6joz8nwh/AADn1BQaAAxLF_QMyU8NkW47a?dl=0>>url:https://www.dropbox.com/sh/351dwor6joz8nwh/AADn1BQaAAxLF_QMyU8NkW47a?dl=0]] |
556 | |||
557 | AT+<CMD>? : Help on <CMD> | ||
558 | |||
559 | AT+<CMD> : Run <CMD> | ||
560 | |||
561 | AT+<CMD>=<value> : Set the value | ||
562 | |||
563 | AT+<CMD>=? : Get the value | ||
564 | |||
565 | |||
![]() |
48.2 | 566 | (% style="color:blue" %)**General Commands** |
567 | |||
![]() |
2.1 | 568 | AT : Attention |
569 | |||
570 | AT? : Short Help | ||
571 | |||
572 | ATZ : MCU Reset | ||
573 | |||
574 | AT+TDC : Application Data Transmission Interval | ||
575 | |||
576 | AT+CFG : Print all configurations | ||
577 | |||
578 | AT+CFGMOD : Working mode selection | ||
579 | |||
580 | AT+INTMOD : Set the trigger interrupt mode | ||
581 | |||
![]() |
83.8 | 582 | AT+5VT : Set extend the time of 5V power |
![]() |
2.1 | 583 | |
![]() |
83.8 | 584 | AT+PRO : Choose agreement |
![]() |
2.1 | 585 | |
![]() |
83.8 | 586 | AT+RXDL : Extend the sending and receiving time |
![]() |
2.1 | 587 | |
![]() |
83.8 | 588 | AT+SERVADDR : Server Address |
![]() |
2.1 | 589 | |
![]() |
83.2 | 590 | AT+TR : Get or Set record time |
![]() |
2.1 | 591 | |
![]() |
83.2 | 592 | AT+NOUD : Get or Set the number of data to be uploaded |
![]() |
2.1 | 593 | |
![]() |
48.2 | 594 | AT+CDP : Read or Clear cached data |
![]() |
2.1 | 595 | |
![]() |
83.8 | 596 | AT+DEBUG: Enable or Disable debug mode |
![]() |
2.1 | 597 | |
![]() |
83.2 | 598 | AT+ALARM1: Get or Set alarm of distance1 |
![]() |
2.1 | 599 | |
![]() |
83.2 | 600 | AT+ALARM2: Get or Set alarm of distance2 |
![]() |
2.1 | 601 | |
![]() |
83.2 | 602 | AT+GETSENSORVALUE : Returns the current sensor measurement |
![]() |
2.1 | 603 | |
![]() |
83.2 | 604 | AT+POWERIC : Get or set the Power IC flag |
![]() |
2.1 | 605 | |
606 | |||
![]() |
48.2 | 607 | (% style="color:blue" %)**COAP Management** |
608 | |||
![]() |
83.2 | 609 | AT+URI : Resource parameters |
![]() |
2.1 | 610 | |
611 | |||
![]() |
48.2 | 612 | |
613 | (% style="color:blue" %)**MQTT Management** | ||
614 | |||
![]() |
83.2 | 615 | AT+CLIENT : Get or Set MQTT client |
![]() |
2.1 | 616 | |
![]() |
83.2 | 617 | AT+UNAME : Get or Set MQTT Username |
![]() |
2.1 | 618 | |
![]() |
83.2 | 619 | AT+PWD : Get or Set MQTT password |
![]() |
2.1 | 620 | |
![]() |
83.2 | 621 | AT+PUBTOPIC : Get or Set MQTT publish topic |
![]() |
2.1 | 622 | |
![]() |
83.2 | 623 | AT+SUBTOPIC : Get or Set MQTT subscription topic |
![]() |
2.1 | 624 | |
625 | |||
![]() |
48.2 | 626 | (% style="color:blue" %)**Information** |
627 | |||
![]() |
83.2 | 628 | AT+FDR : Factory Data Reset |
![]() |
2.1 | 629 | |
![]() |
83.2 | 630 | AT+PWORD : Serial Access Password |
![]() |
2.1 | 631 | |
632 | |||
![]() |
48.2 | 633 | = 5. FAQ = |
![]() |
2.1 | 634 | |
![]() |
48.2 | 635 | == 5.1 How to Upgrade Firmware == |
![]() |
2.1 | 636 | |
637 | |||
![]() |
48.2 | 638 | User can upgrade the firmware for 1) bug fix, 2) new feature release. |
![]() |
2.1 | 639 | |
![]() |
48.2 | 640 | Please see this link for how to upgrade: [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Firmware%20Upgrade%20Instruction%20for%20STM32%20base%20products/#H2.HardwareUpgradeMethodSupportList>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20Upgrade%20Instruction%20for%20STM32%20base%20products/#H2.HardwareUpgradeMethodSupportList]] |
![]() |
2.1 | 641 | |
![]() |
83.2 | 642 | (% style="color:red" %)**Notice: **(% style="color:blue" %)**NMDS200** (%%)**and (% style="color:blue" %)LMDS200(%%)**(% style="color:blue" %) (%%)**share the same mother board. They use the same connection and method to update.** |
![]() |
2.1 | 643 | |
![]() |
42.1 | 644 | |
![]() |
48.2 | 645 | = 6. Trouble Shooting = |
![]() |
2.1 | 646 | |
![]() |
48.2 | 647 | == 6.1 Connection problem when uploading firmware == |
![]() |
2.1 | 648 | |
649 | |||
![]() |
48.2 | 650 | (% style="color:blue" %)**Please see: **[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Firmware%20Upgrade%20Instruction%20for%20STM32%20base%20products/#H3.3Troubleshooting>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20Upgrade%20Instruction%20for%20STM32%20base%20products/#H3.3Troubleshooting]] |
![]() |
42.1 | 651 | |
![]() |
2.1 | 652 | |
![]() |
48.2 | 653 | == 6.2 AT Command input doesn't work == |
![]() |
2.1 | 654 | |
655 | |||
![]() |
48.2 | 656 | In the case if user can see the console output but can't type input to the device. Please check if you already include the (% style="color:green" %)**ENTER**(%%) while sending out the command. Some serial tool doesn't send (% style="color:green" %)**ENTER** (%%)while press the send key, user need to add ENTER in their string. |
![]() |
2.1 | 657 | |
658 | |||
![]() |
90.9 | 659 | == 6.3 Not able to connect to NB-IoT network and keep showing "Signal Strength:99". == |
660 | |||
661 | |||
662 | This means sensor is trying to join the NB-IoT network but fail. Please see this link for **//[[trouble shooting for signal strenght:99>>doc:Main.CSQ\:99,99.WebHome]]//**. | ||
663 | |||
664 | |||
![]() |
48.2 | 665 | = 7. Order Info = |
![]() |
2.1 | 666 | |
667 | |||
![]() |
83.4 | 668 | Part Number:(% style="color:blue" %)** NMDS200** |
![]() |
2.1 | 669 | |
670 | |||
![]() |
48.2 | 671 | = 8. Packing Info = |
![]() |
2.1 | 672 | |
673 | |||
![]() |
48.2 | 674 | (% style="color:blue" %)**Package Includes**: |
![]() |
2.1 | 675 | |
![]() |
83.2 | 676 | * NMDS200 NB-IoT Microwave Radar Distance Sensor x 1 |
![]() |
2.1 | 677 | |
![]() |
90.20 | 678 | |
![]() |
48.2 | 679 | = 9. Support = |
![]() |
2.1 | 680 | |
681 | |||
![]() |
48.2 | 682 | * 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. |
![]() |
2.1 | 683 | |
![]() |
48.2 | 684 | * Provide as much information as possible regarding your enquiry (product models, accurately describe your problem and steps to replicate it etc) and send a mail to [[support@dragino.com>>url:http://../../../../../../D:%5C%E5%B8%82%E5%9C%BA%E8%B5%84%E6%96%99%5C%E8%AF%B4%E6%98%8E%E4%B9%A6%5CLoRa%5CLT%E7%B3%BB%E5%88%97%5Csupport@dragino.com]] |
![]() |
2.1 | 685 | |
![]() |
48.2 | 686 | |