Version 130.17 by Xiaoling on 2023/12/14 10:57

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