Wiki source code of N95S31B NB-IoT Temperature & Humidity Sensor User Manual
Hide last authors
author | version | line-number | content |
---|---|---|---|
74.2 | 1 | (% style="text-align:center" %) | |
99.2 | 2 | [[image:1657348034241-728.png||height="470" width="470"]] | |
1.1 | 3 | ||
4 | |||
5 | |||
35.25 | 6 | ||
7 | |||
99.2 | 8 | ||
9 | |||
35.4 | 10 | **Table of Contents:** | |
1.1 | 11 | ||
12 | |||
13 | |||
14 | |||
15 | |||
31.17 | 16 | ||
44.2 | 17 | = 1. Introduction = | |
1.1 | 18 | ||
99.2 | 19 | == 1.1 What is N95S31B NB-IoT Sensor Node == | |
1.1 | 20 | ||
12.2 | 21 | ((( | |
35.4 | 22 | ||
23 | |||
99.2 | 24 | The Dragino N95S31B is a (% style="color:blue" %)**NB-IoT Temperature and Humidity Sensor**(%%) for Internet of Things solution. It is used to measure the (% style="color:blue" %)**surrounding environment temperature and relative air humidity precisely**(%%), and then upload to IoT server via NB-IoT network*. | |
97.13 | 25 | ||
99.2 | 26 | The temperature & humidity sensor used in N95S31B is SHT31, which is fully calibrated, linearized, and temperature compensated digital output from Sensirion, it provides a strong reliability and long-term stability. The SHT31 is fixed in a (% style="color:blue" %)**waterproof anti-condensation casing **(%%)for long term use. | |
97.13 | 27 | ||
99.2 | 28 | N95S31B supports different uplink methods include (% style="color:blue" %)**TCP, MQTT, UDP and CoAP**(%%) for different application requirement. | |
97.13 | 29 | ||
99.2 | 30 | N95S31B is powered by(% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%), It is designed for long term use up to several years. (Real-world battery life depends on the use environment, update period. Please check related Power Analyze report). | |
97.13 | 31 | ||
32 | |||
99.2 | 33 | ~* make sure you have NB-IoT coverage locally. | |
4.2 | 34 | ||
42.2 | 35 | ||
12.2 | 36 | ))) | |
4.2 | 37 | ||
99.2 | 38 | [[image:1657348284168-431.png]] | |
4.2 | 39 | ||
40 | |||
41 | |||
65.3 | 42 | == 1.2 Features == | |
13.3 | 43 | ||
100.2 | 44 | ||
44.2 | 45 | * NB-IoT Bands: B1/B3/B8/B5/B20/B28 @H-FDD | |
100.2 | 46 | * Monitor Temperature & Humidity via SHT31 | |
4.2 | 47 | * AT Commands to change parameters | |
48 | * Uplink on periodically | ||
49 | * Downlink to change configure | ||
50 | * IP66 Waterproof Enclosure | ||
100.2 | 51 | * Ultra-Low Power consumption | |
52 | * AT Commands to change parameters | ||
44.2 | 53 | * Micro SIM card slot for NB-IoT SIM | |
54 | * 8500mAh Battery for long term use | ||
4.2 | 55 | ||
100.2 | 56 | ||
57 | |||
44.2 | 58 | == 1.3 Specification == | |
59 | |||
60 | |||
61 | (% style="color:#037691" %)**Common DC Characteristics:** | ||
62 | |||
63 | * Supply Voltage: 2.1v ~~ 3.6v | ||
64 | * Operating Temperature: -40 ~~ 85°C | ||
65 | |||
66 | (% style="color:#037691" %)**NB-IoT Spec:** | ||
67 | |||
68 | * - B1 @H-FDD: 2100MHz | ||
69 | * - B3 @H-FDD: 1800MHz | ||
70 | * - B8 @H-FDD: 900MHz | ||
71 | * - B5 @H-FDD: 850MHz | ||
72 | * - B20 @H-FDD: 800MHz | ||
73 | * - B28 @H-FDD: 700MHz | ||
74 | |||
75.3 | 75 | (% style="color:#037691" %)**Battery:** | |
4.2 | 76 | ||
100.2 | 77 | ||
75.3 | 78 | * Li/SOCI2 un-chargeable battery | |
79 | * Capacity: 8500mAh | ||
80 | * Self Discharge: <1% / Year @ 25°C | ||
81 | * Max continuously current: 130mA | ||
82 | * Max boost current: 2A, 1 second | ||
14.2 | 83 | ||
4.2 | 84 | ||
75.3 | 85 | ||
44.2 | 86 | == 1.4 Applications == | |
4.2 | 87 | ||
75.4 | 88 | * Smart Buildings & Home Automation | |
89 | * Logistics and Supply Chain Management | ||
90 | * Smart Metering | ||
4.2 | 91 | * Smart Agriculture | |
75.4 | 92 | * Smart Cities | |
93 | * Smart Factory | ||
4.2 | 94 | ||
15.6 | 95 | (% class="wikigeneratedid" id="H200B1.5FirmwareChangelog" %) | |
96 | | ||
4.2 | 97 | ||
75.4 | 98 | ||
44.2 | 99 | == 1.5 Pin Definitions == | |
15.6 | 100 | ||
100.2 | 101 | N95S31B use the mother board from NBSN95 which as below. | |
15.6 | 102 | ||
100.2 | 103 | [[image:image-20220709144723-1.png]] | |
4.2 | 104 | ||
14.3 | 105 | ||
100.2 | 106 | === 1.5.1 Jumper JP2 === | |
14.3 | 107 | ||
100.2 | 108 | Power on Device when put this jumper. | |
14.3 | 109 | ||
100.2 | 110 | ||
111 | |||
112 | === 1.5.2 BOOT MODE / SW1 === | ||
113 | |||
114 | 1) 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. | ||
115 | |||
116 | 2) Flash: work mode, device starts to work and send out console output for further debug | ||
117 | |||
118 | |||
119 | |||
120 | === 1.5.3 Reset Button === | ||
121 | |||
122 | Press to reboot the device. | ||
123 | |||
124 | |||
125 | |||
126 | === 1.5.4 LED === | ||
127 | |||
128 | It will flash: | ||
129 | |||
130 | 1. When boot the device in flash mode | ||
131 | 1. Send an uplink packet | ||
132 | |||
133 | |||
134 | |||
135 | |||
136 | = 2. Use N95S31B to communicate with IoT Server = | ||
137 | |||
45.2 | 138 | == 2.1 How it works == | |
14.3 | 139 | ||
100.3 | 140 | ||
15.3 | 141 | ((( | |
100.3 | 142 | The N95S31B is equipped with a NB-IoT module, the pre-loaded firmware in N95S31B 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 N95S31B. | |
15.3 | 143 | ))) | |
4.2 | 144 | ||
45.2 | 145 | ||
15.3 | 146 | ((( | |
100.3 | 147 | The diagram below shows the working flow in default firmware of N95S31B: | |
15.3 | 148 | ))) | |
4.2 | 149 | ||
77.2 | 150 | ((( | |
151 | |||
152 | ))) | ||
4.2 | 153 | ||
102.2 | 154 | [[image:1657350248151-650.png]] | |
77.2 | 155 | ||
45.2 | 156 | ((( | |
157 | |||
158 | ))) | ||
4.2 | 159 | ||
45.2 | 160 | ||
102.2 | 161 | == 2.2 Configure the N95S31B == | |
4.2 | 162 | ||
48.2 | 163 | ||
102.2 | 164 | === 2.2.1 Power On N95S31B === | |
165 | |||
166 | |||
167 | [[image:image-20220709150546-2.png]] | ||
168 | |||
102.3 | 169 | ||
45.4 | 170 | === 2.2.1 Test Requirement === | |
4.2 | 171 | ||
172 | |||
102.3 | 173 | To use N95S31B in your city, make sure meet below requirements: | |
174 | |||
45.4 | 175 | * Your local operator has already distributed a NB-IoT Network there. | |
102.3 | 176 | * The local NB-IoT network used the band that N95S31B supports. | |
45.4 | 177 | * Your operator is able to distribute the data received in their NB-IoT network to your IoT server. | |
4.2 | 178 | ||
102.3 | 179 | ||
180 | Below figure shows our testing structure. Here we have NB-IoT network coverage by China Mobile, the band they use is B8. | ||
181 | |||
182 | N95S31B supports different communication protocol such as : | ||
183 | |||
48.2 | 184 | ((( | |
102.3 | 185 | * CoAP ((% style="color:red" %)120.24.4.116:5683(%%)) | |
186 | * raw UDP ((% style="color:red" %)120.24.4.116:5601(%%)) | ||
187 | * MQTT ((% style="color:red" %)120.24.4.116:1883(%%)) | ||
188 | * TCP ((% style="color:red" %)120.24.4.116:5600(%%)) | ||
189 | |||
190 | We will show how to use with each protocol. The IP addresses above are our test server. User need to change to point their corresponding server. | ||
191 | |||
192 | |||
193 | ))) | ||
194 | |||
103.2 | 195 | [[image:1657350625843-586.png]] | |
4.2 | 196 | ||
197 | |||
198 | |||
104.2 | 199 | === 2.2.3 Insert SIM card === | |
4.2 | 200 | ||
65.11 | 201 | ((( | |
45.4 | 202 | Insert the NB-IoT Card get from your provider. | |
65.11 | 203 | ))) | |
4.2 | 204 | ||
65.11 | 205 | ((( | |
45.4 | 206 | User need to take out the NB-IoT module and insert the SIM card like below: | |
65.11 | 207 | ))) | |
4.2 | 208 | ||
209 | |||
104.2 | 210 | [[image:1657351240556-536.png]] | |
4.2 | 211 | ||
212 | |||
48.2 | 213 | ||
107.2 | 214 | === 2.2.4 Connect USB – TTL to N95S31B to configure it === | |
4.2 | 215 | ||
48.2 | 216 | ((( | |
217 | ((( | ||
105.2 | 218 | User need to configure N95S31B via serial port to set the (% style="color:blue" %)**Server Address** / **Uplink Topic** (%%)to define where and how-to uplink packets. N95S31B support AT Commands, user can use a USB to TTL adapter to connect to N95S31B and use AT Commands to configure it, as below. | |
48.2 | 219 | ))) | |
220 | ))) | ||
19.2 | 221 | ||
105.2 | 222 | [[image:1657351312545-300.png]] | |
4.2 | 223 | ||
48.2 | 224 | **Connection:** | |
4.2 | 225 | ||
45.6 | 226 | (% style="background-color:yellow" %)USB TTL GND <~-~-~-~-> GND | |
4.2 | 227 | ||
45.6 | 228 | (% style="background-color:yellow" %)USB TTL TXD <~-~-~-~-> UART_RXD | |
4.2 | 229 | ||
45.6 | 230 | (% style="background-color:yellow" %)USB TTL RXD <~-~-~-~-> UART_TXD | |
4.2 | 231 | ||
232 | |||
45.4 | 233 | In the PC, use below serial tool settings: | |
234 | |||
57.4 | 235 | * Baud: (% style="color:green" %)**9600** | |
48.2 | 236 | * Data bits:** (% style="color:green" %)8(%%)** | |
237 | * Stop bits: (% style="color:green" %)**1** | ||
57.4 | 238 | * Parity: (% style="color:green" %)**None** | |
48.2 | 239 | * Flow Control: (% style="color:green" %)**None** | |
45.4 | 240 | ||
48.2 | 241 | ((( | |
105.2 | 242 | Make sure the switch is in FLASH position, then power on device by connecting the jumper on N95S31B. N95S31B will output system info once power on as below, we can enter the (% style="color:green" %)**password: 12345678**(%%) to access AT Command input. | |
48.2 | 243 | ))) | |
45.4 | 244 | ||
81.2 | 245 | [[image:1657329814315-101.png]] | |
45.4 | 246 | ||
65.12 | 247 | ((( | |
105.2 | 248 | (% style="color:red" %)Note: the valid AT Commands can be found at: (%%)[[https:~~/~~/www.dragino.com/downloads/index.php?dir=NB-IoT/N95S31B/>>url:https://www.dragino.com/downloads/index.php?dir=NB-IoT/N95S31B/]] | |
65.12 | 249 | ))) | |
45.4 | 250 | ||
251 | |||
252 | |||
107.2 | 253 | === 2.2.5 Use CoAP protocol to uplink data === | |
45.4 | 254 | ||
56.2 | 255 | (% style="color:red" %)Note: if you don't have CoAP server, you can refer this link to set up one: (%%)[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Set%20up%20CoAP%20Server/>>http://wiki.dragino.com/xwiki/bin/view/Main/Set%20up%20CoAP%20Server/]] | |
45.4 | 256 | ||
257 | |||
97.9 | 258 | ((( | |
50.2 | 259 | **Use below commands:** | |
97.9 | 260 | ))) | |
45.4 | 261 | ||
97.9 | 262 | * ((( | |
263 | (% style="color:blue" %)**AT+PRO=1** (%%) ~/~/ Set to use CoAP protocol to uplink | ||
264 | ))) | ||
265 | * ((( | ||
266 | (% style="color:blue" %)**AT+SERVADDR=120.24.4.116,5683 ** (%%)~/~/ to set CoAP server address and port | ||
267 | ))) | ||
268 | * ((( | ||
269 | (% style="color:blue" %)**AT+URI=5,11,"mqtt",11,"coap",12,"0",15,"c=text1",23,"0" ** (%%) ~/~/Set COAP resource path | ||
270 | ))) | ||
45.4 | 271 | ||
97.9 | 272 | ((( | |
107.2 | 273 | ||
274 | |||
45.4 | 275 | For parameter description, please refer to AT command set | |
97.9 | 276 | ))) | |
45.4 | 277 | ||
107.2 | 278 | [[image:1657352146020-183.png]] | |
45.4 | 279 | ||
280 | |||
97.10 | 281 | ((( | |
86.2 | 282 | After configure the server address and (% style="color:green" %)**reset the device**(%%) (via AT+ATZ ), NDDS75 will start to uplink sensor values to CoAP server. | |
97.10 | 283 | ))) | |
45.4 | 284 | ||
107.2 | 285 | [[image:1657352185396-303.png]] | |
45.4 | 286 | ||
287 | |||
50.2 | 288 | ||
107.2 | 289 | === 2.2.6 Use UDP protocol to uplink data(Default protocol) === | |
45.4 | 290 | ||
291 | |||
97.5 | 292 | * (% style="color:blue" %)**AT+PRO=2 ** (%%) ~/~/ Set to use UDP protocol to uplink | |
48.2 | 293 | * (% style="color:blue" %)**AT+SERVADDR=120.24.4.116,5601 ** (%%) ~/~/ to set UDP server address and port | |
97.5 | 294 | * (% style="color:blue" %)**AT+CFM=1 ** (%%) ~/~/ If the server does not respond, this command is unnecessary | |
45.4 | 295 | ||
111.2 | 296 | [[image:1657352391268-297.png]] | |
45.4 | 297 | ||
298 | |||
111.2 | 299 | [[image:1657352403317-397.png]] | |
45.4 | 300 | ||
52.3 | 301 | ||
86.2 | 302 | ||
111.2 | 303 | === 2.2.7 Use MQTT protocol to uplink data === | |
45.4 | 304 | ||
113.2 | 305 | N95S31B supports only plain MQTT now it doesn't support TLS and other related encryption. | |
45.4 | 306 | ||
97.11 | 307 | * (% style="color:blue" %)**AT+PRO=3 ** (%%) ~/~/Set to use MQTT protocol to uplink | |
308 | * (% style="color:blue" %)**AT+SERVADDR=120.24.4.116,1883 ** (%%) ~/~/Set MQTT server address and port | ||
309 | * (% style="color:blue" %)**AT+CLIENT=CLIENT ** (%%)~/~/Set up the CLIENT of MQTT | ||
97.13 | 310 | * (% style="color:blue" %)**AT+UNAME=UNAME **(%%)~/~/Set the username of MQTT | |
311 | * (% style="color:blue" %)**AT+PWD=PWD **(%%)~/~/Set the password of MQTT | ||
111.2 | 312 | * (% style="color:blue" %)**AT+PUBTOPIC=f9527 **(%%)~/~/Set the sending topic of MQTT | |
313 | * (% style="color:blue" %)**AT+SUBTOPIC=Ns9527 **(%%) ~/~/Set the subscription topic of MQTT | ||
45.4 | 314 | ||
111.2 | 315 | [[image:1657352634421-276.png]] | |
45.4 | 316 | ||
54.2 | 317 | ||
111.2 | 318 | [[image:1657352645687-385.png]] | |
54.2 | 319 | ||
111.2 | 320 | ((( | |
321 | To save battery life, N95S31B will establish a subscription before each uplink and close the subscription 3 seconds after uplink successful. Any downlink commands from server will only arrive during the subscription period. | ||
322 | ))) | ||
45.4 | 323 | ||
111.2 | 324 | ||
54.3 | 325 | ((( | |
111.2 | 326 | MQTT protocol has a much high-power consumption compare vs UDP / CoAP protocol. Please check the power analyze document and adjust the uplink period to a suitable interval. | |
54.3 | 327 | ))) | |
45.4 | 328 | ||
329 | |||
54.3 | 330 | ||
113.2 | 331 | === 2.2.8 Use TCP protocol to uplink data === | |
45.4 | 332 | ||
113.2 | 333 | This feature is supported since firmware version v110 | |
45.4 | 334 | ||
56.2 | 335 | * (% style="color:blue" %)**AT+PRO=4 ** (%%) ~/~/ Set to use TCP protocol to uplink | |
48.2 | 336 | * (% style="color:blue" %)**AT+SERVADDR=120.24.4.116,5600 **(%%) ~/~/ to set TCP server address and port | |
45.4 | 337 | ||
113.2 | 338 | [[image:1657352898400-901.png]] | |
45.4 | 339 | ||
340 | |||
113.2 | 341 | [[image:1657352914475-252.png]] | |
45.4 | 342 | ||
57.6 | 343 | ||
89.2 | 344 | ||
113.2 | 345 | === 2.2.9 Change Update Interval === | |
45.4 | 346 | ||
48.2 | 347 | User can use below command to change the (% style="color:green" %)**uplink interval**. | |
45.4 | 348 | ||
56.3 | 349 | * (% style="color:blue" %)**AT+TDC=600 ** (%%)~/~/ Set Update Interval to 600s | |
45.4 | 350 | ||
56.3 | 351 | ((( | |
113.2 | 352 | ||
56.3 | 353 | ))) | |
45.4 | 354 | ||
355 | |||
356 | |||
57.2 | 357 | == 2.3 Uplink Payload == | |
4.2 | 358 | ||
90.2 | 359 | In this mode, uplink payload includes in total 14 bytes | |
32.9 | 360 | ||
90.2 | 361 | ||
97.16 | 362 | (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:440px" %) | |
97.12 | 363 | |=(% style="width: 60px;" %)((( | |
57.2 | 364 | **Size(bytes)** | |
97.15 | 365 | )))|=(% style="width: 60px;" %)**6**|=(% style="width: 35px;" %)2|=(% style="width: 35px;" %)**2**|=(% style="width: 80px;" %)**1**|=(% style="width: 100px;" %)**2**|=(% style="width: 60px;" %)**1** | |
97.2 | 366 | |(% style="width:97px" %)**Value**|(% style="width:83px" %)[[Device ID>>||anchor="H2.4.1A0A0DeviceID"]]|(% style="width:41px" %)[[Ver>>||anchor="H2.4.2A0VersionInfo"]]|(% style="width:46px" %)[[BAT>>||anchor="H2.4.3A0BatteryInfo"]]|(% style="width:123px" %)[[Signal Strength>>||anchor="H2.4.4A0SignalStrength"]]|(% style="width:120px" %)[[Distance (unit: mm)>>||anchor="H2.4.5A0Distance"]]|(% style="width:80px" %)[[Interrupt>>||anchor="H2.4.6A0DigitalInterrupt"]] | |
57.2 | 367 | ||
65.13 | 368 | ((( | |
90.2 | 369 | If we use the MQTT client to subscribe to this MQTT topic, we can see the following information when the NDDS751 uplink data. | |
65.13 | 370 | ))) | |
57.2 | 371 | ||
372 | |||
90.2 | 373 | [[image:1657331036973-987.png]] | |
57.2 | 374 | ||
90.2 | 375 | ((( | |
57.2 | 376 | The payload is ASCII string, representative same HEX: | |
90.2 | 377 | ))) | |
57.2 | 378 | ||
90.2 | 379 | ((( | |
380 | 0x72403155615900640c6c19029200 where: | ||
381 | ))) | ||
57.2 | 382 | ||
90.2 | 383 | * ((( | |
384 | Device ID: 0x724031556159 = 724031556159 | ||
385 | ))) | ||
386 | * ((( | ||
387 | Version: 0x0064=100=1.0.0 | ||
388 | ))) | ||
57.2 | 389 | ||
90.2 | 390 | * ((( | |
391 | BAT: 0x0c6c = 3180 mV = 3.180V | ||
392 | ))) | ||
393 | * ((( | ||
394 | Signal: 0x19 = 25 | ||
395 | ))) | ||
396 | * ((( | ||
397 | Distance: 0x0292= 658 mm | ||
398 | ))) | ||
399 | * ((( | ||
400 | Interrupt: 0x00 = 0 | ||
95.5 | 401 | ||
402 | |||
403 | |||
404 | |||
90.2 | 405 | ))) | |
57.2 | 406 | ||
57.3 | 407 | == 2.4 Payload Explanation and Sensor Interface == | |
4.2 | 408 | ||
57.7 | 409 | ||
57.5 | 410 | === 2.4.1 Device ID === | |
4.2 | 411 | ||
65.13 | 412 | ((( | |
57.3 | 413 | By default, the Device ID equal to the last 6 bytes of IMEI. | |
65.13 | 414 | ))) | |
4.2 | 415 | ||
65.13 | 416 | ((( | |
57.4 | 417 | User can use (% style="color:blue" %)**AT+DEUI**(%%) to set Device ID | |
65.13 | 418 | ))) | |
4.2 | 419 | ||
65.13 | 420 | ((( | |
57.3 | 421 | **Example:** | |
65.13 | 422 | ))) | |
4.2 | 423 | ||
65.13 | 424 | ((( | |
57.3 | 425 | AT+DEUI=A84041F15612 | |
65.13 | 426 | ))) | |
4.2 | 427 | ||
65.13 | 428 | ((( | |
91.1 | 429 | The Device ID is stored in a none-erase area, Upgrade the firmware or run **AT+FDR** won't erase Device ID. | |
65.13 | 430 | ))) | |
22.2 | 431 | ||
4.2 | 432 | ||
433 | |||
57.5 | 434 | === 2.4.2 Version Info === | |
435 | |||
65.13 | 436 | ((( | |
57.3 | 437 | Specify the software version: 0x64=100, means firmware version 1.00. | |
65.13 | 438 | ))) | |
4.2 | 439 | ||
65.13 | 440 | ((( | |
91.1 | 441 | For example: 0x00 64 : this device is NDDS75 with firmware version 1.0.0. | |
65.13 | 442 | ))) | |
4.2 | 443 | ||
444 | |||
57.3 | 445 | ||
57.5 | 446 | === 2.4.3 Battery Info === | |
22.2 | 447 | ||
32.10 | 448 | ((( | |
4.2 | 449 | Ex1: 0x0B45 = 2885mV | |
32.10 | 450 | ))) | |
4.2 | 451 | ||
32.10 | 452 | ((( | |
4.2 | 453 | Ex2: 0x0B49 = 2889mV | |
32.10 | 454 | ))) | |
4.2 | 455 | ||
456 | |||
457 | |||
57.6 | 458 | === 2.4.4 Signal Strength === | |
4.2 | 459 | ||
65.13 | 460 | ((( | |
57.6 | 461 | NB-IoT Network signal Strength. | |
65.13 | 462 | ))) | |
57.6 | 463 | ||
65.13 | 464 | ((( | |
57.6 | 465 | **Ex1: 0x1d = 29** | |
65.13 | 466 | ))) | |
57.6 | 467 | ||
65.13 | 468 | ((( | |
57.6 | 469 | (% style="color:blue" %)**0**(%%) -113dBm or less | |
65.13 | 470 | ))) | |
57.6 | 471 | ||
65.13 | 472 | ((( | |
57.6 | 473 | (% style="color:blue" %)**1**(%%) -111dBm | |
65.13 | 474 | ))) | |
57.6 | 475 | ||
65.13 | 476 | ((( | |
57.6 | 477 | (% style="color:blue" %)**2...30**(%%) -109dBm... -53dBm | |
65.13 | 478 | ))) | |
57.6 | 479 | ||
65.13 | 480 | ((( | |
57.6 | 481 | (% style="color:blue" %)**31** (%%) -51dBm or greater | |
65.13 | 482 | ))) | |
57.6 | 483 | ||
65.13 | 484 | ((( | |
57.6 | 485 | (% style="color:blue" %)**99** (%%) Not known or not detectable | |
65.13 | 486 | ))) | |
57.6 | 487 | ||
488 | |||
489 | |||
95.4 | 490 | === 2.4.5 Distance === | |
57.6 | 491 | ||
91.1 | 492 | Get the distance. Flat object range 280mm - 7500mm. | |
4.2 | 493 | ||
97.17 | 494 | ((( | |
91.1 | 495 | For example, if the data you get from the register is **__0x0B 0x05__**, the distance between the sensor and the measured object is | |
97.17 | 496 | ))) | |
4.2 | 497 | ||
32.10 | 498 | ((( | |
499 | ((( | ||
91.4 | 500 | (% style="color:blue" %)** 0B05(H) = 2821(D) = 2821mm.** | |
32.10 | 501 | ))) | |
32.11 | 502 | ))) | |
4.2 | 503 | ||
32.11 | 504 | ((( | |
23.2 | 505 | ||
506 | ))) | ||
4.2 | 507 | ||
23.2 | 508 | ((( | |
509 | |||
510 | ))) | ||
511 | |||
91.1 | 512 | === 2.4.6 Digital Interrupt === | |
23.2 | 513 | ||
65.15 | 514 | ((( | |
91.1 | 515 | Digital Interrupt refers to pin (% style="color:blue" %)**GPIO_EXTI**(%%), and there are different trigger methods. When there is a trigger, the NDDS75 will send a packet to the server. | |
65.15 | 516 | ))) | |
4.2 | 517 | ||
65.15 | 518 | ((( | |
57.6 | 519 | The command is: | |
65.15 | 520 | ))) | |
4.2 | 521 | ||
65.15 | 522 | ((( | |
57.8 | 523 | (% style="color:blue" %)**AT+INTMOD=3 **(%%) ~/~/(more info about INMOD please refer [[**AT Command Manual**>>url:https://www.dragino.com/downloads/downloads/NB-IoT/NBSN95/DRAGINO_NBSN95-NB_AT%20Commands_v1.1.0.pdf]])**.** | |
65.15 | 524 | ))) | |
4.2 | 525 | ||
526 | |||
65.15 | 527 | ((( | |
65.6 | 528 | The lower four bits of this data field shows if this packet is generated by interrupt or not. Click here for the hardware and software set up. | |
65.15 | 529 | ))) | |
4.2 | 530 | ||
531 | |||
65.15 | 532 | ((( | |
57.6 | 533 | Example: | |
65.15 | 534 | ))) | |
4.2 | 535 | ||
65.15 | 536 | ((( | |
57.6 | 537 | 0x(00): Normal uplink packet. | |
65.15 | 538 | ))) | |
4.2 | 539 | ||
65.15 | 540 | ((( | |
57.6 | 541 | 0x(01): Interrupt Uplink Packet. | |
65.15 | 542 | ))) | |
23.2 | 543 | ||
4.2 | 544 | ||
545 | |||
91.1 | 546 | === 2.4.7 +5V Output === | |
4.2 | 547 | ||
65.16 | 548 | ((( | |
91.1 | 549 | NDDS75 will enable +5V output before all sampling and disable the +5v after all sampling. | |
65.16 | 550 | ))) | |
4.2 | 551 | ||
57.6 | 552 | ||
65.16 | 553 | ((( | |
57.6 | 554 | The 5V output time can be controlled by AT Command. | |
65.16 | 555 | ))) | |
57.6 | 556 | ||
65.16 | 557 | ((( | |
57.7 | 558 | (% style="color:blue" %)**AT+5VT=1000** | |
65.16 | 559 | ))) | |
57.6 | 560 | ||
65.16 | 561 | ((( | |
57.6 | 562 | Means set 5V valid time to have 1000ms. So the real 5V output will actually have 1000ms + sampling time for other sensors. | |
65.16 | 563 | ))) | |
57.6 | 564 | ||
565 | |||
566 | |||
58.2 | 567 | == 2.5 Downlink Payload == | |
4.2 | 568 | ||
92.2 | 569 | By default, NDDS75 prints the downlink payload to console port. | |
4.2 | 570 | ||
92.2 | 571 | [[image:image-20220709100028-1.png]] | |
4.2 | 572 | ||
573 | |||
32.14 | 574 | ((( | |
40.4 | 575 | (% style="color:blue" %)**Examples:** | |
32.14 | 576 | ))) | |
4.2 | 577 | ||
32.14 | 578 | ((( | |
579 | |||
580 | ))) | ||
4.2 | 581 | ||
32.14 | 582 | * ((( | |
40.4 | 583 | (% style="color:blue" %)**Set TDC** | |
32.14 | 584 | ))) | |
4.2 | 585 | ||
32.14 | 586 | ((( | |
60.2 | 587 | If the payload=0100003C, it means set the END Node's TDC to 0x00003C=60(S), while type code is 01. | |
32.14 | 588 | ))) | |
4.2 | 589 | ||
32.14 | 590 | ((( | |
4.2 | 591 | Payload: 01 00 00 1E TDC=30S | |
32.14 | 592 | ))) | |
4.2 | 593 | ||
32.14 | 594 | ((( | |
4.2 | 595 | Payload: 01 00 00 3C TDC=60S | |
32.14 | 596 | ))) | |
4.2 | 597 | ||
32.14 | 598 | ((( | |
599 | |||
600 | ))) | ||
4.2 | 601 | ||
32.14 | 602 | * ((( | |
40.4 | 603 | (% style="color:blue" %)**Reset** | |
32.14 | 604 | ))) | |
4.2 | 605 | ||
32.14 | 606 | ((( | |
92.2 | 607 | If payload = 0x04FF, it will reset the NDDS75 | |
32.14 | 608 | ))) | |
4.2 | 609 | ||
610 | |||
60.2 | 611 | * (% style="color:blue" %)**INTMOD** | |
4.2 | 612 | ||
65.17 | 613 | ((( | |
60.2 | 614 | Downlink Payload: 06000003, Set AT+INTMOD=3 | |
65.17 | 615 | ))) | |
4.2 | 616 | ||
617 | |||
26.2 | 618 | ||
60.2 | 619 | == 2.6 LED Indicator == | |
26.2 | 620 | ||
4.2 | 621 | ||
92.2 | 622 | The NDDS75 has an internal LED which is to show the status of different state. | |
4.2 | 623 | ||
92.2 | 624 | ||
625 | * When power on, NDDS75 will detect if sensor probe is connected, if probe detected, LED will blink four times. (no blinks in this step is no probe) | ||
60.2 | 626 | * Then the LED will be on for 1 second means device is boot normally. | |
92.2 | 627 | * After NDDS75 join NB-IoT network. The LED will be ON for 3 seconds. | |
60.2 | 628 | * For each uplink probe, LED will be on for 500ms. | |
92.2 | 629 | ||
630 | ((( | ||
631 | |||
32.15 | 632 | ))) | |
4.2 | 633 | ||
634 | |||
635 | |||
92.3 | 636 | == 2.7 Firmware Change Log == | |
4.2 | 637 | ||
638 | |||
97.18 | 639 | ((( | |
92.3 | 640 | Download URL & Firmware Change log | |
97.18 | 641 | ))) | |
4.2 | 642 | ||
60.2 | 643 | ((( | |
92.3 | 644 | [[https:~~/~~/www.dragino.com/downloads/index.php?dir=NB-IoT/NDDS75/Firmware/>>url:https://www.dragino.com/downloads/index.php?dir=NB-IoT/NDDS75/Firmware/]] | |
60.2 | 645 | ))) | |
4.2 | 646 | ||
647 | |||
97.18 | 648 | ((( | |
65.6 | 649 | Upgrade Instruction: [[Upgrade_Firmware>>||anchor="H5.1200BHowtoUpgradeFirmware"]] | |
97.18 | 650 | ))) | |
28.5 | 651 | ||
4.2 | 652 | ||
653 | |||
95.2 | 654 | == 2.8 Battery Analysis == | |
4.2 | 655 | ||
95.2 | 656 | === 2.8.1 Battery Type === | |
4.2 | 657 | ||
658 | |||
65.18 | 659 | ((( | |
95.2 | 660 | The NDDS75 battery is a combination of an 8500mAh Li/SOCI2 Battery and a Super Capacitor. The battery is none-rechargeable battery type with a low discharge rate (<2% per year). This type of battery is commonly used in IoT devices such as water meter. | |
65.18 | 661 | ))) | |
4.2 | 662 | ||
65.18 | 663 | ((( | |
62.3 | 664 | The battery is designed to last for several years depends on the actually use environment and update interval. | |
65.18 | 665 | ))) | |
4.2 | 666 | ||
65.18 | 667 | ((( | |
60.2 | 668 | The battery related documents as below: | |
65.18 | 669 | ))) | |
4.2 | 670 | ||
60.2 | 671 | * [[Battery Dimension>>http://www.dragino.com/downloads/index.php?dir=datasheet/Battery/ER26500/]] | |
65.7 | 672 | * [[Lithium-Thionyl Chloride Battery datasheet>>http://www.dragino.com/downloads/index.php?dir=datasheet/Battery/ER26500/]] | |
60.2 | 673 | * [[Lithium-ion Battery-Capacitor datasheet>>http://www.dragino.com/downloads/index.php?dir=datasheet/Battery/ER26500/]] | |
4.2 | 674 | ||
29.2 | 675 | ((( | |
95.2 | 676 | [[image:image-20220709101450-2.png]] | |
29.2 | 677 | ))) | |
4.2 | 678 | ||
679 | |||
35.18 | 680 | ||
95.2 | 681 | === 2.8.2 Power consumption Analyze === | |
4.2 | 682 | ||
62.3 | 683 | ((( | |
60.2 | 684 | Dragino battery powered product are all runs in Low Power mode. We have an update battery calculator which base on the measurement of the real device. User can use this calculator to check the battery life and calculate the battery life if want to use different transmit interval. | |
62.3 | 685 | ))) | |
4.2 | 686 | ||
687 | |||
62.3 | 688 | ((( | |
60.2 | 689 | Instruction to use as below: | |
62.3 | 690 | ))) | |
4.2 | 691 | ||
62.3 | 692 | ((( | |
693 | (% style="color:blue" %)**Step 1: **(%%)Downlink the up-to-date DRAGINO_Battery_Life_Prediction_Table.xlsx from: [[https:~~/~~/www.dragino.com/downloads/index.php?dir=LoRa_End_Node/Battery_Analyze/>>url:https://www.dragino.com/downloads/index.php?dir=LoRa_End_Node/Battery_Analyze/]] | ||
694 | ))) | ||
4.2 | 695 | ||
696 | |||
62.3 | 697 | ((( | |
698 | (% style="color:blue" %)**Step 2: **(%%) Open it and choose | ||
699 | ))) | ||
4.2 | 700 | ||
62.3 | 701 | * ((( | |
702 | Product Model | ||
703 | ))) | ||
704 | * ((( | ||
705 | Uplink Interval | ||
706 | ))) | ||
707 | * ((( | ||
708 | Working Mode | ||
709 | ))) | ||
4.2 | 710 | ||
62.3 | 711 | ((( | |
60.2 | 712 | And the Life expectation in difference case will be shown on the right. | |
62.3 | 713 | ))) | |
4.2 | 714 | ||
96.2 | 715 | [[image:image-20220709110451-3.png]] | |
4.2 | 716 | ||
717 | |||
62.2 | 718 | ||
95.2 | 719 | === 2.8.3 Battery Note === | |
4.2 | 720 | ||
31.6 | 721 | ((( | |
4.2 | 722 | The Li-SICO battery is designed for small current / long period application. It is not good to use a high current, short period transmit method. The recommended minimum period for use of this battery is 5 minutes. If you use a shorter period time to transmit LoRa, then the battery life may be decreased. | |
31.3 | 723 | ))) | |
4.2 | 724 | ||
725 | |||
726 | |||
95.2 | 727 | === 2.8.4 Replace the battery === | |
31.2 | 728 | ||
62.2 | 729 | ((( | |
95.2 | 730 | The default battery pack of NDDS75 includes a ER26500 plus super capacitor. If user can't find this pack locally, they can find ER26500 or equivalence without the SPC1520 capacitor, which will also work in most case. The SPC can enlarge the battery life for high frequency use (update period below 5 minutes). | |
62.2 | 731 | ))) | |
4.2 | 732 | ||
733 | |||
734 | |||
63.2 | 735 | = 3. Access NB-IoT Module = | |
4.2 | 736 | ||
63.2 | 737 | ((( | |
738 | Users can directly access the AT command set of the NB-IoT module. | ||
739 | ))) | ||
740 | |||
741 | ((( | ||
64.2 | 742 | 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/]] | |
63.2 | 743 | ))) | |
744 | |||
95.2 | 745 | [[image:1657333200519-600.png]] | |
63.2 | 746 | ||
747 | |||
748 | |||
64.2 | 749 | = 4. Using the AT Commands = | |
63.2 | 750 | ||
64.2 | 751 | == 4.1 Access AT Commands == | |
9.2 | 752 | ||
95.2 | 753 | See this link for detail: [[https:~~/~~/www.dragino.com/downloads/index.php?dir=NB-IoT/NDDS75/>>url:http://www.dragino.com/downloads/index.php?dir=NB-IoT/NBSN50/]] | |
11.4 | 754 | ||
4.2 | 755 | ||
64.2 | 756 | AT+<CMD>? : Help on <CMD> | |
4.2 | 757 | ||
64.2 | 758 | AT+<CMD> : Run <CMD> | |
4.2 | 759 | ||
64.2 | 760 | AT+<CMD>=<value> : Set the value | |
4.2 | 761 | ||
64.2 | 762 | AT+<CMD>=? : Get the value | |
4.2 | 763 | ||
764 | |||
11.6 | 765 | (% style="color:#037691" %)**General Commands**(%%) | |
4.2 | 766 | ||
64.2 | 767 | AT : Attention | |
4.2 | 768 | ||
64.2 | 769 | AT? : Short Help | |
4.2 | 770 | ||
64.2 | 771 | ATZ : MCU Reset | |
4.2 | 772 | ||
64.2 | 773 | AT+TDC : Application Data Transmission Interval | |
4.2 | 774 | ||
64.2 | 775 | AT+CFG : Print all configurations | |
4.2 | 776 | ||
64.2 | 777 | AT+CFGMOD : Working mode selection | |
4.2 | 778 | ||
64.2 | 779 | AT+INTMOD : Set the trigger interrupt mode | |
4.2 | 780 | ||
64.2 | 781 | AT+5VT : Set extend the time of 5V power | |
4.2 | 782 | ||
64.2 | 783 | AT+PRO : Choose agreement | |
4.2 | 784 | ||
64.2 | 785 | AT+WEIGRE : Get weight or set weight to 0 | |
4.2 | 786 | ||
64.2 | 787 | AT+WEIGAP : Get or Set the GapValue of weight | |
4.2 | 788 | ||
64.2 | 789 | AT+RXDL : Extend the sending and receiving time | |
4.2 | 790 | ||
64.2 | 791 | AT+CNTFAC : Get or set counting parameters | |
4.2 | 792 | ||
64.2 | 793 | AT+SERVADDR : Server Address | |
4.2 | 794 | ||
795 | |||
64.2 | 796 | (% style="color:#037691" %)**COAP Management** | |
4.2 | 797 | ||
64.2 | 798 | AT+URI : Resource parameters | |
4.2 | 799 | ||
800 | |||
64.2 | 801 | (% style="color:#037691" %)**UDP Management** | |
4.2 | 802 | ||
64.2 | 803 | AT+CFM : Upload confirmation mode (only valid for UDP) | |
4.2 | 804 | ||
805 | |||
64.2 | 806 | (% style="color:#037691" %)**MQTT Management** | |
4.2 | 807 | ||
64.2 | 808 | AT+CLIENT : Get or Set MQTT client | |
4.2 | 809 | ||
64.2 | 810 | AT+UNAME : Get or Set MQTT Username | |
4.2 | 811 | ||
64.2 | 812 | AT+PWD : Get or Set MQTT password | |
4.2 | 813 | ||
64.2 | 814 | AT+PUBTOPIC : Get or Set MQTT publish topic | |
4.2 | 815 | ||
64.2 | 816 | AT+SUBTOPIC : Get or Set MQTT subscription topic | |
4.2 | 817 | ||
818 | |||
64.2 | 819 | (% style="color:#037691" %)**Information** | |
4.2 | 820 | ||
64.2 | 821 | AT+FDR : Factory Data Reset | |
4.2 | 822 | ||
64.2 | 823 | AT+PWORD : Serial Access Password | |
4.2 | 824 | ||
825 | |||
826 | |||
64.4 | 827 | = 5. FAQ = | |
4.2 | 828 | ||
64.4 | 829 | == 5.1 How to Upgrade Firmware == | |
6.3 | 830 | ||
4.2 | 831 | ||
31.35 | 832 | ((( | |
64.4 | 833 | User can upgrade the firmware for 1) bug fix, 2) new feature release. | |
31.35 | 834 | ))) | |
4.2 | 835 | ||
31.35 | 836 | ((( | |
64.4 | 837 | Please see this link for how to upgrade: [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Firmware%20Upgrade%20Instruction%20for%20STM32%20base%20products/#H2.HardwareUpgradeMethodSupportList>>http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20Upgrade%20Instruction%20for%20STM32%20base%20products/#H2.HardwareUpgradeMethodSupportList]] | |
31.35 | 838 | ))) | |
4.2 | 839 | ||
31.35 | 840 | ((( | |
95.2 | 841 | (% style="color:red" %)Notice, NDDS75 and LDDS75 share the same mother board. They use the same connection and method to update. | |
31.35 | 842 | ))) | |
4.2 | 843 | ||
844 | |||
845 | |||
64.5 | 846 | = 6. Trouble Shooting = | |
4.2 | 847 | ||
64.5 | 848 | == 6.1 Connection problem when uploading firmware == | |
4.9 | 849 | ||
4.2 | 850 | ||
65.20 | 851 | ((( | |
852 | **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]] | ||
853 | ))) | ||
854 | |||
64.5 | 855 | (% class="wikigeneratedid" %) | |
31.29 | 856 | ((( | |
65.20 | 857 | ||
31.29 | 858 | ))) | |
4.2 | 859 | ||
860 | |||
64.5 | 861 | == 6.2 AT Command input doesn't work == | |
4.2 | 862 | ||
31.30 | 863 | ((( | |
64.5 | 864 | 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. | |
65.22 | 865 | ||
65.23 | 866 | ||
31.30 | 867 | ))) | |
4.2 | 868 | ||
869 | |||
64.5 | 870 | = 7. Order Info = | |
4.2 | 871 | ||
872 | |||
95.3 | 873 | Part Number**:** (% style="color:#4f81bd" %)**NSDDS75** | |
4.7 | 874 | ||
4.2 | 875 | ||
31.10 | 876 | (% class="wikigeneratedid" %) | |
877 | ((( | ||
878 | |||
879 | ))) | ||
880 | |||
65.2 | 881 | = 8. Packing Info = | |
4.2 | 882 | ||
4.3 | 883 | ((( | |
31.39 | 884 | ||
885 | |||
31.40 | 886 | (% style="color:#037691" %)**Package Includes**: | |
64.5 | 887 | ||
95.3 | 888 | * NSE01 NB-IoT Distance Detect Sensor Node x 1 | |
64.5 | 889 | * External antenna x 1 | |
4.3 | 890 | ))) | |
4.2 | 891 | ||
4.3 | 892 | ((( | |
31.40 | 893 | ||
894 | |||
895 | (% style="color:#037691" %)**Dimension and weight**: | ||
4.2 | 896 | ||
95.3 | 897 | ||
898 | * Device Size: 13.0 x 5 x 4.5 cm | ||
899 | * Device Weight: 150g | ||
900 | * Package Size / pcs : 15 x 12x 5.5 cm | ||
901 | * Weight / pcs : 220g | ||
4.3 | 902 | ))) | |
31.11 | 903 | ||
64.5 | 904 | ((( | |
31.11 | 905 | ||
64.5 | 906 | ||
907 | |||
908 | |||
4.3 | 909 | ))) | |
4.2 | 910 | ||
64.5 | 911 | = 9. Support = | |
4.2 | 912 | ||
913 | * 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. | ||
914 | * 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]] |