Last modified by Mengting Qiu on 2024/04/02 16:44

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
324 [[image:1657352391268-297.png]]
325
326
327 [[image:1657352403317-397.png]]
328
329
330 === 2.2.7  Use MQTT protocol to uplink data ===
331
332
333 N95S31B supports only plain MQTT now it doesn't support TLS and other related encryption.
334
335 * (% style="color:blue" %)**AT+PRO=3   ** (%%) ~/~/  Set to use MQTT protocol to uplink
336 * (% style="color:blue" %)**AT+SERVADDR=120.24.4.116,1883   ** (%%) ~/~/  Set MQTT server address and port
337 * (% style="color:blue" %)**AT+CLIENT=CLIENT       ** (%%)~/~/  Set up the CLIENT of MQTT
338 * (% style="color:blue" %)**AT+UNAME=UNAME                                **(%%)~/~/  Set the username of MQTT
339 * (% style="color:blue" %)**AT+PWD=PWD                                         **(%%)~/~/  Set the password of MQTT
340 * (% style="color:blue" %)**AT+PUBTOPIC=f9527                               **(%%)~/~/  Set the sending topic of MQTT
341 * (% style="color:blue" %)**AT+SUBTOPIC=Ns9527          **(%%) ~/~/  Set the subscription topic of MQTT
342
343 [[image:1657352634421-276.png]]
344
345
346 [[image:1657352645687-385.png]]
347
348
349 (((
350 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.
351 )))
352
353 (((
354 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.
355 )))
356
357
358 === 2.2.8  Use TCP protocol to uplink data ===
359
360
361 This feature is supported since firmware version v110
362
363 * (% style="color:blue" %)**AT+PRO=4   ** (%%) ~/~/ Set to use TCP protocol to uplink
364 * (% style="color:blue" %)**AT+SERVADDR=120.24.4.116,5600   **(%%) ~/~/ to set TCP server address and port
365
366 [[image:1657352898400-901.png]]
367
368
369 [[image:1657352914475-252.png]]
370
371
372 === 2.2.9  Change Update Interval ===
373
374
375 User can use below command to change the (% style="color:green" %)**uplink interval**.
376
377 * (% style="color:blue" %)**AT+TDC=600      ** (%%)~/~/ Set Update Interval to 600s
378
379 (((
380
381 )))
382
383 (((
384 (% style="color:red" %)**NOTE: Since firmware version is v1.2:**
385 )))
386
387 (((
388 (% 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).**
389 )))
390
391
392 == 2.3  Uplink Payload ==
393
394
395 (((
396 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.
397 )))
398
399
400 (((
401 For example:
402 )))
403
404 (((
405 (% 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.
406 )))
407
408
409 (((
410 The uplink payloads are composed in  ASCII String. For example:
411 )))
412
413 (((
414 0a cd 00 ed 0a cc 00 00 ef 02 d2 1d (total 24 ASCII Chars) . Representative the actually payload:
415 )))
416
417 (((
418 0x 0a cd 00 ed 0a cc 00 00 ef 02 d2 1d Total 12 bytes
419 )))
420
421
422 (((
423 (% style="color:red" %)**NOTE:**
424 )))
425
426 (% style="color:red" %)
427 1. (((
428 **All modes share the same Payload Explanation from [[HERE>>||anchor="H2.3A0UplinkPayload"]].**
429 )))
430 1. (((
431 **By default, the device will send an uplink message every 1 hour.**
432
433
434
435 )))
436
437 === 2.3.1  Payload Analyze ===
438
439 ==== 2.3.1.1  Before Firmware v1.2 ====
440
441
442 N95S31B uplink payload includes in total 21 bytes.
443
444 (% border="1" style="background-color:#f2f2f2; width:520px" %)
445 |=(% 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**
446 |(% 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" %)(((
447 (((
448 Reserve/ Same as NBSN95 CFGMOD=1
449 )))
450
451 (((
452 No function here.
453 )))
454 )))|(% style="width:102px" %)(((
455 (((
456 [[Temperature >>||anchor="H2.3.6A0Temperature26Humidity"]]
457 )))
458
459 (((
460 By SHT31
461 )))
462 )))|(% style="width:81px" %)(((
463 (((
464 [[Humidity>>||anchor="H2.3.6A0Temperature26Humidity"]]
465 )))
466
467 (((
468 By SHT31
469 )))
470 )))
471
472 (((
473
474
475 (((
476 If we use the MQTT client to subscribe to this MQTT topic, we can see the following information when the NB sensor uplink data.
477 )))
478 )))
479
480
481 [[image:1657354294009-643.png]]
482
483
484 The payload is ASCII string, representative same HEX: (% style="background-color:yellow" %)**0x724031607457 006e 0ccd 1b 01 00dc000ccc 00e1 0186**
485
486 **where:**
487
488 * (% style="color:#037691" %)**Device ID:** (%%) 0x724031607457 = 724031607457
489
490 * (% style="color:#037691" %)**Version: **(%%) 0x006e=110=1.1.0
491
492 * (% style="color:#037691" %)**BAT:**   (%%) 0x0ccd = 3277 mV = 3.277V
493
494 * (% style="color:#037691" %)**Signal:** (%%) 0x1b = 27
495
496 * (% style="color:#037691" %)**Model:** (%%) 0x01 = 1
497
498 * (% style="color:#037691" %)**0x00dc000ccc= reserve, ignore in N95S31B**
499
500 * (% style="color:#037691" %)**Temperature by SHT31:** (%%) 0x00e1 = 225 = 22.5 °C
501
502 * (% style="color:#037691" %)**Humidity by SHT31:**  (%%) 0x0186 = 390 = 39.0 %rh
503
504 (((
505
506
507
508 )))
509
510 ==== 2.3.1.2 Since Firmware v1.2 ====
511
512
513 In this mode, uplink payload includes 91 bytes in total by default.
514
515 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.
516
517 (% border="1" style="background-color:#f2f2f2; width:520px" %)
518 |(% 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**
519 |(% 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 .....
520
521 If we use the MQTT client to subscribe to this MQTT topic, we can see the following information when the N95S31B uplink data.
522
523
524 [[image:image-20220908154949-1.png]]
525
526
527 The payload is ASCII string, representative same HEX:
528
529 **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__ **
530
531 **__0112023b631998f3__// //__011202426319983f__ __01110242631996eb__**
532
533 **where:**
534
535 * (% style="color:#037691" %)**Device ID:**(%%) f868411056758782 = f868411056758782
536
537 * (% style="color:#037691" %)**Version:** (%%)0x000c=120=1.2
538
539 * (% style="color:#037691" %)**BAT:**      (%%)0x0d0f = 3343 mV = 3.343V
540
541 * (% style="color:#037691" %)**Singal:**(%%)  0x0c = 12
542
543 * (% style="color:#037691" %)**Mod:**(%%)  0x01 = 1
544
545 * (% style="color:#037691" %)**TemDS18B20:**(%%)  0x0000= 0 = 0
546
547 * (% style="color:#037691" %)**Interrupt:**  (%%)0x00= 0
548
549 * (% style="color:#037691" %)**adc:**(%%)  0x0030= 48
550
551 * (% style="color:#037691" %)**SHTTEM:**(%%)  0x0114= 276 = 27.6
552
553 * (% style="color:#037691" %)**SHTHUM:**(%%)  0x0231 =561=56.1%
554
555 * (% style="color:#037691" %)**Time stamp :  **(%%)0x63199d3c =1662342011  ([[Unix Epoch Time>>url:http://www.epochconverter.com/]])
556
557 * (% style="color:#037691" %)**SHTTEM,SHTHUM,Time stamp :**(%%)  0113023163199d12
558
559 * (% style="color:#037691" %)**8 sets of recorded data:**(%%)** **SHTTEM,SHTHUM,Time stamp : 0113023163199c5e, .......
560
561 === 2.3.2  Device ID ===
562
563
564 (((
565 By default, the Device ID equal to the last 6 bytes of IMEI.
566 )))
567
568 (((
569 User can use (% style="color:blue" %)**AT+DEUI**(%%) to set Device ID
570
571
572 )))
573
574 (((
575 (% style="color:blue" %)**Example:**
576 )))
577
578 (((
579 AT+DEUI=A84041F15612
580 )))
581
582 (((
583 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.
584
585
586 )))
587
588 (% style="color:red" %)**NOTE: When the firmware version is v1.2 and later firmware:**
589
590
591 By default, the Device ID equal to the last 15 bits of IMEI.
592
593 User can use ** (% style="color:blue" %)AT+DEUI(%%)** to set Device ID
594
595
596 (% style="color:blue" %)**Example:**
597
598 AT+DEUI=868411056754138
599
600
601 === 2.3.3  Version Info ===
602
603
604 (((
605 These bytes include the hardware and software version.
606 )))
607
608 (((
609 **Higher byte:** Specify hardware version: always 0x00 for N95S31B
610 )))
611
612 (((
613 **Lower byte:** Specify the software version: 0x6E=110, means firmware version 110
614 )))
615
616 (((
617
618 )))
619
620 (((
621 For example: 0x00 6E: this device is N95S31B with firmware version 110.
622 )))
623
624 (((
625
626 )))
627
628 === 2.3.4  Battery Info ===
629
630
631 (((
632 Ex1: 0x0B45 = 2885mV
633 )))
634
635 (((
636 Ex2: 0x0B49 = 2889mV
637 )))
638
639
640 === 2.3.5  Signal Strength ===
641
642
643 (((
644 NB-IoT Network signal Strength.
645 )))
646
647 (((
648 **Ex1: 0x1d = 29**
649 )))
650
651 (((
652 (% style="color:blue" %)**0**(%%)  -113dBm or less
653 )))
654
655 (((
656 (% style="color:blue" %)**1**(%%)  -111dBm
657 )))
658
659 (((
660 (% style="color:blue" %)**2...30**(%%) -109dBm... -53dBm
661 )))
662
663 (((
664 (% style="color:blue" %)**31**  (%%) -51dBm or greater
665 )))
666
667 (((
668 (% style="color:blue" %)**99**   (%%) Not known or not detectable
669 )))
670
671
672 === 2.3.6  Temperature & Humidity ===
673
674
675 The device will be able to get the SHT31 temperature and humidity data now and upload to IoT Server.
676
677 [[image:image-20220709161741-3.png]]
678
679
680 Convert the read byte to decimal and divide it by ten.
681
682
683 **Example:**
684
685 Temperature:  Read:00ec (H) = 236(D)  Value:  236 /10=23.6℃
686
687 Humidity:    Read:0295(H)=661(D)    Value:  661 / 10=66.1, So 66.1%
688
689
690 == 2.4  Downlink Payload ==
691
692
693 By default, N95S31B prints the downlink payload to console port.
694
695 (% border="1" style="background-color:#f2f2f2; width:520px" %)
696 |(% 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)**
697 |(% style="width:204px" %)TDC(Transmit Time Interval)|(% style="width:80px" %)Any|(% style="width:94px" %)01|(% style="width:150px" %)4
698 |(% style="width:204px" %)RESET|(% style="width:80px" %)Any|(% style="width:94px" %)04|(% style="width:150px" %)2
699 |(% style="width:204px" %)INTMOD|(% style="width:80px" %)Any|(% style="width:94px" %)06|(% style="width:150px" %)4
700
701 (((
702 (% style="color:blue" %)**Examples:**
703 )))
704
705 (((
706
707 )))
708
709 * (((
710 (% style="color:blue" %)**Set TDC**
711 )))
712
713 (((
714 If the payload=0100003C, it means set the END Node's TDC to 0x00003C=60(S), while type code is 01.
715 )))
716
717 (((
718 Payload:    01 00 00 1E    TDC=30S
719 )))
720
721 (((
722 Payload:    01 00 00 3C    TDC=60S
723 )))
724
725 (((
726
727 )))
728
729 * (((
730 (% style="color:blue" %)**Reset**
731 )))
732
733 (((
734 If payload = 0x04FF, it will reset the N95S31B
735 )))
736
737
738 * (% style="color:blue" %)**INTMOD**
739
740 (((
741 Downlink Payload: 06000003, Set AT+INTMOD=3
742 )))
743
744
745 == 2.5  Humidity and Temperature alarm function ==
746
747
748 **~ (% style="color:blue" %)➢ AT Command:(%%)**
749
750
751 (% style="color:#037691" %)**AT+ SHHUM=min,max**
752
753
754 ² When min=0, and max≠0, Alarm higher than max
755
756 ² When min≠0, and max=0, Alarm lower than min
757
758 ² When min≠0 and max≠0, Alarm higher than max or lower than min
759
760
761 (% style="color:blue" %)**Example:**
762
763 AT+ SHHUM=50,80 ~/~/ Alarm when humidity lower than 50.
764
765
766 (% style="color:#037691" %)**AT+ SHTEMP=min,max**
767
768 ² When min=0, and max≠0, Alarm higher than max
769
770 ² When min≠0, and max=0, Alarm lower than min
771
772 ² When min≠0 and max≠0, Alarm higher than max or lower than min
773
774
775 **~ (% style="color:blue" %)Example:(%%)**
776
777 AT+ SHTEMP=20,30 ~/~/ Alarm when temperature lower than 20.
778
779
780 == 2.6 Set the number of data to be uploaded and the recording time ==
781
782
783 **~ (% style="color:blue" %)➢ AT Command:(%%)**
784
785 * (% 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)
786 * (% 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.
787
788 The diagram below explains the relationship between TR, NOUD, and TDC more clearly**:**
789
790 [[image:image-20221009001045-1.png||height="726" width="1009"]]
791
792
793 == 2.7 Read or Clear cached data ==
794
795
796 **~ (% style="color:blue" %)➢ AT Command:(%%)**
797
798 * (% style="color:#037691" %)**AT+CDP**  (%%) ~/~/ Read cached data
799 * (% style="color:#037691" %)**AT+CDP=0** (%%) ~/~/  Clear cached data
800
801 [[image:image-20220908163102-2.png]]
802
803
804 == 2.8 Battery & Power Consumption ==
805
806
807 N95S31B uses ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace.
808
809 [[**Battery Info & Power Consumption Analyze**>>url:http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] .
810
811
812 = 3. ​ Access NB-IoT Module =
813
814
815 (((
816 Users can directly access the AT command set of the NB-IoT module.
817 )))
818
819 (((
820 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/]] 
821
822
823 )))
824
825 [[image:1657333200519-600.png]]
826
827
828 = 4.  Using the AT Commands =
829
830 == 4.1  Access AT Commands ==
831
832
833 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]]
834
835
836 AT+<CMD>?  : Help on <CMD>
837
838 AT+<CMD>         : Run <CMD>
839
840 AT+<CMD>=<value> : Set the value
841
842 AT+<CMD>=?  : Get the value
843
844
845 (% style="color:#037691" %)**General Commands**(%%)      
846
847 AT  : Attention       
848
849 AT?  : Short Help     
850
851 ATZ  : MCU Reset    
852
853 AT+TDC  : Application Data Transmission Interval
854
855 AT+CFG  : Print all configurations
856
857 AT+CFGMOD           : Working mode selection
858
859 AT+INTMOD            : Set the trigger interrupt mode
860
861 AT+5VT  : Set extend the time of 5V power  
862
863 AT+PRO  : Choose agreement
864
865 AT+WEIGRE  : Get weight or set weight to 0
866
867 AT+WEIGAP  : Get or Set the GapValue of weight
868
869 AT+RXDL  : Extend the sending and receiving time
870
871 AT+CNTFAC  : Get or set counting parameters
872
873 AT+SERVADDR  : Server Address
874
875 AT+TR      : Get or Set record time
876
877 AT+APN     : Get or set the APN
878
879 AT+FBAND   : Get or Set whether to automatically modify the frequency band
880
881 AT+DNSCFG  : Get or Set DNS Server
882
883 AT+GETSENSORVALUE   : Returns the current sensor measurement
884
885 AT+NOUD      : Get or Set the number of data to be uploaded
886
887 AT+CDP     : Read or Clear cached data
888
889 AT+SHTEMP: Get or Set alarm of temp
890
891 AT+SHHUM: Get or Set alarm of moisture
892
893 (% style="color:#037691" %)**COAP Management**      
894
895 AT+URI            : Resource parameters
896
897
898 (% style="color:#037691" %)**MQTT Management**
899
900 AT+CLIENT               : Get or Set MQTT client
901
902 AT+UNAME  : Get or Set MQTT Username
903
904 AT+PWD                  : Get or Set MQTT password
905
906 AT+PUBTOPIC  : Get or Set MQTT publish topic
907
908 AT+SUBTOPIC  : Get or Set MQTT subscription topic
909
910
911 (% style="color:#037691" %)**Information**          
912
913 AT+FDR  : Factory Data Reset
914
915 AT+PWORD  : Serial Access Password
916
917
918 = ​5.  FAQ =
919
920 == 5.1 ​ How to Upgrade Firmware ==
921
922
923 (((
924 User can upgrade the firmware for 1) bug fix, 2) new feature release.
925 )))
926
927 (((
928 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]]
929 )))
930
931 (((
932 Firmware Download:[[https:~~/~~/www.dropbox.com/sh/fr8w23rb951512i/AACSJeGQg-7ZjKhAI_Sn57H6a?dl=0>>https://www.dropbox.com/sh/fr8w23rb951512i/AACSJeGQg-7ZjKhAI_Sn57H6a?dl=0]]
933
934 (% style="color:red" %)**Notice, N95S31B and LSN50v2 share the same mother board. They use the same connection and method to update.**
935 )))
936
937
938 = 6.  Trouble Shooting =
939
940 == 6.1  ​Connection problem when uploading firmware ==
941
942
943 (((
944 **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]]
945 )))
946
947
948 == 6.2  AT Command input doesn't work ==
949
950
951 (((
952 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.
953
954
955 )))
956
957 == 6.3 Not able to connect to NB-IoT network and keep showing "Signal Strength:99". ==
958
959
960 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]]//**.
961
962
963 = 7. ​ Order Info =
964
965
966 Part Number**:** (% style="color:#4f81bd" %)**N95S31B-YY**
967
968
969 = 8.  Packing Info =
970
971 (((
972
973
974 (% style="color:#037691" %)**Package Includes**:
975
976 * N95S31B NB-IoT Temperature and Humidity Sensor
977 * External antenna x 1
978 )))
979
980 (((
981
982
983 (% style="color:#037691" %)**Dimension and weight**:
984
985 * Device Size: 13.0 x 5 x 4.5 cm
986 * Device Weight: 150g
987 * Package Size / pcs : 14.0 x 8x 5 cm
988 * Weight / pcs : 180g
989 )))
990
991
992
993 = 9.  Support =
994
995
996 * 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.
997
998 * 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