Show last authors
1 (% style="text-align:center" %)
2 [[image:1657348034241-728.png||height="470" width="470"]]
3
4
5
6
7
8
9
10 **Table of Contents:**
11
12 {{toc/}}
13
14
15
16
17
18 = 1.  Introduction =
19
20 == 1.1 ​ What is N95S31B NB-IoT Sensor Node ==
21
22
23 (((
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*.
25 )))
26
27 (((
28 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.
29 )))
30
31 (((
32 N95S31B supports different uplink methods include (% style="color:blue" %)**TCP, MQTT, UDP and CoAP**(%%) for different application requirement.
33 )))
34
35 (((
36 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).
37 )))
38
39 (((
40 ~* make sure you have NB-IoT coverage locally.
41 )))
42
43
44 [[image:1657348284168-431.png]]
45
46
47 == 1.2 ​ Features ==
48
49
50 * NB-IoT Bands: B1/B3/B8/B5/B20/B28 @H-FDD
51 * Monitor Temperature & Humidity via SHT31
52 * AT Commands to change parameters
53 * Uplink on periodically
54 * Downlink to change configure
55 * IP66 Waterproof Enclosure
56 * Ultra-Low Power consumption
57 * AT Commands to change parameters
58 * Micro SIM card slot for NB-IoT SIM
59 * 8500mAh Battery for long term use
60
61 == 1.3  Specification ==
62
63
64 (% style="color:#037691" %)**Common DC Characteristics:**
65
66 * Supply Voltage: 2.1v ~~ 3.6v
67 * Operating Temperature: -40 ~~ 85°C
68
69 (% style="color:#037691" %)**NB-IoT Spec:**
70
71 * B1 @H-FDD: 2100MHz
72 * B3 @H-FDD: 1800MHz
73 * B8 @H-FDD: 900MHz
74 * B5 @H-FDD: 850MHz
75 * B20 @H-FDD: 800MHz
76 * B28 @H-FDD: 700MHz
77
78 (% style="color:#037691" %)**Battery:**
79
80 * Li/SOCI2 un-chargeable battery
81 * Capacity: 8500mAh
82 * Self Discharge: <1% / Year @ 25°C
83 * Max continuously current: 130mA
84 * Max boost current: 2A, 1 second
85
86 == ​1.4  Applications ==
87
88
89 * Smart Buildings & Home Automation
90 * Logistics and Supply Chain Management
91 * Smart Metering
92 * Smart Agriculture
93 * Smart Cities
94 * Smart Factory
95
96 (% class="wikigeneratedid" id="H200B1.5FirmwareChangelog" %)
97
98
99
100 == 1.5  Pin Definitions & Switch ==
101
102
103 N95S31B use the mother board from NBSN95 which as below.
104
105
106 [[image:image-20220709144723-1.png]]
107
108
109 === 1.5.1 Jumper JP2 ===
110
111
112 Power on Device when put this jumper.
113
114
115 === 1.5.2 BOOT MODE / SW1 ===
116
117
118 (((
119 **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.
120 )))
121
122 (((
123 **2) Flash:**  work mode, device starts to work and send out console output for further debug
124 )))
125
126
127 === 1.5.3 Reset Button ===
128
129
130 Press to reboot the device.
131
132
133 === 1.5.4 LED ===
134
135
136 It will flash:
137
138 1.  When boot the device in flash mode
139
140 2.  Send an uplink packet
141
142
143 = 2.  Use N95S31B to communicate with IoT Server =
144
145 == 2.1  How it works ==
146
147
148 (((
149 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.
150 )))
151
152
153 (((
154 The diagram below shows the working flow in default firmware of N95S31B:
155 )))
156
157 (((
158
159 )))
160
161 [[image:1657520100595-569.png]]
162
163 (((
164
165 )))
166
167 == 2.2 ​ Configure the N95S31B ==
168
169 === 2.2.1  Power On N95S31B ===
170
171
172 [[image:image-20220709150546-2.png]]
173
174
175 === 2.2.2 Test Requirement ===
176
177
178 (((
179 To use N95S31B in your city, make sure meet below requirements:
180 )))
181
182 * (((
183 Your local operator has already distributed a NB-IoT Network there.
184 )))
185 * (((
186 The local NB-IoT network used the band that N95S31B supports.
187 )))
188 * (((
189 Your operator is able to distribute the data received in their NB-IoT network to your IoT server.
190 )))
191
192 (((
193 Below figure shows our testing structure. Here we have NB-IoT network coverage by China Mobile, the band they use is B8.
194 )))
195
196 (((
197 N95S31B supports different communication protocol such as :
198 )))
199
200 (((
201 * (((
202 CoAP  ((% style="color:red" %)120.24.4.116:5683(%%))
203 )))
204 * (((
205 raw UDP  ((% style="color:red" %)120.24.4.116:5601(%%))
206 )))
207 * (((
208 MQTT  ((% style="color:red" %)120.24.4.116:1883(%%))
209 )))
210 * (((
211 TCP  ((% style="color:red" %)120.24.4.116:5600(%%))
212 )))
213
214 (((
215 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.
216 )))
217
218
219 )))
220
221 [[image:1657350625843-586.png]]
222
223
224 === 2.2.3  Insert SIM card ===
225
226
227 (((
228 Insert the NB-IoT Card get from your provider.
229 )))
230
231 (((
232 User need to take out the NB-IoT module and insert the SIM card like below:
233 )))
234
235
236 [[image:1657351240556-536.png]]
237
238
239 === 2.2.4  Connect USB – TTL to N95S31B to configure it ===
240
241
242 (((
243 (((
244 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.
245
246
247 )))
248 )))
249
250 [[image:1657351312545-300.png]]
251
252
253 (% style="color:blue" %)**Connection:**
254
255 (% style="background-color:yellow" %)**USB TTL GND <~-~-~-~-> GND**
256
257 **~ (% style="background-color:yellow" %)USB TTL TXD <~-~-~-~-> UART_RXD(%%)**
258
259 **~ (% style="background-color:yellow" %)USB TTL RXD <~-~-~-~-> UART_TXD(%%)**
260
261
262 In the PC, use below serial tool settings:
263
264 * Baud:  (% style="color:green" %)**9600**
265 * Data bits:** (% style="color:green" %)8(%%)**
266 * Stop bits: (% style="color:green" %)**1**
267 * Parity:  (% style="color:green" %)**None**
268 * Flow Control: (% style="color:green" %)**None**
269
270 (((
271 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.
272 )))
273
274 [[image:1657329814315-101.png]]
275
276
277 (((
278 (% style="color:red" %)**Note: the valid AT Commands can be found at:  **(%%)**[[https:~~/~~/www.dropbox.com/sh/mlpd6l05bogvaf6/AABwAJLMttqG7i~~-~~-AyZcQkoua?dl=0>>https://www.dropbox.com/sh/mlpd6l05bogvaf6/AABwAJLMttqG7i--AyZcQkoua?dl=0]]**
279 )))
280
281
282 === 2.2.5  Use CoAP protocol to uplink data ===
283
284
285 (% 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/]]**
286
287
288 (((
289 **Use below commands:**
290 )))
291
292 * (((
293 (% style="color:blue" %)**AT+PRO=1**  (%%) ~/~/ Set to use CoAP protocol to uplink
294 )))
295 * (((
296 (% style="color:blue" %)**AT+SERVADDR=120.24.4.116,5683   ** (%%)~/~/ to set CoAP server address and port
297 )))
298 * (((
299 (% style="color:blue" %)**AT+URI=5,11,"mqtt",11,"coap",12,"0",15,"c=text1",23,"0" ** (%%) ~/~/  Set COAP resource path
300 )))
301
302 (((
303
304
305 For parameter description, please refer to AT command set
306 )))
307
308 [[image:1657352146020-183.png]]
309
310
311 (((
312 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.
313 )))
314
315 [[image:1657352185396-303.png]]
316
317
318 === 2.2.6  Use UDP protocol to uplink data(Default protocol) ===
319
320
321 * (% style="color:blue" %)**AT+PRO=2   ** (%%) ~/~/ Set to use UDP protocol to uplink
322 * (% style="color:blue" %)**AT+SERVADDR=120.24.4.116,5601   ** (%%) ~/~/ to set UDP server address and port
323 * (% style="color:blue" %)**AT+CFM=1       ** (%%) ~/~/ If the server does not respond, this command is unnecessary
324
325 [[image:1657352391268-297.png]]
326
327
328 [[image:1657352403317-397.png]]
329
330
331 === 2.2.7  Use MQTT protocol to uplink data ===
332
333
334 N95S31B supports only plain MQTT now it doesn't support TLS and other related encryption.
335
336 * (% style="color:blue" %)**AT+PRO=3   ** (%%) ~/~/  Set to use MQTT protocol to uplink
337 * (% style="color:blue" %)**AT+SERVADDR=120.24.4.116,1883   ** (%%) ~/~/  Set MQTT server address and port
338 * (% style="color:blue" %)**AT+CLIENT=CLIENT       ** (%%)~/~/  Set up the CLIENT of MQTT
339 * (% style="color:blue" %)**AT+UNAME=UNAME                                **(%%)~/~/  Set the username of MQTT
340 * (% style="color:blue" %)**AT+PWD=PWD                                         **(%%)~/~/  Set the password of MQTT
341 * (% style="color:blue" %)**AT+PUBTOPIC=f9527                               **(%%)~/~/  Set the sending topic of MQTT
342 * (% style="color:blue" %)**AT+SUBTOPIC=Ns9527          **(%%) ~/~/  Set the subscription topic of MQTT
343
344 [[image:1657352634421-276.png]]
345
346
347 [[image:1657352645687-385.png]]
348
349
350 (((
351 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.
352 )))
353
354 (((
355 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.
356 )))
357
358
359 === 2.2.8  Use TCP protocol to uplink data ===
360
361
362 This feature is supported since firmware version v110
363
364 * (% style="color:blue" %)**AT+PRO=4   ** (%%) ~/~/ Set to use TCP protocol to uplink
365 * (% style="color:blue" %)**AT+SERVADDR=120.24.4.116,5600   **(%%) ~/~/ to set TCP server address and port
366
367 [[image:1657352898400-901.png]]
368
369
370 [[image:1657352914475-252.png]]
371
372
373 === 2.2.9  Change Update Interval ===
374
375
376 User can use below command to change the (% style="color:green" %)**uplink interval**.
377
378 * (% style="color:blue" %)**AT+TDC=600      ** (%%)~/~/ Set Update Interval to 600s
379
380 (((
381
382 )))
383
384 (((
385 (% style="color:red" %)**NOTE: Since firmware version is v1.2:**
386 )))
387
388 (((
389 (% style="color:red" %)**By default, the device will send an uplink message every 2 hours. Each Uplink Include 8 set of records in this 2 hour (15 minute interval / record).**
390 )))
391
392
393 == 2.3  Uplink Payload ==
394
395
396 (((
397 N95S31B has different working modes for the connections of different types 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.
398 )))
399
400
401 (((
402 For example:
403 )))
404
405 (((
406 (% style="color:blue" %)**AT+CFGMOD=2 ** (%%)~/~/  will set the N95S31B to work in MOD=2 distance mode which target to measure distance via Ultrasonic Sensor.
407 )))
408
409
410 (((
411 The uplink payloads are composed in  ASCII String. For example:
412 )))
413
414 (((
415 0a cd 00 ed 0a cc 00 00 ef 02 d2 1d (total 24 ASCII Chars) . Representative the actually payload:
416 )))
417
418 (((
419 0x 0a cd 00 ed 0a cc 00 00 ef 02 d2 1d Total 12 bytes
420 )))
421
422
423 (((
424 (% style="color:red" %)**NOTE:**
425 )))
426
427 (% style="color:red" %)
428 1. (((
429 **All modes share the same Payload Explanation from [[HERE>>||anchor="H2.3A0UplinkPayload"]].**
430 )))
431 1. (((
432 **By default, the device will send an uplink message every 1 hour.**
433
434
435
436 )))
437
438 === 2.3.1  Payload Analyze ===
439
440 ==== 2.3.1.1  Before Firmware v1.2 ====
441
442
443 N95S31B uplink payload includes in total 21 bytes.
444
445 (% border="1" style="background-color:#f2f2f2; width:520px" %)
446 |=(% style="width: 50px;background-color:#D9E2F3" %)**Size(bytes)**|=(% style="width: 45px;background-color:#D9E2F3" %)**6**|=(% style="width: 25px;background-color:#D9E2F3" %)2|=(% style="width: 25px;background-color:#D9E2F3" %)**2**|=(% style="width: 65px;background-color:#D9E2F3" %)**1**|=(% style="width: 50px;background-color:#D9E2F3" %)1|=(% style="width: 120px;background-color:#D9E2F3" %)5|=(% style="width: 70px;background-color:#D9E2F3" %)**2**|=(% style="width: 70px;background-color:#D9E2F3" %)**2**
447 |(% style="width:97px" %)**Value**|(% style="width:65px" %)[[Device ID>>||anchor="H2.3.2A0DeviceID"]]|(% style="width:50px" %)[[Ver>>||anchor="H2.3.3A0VersionInfo"]]|(% style="width:46px" %)[[BAT>>||anchor="H2.3.4A0BatteryInfo"]]|(% style="width:75px" %)[[Signal Strength>>||anchor="H2.3.5A0SignalStrength"]]|(% style="width:59px" %)MOD 0X01|(% style="width:162px" %)(((
448 (((
449 Reserve/ Same as NBSN95 CFGMOD=1
450 )))
451
452 (((
453 No function here.
454 )))
455 )))|(% style="width:102px" %)(((
456 (((
457 [[Temperature >>||anchor="H2.3.6A0Temperature26Humidity"]]
458 )))
459
460 (((
461 By SHT31
462 )))
463 )))|(% style="width:81px" %)(((
464 (((
465 [[Humidity>>||anchor="H2.3.6A0Temperature26Humidity"]]
466 )))
467
468 (((
469 By SHT31
470 )))
471 )))
472
473 (((
474
475
476 (((
477 If we use the MQTT client to subscribe to this MQTT topic, we can see the following information when the NB sensor uplink data.
478 )))
479 )))
480
481
482 [[image:1657354294009-643.png]]
483
484
485 The payload is ASCII string, representative same HEX: (% style="background-color:yellow" %)**0x724031607457 006e 0ccd 1b 01 00dc000ccc 00e1 0186**
486
487 **where:**
488
489 * (% style="color:#037691" %)**Device ID:** (%%) 0x724031607457 = 724031607457
490
491 * (% style="color:#037691" %)**Version: **(%%) 0x006e=110=1.1.0
492
493 * (% style="color:#037691" %)**BAT:**   (%%) 0x0ccd = 3277 mV = 3.277V
494
495 * (% style="color:#037691" %)**Signal:** (%%) 0x1b = 27
496
497 * (% style="color:#037691" %)**Model:** (%%) 0x01 = 1
498
499 * (% style="color:#037691" %)**0x00dc000ccc= reserve, ignore in N95S31B**
500
501 * (% style="color:#037691" %)**Temperature by SHT31:** (%%) 0x00e1 = 225 = 22.5 °C
502
503 * (% style="color:#037691" %)**Humidity by SHT31:**  (%%) 0x0186 = 390 = 39.0 %rh
504
505 (((
506
507
508
509 )))
510
511 ==== 2.3.1.2 Since Firmware v1.2 ====
512
513
514 In this mode, uplink payload includes 91 bytes in total by default.
515
516 Each time the device uploads a data package, 8 sets of recorded data will be attached. Up to 32 sets of recorded data can be uploaded.
517
518 (% border="1" style="background-color:#f2f2f2; width:520px" %)
519 |(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**Size(bytes)**|(% style="background-color:#d9e2f3; color:#0070c0; width:40px" %)**8**|(% style="background-color:#d9e2f3; color:#0070c0; width:20px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:20px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:30px" %)**1**|(% style="background-color:#d9e2f3; color:#0070c0; width:20px" %)**1**|(% style="background-color:#d9e2f3; color:#0070c0; width:55px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:35px" %)**1**|(% style="background-color:#d9e2f3; color:#0070c0; width:20px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:40px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:40px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:30px" %)**4**|(% style="background-color:#d9e2f3; color:#0070c0; width:40px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:40px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:40px" %)**4**
520 |(% style="width:95px" %)**Value**|(% style="width:82px" %)Device ID|(% style="width:43px" %)Ver|(% style="width:47px" %)BAT|(% style="width:124px" %)Signal Strength|(% style="width:56px" %)MOD|(% style="width:109px" %)TemDS18B20|(% style="width:80px" %)Interrupt|(% style="width:51px" %)ADC|(% style="width:79px" %)SHTTEM|(% style="width:84px" %)SHTHUM|(% style="width:100px" %)Time stamp |(% style="width:76px" %)SHTTEM|(% style="width:81px" %)SHTHUM|(% style="width:121px" %)Time stamp .....
521
522 If we use the MQTT client to subscribe to this MQTT topic, we can see the following information when the N95S31B uplink data.
523
524
525 [[image:image-20220908154949-1.png]]
526
527
528 The payload is ASCII string, representative same HEX:
529
530 **0x (% style="color:red" %)__f868411056758782__ (% style="color:blue" %)__000c__ (% style="color:green" %)__0d0f__ (% style="color:#00b0f0" %)__0c__ (% style="color:#7030a0" %)__01__ (% style="color:#d60093" %)__0000__ (% style="color:#a14d07" %)__00__ __0030__ (% style="color:#0020b0" %)__0114__ (% style="color:#420042" %)__0231__ (% style="color:#663300" %)__63199d3c__ (%%)__0113023163199d12__ __0113023163199c5e__// //__0112023763199baa__ __0112023263199af6__// //__0111023b631999a7__ **
531
532 **__0112023b631998f3__// //__011202426319983f__ __01110242631996eb__**
533
534 **where:**
535
536 * (% style="color:#037691" %)**Device ID:**(%%) f868411056758782 = f868411056758782
537
538 * (% style="color:#037691" %)**Version:** (%%)0x000c=120=1.2
539
540 * (% style="color:#037691" %)**BAT:**      (%%)0x0d0f = 3343 mV = 3.343V
541
542 * (% style="color:#037691" %)**Singal:**(%%)  0x0c = 12
543
544 * (% style="color:#037691" %)**Mod:**(%%)  0x01 = 1
545
546 * (% style="color:#037691" %)**TemDS18B20:**(%%)  0x0000= 0 = 0
547
548 * (% style="color:#037691" %)**Interrupt:**  (%%)0x00= 0
549
550 * (% style="color:#037691" %)**adc:**(%%)  0x0030= 48
551
552 * (% style="color:#037691" %)**SHTTEM:**(%%)  0x0114= 276 = 27.6
553
554 * (% style="color:#037691" %)**SHTHUM:**(%%)  0x0231 =561=56.1%
555
556 * (% style="color:#037691" %)**Time stamp :  **(%%)0x63199d3c =1662342011  ([[Unix Epoch Time>>url:http://www.epochconverter.com/]])
557
558 * (% style="color:#037691" %)**SHTTEM,SHTHUM,Time stamp :**(%%)  0113023163199d12
559
560 * (% style="color:#037691" %)**8 sets of recorded data:**(%%)** **SHTTEM,SHTHUM,Time stamp : 0113023163199c5e, .......
561
562 === 2.3.2  Device ID ===
563
564
565 (((
566 By default, the Device ID equal to the last 6 bytes of IMEI.
567 )))
568
569 (((
570 User can use (% style="color:blue" %)**AT+DEUI**(%%) to set Device ID
571
572
573 )))
574
575 (((
576 (% style="color:blue" %)**Example:**
577 )))
578
579 (((
580 AT+DEUI=A84041F15612
581 )))
582
583 (((
584 The Device ID is stored in a none-erase area, Upgrade the firmware or run (% style="color:blue" %)**AT+FDR**(%%) won't erase Device ID.
585
586
587 )))
588
589 (% style="color:red" %)**NOTE: When the firmware version is v1.2 and later firmware:**
590
591
592 By default, the Device ID equal to the last 15 bits of IMEI.
593
594 User can use ** (% style="color:blue" %)AT+DEUI(%%)** to set Device ID
595
596
597 (% style="color:blue" %)**Example:**
598
599 AT+DEUI=868411056754138
600
601
602 === 2.3.3  Version Info ===
603
604
605 (((
606 These bytes include the hardware and software version.
607 )))
608
609 (((
610 **Higher byte:** Specify hardware version: always 0x00 for N95S31B
611 )))
612
613 (((
614 **Lower byte:** Specify the software version: 0x6E=110, means firmware version 110
615 )))
616
617 (((
618
619 )))
620
621 (((
622 For example: 0x00 6E: this device is N95S31B with firmware version 110.
623 )))
624
625 (((
626
627 )))
628
629 === 2.3.4  Battery Info ===
630
631
632 (((
633 Ex1: 0x0B45 = 2885mV
634 )))
635
636 (((
637 Ex2: 0x0B49 = 2889mV
638 )))
639
640
641 === 2.3.5  Signal Strength ===
642
643
644 (((
645 NB-IoT Network signal Strength.
646 )))
647
648 (((
649 **Ex1: 0x1d = 29**
650 )))
651
652 (((
653 (% style="color:blue" %)**0**(%%)  -113dBm or less
654 )))
655
656 (((
657 (% style="color:blue" %)**1**(%%)  -111dBm
658 )))
659
660 (((
661 (% style="color:blue" %)**2...30**(%%) -109dBm... -53dBm
662 )))
663
664 (((
665 (% style="color:blue" %)**31**  (%%) -51dBm or greater
666 )))
667
668 (((
669 (% style="color:blue" %)**99**   (%%) Not known or not detectable
670 )))
671
672
673 === 2.3.6  Temperature & Humidity ===
674
675
676 The device will be able to get the SHT31 temperature and humidity data now and upload to IoT Server.
677
678 [[image:image-20220709161741-3.png]]
679
680
681 Convert the read byte to decimal and divide it by ten.
682
683
684 **Example:**
685
686 Temperature:  Read:00ec (H) = 236(D)  Value:  236 /10=23.6℃
687
688 Humidity:    Read:0295(H)=661(D)    Value:  661 / 10=66.1, So 66.1%
689
690
691 == 2.4  Downlink Payload ==
692
693
694 By default, N95S31B prints the downlink payload to console port.
695
696 (% border="1" style="background-color:#f2f2f2; width:520px" %)
697 |(% style="background-color:#d9e2f3; color:#0070c0; width:200px" %)**Downlink Control Type**|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**FPort**|(% style="background-color:#d9e2f3; color:#0070c0; width:100px" %)**Type Code**|(% style="background-color:#d9e2f3; color:#0070c0; width:170px" %)**Downlink payload size(bytes)**
698 |(% style="width:204px" %)TDC(Transmit Time Interval)|(% style="width:80px" %)Any|(% style="width:94px" %)01|(% style="width:150px" %)4
699 |(% style="width:204px" %)RESET|(% style="width:80px" %)Any|(% style="width:94px" %)04|(% style="width:150px" %)2
700 |(% style="width:204px" %)INTMOD|(% style="width:80px" %)Any|(% style="width:94px" %)06|(% style="width:150px" %)4
701
702 (((
703 (% style="color:blue" %)**Examples:**
704 )))
705
706 (((
707
708 )))
709
710 * (((
711 (% style="color:blue" %)**Set TDC**
712 )))
713
714 (((
715 If the payload=0100003C, it means set the END Node's TDC to 0x00003C=60(S), while type code is 01.
716 )))
717
718 (((
719 Payload:    01 00 00 1E    TDC=30S
720 )))
721
722 (((
723 Payload:    01 00 00 3C    TDC=60S
724 )))
725
726 (((
727
728 )))
729
730 * (((
731 (% style="color:blue" %)**Reset**
732 )))
733
734 (((
735 If payload = 0x04FF, it will reset the N95S31B
736 )))
737
738
739 * (% style="color:blue" %)**INTMOD**
740
741 (((
742 Downlink Payload: 06000003, Set AT+INTMOD=3
743 )))
744
745
746 == 2.5  Humidity and Temperature alarm function ==
747
748
749 **~ (% style="color:blue" %)➢ AT Command:(%%)**
750
751
752 (% style="color:#037691" %)**AT+ SHHUM=min,max**
753
754
755 ² When min=0, and max≠0, Alarm higher than max
756
757 ² When min≠0, and max=0, Alarm lower than min
758
759 ² When min≠0 and max≠0, Alarm higher than max or lower than min
760
761
762 (% style="color:blue" %)**Example:**
763
764 AT+ SHHUM=50,80 ~/~/ Alarm when humidity lower than 50.
765
766
767 (% style="color:#037691" %)**AT+ SHTEMP=min,max**
768
769 ² When min=0, and max≠0, Alarm higher than max
770
771 ² When min≠0, and max=0, Alarm lower than min
772
773 ² When min≠0 and max≠0, Alarm higher than max or lower than min
774
775
776 **~ (% style="color:blue" %)Example:(%%)**
777
778 AT+ SHTEMP=20,30 ~/~/ Alarm when temperature lower than 20.
779
780
781 == 2.6 Set the number of data to be uploaded and the recording time ==
782
783
784 **~ (% style="color:blue" %)➢ AT Command:(%%)**
785
786 * (% 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)
787 * (% style="color:#037691" %)**AT+NOUD=8**  (%%)~/~/  The device uploads 8 sets of recorded data by default. Up to 32 sets of record data can be uploaded.
788
789 The diagram below explains the relationship between TR, NOUD, and TDC more clearly**:**
790
791 [[image:image-20221009001045-1.png||height="726" width="1009"]]
792
793
794 == 2.7 Read or Clear cached data ==
795
796
797 **~ (% style="color:blue" %)➢ AT Command:(%%)**
798
799 * (% style="color:#037691" %)**AT+CDP**  (%%) ~/~/ Read cached data
800 * (% style="color:#037691" %)**AT+CDP=0** (%%) ~/~/  Clear cached data
801
802 [[image:image-20220908163102-2.png]]
803
804
805 == 2.8 Battery & Power Consumption ==
806
807
808 N95S31B uses ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace.
809
810 [[**Battery Info & Power Consumption Analyze**>>url:http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] .
811
812
813 = 3. ​ Access NB-IoT Module =
814
815
816 (((
817 Users can directly access the AT command set of the NB-IoT module.
818 )))
819
820 (((
821 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/]] 
822
823
824 )))
825
826 [[image:1657333200519-600.png]]
827
828
829 = 4.  Using the AT Commands =
830
831 == 4.1  Access AT Commands ==
832
833
834 See NBSN95 AT Command in this link for detail:  [[https:~~/~~/www.dropbox.com/sh/jao1xt9kw5r3yq4/AAAMpJkZzExF2JLbRWxGoQ9Na?dl=0>>https://www.dropbox.com/sh/jao1xt9kw5r3yq4/AAAMpJkZzExF2JLbRWxGoQ9Na?dl=0]]
835
836
837 AT+<CMD>?  : Help on <CMD>
838
839 AT+<CMD>         : Run <CMD>
840
841 AT+<CMD>=<value> : Set the value
842
843 AT+<CMD>=?  : Get the value
844
845
846 (% style="color:#037691" %)**General Commands**(%%)      
847
848 AT  : Attention       
849
850 AT?  : Short Help     
851
852 ATZ  : MCU Reset    
853
854 AT+TDC  : Application Data Transmission Interval
855
856 AT+CFG  : Print all configurations
857
858 AT+CFGMOD           : Working mode selection
859
860 AT+INTMOD            : Set the trigger interrupt mode
861
862 AT+5VT  : Set extend the time of 5V power  
863
864 AT+PRO  : Choose agreement
865
866 AT+WEIGRE  : Get weight or set weight to 0
867
868 AT+WEIGAP  : Get or Set the GapValue of weight
869
870 AT+RXDL  : Extend the sending and receiving time
871
872 AT+CNTFAC  : Get or set counting parameters
873
874 AT+SERVADDR  : Server Address
875
876 AT+TR      : Get or Set record time
877
878 AT+APN     : Get or set the APN
879
880 AT+FBAND   : Get or Set whether to automatically modify the frequency band
881
882 AT+DNSCFG  : Get or Set DNS Server
883
884 AT+GETSENSORVALUE   : Returns the current sensor measurement
885
886 AT+NOUD      : Get or Set the number of data to be uploaded
887
888 AT+CDP     : Read or Clear cached data
889
890 AT+SHTEMP: Get or Set alarm of temp
891
892 AT+SHHUM: Get or Set alarm of moisture
893
894 (% style="color:#037691" %)**COAP Management**      
895
896 AT+URI            : Resource parameters
897
898
899 (% style="color:#037691" %)**UDP Management**
900
901 AT+CFM          : Upload confirmation mode (only valid for UDP)
902
903
904 (% style="color:#037691" %)**MQTT Management**
905
906 AT+CLIENT               : Get or Set MQTT client
907
908 AT+UNAME  : Get or Set MQTT Username
909
910 AT+PWD                  : Get or Set MQTT password
911
912 AT+PUBTOPIC  : Get or Set MQTT publish topic
913
914 AT+SUBTOPIC  : Get or Set MQTT subscription topic
915
916
917 (% style="color:#037691" %)**Information**          
918
919 AT+FDR  : Factory Data Reset
920
921 AT+PWORD  : Serial Access Password
922
923
924 = ​5.  FAQ =
925
926 == 5.1 ​ How to Upgrade Firmware ==
927
928
929 (((
930 User can upgrade the firmware for 1) bug fix, 2) new feature release.
931 )))
932
933 (((
934 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]]
935 )))
936
937 (((
938 Firmware Download:[[https:~~/~~/www.dropbox.com/sh/fr8w23rb951512i/AACSJeGQg-7ZjKhAI_Sn57H6a?dl=0>>https://www.dropbox.com/sh/fr8w23rb951512i/AACSJeGQg-7ZjKhAI_Sn57H6a?dl=0]]
939
940 (% style="color:red" %)**Notice, N95S31B and LSN50v2 share the same mother board. They use the same connection and method to update.**
941 )))
942
943
944 = 6.  Trouble Shooting =
945
946 == 6.1  ​Connection problem when uploading firmware ==
947
948
949 (((
950 **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]]
951 )))
952
953
954 == 6.2  AT Command input doesn't work ==
955
956
957 (((
958 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.
959
960
961 )))
962
963 == 6.3 Not able to connect to NB-IoT network and keep showing "Signal Strength:99". ==
964
965
966 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]]//**.
967
968
969 = 7. ​ Order Info =
970
971
972 Part Number**:** (% style="color:#4f81bd" %)**N95S31B-YY**
973
974
975 = 8.  Packing Info =
976
977 (((
978
979
980 (% style="color:#037691" %)**Package Includes**:
981
982 * N95S31B NB-IoT Temperature and Humidity Sensor
983 * External antenna x 1
984 )))
985
986 (((
987
988
989 (% style="color:#037691" %)**Dimension and weight**:
990
991 * Device Size: 13.0 x 5 x 4.5 cm
992 * Device Weight: 150g
993 * Package Size / pcs : 14.0 x 8x 5 cm
994 * Weight / pcs : 180g
995 )))
996
997
998
999 = 9.  Support =
1000
1001
1002 * 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.
1003
1004 * 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]]
Copyright ©2010-2022 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0