<
From version < 105.1 >
edited by Xiaoling
on 2022/07/09 15:21
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 ==
... ... @@ -176,7 +176,6 @@
176 176  * 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  
179 -
180 180  Below figure shows our testing structure. Here we have NB-IoT network coverage by China Mobile, the band they use is B8.
181 181  
182 182  N95S31B supports different communication protocol such as :
... ... @@ -211,15 +211,15 @@
211 211  
212 212  
213 213  
214 -=== 2.2.3 Connect USB – TTL to NDDS75 to configure it ===
210 +=== 2.2. Connect USB – TTL to N95S31B to configure it ===
215 215  
216 216  (((
217 217  (((
218 -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.
219 219  )))
220 220  )))
221 221  
222 -[[image:image-20220709092052-2.png]]
218 +[[image:1657351312545-300.png]]
223 223  
224 224  **Connection:**
225 225  
... ... @@ -239,18 +239,18 @@
239 239  * Flow Control: (% style="color:green" %)**None**
240 240  
241 241  (((
242 -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.
243 243  )))
244 244  
245 245  [[image:1657329814315-101.png]]
246 246  
247 247  (((
248 -(% 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/]]
249 249  )))
250 250  
251 251  
252 252  
253 -=== 2.2.4 Use CoAP protocol to uplink data ===
249 +=== 2.2. Use CoAP protocol to uplink data ===
254 254  
255 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/]]
256 256  
... ... @@ -270,10 +270,12 @@
270 270  )))
271 271  
272 272  (((
269 +
270 +
273 273  For parameter description, please refer to AT command set
274 274  )))
275 275  
276 -[[image:1657330452568-615.png]]
274 +[[image:1657352146020-183.png]]
277 277  
278 278  
279 279  (((
... ... @@ -280,11 +280,11 @@
280 280  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.
281 281  )))
282 282  
283 -[[image:1657330472797-498.png]]
281 +[[image:1657352185396-303.png]]
284 284  
285 285  
286 286  
287 -=== 2.2.5 Use UDP protocol to uplink data(Default protocol) ===
285 +=== 2.2. Use UDP protocol to uplink data(Default protocol) ===
288 288  
289 289  
290 290  * (% style="color:blue" %)**AT+PRO=2   ** (%%) ~/~/ Set to use UDP protocol to uplink
... ... @@ -291,15 +291,16 @@
291 291  * (% style="color:blue" %)**AT+SERVADDR=120.24.4.116,5601   ** (%%) ~/~/ to set UDP server address and port
292 292  * (% style="color:blue" %)**AT+CFM=1       ** (%%) ~/~/ If the server does not respond, this command is unnecessary
293 293  
294 -[[image:1657330501006-241.png]]
292 +[[image:1657352391268-297.png]]
295 295  
296 296  
297 -[[image:1657330533775-472.png]]
295 +[[image:1657352403317-397.png]]
298 298  
299 299  
300 300  
301 -=== 2.2.6 Use MQTT protocol to uplink data ===
299 +=== 2.2. Use MQTT protocol to uplink data ===
302 302  
301 +N95S31B supports only plain MQTT now it doesn't support TLS and other related encryption.
303 303  
304 304  * (% style="color:blue" %)**AT+PRO=3   ** (%%) ~/~/Set to use MQTT protocol to uplink
305 305  * (% style="color:blue" %)**AT+SERVADDR=120.24.4.116,1883   ** (%%) ~/~/Set MQTT server address and port
... ... @@ -306,35 +306,40 @@
306 306  * (% style="color:blue" %)**AT+CLIENT=CLIENT       ** (%%)~/~/Set up the CLIENT of MQTT
307 307  * (% style="color:blue" %)**AT+UNAME=UNAME                                **(%%)~/~/Set the username of MQTT
308 308  * (% style="color:blue" %)**AT+PWD=PWD                                         **(%%)~/~/Set the password of MQTT
309 -* (% style="color:blue" %)**AT+PUBTOPIC=NDDS75_PUB                 **(%%)~/~/Set the sending topic of MQTT
310 -* (% 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
311 311  
312 -[[image:1657249978444-674.png]]
311 +[[image:1657352634421-276.png]]
313 313  
314 314  
315 -[[image:1657330723006-866.png]]
314 +[[image:1657352645687-385.png]]
316 316  
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 +)))
317 317  
320 +
318 318  (((
319 -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.
320 320  )))
321 321  
322 322  
323 323  
324 -=== 2.2.7 Use TCP protocol to uplink data ===
327 +=== 2.2. Use TCP protocol to uplink data ===
325 325  
329 +This feature is supported since firmware version v110
326 326  
327 327  * (% style="color:blue" %)**AT+PRO=4   ** (%%) ~/~/ Set to use TCP protocol to uplink
328 328  * (% style="color:blue" %)**AT+SERVADDR=120.24.4.116,5600   **(%%) ~/~/ to set TCP server address and port
329 329  
330 -[[image:image-20220709093918-1.png]]
334 +[[image:1657352898400-901.png]]
331 331  
332 332  
333 -[[image:image-20220709093918-2.png]]
337 +[[image:1657352914475-252.png]]
334 334  
335 335  
336 336  
337 -=== 2.2.8 Change Update Interval ===
341 +=== 2.2. Change Update Interval ===
338 338  
339 339  User can use below command to change the (% style="color:green" %)**uplink interval**.
340 340  
... ... @@ -341,69 +341,93 @@
341 341  * (% style="color:blue" %)**AT+TDC=600      ** (%%)~/~/ Set Update Interval to 600s
342 342  
343 343  (((
344 -(% style="color:red" %)**NOTE:**
348 +
345 345  )))
346 346  
347 -(((
348 -(% style="color:red" %)1. By default, the device will send an uplink message every 1 hour.
349 -)))
350 350  
351 351  
352 -
353 353  == 2.3  Uplink Payload ==
354 354  
355 -In this mode, uplink payload includes in total 14 bytes
356 356  
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.
357 357  
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 +
358 358  (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:440px" %)
359 359  |=(% style="width: 60px;" %)(((
360 360  **Size(bytes)**
361 -)))|=(% style="width: 60px;" %)**6**|=(% style="width: 35px;" %)2|=(% style="width: 35px;" %)**2**|=(% style="width: 80px;" %)**1**|=(% style="width: 100px;" %)**2**|=(% style="width: 60px;" %)**1**
362 -|(% 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
363 363  
364 -(((
365 -If we use the MQTT client to subscribe to this MQTT topic, we can see the following information when the NDDS751 uplink data.
366 -)))
392 +No function here.
393 +)))|(% style="width:77px" %)(((
394 +[[Temperature >>||anchor="H2.4.5A0Distance"]]
367 367  
396 +By SHT31
397 +)))|(% style="width:80px" %)(((
398 +[[Humidity>>||anchor="H2.4.6A0DigitalInterrupt"]]
368 368  
369 -[[image:1657331036973-987.png]]
370 -
371 -(((
372 -The payload is ASCII string, representative same HEX:
400 +By SHT31
373 373  )))
374 374  
375 375  (((
376 -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.
377 377  )))
378 -
379 -* (((
380 -Device ID: 0x724031556159 = 724031556159
381 381  )))
382 -* (((
383 -Version: 0x0064=100=1.0.0
384 -)))
385 385  
386 -* (((
387 -BAT: 0x0c6c = 3180 mV = 3.180V
388 -)))
389 -* (((
390 -Signal: 0x19 = 25
391 -)))
392 -* (((
393 -Distance: 0x0292= 658 mm
394 -)))
395 -* (((
396 -Interrupt: 0x00 = 0
397 397  
410 +[[image:1657354294009-643.png]]
398 398  
399 399  
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 +(((
400 400  
401 401  )))
402 402  
403 -== 2.4  Payload Explanation and Sensor Interface ==
429 +(((
430 +
431 +)))
404 404  
405 405  
406 -=== 2.4.1  Device ID ===
434 +=== 2.3.2  Device ID ===
407 407  
408 408  (((
409 409  By default, the Device ID equal to the last 6 bytes of IMEI.
... ... @@ -427,20 +427,25 @@
427 427  
428 428  
429 429  
430 -=== 2.4.2  Version Info ===
458 +=== 2.3.3  Version Info ===
431 431  
432 -(((
433 -Specify the software version: 0x64=100, means firmware version 1.00.
434 -)))
435 435  
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 +
436 436  (((
437 -For example: 0x00 64 : this device is NDDS75 with firmware version 1.0.0.
471 +
438 438  )))
439 439  
440 440  
475 +=== 2.3.4  Battery Info ===
441 441  
442 -=== 2.4.3  Battery Info ===
443 -
444 444  (((
445 445  Ex1: 0x0B45 = 2885mV
446 446  )))
... ... @@ -451,7 +451,7 @@
451 451  
452 452  
453 453  
454 -=== 2.4.4  Signal Strength ===
487 +=== 2.3.5  Signal Strength ===
455 455  
456 456  (((
457 457  NB-IoT Network signal Strength.
... ... @@ -483,83 +483,24 @@
483 483  
484 484  
485 485  
486 -=== 2.4.5  Distance ===
519 +=== 2.3.6  Temperature & Humidity ===
487 487  
488 -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.
489 489  
490 -(((
491 -For example, if the data you get from the register is **__0x0B 0x05__**, the distance between the sensor and the measured object is
492 -)))
523 +[[image:image-20220709161741-3.png]]
493 493  
494 -(((
495 -(((
496 -(% style="color:blue" %)** 0B05(H) = 2821(D) = 2821mm.**
497 -)))
498 -)))
499 499  
500 -(((
501 -
502 -)))
526 +Convert the read byte to decimal and divide it by ten.
503 503  
504 -(((
505 -
506 -)))
507 507  
508 -=== 2.4.6  Digital Interrupt ===
529 +**Example:**
509 509  
510 -(((
511 -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.
512 -)))
531 +Temperature:  Read:00ec (H) = 236(D)  Value:  236 /10=23.6℃
513 513  
514 -(((
515 -The command is:
516 -)))
533 +Humidity:    Read:0295(H)=661(D)    Value:  661 / 10=66.1, So 66.1%
517 517  
518 -(((
519 -(% 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]])**.**
520 -)))
521 521  
522 522  
523 -(((
524 -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.
525 -)))
526 -
527 -
528 -(((
529 -Example:
530 -)))
531 -
532 -(((
533 -0x(00): Normal uplink packet.
534 -)))
535 -
536 -(((
537 -0x(01): Interrupt Uplink Packet.
538 -)))
539 -
540 -
541 -
542 -=== 2.4.7  ​+5V Output ===
543 -
544 -(((
545 -NDDS75 will enable +5V output before all sampling and disable the +5v after all sampling. 
546 -)))
547 -
548 -
549 -(((
550 -The 5V output time can be controlled by AT Command.
551 -)))
552 -
553 -(((
554 -(% style="color:blue" %)**AT+5VT=1000**
555 -)))
556 -
557 -(((
558 -Means set 5V valid time to have 1000ms. So the real 5V output will actually have 1000ms + sampling time for other sensors.
559 -)))
560 -
561 -
562 -
563 563  == 2.5  Downlink Payload ==
564 564  
565 565  By default, NDDS75 prints the downlink payload to console port.
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