<
From version < 102.2 >
edited by Xiaoling
on 2022/07/09 15:06
To version < 115.2 >
edited by Xiaoling
on 2022/07/09 16:18
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -54,7 +54,6 @@
54 54  * 8500mAh Battery for long term use
55 55  
56 56  
57 -
58 58  == 1.3  Specification ==
59 59  
60 60  
... ... @@ -82,7 +82,6 @@
82 82  * Max boost current: 2A, 1 second
83 83  
84 84  
85 -
86 86  == ​1.4  Applications ==
87 87  
88 88  * Smart Buildings & Home Automation
... ... @@ -132,7 +132,6 @@
132 132  
133 133  
134 134  
135 -
136 136  = 2.  Use N95S31B to communicate with IoT Server =
137 137  
138 138  == 2.1  How it works ==
... ... @@ -166,27 +166,37 @@
166 166  
167 167  [[image:image-20220709150546-2.png]]
168 168  
166 +
169 169  === 2.2.1 Test Requirement ===
170 170  
171 -(((
172 -To use NDDS75 in your city, make sure meet below requirements:
173 -)))
174 174  
170 +To use N95S31B in your city, make sure meet below requirements:
171 +
175 175  * Your local operator has already distributed a NB-IoT Network there.
176 -* The local NB-IoT network used the band that NSE01 supports.
173 +* The local NB-IoT network used the band that N95S31B supports.
177 177  * Your operator is able to distribute the data received in their NB-IoT network to your IoT server.
178 178  
176 +Below figure shows our testing structure. Here we have NB-IoT network coverage by China Mobile, the band they use is B8.
177 +
178 +N95S31B supports different communication protocol such as :
179 +
179 179  (((
180 -Below figure shows our testing structure. Here we have NB-IoT network coverage by China Mobile, the band they use is B8.  The NDDS75 will use CoAP((% style="color:red" %)120.24.4.116:5683)(%%) or raw UDP((% style="color:red" %)120.24.4.116:5601)(%%) or MQTT((% style="color:red" %)120.24.4.116:1883)(%%)or TCP((% style="color:red" %)120.24.4.116:5600)(%%)protocol to send data to the test server
181 -)))
181 +* CoAP  ((% style="color:red" %)120.24.4.116:5683(%%))
182 +* raw UDP  ((% style="color:red" %)120.24.4.116:5601(%%))
183 +* MQTT  ((% style="color:red" %)120.24.4.116:1883(%%))
184 +* TCP  ((% style="color:red" %)120.24.4.116:5600(%%))
182 182  
186 +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.
183 183  
184 -[[image:1657328756309-230.png]]
188 +
189 +)))
185 185  
191 +[[image:1657350625843-586.png]]
186 186  
187 187  
188 -=== 2.2.2 Insert SIM card ===
189 189  
195 +=== 2.2.3  Insert SIM card ===
196 +
190 190  (((
191 191  Insert the NB-IoT Card get from your provider.
192 192  )))
... ... @@ -196,19 +196,19 @@
196 196  )))
197 197  
198 198  
199 -[[image:1657328884227-504.png]]
206 +[[image:1657351240556-536.png]]
200 200  
201 201  
202 202  
203 -=== 2.2.3 Connect USB – TTL to NDDS75 to configure it ===
210 +=== 2.2. Connect USB – TTL to N95S31B to configure it ===
204 204  
205 205  (((
206 206  (((
207 -User need to configure NDDS75 via serial port to set the (% style="color:blue" %)**Server Address** / **Uplink Topic** (%%)to define where and how-to uplink packets. NDDS75 support AT Commands, user can use a USB to TTL adapter to connect to NDDS75 and use AT Commands to configure it, as below.
214 +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.
208 208  )))
209 209  )))
210 210  
211 -[[image:image-20220709092052-2.png]]
218 +[[image:1657351312545-300.png]]
212 212  
213 213  **Connection:**
214 214  
... ... @@ -228,18 +228,18 @@
228 228  * Flow Control: (% style="color:green" %)**None**
229 229  
230 230  (((
231 -Make sure the switch is in FLASH position, then power on device by connecting the jumper on NDDS75. NDDS75 will output system info once power on as below, we can enter the (% style="color:green" %)**password: 12345678**(%%) to access AT Command input.
238 +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.
232 232  )))
233 233  
234 234  [[image:1657329814315-101.png]]
235 235  
236 236  (((
237 -(% style="color:red" %)Note: the valid AT Commands can be found at: (%%)[[https:~~/~~/www.dragino.com/downloads/index.php?dir=NB-IoT/NDDS75/>>url:https://www.dragino.com/downloads/index.php?dir=NB-IoT/NDDS75/]]
244 +(% 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/]]
238 238  )))
239 239  
240 240  
241 241  
242 -=== 2.2.4 Use CoAP protocol to uplink data ===
249 +=== 2.2. Use CoAP protocol to uplink data ===
243 243  
244 244  (% 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/]]
245 245  
... ... @@ -259,10 +259,12 @@
259 259  )))
260 260  
261 261  (((
269 +
270 +
262 262  For parameter description, please refer to AT command set
263 263  )))
264 264  
265 -[[image:1657330452568-615.png]]
274 +[[image:1657352146020-183.png]]
266 266  
267 267  
268 268  (((
... ... @@ -269,11 +269,11 @@
269 269  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.
270 270  )))
271 271  
272 -[[image:1657330472797-498.png]]
281 +[[image:1657352185396-303.png]]
273 273  
274 274  
275 275  
276 -=== 2.2.5 Use UDP protocol to uplink data(Default protocol) ===
285 +=== 2.2. Use UDP protocol to uplink data(Default protocol) ===
277 277  
278 278  
279 279  * (% style="color:blue" %)**AT+PRO=2   ** (%%) ~/~/ Set to use UDP protocol to uplink
... ... @@ -280,15 +280,16 @@
280 280  * (% style="color:blue" %)**AT+SERVADDR=120.24.4.116,5601   ** (%%) ~/~/ to set UDP server address and port
281 281  * (% style="color:blue" %)**AT+CFM=1       ** (%%) ~/~/ If the server does not respond, this command is unnecessary
282 282  
283 -[[image:1657330501006-241.png]]
292 +[[image:1657352391268-297.png]]
284 284  
285 285  
286 -[[image:1657330533775-472.png]]
295 +[[image:1657352403317-397.png]]
287 287  
288 288  
289 289  
290 -=== 2.2.6 Use MQTT protocol to uplink data ===
299 +=== 2.2. Use MQTT protocol to uplink data ===
291 291  
301 +N95S31B supports only plain MQTT now it doesn't support TLS and other related encryption.
292 292  
293 293  * (% style="color:blue" %)**AT+PRO=3   ** (%%) ~/~/Set to use MQTT protocol to uplink
294 294  * (% style="color:blue" %)**AT+SERVADDR=120.24.4.116,1883   ** (%%) ~/~/Set MQTT server address and port
... ... @@ -295,35 +295,40 @@
295 295  * (% style="color:blue" %)**AT+CLIENT=CLIENT       ** (%%)~/~/Set up the CLIENT of MQTT
296 296  * (% style="color:blue" %)**AT+UNAME=UNAME                                **(%%)~/~/Set the username of MQTT
297 297  * (% style="color:blue" %)**AT+PWD=PWD                                         **(%%)~/~/Set the password of MQTT
298 -* (% style="color:blue" %)**AT+PUBTOPIC=NDDS75_PUB                 **(%%)~/~/Set the sending topic of MQTT
299 -* (% style="color:blue" %)**AT+SUBTOPIC=NDDS75_SUB          **(%%) ~/~/Set the subscription topic of MQTT
308 +* (% style="color:blue" %)**AT+PUBTOPIC=f9527                               **(%%)~/~/Set the sending topic of MQTT
309 +* (% style="color:blue" %)**AT+SUBTOPIC=Ns9527          **(%%) ~/~/Set the subscription topic of MQTT
300 300  
301 -[[image:1657249978444-674.png]]
311 +[[image:1657352634421-276.png]]
302 302  
303 303  
304 -[[image:1657330723006-866.png]]
314 +[[image:1657352645687-385.png]]
305 305  
316 +(((
317 +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.
318 +)))
306 306  
320 +
307 307  (((
308 -MQTT protocol has a much higher power consumption compare vs UDP / CoAP protocol. Please check the power analyze document and adjust the uplink period to a suitable interval.
322 +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.
309 309  )))
310 310  
311 311  
312 312  
313 -=== 2.2.7 Use TCP protocol to uplink data ===
327 +=== 2.2. Use TCP protocol to uplink data ===
314 314  
329 +This feature is supported since firmware version v110
315 315  
316 316  * (% style="color:blue" %)**AT+PRO=4   ** (%%) ~/~/ Set to use TCP protocol to uplink
317 317  * (% style="color:blue" %)**AT+SERVADDR=120.24.4.116,5600   **(%%) ~/~/ to set TCP server address and port
318 318  
319 -[[image:image-20220709093918-1.png]]
334 +[[image:1657352898400-901.png]]
320 320  
321 321  
322 -[[image:image-20220709093918-2.png]]
337 +[[image:1657352914475-252.png]]
323 323  
324 324  
325 325  
326 -=== 2.2.8 Change Update Interval ===
341 +=== 2.2. Change Update Interval ===
327 327  
328 328  User can use below command to change the (% style="color:green" %)**uplink interval**.
329 329  
... ... @@ -330,69 +330,93 @@
330 330  * (% style="color:blue" %)**AT+TDC=600      ** (%%)~/~/ Set Update Interval to 600s
331 331  
332 332  (((
333 -(% style="color:red" %)**NOTE:**
348 +
334 334  )))
335 335  
336 -(((
337 -(% style="color:red" %)1. By default, the device will send an uplink message every 1 hour.
338 -)))
339 339  
340 340  
341 -
342 342  == 2.3  Uplink Payload ==
343 343  
344 -In this mode, uplink payload includes in total 14 bytes
345 345  
356 +NBSN95 has different working mode for the connections of different type of sensors. This section describes these modes. User can use the AT Command (% style="color:blue" %)**AT+MOD**(%%) to set NBSN95 to different working modes.
346 346  
358 +
359 +For example:
360 +
361 + (% style="color:blue" %)**AT+CFGMOD=2 ** (%%)~/~/will set the NBSN95 to work in MOD=2 distance mode which target to measure distance via Ultrasonic Sensor.
362 +
363 +
364 +The uplink payloads are composed in  ASCII String. For example:
365 +
366 +0a cd 00 ed 0a cc 00 00 ef 02 d2 1d (total 24 ASCII Chars) . Representative the actually payload:
367 +
368 +0x 0a cd 00 ed 0a cc 00 00 ef 02 d2 1d Total 12 bytes
369 +
370 +
371 +(% style="color:red" %)**NOTE:**
372 +
373 +(% style="color:red" %)
374 +1. All modes share the same Payload Explanation from [[HERE>>path:#Payload_Explain]].
375 +1. By default, the device will send an uplink message every 1 hour.
376 +
377 +
378 +
379 +
380 +=== 2.3.1  Payload Analyze ===
381 +
382 +N95S31B uplink payload includes in total 21 bytes
383 +
384 +
347 347  (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:440px" %)
348 348  |=(% style="width: 60px;" %)(((
349 349  **Size(bytes)**
350 -)))|=(% style="width: 60px;" %)**6**|=(% style="width: 35px;" %)2|=(% style="width: 35px;" %)**2**|=(% style="width: 80px;" %)**1**|=(% style="width: 100px;" %)**2**|=(% style="width: 60px;" %)**1**
351 -|(% 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"]]
388 +)))|=(% style="width: 60px;" %)**6**|=(% style="width: 35px;" %)2|=(% style="width: 35px;" %)**2**|=(% style="width: 80px;" %)**1**|=(% style="width: 80px;" %) |=(% style="width: 99px;" %) |=(% style="width: 77px;" %)**2**|=(% style="width: 60px;" %)**1**
389 +|(% 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:123px" %)MOD 0X01|(% style="width:99px" %)(((
390 +Reserve/ Same as NBSN95 CFGMOD=1
352 352  
353 -(((
354 -If we use the MQTT client to subscribe to this MQTT topic, we can see the following information when the NDDS751 uplink data.
355 -)))
392 +No function here.
393 +)))|(% style="width:77px" %)(((
394 +[[Temperature >>||anchor="H2.4.5A0Distance"]]
356 356  
396 +By SHT31
397 +)))|(% style="width:80px" %)(((
398 +[[Humidity>>||anchor="H2.4.6A0DigitalInterrupt"]]
357 357  
358 -[[image:1657331036973-987.png]]
359 -
360 -(((
361 -The payload is ASCII string, representative same HEX:
400 +By SHT31
362 362  )))
363 363  
364 364  (((
365 -0x72403155615900640c6c19029200 where:
404 +(((
405 +If we use the MQTT client to subscribe to this MQTT topic, we can see the following information when the NB sensor uplink data.
366 366  )))
367 -
368 -* (((
369 -Device ID: 0x724031556159 = 724031556159
370 370  )))
371 -* (((
372 -Version: 0x0064=100=1.0.0
373 -)))
374 374  
375 -* (((
376 -BAT: 0x0c6c = 3180 mV = 3.180V
377 -)))
378 -* (((
379 -Signal: 0x19 = 25
380 -)))
381 -* (((
382 -Distance: 0x0292= 658 mm
383 -)))
384 -* (((
385 -Interrupt: 0x00 = 0
386 386  
410 +[[image:1657354294009-643.png]]
387 387  
388 388  
413 +The payload is ASCII string, representative same HEX: 0x724031607457006e0ccd1b0100dc000ccc00e10186 where:
414 +
415 +* Device ID: 0x724031607457 = 724031607457
416 +* Version: 0x006e=110=1.1.0
417 +
418 +* BAT: 0x0ccd = 3277 mV = 3.277V
419 +* Signal: 0x1b = 27
420 +* Model: 0x01 = 1
421 +* 0x00dc000ccc= reserve, ignore in N95S31B
422 +* Temperature by SHT31: 0x00e1 = 225 = 22.5 °C
423 +* Humidity by SHT31: 0x0186 = 390 = 39.0 %rh
424 +
425 +(((
389 389  
390 390  )))
391 391  
392 -== 2.4  Payload Explanation and Sensor Interface ==
429 +(((
430 +
431 +)))
393 393  
394 394  
395 -=== 2.4.1  Device ID ===
434 +=== 2.3.2  Device ID ===
396 396  
397 397  (((
398 398  By default, the Device ID equal to the last 6 bytes of IMEI.
... ... @@ -416,20 +416,25 @@
416 416  
417 417  
418 418  
419 -=== 2.4.2  Version Info ===
458 +=== 2.3.3  Version Info ===
420 420  
421 -(((
422 -Specify the software version: 0x64=100, means firmware version 1.00.
423 -)))
424 424  
461 +These bytes include the hardware and software version.
462 +
463 +Higher byte: Specify hardware version: always 0x00 for N95S31B
464 +
465 +Lower byte: Specify the software version: 0x6E=110, means firmware version 110
466 +
467 +
468 +For example: 0x00 6E: this device is N95S31B with firmware version 110.
469 +
425 425  (((
426 -For example: 0x00 64 : this device is NDDS75 with firmware version 1.0.0.
471 +
427 427  )))
428 428  
429 429  
475 +=== 2.3.4  Battery Info ===
430 430  
431 -=== 2.4.3  Battery Info ===
432 -
433 433  (((
434 434  Ex1: 0x0B45 = 2885mV
435 435  )))
... ... @@ -440,7 +440,7 @@
440 440  
441 441  
442 442  
443 -=== 2.4.4  Signal Strength ===
487 +=== 2.3.5  Signal Strength ===
444 444  
445 445  (((
446 446  NB-IoT Network signal Strength.
... ... @@ -472,83 +472,24 @@
472 472  
473 473  
474 474  
475 -=== 2.4.5  Distance ===
519 +=== 2.3.6  Temperature & Humidity ===
476 476  
477 -Get the distance. Flat object range 280mm - 7500mm.
521 +The device will be able to get the SHT31 temperature and humidity data now and upload to IoT Server.
478 478  
479 -(((
480 -For example, if the data you get from the register is **__0x0B 0x05__**, the distance between the sensor and the measured object is
481 -)))
523 +[[image:image-20220709161741-3.png]]
482 482  
483 -(((
484 -(((
485 -(% style="color:blue" %)** 0B05(H) = 2821(D) = 2821mm.**
486 -)))
487 -)))
488 488  
489 -(((
490 -
491 -)))
526 +Convert the read byte to decimal and divide it by ten.
492 492  
493 -(((
494 -
495 -)))
496 496  
497 -=== 2.4.6  Digital Interrupt ===
529 +**Example:**
498 498  
499 -(((
500 -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.
501 -)))
531 +Temperature:  Read:00ec (H) = 236(D)  Value:  236 /10=23.6℃
502 502  
503 -(((
504 -The command is:
505 -)))
533 +Humidity:    Read:0295(H)=661(D)    Value:  661 / 10=66.1, So 66.1%
506 506  
507 -(((
508 -(% 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]])**.**
509 -)))
510 510  
511 511  
512 -(((
513 -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.
514 -)))
515 -
516 -
517 -(((
518 -Example:
519 -)))
520 -
521 -(((
522 -0x(00): Normal uplink packet.
523 -)))
524 -
525 -(((
526 -0x(01): Interrupt Uplink Packet.
527 -)))
528 -
529 -
530 -
531 -=== 2.4.7  ​+5V Output ===
532 -
533 -(((
534 -NDDS75 will enable +5V output before all sampling and disable the +5v after all sampling. 
535 -)))
536 -
537 -
538 -(((
539 -The 5V output time can be controlled by AT Command.
540 -)))
541 -
542 -(((
543 -(% style="color:blue" %)**AT+5VT=1000**
544 -)))
545 -
546 -(((
547 -Means set 5V valid time to have 1000ms. So the real 5V output will actually have 1000ms + sampling time for other sensors.
548 -)))
549 -
550 -
551 -
552 552  == 2.5  Downlink Payload ==
553 553  
554 554  By default, NDDS75 prints the downlink payload to console port.
1657350625843-586.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +93.3 KB
Content
1657351240556-536.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +483.6 KB
Content
1657351312545-300.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +675.8 KB
Content
1657352146020-183.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +264.0 KB
Content
1657352185396-303.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +98.3 KB
Content
1657352391268-297.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +238.0 KB
Content
1657352403317-397.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +547.7 KB
Content
1657352634421-276.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +163.6 KB
Content
1657352645687-385.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +214.7 KB
Content
1657352898400-901.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +144.8 KB
Content
1657352914475-252.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +157.0 KB
Content
1657354294009-643.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +214.7 KB
Content
image-20220709161741-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +111.2 KB
Content
Copyright ©2010-2022 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0