Show last authors
1 (% style="text-align:center" %)
2 [[image:1657509006180-251.png||height="409" width="409"]]
3
4
5
6
7
8 **Table of Contents:**
9
10 {{toc/}}
11
12
13
14
15
16
17 = 1.  Introduction =
18
19 == 1.1 ​ What is NBSN95 NB-IoT Sensor Node ==
20
21
22 (((
23 (((
24 NBSN95 is a Long Range NB-IoT Sensor Node. It is designed for (% style="color:blue" %)**outdoor data logging **(%%)and powered by (% style="color:blue" %)**Li/SOCl2 battery**(%%) for long term use and secure data transmission. It is designed to facilitate developers to quickly deploy industrial level NB-IoT solutions. It helps users to turn the idea into a practical application and make the Internet of Things a reality. It is easy to program, create and connect your things everywhere.
25 )))
26
27 (((
28 (% style="color:blue" %)**NarrowBand-Internet of Things (NB-IoT)**(%%) is a standards-based low power wide area (LPWA) technology developed to enable a wide range of new IoT devices and services. NB-IoT significantly improves the power consumption of user devices, system capacity and spectrum efficiency, especially in deep coverage.
29 )))
30
31 (((
32 NBSN95 uses STM32l0x chip from ST, STML0x is the (% style="color:blue" %)**ultra-low-power**(%%) STM32L072xx microcontrollers incorporate the connectivity power of the universal serial bus (USB 2.0 crystal-less) with the high-performance ARM® Cortex®-M0+ 32-bit RISC core operating at a 32 MHz frequency, a memory protection unit (MPU), high-speed embedded memories (192 Kbytes of Flash program memory, 6 Kbytes of data EEPROM and 20 Kbytes of RAM) plus an extensive range of enhanced I/Os and peripherals.
33 )))
34
35 (((
36 NBSN95 is an (% style="color:blue" %)**open source product**(%%), it is based on the STM32Cube HAL drivers and lots of libraries can be found in ST site for rapid development.
37 )))
38 )))
39
40
41 [[image:1657509740279-435.png]]
42
43 (% style="display:none" %) (%%)
44
45 == 1.2 ​ Features ==
46
47
48 * STM32L072xxxx MCU
49 * NB-IoT Bands: B1/B3/B8/B5/B20/B28 @H-FDD
50 * Pre-load bootloader on USART1/USART2
51 * MDK-ARM Version 5.24a IDE
52 * I2C, LPUSART1, USB, SPI2
53 * 3x12bit ADC, 1x12bit DAC
54 * 20xDigital I/O
55 * Open-source hardware / software
56 * IP66 Waterproof Enclosure
57 * Ultra-Low Power consumption
58 * AT Commands to change parameters
59 * Micro SIM card slot for NB-IoT SIM
60 * 8500mAh Battery for long term use
61
62 (% style="display:none" %) (%%)
63
64 == 1.3  Specification ==
65
66
67 (% style="color:#037691" %)**Micro Controller:**
68
69 * MCU: STM32L072xxxx
70 * Flash: 128KB
71 * RAM: 20KB
72 * EEPROM: 6KB
73 * Clock Speed: 32Mhz
74
75 (% style="color:#037691" %)**Common DC Characteristics:**
76
77 * Supply Voltage: 2.1v ~~ 3.6v
78 * Operating Temperature: -40 ~~ 85°C
79 * I/O pins: Refer to STM32L072 datasheet
80
81 (% style="color:#037691" %)**NB-IoT Spec:**
82
83 * B1 @H-FDD: 2100MHz
84 * B3 @H-FDD: 1800MHz
85 * B8 @H-FDD: 900MHz
86 * B5 @H-FDD: 850MHz
87 * B20 @H-FDD: 800MHz
88 * B28 @H-FDD: 700MHz
89
90 (% style="color:#037691" %)**Battery:**
91
92 * Li/SOCI2 un-chargeable battery
93 * Capacity: 8500mAh
94 * Self Discharge: <1% / Year @ 25°C
95 * Max continuously current: 130mA
96 * Max boost current: 2A, 1 second
97
98 (% style="color:#037691" %)**Power Consumption**
99
100 * STOP Mode: 10uA @ 3.3v
101 * Max transmit power: 350mA@3.3v
102
103 (% style="display:none" %) (%%)
104
105 == 1.4  Applications ==
106
107
108 * Smart Buildings & Home Automation
109 * Logistics and Supply Chain Management
110 * Smart Metering
111 * Smart Agriculture
112 * Smart Cities
113 * Smart Factory
114
115 (% style="display:none" %) (%%)
116
117 == 1.5  Pin Definitions & Switch ==
118
119
120 [[image:1657510398618-181.png]](% style="display:none" %)
121
122
123 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:515px" %)
124 |=(% style="width: 30px;background-color:#4F81BD;color:white" %)**No.**|=(% style="width: 70px;background-color:#4F81BD;color:white" %)**Signal**|=(% style="width: 55px;background-color:#4F81BD;color:white" %)**Direction**|=(% style="width: 180px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 180px;background-color:#4F81BD;color:white" %)Remark
125 |(% style="width:44px" %)1|(% style="width:86px" %)VCC(2.9V)|(% style="width:84px" %)OUTPUT|(% style="width:322px" %)VCC|(% style="width:296px" %)Directly connect to main power for board
126 |(% style="width:44px" %)2|(% style="width:86px" %)PA0|(% style="width:84px" %)In/Out|(% style="width:322px" %)Directly from STM32 chip|(% style="width:296px" %)Used as ADC in NBSN95 image
127 |(% style="width:44px" %)3|(% style="width:86px" %)PA1|(% style="width:84px" %)In/Out|(% style="width:322px" %)Directly from STM32 chip|(% style="width:296px" %)
128 |(% style="width:44px" %)4|(% style="width:86px" %)PA2|(% style="width:84px" %)In/Out|(% style="width:322px" %)Directly from STM32 chip, 10k pull up to VCC|(% style="width:296px" %)Used as UART_TXD in NBSN95 image
129 |(% style="width:44px" %)5|(% style="width:86px" %)PA3|(% style="width:84px" %)In/Out|(% style="width:322px" %)Directly from STM32 chip, 10k pull up to VCC|(% style="width:296px" %)Used as UART_RXD in NBSN95 image
130 |(% style="width:44px" %)6|(% style="width:86px" %)PB6|(% style="width:84px" %)In/Out|(% style="width:322px" %)Directly from STM32 chip, 10k pull up to VCC|(% style="width:296px" %)
131 |(% style="width:44px" %)7|(% style="width:86px" %)PB7|(% style="width:84px" %)In/Out|(% style="width:322px" %)Directly from STM32 chip, 10k pull up to VCC|(% style="width:296px" %)
132 |(% style="width:44px" %)8|(% style="width:86px" %)PB3|(% style="width:84px" %)In/Out|(% style="width:322px" %)Directly from STM32 chip, 10k pull up to VCC|(% style="width:296px" %)
133 |(% style="width:44px" %)9|(% style="width:86px" %)PB4|(% style="width:84px" %)In/Out|(% style="width:322px" %)Directly from STM32 chip|(% style="width:296px" %)
134 |(% style="width:44px" %)10|(% style="width:86px" %)PA9|(% style="width:84px" %)In/Out|(% style="width:322px" %)Directly from STM32 chip, 10k pull up to VCC|(% style="width:296px" %)
135 |(% style="width:44px" %)11|(% style="width:86px" %)PA10|(% style="width:84px" %)In/Out|(% style="width:322px" %)Directly from STM32 chip, 10k pull up to VCC|(% style="width:296px" %)
136 |(% style="width:44px" %)12|(% style="width:86px" %)GND|(% style="width:84px" %) |(% style="width:322px" %)Ground|(% style="width:296px" %)
137 |(% style="width:44px" %)13|(% style="width:86px" %)VCC(2.9V)|(% style="width:84px" %)OUTPUT|(% style="width:322px" %)VCC|(% style="width:296px" %)Directly connect to main power for board
138 |(% style="width:44px" %)14|(% style="width:86px" %)Jumper|(% style="width:84px" %) |(% style="width:322px" %)Power on/off jumper|(% style="width:296px" %)
139 |(% style="width:44px" %)15|(% style="width:86px" %)PA4|(% style="width:84px" %)In/Out|(% style="width:322px" %)Directly from STM32 chip|(% style="width:296px" %)
140 |(% style="width:44px" %)16|(% style="width:86px" %)NRST|(% style="width:84px" %)In|(% style="width:322px" %)Reset MCU|(% style="width:296px" %)
141 |(% style="width:44px" %)17|(% style="width:86px" %)PA12|(% style="width:84px" %)In/Out|(% style="width:322px" %)Directly from STM32 chip|(% style="width:296px" %)
142 |(% style="width:44px" %)18|(% style="width:86px" %)PA11|(% style="width:84px" %)In/Out|(% style="width:322px" %)Directly from STM32 chip|(% style="width:296px" %)
143 |(% style="width:44px" %)19|(% style="width:86px" %)PA14|(% style="width:84px" %)In/Out|(% style="width:322px" %)Directly from STM32 chip|(% style="width:296px" %)
144 |(% style="width:44px" %)20|(% style="width:86px" %)PB13|(% style="width:84px" %)In/Out|(% style="width:322px" %)Directly from STM32 chip|(% style="width:296px" %)
145 |(% style="width:44px" %)21|(% style="width:86px" %)PB12|(% style="width:84px" %)In/Out|(% style="width:322px" %)Directly from STM32 chip|(% style="width:296px" %)
146 |(% style="width:44px" %)22|(% style="width:86px" %)PB15|(% style="width:84px" %)In/Out|(% style="width:322px" %)Directly from STM32 chip|(% style="width:296px" %)
147 |(% style="width:44px" %)23|(% style="width:86px" %)PB14|(% style="width:84px" %)In/Out|(% style="width:322px" %)Directly from STM32 chip|(% style="width:296px" %)
148 |(% style="width:44px" %)24|(% style="width:86px" %)PA13|(% style="width:84px" %)In/Out|(% style="width:322px" %)Directly from STM32 chip|(% style="width:296px" %)
149 |(% style="width:44px" %)25|(% style="width:86px" %)PA8|(% style="width:84px" %)In/Out|(% style="width:322px" %)Directly from STM32 chip|(% style="width:296px" %)Default use to turn on/off LED1 in NBSN95 image
150 |(% style="width:44px" %)26|(% style="width:86px" %)GND|(% style="width:84px" %) |(% style="width:322px" %)Ground|(% style="width:296px" %)
151 |(% style="width:44px" %)27|(% style="width:86px" %)+5V|(% style="width:84px" %)Out|(% style="width:322px" %)5v output power|(% style="width:296px" %)Controlled by PB5(Low to Enable, High to Disable)
152 |(% style="width:44px" %)28|(% style="width:86px" %)LED1|(% style="width:84px" %) |(% style="width:322px" %)Controlled by PA8|(% style="width:296px" %)Blink on transmit
153 |(% style="width:44px" %)29|(% style="width:86px" %)BOOT MODE|(% style="width:84px" %) |(% style="width:322px" %)Configure device in working mode or ISP program mode|(% style="width:296px" %)(((
154 (((
155 Flash: Normal Working mode and send AT Commands
156 )))
157
158 (((
159 ISP: UART Program Mode
160 )))
161 )))
162 |(% style="width:44px" %)30|(% style="width:86px" %)NRST|(% style="width:84px" %)In|(% style="width:322px" %)Reset MCU|(% style="width:296px" %)
163
164 === 1.5.1 Jumper JP2 ===
165
166
167 Power on Device when put this jumper.
168
169
170 === 1.5.2 BOOT MODE / SW1 ===
171
172
173 (((
174 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.
175 )))
176
177 (((
178 2) Flash: work mode, device starts to work and send out console output for further debug
179 )))
180
181
182 === 1.5.3 Reset Button ===
183
184
185 Press to reboot the device.
186
187
188 === 1.5.4 LED ===
189
190
191 It will flash:
192
193 1.  When boot the device in flash mode
194
195 2.  Send an uplink packet
196
197
198 == 1.6 Hole Option ==
199
200
201 The NBSN95 provides different hole size options for different size sensor cable. The options provided are M12, M16. The definition is as below:
202
203
204 [[image:image-20220711135811-1.png]]
205
206
207 [[image:1657519103007-447.png]]
208
209
210 = 2.  Use NBSN95 to communicate with IoT Server =
211
212 == 2.1  How it works ==
213
214
215 (((
216 The NBSN95 is equipped with a NB-IoT module, the pre-loaded firmware in NBSN95 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 NBSN95.
217 )))
218
219
220 (((
221 The diagram below shows the working flow in default firmware of NBSN95:
222 )))
223
224 [[image:image-20220711135919-2.png]]
225
226
227 == 2.2 ​ Configure the NBSN95 ==
228
229 === 2.2.1  Power On NBSN95 ===
230
231
232 [[image:1657519498925-521.png]]
233
234
235 === 2.2.2  Test Requirement ===
236
237
238 (((
239 To use NBSN95 in your city, make sure meet below requirements:
240 )))
241
242 * Your local operator has already distributed a NB-IoT Network there.
243 * The local NB-IoT network used the band that NBSN95 supports.
244 * Your operator is able to distribute the data received in their NB-IoT network to your IoT server.
245
246 (((
247 Below figure shows our testing structure. Here we have NB-IoT network coverage by China Mobile, the band they use is B8.  The NBSN95 will use CoAP((% style="color:red" %)120.24.4.116:5683)(%%) or raw UDP((% style="color:red" %)120.24.4.116:5601)(%%) or MQTT((% style="color:red" %)120.24.4.116:1883)(%%)or TCP((% style="color:red" %)120.24.4.116:5600)(%%)protocol to send data to the test server
248 )))
249
250
251 [[image:1657519549982-889.png]]
252
253
254 === 2.2.3  Insert SIM card ===
255
256
257 (((
258 Insert the NB-IoT Card get from your provider.
259 )))
260
261 (((
262 User need to take out the NB-IoT module and insert the SIM card like below:
263 )))
264
265
266 [[image:1657249468462-536.png]]
267
268
269 === 2.2.4  Connect USB – TTL to NBSN95 to configure it ===
270
271
272 (((
273 (((
274 User need to configure NBSN95 via serial port to set the (% style="color:blue" %)**Server Address** / **Uplink Topic** (%%)to define where and how-to uplink packets. NBSN95 support AT Commands, user can use a USB to TTL adapter to connect to NBSN95 and use AT Commands to configure it, as below.
275 )))
276 )))
277
278 [[image:1657520237594-636.png]]
279
280
281 In the PC, use below serial tool settings:
282
283 * Baud:  (% style="color:green" %)**9600**
284 * Data bits:** (% style="color:green" %)8(%%)**
285 * Stop bits: (% style="color:green" %)**1**
286 * Parity:  (% style="color:green" %)**None**
287 * Flow Control: (% style="color:green" %)**None**
288
289 (((
290
291
292
293 Make sure the switch is in FLASH position, then power on device by connecting the jumper on NBSN95. NBSN95 will output system info once power on as below, we can enter the (% style="color:green" %)**password: 12345678**(%%) to access AT Command input.
294
295
296 )))
297
298 [[image:1657520459085-315.png]]
299
300
301 (((
302 (% style="color:red" %)**Note: the valid AT Commands can be found at:  **(%%)**[[https:~~/~~/www.dropbox.com/sh/jao1xt9kw5r3yq4/AAAMpJkZzExF2JLbRWxGoQ9Na?dl=0>>https://www.dropbox.com/sh/jao1xt9kw5r3yq4/AAAMpJkZzExF2JLbRWxGoQ9Na?dl=0]]**
303 )))
304
305
306 === 2.2.5  Use CoAP protocol to uplink data ===
307
308
309 (% 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/]]**
310
311
312 **Use below commands:**
313
314 * (% style="color:blue" %)**AT+PRO=1**  (%%) ~/~/ Set to use CoAP protocol to uplink
315 * (% style="color:blue" %)**AT+SERVADDR=120.24.4.116,5683   ** (%%)~/~/ to set CoAP server address and port
316 * (% style="color:blue" %)**AT+URI=5,11,"mqtt",11,"coap",12,"0",15,"c=text1",23,"0" ** (%%) ~/~/Set COAP resource path
317
318 For parameter description, please refer to AT command set
319
320
321 [[image:1657249793983-486.png]]
322
323
324 (((
325 After configure the server address and (% style="color:green" %)**reset the device**(%%) (via AT+ATZ ), NSE01 will start to uplink sensor values to CoAP server.
326 )))
327
328 [[image:1657522754681-536.png]]
329
330
331 === 2.2.6  Use UDP protocol to uplink data(Default protocol) ===
332
333
334 This feature is supported since firmware version v1.0.1
335
336
337 * (% style="color:blue" %)**AT+PRO=2   ** (%%) ~/~/ Set to use UDP protocol to uplink
338 * (% style="color:blue" %)**AT+SERVADDR=120.24.4.116,5601   ** (%%) ~/~/  to set UDP server address and port
339
340 [[image:1657522829933-263.png]]
341
342
343 [[image:image-20220913164447-1.png]]
344
345
346 === 2.2.7  Use MQTT protocol to uplink data ===
347
348
349 (((
350 This feature is supported since firmware version v110, it supports only plain MQTT now it doesn't support TLS and other related encryption.
351 )))
352
353
354 * (% style="color:blue" %)**AT+PRO=3   ** (%%) ~/~/ Set to use MQTT protocol to uplink
355 * (% style="color:blue" %)**AT+SERVADDR=120.24.4.116,1883   ** (%%) ~/~/ Set MQTT server address and port
356 * (% style="color:blue" %)**AT+CLIENT=CLIENT       ** (%%)~/~/ Set up the CLIENT of MQTT
357 * (% style="color:blue" %)**AT+UNAME=UNAME                               **(%%)~/~/ Set the username of MQTT
358 * (% style="color:blue" %)**AT+PWD=PWD                                        **(%%)~/~/ Set the password of MQTT
359 * (% style="color:blue" %)**AT+PUBTOPIC=T1_PUB                           **(%%)~/~/ Set the sending topic of MQTT
360 * (% style="color:blue" %)**AT+SUBTOPIC=T1_SUB          **(%%) ~/~/ Set the subscription topic of MQTT
361
362 [[image:1657522979257-629.png]]
363
364
365 [[image:1657522993615-517.png]]
366
367
368 (((
369 To save battery life, NBSN95 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.
370 )))
371
372 (((
373 MQTT protocol has a much higher power consumption compare vs UDP / CoAP protocol. Please check the power analyze document and adjust the uplink period to a suitable interval.
374 )))
375
376
377 === 2.2.8  Use TCP protocol to uplink data ===
378
379
380 This feature is supported since firmware version v110
381
382
383 * (% style="color:blue" %)**AT+PRO=4   ** (%%) ~/~/ Set to use TCP protocol to uplink
384 * (% style="color:blue" %)**AT+SERVADDR=120.24.4.116,5600   **(%%) ~/~/  to set TCP server address and port
385
386 [[image:1657523736162-303.png]]
387
388
389 [[image:1657523748549-241.png]]
390
391
392 === 2.2.9  Change Update Interval ===
393
394
395 User can use below command to change the (% style="color:green" %)**uplink interval**.
396
397 * (% style="color:blue" %)**AT+TDC=600      ** (%%)~/~/  Set Update Interval to 600s
398
399 (% style="display:none" %) (%%)
400
401 == 2.3  Working Mode & Uplink Payload ==
402
403
404 (((
405 NBSN95 has different working mode for the connections of different type of sensors. This section describes these modes. User can use the AT Command (% style="color:blue" %)**AT+CFGMOD**(%%) to set NBSN95 to different working modes.
406 )))
407
408
409 (((
410 For example:
411 )))
412
413 (((
414 (% style="color:blue" %)**AT+CFGMOD=2     ** (%%) ~/~/** **will set the NBSN95 to work in MOD=2 distance mode which target to measure distance via [[Ultrasonic Sensor>>||anchor="H2.4.11A0UltrasonicSensor"]].
415 )))
416
417
418 (((
419 The uplink payloads are composed in ASCII String. For example:
420 )))
421
422 (((
423 0a cd 00 ed 0a cc 00 00 ef 02 d2 1d (total 24 ASCII Chars). Representative the actually payload:
424 )))
425
426 (((
427 0x 0a cd 00 ed 0a cc 00 00 ef 02 d2 1d Total 12 bytes
428 )))
429
430
431 (((
432 (% style="color:red" %)**NOTE:**
433 )))
434
435 (((
436 (% style="color:red" %)**1. All modes share the same Payload Explanation from [[HERE>>||anchor="H2.4A0PayloadExplanationandSensorInterface"]].
437 2. By default, the device will send an uplink message every 1 hour.**
438 )))
439
440
441 === 2.3.1 CFGMOD~=1 (Default Mode) ===
442
443
444 (((
445 In this mode, the uplink payload usually contains 27 bytes. ((% style="color:red" %)Note: Time stamp field are added since firmware version v120(%%))
446 )))
447
448
449 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
450 |=(% style="width: 55px;background-color:#4F81BD;color:white" %)(((
451 **Size(bytes)**
452 )))|=(% style="width: 35px;background-color:#4F81BD;color:white" %)8|=(% style="width: 25px;background-color:#4F81BD;color:white" %)2|=(% style="width: 25px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 40px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 30px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 58px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 50px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 25px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 63px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 63px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 50px;background-color:#4F81BD;color:white" %)**4**
453 |(% style="width:46px" %)Value|(% style="width:46px" %)[[Device ID>>||anchor="H2.4.1A0A0DeviceID"]]|(% style="width:46px" %)[[Ver>>||anchor="H2.4.2A0VersionInfo"]]|(% style="width:46px" %)[[BAT>>||anchor="H2.4.3A0BatteryInfo"]]|(% style="width:120px" %)[[Signal Strength>>||anchor="H2.4.4A0SignalStrength"]]|(% style="width:55px" %)(((
454 (((
455 MOD
456 )))
457
458 (((
459 0x01
460 )))
461 )))|(% style="width:60px" %)(((
462 [[Temperature (DS18B20)>>||anchor="H2.4.5A0Temperature28DS18B2029"]]
463 )))|(% style="width:159px" %)[[Digital in>>||anchor="H2.4.6A0DigitalInput"]] & [[Interrupt>>||anchor="H2.4.8A0DigitalInterrupt"]]|(% style="width:49px" %)[[ADC>>||anchor="H2.4.7A0AnalogueDigitalConverter28ADC29"]]|(% style="width:104px" %)(((
464 (((
465 [[Temperature>>||anchor="H2.4.9A0I2CInterface28SHT2029"]]
466 )))
467
468 (((
469 by
470 )))
471
472 (((
473 SHT20/SHT31
474 )))
475 )))|(% style="width:112px" %)(((
476 (((
477 [[Humidity>>||anchor="H2.4.9A0I2CInterface28SHT2029"]]
478 )))
479
480 (((
481 by
482 )))
483
484 (((
485 SHT20/SHT31
486 )))
487 )))|(% style="width:94px" %)[[Timestamp>>||anchor="H2.4.14A0Timestamp"]]
488
489 If the cache upload mechanism is turned on, you will receive the payload shown in the figure below.
490
491 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:512px" %)
492 |(% style="width:115px" %)**Frame header**|(% style="width:118px" %)**Frame data(1)**|(% style="width:116px" %)**Frame data(2)**|(% style="width:39px" %)**F…**|(% style="width:117px" %)**Frame data(X)**
493
494 (% style="color:red" %)**NOTE:**
495
496 (% style="color:red" %)**1. Only up to 10 sets of latest data will be cached.**
497
498 (% style="color:red" %)**2. Theoretically, the maximum upload bytes are 215.**
499
500
501 (((
502 If we use the MQTT client to subscribe to this MQTT topic, we can see the following information when the NB sensor uplink data.
503 )))
504
505 [[image:1657526816370-997.png]]
506
507
508 (((
509 The payload is ASCII string, representative same HEX: (% style="background-color:yellow" %)**0x f868411056754138 0078 0c54 19 01 0000 00 0042 00fc 0232 60da7c4e**
510
511 **where:**
512 )))
513
514 * (% style="color:#037691" %)**Device ID:**(%%) 0xf868411056754138 = 868411056754138
515
516 * (% style="color:#037691" %)**Version:**(%%)  0x0078=120=1.2.0
517
518 * (% style="color:#037691" %)**BAT:**(%%)  0x0c54 = 3156 mV = 3.156V
519
520 * (% style="color:#037691" %)**Singal:**(%%)  0x19 = 25
521
522 * (% style="color:#037691" %)**Model:** (%%)0x01 = 1
523
524 * (% style="color:#037691" %)**Temperature by DS18b20:**(%%) 0x0000 = 0
525
526 * (% style="color:#037691" %)**Interrupt:**(%%) 0x00 = 0
527
528 * (% style="color:#037691" %)**ADC:**(%%) 0x0042 = 66 = 66mv
529
530 * (% style="color:#037691" %)**Temperature by SHT20/SHT31:**(%%) 0x00fc = 252 = 25.2 °C
531
532 * (% style="color:#037691" %)**Humidity by SHT20/SHT31:**(%%) 0x0232 = 562 = 56.2 %rh
533
534 * (% style="color:#037691" %)**Timestamp:**(%%) 0x60da7c4e = 1,624,931,406 = 2021-06-29 09:50:06
535
536 === 2.3.2 CFGMOD~=2 (Distance Mode) ===
537
538
539 (((
540 This mode is target to measure the distance. Total 25 bytes, ((% style="color:red" %)**Note: Time stamp field are added since firmware version v120**(%%))
541
542
543 )))
544
545 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
546 |=(% style="width: 56px;background-color:#4F81BD;color:white" %)(((
547 **Size(bytes)**
548 )))|=(% style="width: 36px;background-color:#4F81BD;color:white" %)8|=(% style="width: 30px;background-color:#4F81BD;color:white" %)2|=(% style="width: 31px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 41px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 31px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 59px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 51px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 31px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 101px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 50px;background-color:#4F81BD;color:white" %)**4**
549 |(% style="width:46px" %)Value|(% style="width:46px" %)[[Device ID>>||anchor="H2.4.1A0A0DeviceID"]]|(% style="width:46px" %)[[Ver>>||anchor="H2.4.2A0VersionInfo"]]|(% style="width:46px" %)[[BAT>>||anchor="H2.4.3A0BatteryInfo"]]|(% style="width:120px" %)[[Signal Strength>>||anchor="H2.4.4A0SignalStrength"]]|(% style="width:55px" %)(((
550 (((
551 MOD
552 )))
553
554 (((
555 0x02
556 )))
557 )))|(% style="width:60px" %)(((
558 [[Temperature (DS18B20)>>||anchor="H2.4.5A0Temperature28DS18B2029"]]
559 )))|(% style="width:159px" %)[[Digital in>>||anchor="H2.4.6A0DigitalInput"]] & [[Interrupt>>||anchor="H2.4.8A0DigitalInterrupt"]]|(% style="width:49px" %)[[ADC>>||anchor="H2.4.7A0AnalogueDigitalConverter28ADC29"]]|(% style="width:104px" %)(((
560 (((
561 (((
562 [[Distance measure>>||anchor="H2.4.11A0UltrasonicSensor"]] by:
563 )))
564
565 (((
566 1) [[LIDAR-Lite V3HP>>||anchor="HConnectionofLIDAR-LiteV3HP:"]]
567 )))
568
569 (((
570 Or
571 )))
572
573 (((
574 2) [[Ultrasonic Sensor>>||anchor="H2.4.11A0UltrasonicSensor"]]
575 )))
576 )))
577 )))|(% style="width:94px" %)[[Timestamp>>||anchor="H2.4.14A0Timestamp"]]
578
579 If the cache upload mechanism is turned on, you will receive the payload shown in the figure below.
580
581 (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:512px" %)
582 |(% style="width:115px" %)**Frame header**|(% style="width:118px" %)**Frame data(1)**|(% style="width:116px" %)**Frame data(2)**|(% style="width:39px" %)**F…**|(% style="width:117px" %)**Frame data(X)**
583
584 (((
585 (% style="color:red" %)**NOTE:**
586 )))
587
588 (((
589 (% style="color:red" %)**1.    Only up to 10 sets of latest data will be cached.**
590 )))
591
592 (((
593 (% style="color:red" %)**2.    Theoretically, the maximum upload bytes are 193.**
594 )))
595
596
597 (((
598 If we use the MQTT client to subscribe to this MQTT topic, we can see the following information when the NB sensor uplink data.
599 )))
600
601
602 [[image:1657527383721-325.png]]
603
604
605 So the payload is (% style="background-color:yellow" %)**0xf868411056754138 0078 0ca9 11 02 010b 00 0ca8 0158 60dacc87 **
606
607 **where:**
608
609 * (% style="color:#037691" %)**Device ID:**(%%) 0xf868411056754138 = 868411056754138
610
611 * (% style="color:#037691" %)**Version:**(%%)  0x0078=120=1.2.0
612
613 * (% style="color:#037691" %)**BAT:**(%%)  0x0ca9 = 3241mV = 3.241 V
614
615 * (% style="color:#037691" %)**Singal:**(%%)  0x11 = 17
616
617 * (% style="color:#037691" %)**Model:** (%%)0x02 = 2
618
619 * (% style="color:#037691" %)**Temperature by DS18b20:**(%%) 0x010b= 267 = 26.7  °C
620
621 * (% style="color:#037691" %)**Interrupt:**(%%) 0x00 = 0
622
623 * (% style="color:#037691" %)**ADC:**(%%) 0x0ca8 = 3240 mv
624
625 * (% style="color:#037691" %)**Distance by LIDAR-Lite V3HP/Ultrasonic Sensor:**(%%) 0x0158 = 344 cm
626
627 * (% style="color:#037691" %)**Timestamp:** (%%)0x60dacc87 = 1,624,951,943 = 2021-06-29 15:32:23
628
629 (% style="display:none" %) (%%)
630
631 ==== (% style="color:blue" %)**Connection of LIDAR-Lite V3HP:**(%%) ====
632
633
634 [[image:1657527422661-877.png]]
635
636
637 (% style="color:blue" %)**Connection to Ultrasonic Sensor:**
638
639 [[image:1657527441108-781.png]]
640
641
642 === 2.3.3 CFGMOD~=3 (3 ADC + I2C) ===
643
644
645 (((
646 This mode has total 29 bytes. Include 3 x ADC + 1x I2C, ((% style="color:red" %)**Note: Time stamp field are added since firmware version v120**(%%))
647 )))
648
649 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:517px" %)
650 |=(% style="width: 54px;background-color:#4F81BD;color:white" %)(((
651 **Size(bytes)**
652 )))|=(% style="width: 35px;background-color:#4F81BD;color:white" %)8|=(% style="width: 25px;background-color:#4F81BD;color:white" %)2|=(% style="width: 25px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 40px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 30px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 30px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 50px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 28px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 61px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 60px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 30px;background-color:#4F81BD;color:white" %)2|=(% style="width: 49px;background-color:#4F81BD;color:white" %)**4**
653 |(% style="width:46px" %)Value|(% style="width:46px" %)[[Device ID>>||anchor="H2.4.1A0A0DeviceID"]]|(% style="width:46px" %)[[Ver>>||anchor="H2.4.2A0VersionInfo"]]|(% style="width:46px" %)[[BAT>>||anchor="H2.4.3A0BatteryInfo"]]|(% style="width:120px" %)[[Signal Strength>>||anchor="H2.4.4A0SignalStrength"]]|(% style="width:55px" %)(((
654 (((
655 MOD
656 )))
657
658 (((
659 0x03
660 )))
661 )))|(% style="width:60px" %)(((
662 [[ADC>>||anchor="H2.4.7A0AnalogueDigitalConverter28ADC29"]]1
663 )))|(% style="width:159px" %)[[Digital in>>||anchor="H2.4.6A0DigitalInput"]] & [[Interrupt>>||anchor="H2.4.8A0DigitalInterrupt"]]|(% style="width:49px" %)[[ADC>>||anchor="H2.4.7A0AnalogueDigitalConverter28ADC29"]]2|(% style="width:104px" %)(((
664 (((
665 [[Temperature>>||anchor="H2.4.9A0I2CInterface28SHT2029"]]
666 )))
667
668 (((
669 by
670 )))
671
672 (((
673 SHT20/SHT31
674 )))
675 )))|(% style="width:112px" %)(((
676 (((
677 [[Humidity>>||anchor="H2.4.9A0I2CInterface28SHT2029"]]
678 )))
679
680 (((
681 by
682 )))
683
684 (((
685 SHT20/SHT31
686 )))
687 )))|(% style="width:112px" %)[[ADC>>||anchor="H2.4.7A0AnalogueDigitalConverter28ADC29"]]3|(% style="width:94px" %)[[Timestamp>>||anchor="H2.4.14A0Timestamp"]]
688
689 ADC1 uses pin PA0 to measure
690
691 ADC2 uses pin PA1 to measure
692
693 ADC3 uses pin PA4 to measure
694
695
696 If the cache upload mechanism is turned on, you will receive the payload shown in the figure below.
697
698
699 (% border="1" style="background-color:#f2f2f2; width:510px" %)
700 |(% style="width:114px" %)**Frame header**|(% style="width:119px" %)**Frame data(1)**|(% style="width:118px" %)**Frame data(2)**|(% style="width:39px" %)**F…**|(% style="width:117px" %)**Frame data(X)**
701
702 (% style="color:red" %)**NOTE:**
703
704 (% style="color:red" %)**1.    Only up to 10 sets of latest data will be cached.**
705
706 (% style="color:red" %)**2.    Theoretically, the maximum upload bytes are 226.**
707
708
709 (((
710 If we use the MQTT client to subscribe to this MQTT topic, we can see the following information when the NB sensor uplink data.
711 )))
712
713 [[image:1657527751330-433.png]]
714
715
716 So the payload is (% style="background-color:yellow" %)**0x f868411056754138 0078 0cf0 12 03 0cbc 00 0cef 010a 024b 0cef 60dbc494**
717
718 **where:**
719
720 * (% style="color:#037691" %)**Device ID:**(%%) 0xf868411056754138 = 868411056754138
721
722 * (% style="color:#037691" %)**Version:**(%%)  0x0078=120=1.2.0
723
724 * (% style="color:#037691" %)**BAT:**(%%)  0x0cf0 = 3312 mV = 3.312 V
725
726 * (% style="color:#037691" %)**Singal:**(%%)  0x12 = 18
727
728 * (% style="color:#037691" %)**Model:**(%%) 0x03 = 3
729
730 * (% style="color:#037691" %)**ADC1:**  (%%)0x0cbc= 3260mV
731
732 * (% style="color:#037691" %)**Interrupt:**(%%) 0x00 = 0
733
734 * (% style="color:#037691" %)**ADC2:**(%%) 0x0cef =3311 mv
735
736 * (% style="color:#037691" %)**Temperature by SHT20/SHT31:**(%%) 0x010a = 266 = 26.6 °C
737
738 * (% style="color:#037691" %)**Humidity by SHT20/SHT31:**(%%) 0x024b =587 = 58.7 %rh
739
740 * (% style="color:#037691" %)**ADC3:**(%%) 0x0cef = 3311 mv
741
742 * (% style="color:#037691" %)**Timestamp:** (%%)0x60dbc494 = 1,625,015,444= 2021-06-30 09:10:44
743
744 (% style="display:none" %) (%%)
745
746 === 2.3.4 CFGMOD~=4 (3 x DS18B20) ===
747
748
749 (((
750 Hardware connection is as below, ((% style="color:red" %)**Note: R3 & R4 should change from 10k to 4.7k to support DS18B20, Software set to AT+CFGMOD=4**(%%))
751
752
753 )))
754
755 [[image:1657527815194-570.png]]
756
757
758 This mode has total 27 bytes. ((% style="color:red" %)**Note: Time stamp field are added since firmware version v120**(%%)) As shown below:
759
760 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:517px" %)
761 |=(% style="width: 55px;background-color:#4F81BD;color:white" %)(((
762 **Size(bytes)**
763 )))|=(% style="width: 35px;background-color:#4F81BD;color:white" %)8|=(% style="width: 25px;background-color:#4F81BD;color:white" %)2|=(% style="width: 25px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 40px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 30px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 58px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 30px;background-color:#4F81BD;color:white" %)2|=(% style="width: 48px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 61px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 60px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 50px;background-color:#4F81BD;color:white" %)**4**
764 |(% style="width:46px" %)Value|(% style="width:46px" %)[[Device ID>>||anchor="H2.4.1A0A0DeviceID"]]|(% style="width:46px" %)[[Ver>>||anchor="H2.4.2A0VersionInfo"]]|(% style="width:46px" %)[[BAT>>||anchor="H2.4.3A0BatteryInfo"]]|(% style="width:120px" %)[[Signal Strength>>||anchor="H2.4.4A0SignalStrength"]]|(% style="width:55px" %)(((
765 (((
766 MOD
767 )))
768
769 (((
770 0x04
771 )))
772 )))|(% style="width:60px" %)(((
773 [[Temperature1 (DS18B20) (PB3)>>||anchor="H2.3.4CFGMOD3D4283xDS18B2029"]]
774 )))|(% style="width:60px" %)[[ADC>>||anchor="H2.4.7A0AnalogueDigitalConverter28ADC29"]]|(% style="width:159px" %)[[Digital in>>||anchor="H2.4.6A0DigitalInput"]] & [[Interrupt>>||anchor="H2.4.8A0DigitalInterrupt"]]|(% style="width:104px" %)(((
775 (((
776 [[Temperature2 (DS18B20) (PA9)>>||anchor="H2.3.4CFGMOD3D4283xDS18B2029"]]
777 )))
778 )))|(% style="width:112px" %)(((
779 (((
780 [[Temperature3 (DS18B20) (PA10)>>||anchor="H2.3.4CFGMOD3D4283xDS18B2029"]]
781 )))
782 )))|(% style="width:94px" %)[[Timestamp>>||anchor="H2.4.14A0Timestamp"]]
783
784 If the cache upload mechanism is turned on, you will receive the payload shown in the figure below.
785
786 (% border="1" style="background-color:#f2f2f2; width:510px" %)
787 |(% style="width:114px" %)**Frame header**|(% style="width:119px" %)**Frame data(1)**|(% style="width:118px" %)**Frame data(2)**|(% style="width:39px" %)**F…**|(% style="width:117px" %)**Frame data(X)**
788
789 (% style="color:red" %)**NOTE:**
790
791 (% style="color:red" %)**1.    Only up to 10 sets of latest data will be cached.**
792
793 (% style="color:red" %)**2.    Theoretically, the maximum upload bytes is 215.**
794
795
796 (((
797 If we use the MQTT client to subscribe to this MQTT topic, we can see the following information when the NB sensor uplink data.
798 )))
799
800
801 [[image:1657528339054-727.png]]
802
803
804 So the payload is (% style="background-color:yellow" %)**0x f868411056754138 0078 0cdf 15 04 010a 0cde 00 00fb 0100 60dbcb3f  **
805
806 **where:**
807
808 * (% style="color:#037691" %)**Device ID:**(%%) 0xf868411056754138 = 868411056754138
809
810 * (% style="color:#037691" %)**Version:** (%%)0x0078=120=1.2.0
811
812 * (% style="color:#037691" %)**BAT:**      (%%)0x0cdf = 3295 mV = 3.295 V
813
814 * (% style="color:#037691" %)**Singal:**(%%)  0x15 = 21
815
816 * (% style="color:#037691" %)**Model:**(%%) 0x04 = 4
817
818 * (% style="color:#037691" %)**Temperature1 by DS18b20:**(%%) 0x010a = 226 = 22.6 °C
819
820 * (% style="color:#037691" %)**ADC:** (%%)0x0cde = 3294 mv
821
822 * (% style="color:#037691" %)**Interrupt:**(%%) 0x00 = 0
823
824 * (% style="color:#037691" %)**Temperature2 by DS18b20:** (%%)0x00fb = 251 = 25.1°C
825
826 * (% style="color:#037691" %)**Temperature3 by DS18b20:**(%%) 0x0100  = 256 = 25.6 °C
827
828 * (% style="color:#037691" %)**Timestamp:**(%%)** **0x60dbcb3f = 1,625,017,151= 2021-06-30 09:39:11
829
830 (% style="display:none" %) (%%)
831
832
833 === 2.3.5 CFGMOD~=5 (Weight Measurement by HX711) ===
834
835
836 [[image:1657528388617-253.png]]
837
838
839 (% style="color:red" %)**Notes about hardware connection:**
840
841 1. Don't connect the HX711 module VCC to NBSN95 3.3v VCC, in this case, the NBSN95 will always power on HX711 and the battery will run out soon.
842 1. HX711 support 5v VCC, but while connect the NBSN95's +5V to HX711 VCC, the value from HX711 is not stable.
843 1. Connect NBSN95 +5V to HX711 VCC via a LDO module is stable.
844
845 (% style="color:red" %)**Each HX711 need to be calibrated before used. User need to do below two steps:**
846
847 1. Zero calibration. Don't put anything on load cell and run (% style="color:blue" %)**AT+WEIGRE**(%%) to calibrate to Zero gram.
848 1. Adjust calibration factor (default value 400): Put a known weight thing on load cell and run (% style="color:blue" %)**AT+WEIGAP**(%%) to adjust the Calibration Factor.
849
850 **For example:**
851
852 (% style="color:blue" %)**AT+WEIGAP =403.0**
853
854 Response:  Weight is 401 g
855
856
857 Check the response of this command and adjust the value to match the real value for thing.
858
859 This mode has total 25 bytes. ((% style="color:red" %)**Note: Time stamp field are added since firmware version v120**(%%)). As shown below:
860
861 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:517px" %)
862 |=(% style="width: 55px;background-color:#4F81BD;color:white" %)(((
863 **Size(bytes)**
864 )))|=(% style="width: 45px;background-color:#4F81BD;color:white" %)8|=(% style="width: 30px;background-color:#4F81BD;color:white" %)2|=(% style="width: 30px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 65px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 30px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 58px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 30px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 85px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 39px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 50px;background-color:#4F81BD;color:white" %)**4**
865 |(% style="width:46px" %)Value|(% style="width:46px" %)[[Device ID>>||anchor="H2.4.1A0A0DeviceID"]]|(% style="width:46px" %)[[Ver>>||anchor="H2.4.2A0VersionInfo"]]|(% style="width:46px" %)[[BAT>>||anchor="H2.4.3A0BatteryInfo"]]|(% style="width:120px" %)[[Signal Strength>>||anchor="H2.4.4A0SignalStrength"]]|(% style="width:55px" %)(((
866 (((
867 MOD
868 )))
869
870 (((
871 0x05
872 )))
873 )))|(% style="width:60px" %)(((
874 [[Temperature (DS18B20)>>||anchor="H2.4.5A0Temperature28DS18B2029"]]
875 )))|(% style="width:60px" %)[[ADC>>||anchor="H2.4.7A0AnalogueDigitalConverter28ADC29"]]|(% style="width:159px" %)[[Digital in>>||anchor="H2.4.6A0DigitalInput"]] & [[Interrupt>>||anchor="H2.4.8A0DigitalInterrupt"]]|(% style="width:104px" %)(((
876 (((
877 [[Weight>>||anchor="H2.4.13A0WeighSensorHX711"]]
878 )))
879 )))|(% style="width:94px" %)[[Timestamp>>||anchor="H2.4.14A0Timestamp"]]
880
881 If the cache upload mechanism is turned on, you will receive the payload shown in the figure below.
882
883
884 (% border="1" style="background-color:#f2f2f2; width:510px" %)
885 |(% style="width:114px" %)**Frame header**|(% style="width:119px" %)**Frame data(1)**|(% style="width:118px" %)**Frame data(2)**|(% style="width:39px" %)**F…**|(% style="width:117px" %)**Frame data(X)**
886
887 (% style="color:red" %)**NOTE:**
888
889 (% style="color:red" %)**1.    Only up to 10 sets of latest data will be cached.**
890
891 (% style="color:red" %)**2.    Theoretically, the maximum upload bytes are 193.**
892
893
894 If we use the MQTT client to subscribe to this MQTT topic, we can see the following information when the NB sensor uplink data.
895
896
897 [[image:1657528559833-164.png]]
898
899
900 So the payload is (% style="background-color:yellow" %)**0x f868411056754138 0078 0c94 14 05 0137 0c93 00 003a 60dbe59e**
901
902 **where:**
903
904 * (% style="color:#037691" %)**Device ID:** (%%)0xf868411056754138 = 868411056754138
905
906 * (% style="color:#037691" %)**Version:**(%%)  0x0078=120=1.2.0
907
908 * (% style="color:#037691" %)**BAT:**(%%)**      **0x0c94 = 3220 mV = 3.220 V
909
910 * (% style="color:#037691" %)**Singal:**  (%%)0x14 = 20
911
912 * (% style="color:#037691" %)**Model:** (%%)0x05 = 5
913
914 * (% style="color:#037691" %)**Temperature by DS18b20:**(%%) 0x0137 = 311 = 31.1 °C
915
916 * (% style="color:#037691" %)**ADC:** (%%)0x0c93 = 3219 mv
917
918 * (% style="color:#037691" %)**Interrupt:**(%%) 0x00 = 0
919
920 * (% style="color:#037691" %)**Weigt by HX711:** (%%)0x003a  = 58 g
921
922 * (% style="color:#037691" %)**Timestamp:**(%%) 0x60dbe59e = 1,625,023,902= 2021-06-30 11:31:42
923
924 (% style="display:none" %) (%%)
925
926
927 === 2.3.6 CFGMOD~=6 (Counting mode) ===
928
929
930 (((
931 In this mode, uplink payload includes in total 22 bytes, ((% style="color:red" %)**Note: Time stamp field are added since firmware version v120**(%%))
932 )))
933
934 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:400px" %)
935 |=(% style="width: 60px;background-color:#4F81BD;color:white" %)(((
936 **Size(bytes)**
937 )))|=(% style="width: 45px;background-color:#4F81BD;color:white" %)8|=(% style="width: 30px;background-color:#4F81BD;color:white" %)2|=(% style="width: 30px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 70px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 50px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 60px;background-color:#4F81BD;color:white" %)4|=(% style="width: 55px;background-color:#4F81BD;color:white" %)**4**
938 |(% style="width:46px" %)Value|(% style="width:46px" %)[[Device ID>>||anchor="H2.4.1A0A0DeviceID"]]|(% style="width:46px" %)[[Ver>>||anchor="H2.4.2A0VersionInfo"]]|(% style="width:46px" %)[[BAT>>||anchor="H2.4.3A0BatteryInfo"]]|(% style="width:120px" %)[[Signal Strength>>||anchor="H2.4.4A0SignalStrength"]]|(% style="width:55px" %)(((
939 (((
940 MOD 0x06
941 )))
942 )))|(% style="width:60px" %)Pulse count|(% style="width:94px" %)[[Timestamp>>||anchor="H2.4.14A0Timestamp"]]
943
944 If the cache upload mechanism is turned on, you will receive the payload shown in the figure below.
945
946
947 (% border="1" style="background-color:#f2f2f2; width:510px" %)
948 |(% style="width:114px" %)**Frame header**|(% style="width:119px" %)**Frame data(1)**|(% style="width:118px" %)**Frame data(2)**|(% style="width:39px" %)**F…**|(% style="width:117px" %)**Frame data(X)**
949
950 (% style="color:red" %)**NOTE:**
951
952 (% style="color:red" %)**1.    Only up to 10 sets of latest data will be cached.**
953
954 (% style="color:red" %)**2.    Theoretically, the maximum upload bytes are 160.**
955
956
957 (((
958 If we use the MQTT client to subscribe to this MQTT topic, we can see the following information when the NB sensor uplink data.
959 )))
960
961
962 [[image:1657528693361-320.png]]
963
964 (((
965
966
967 The payload is ASCII string, representative same HEX: (% style="background-color:yellow" %)**0x f868411056754138 0078 0cc7 14 06 00000002 60dc03e5**
968
969 **~ where:**
970 )))
971
972 * (% style="color:#037691" %)**Device ID:** (%%)0xf868411056754138 = 868411056754138
973
974 * (% style="color:#037691" %)**Version:** (%%)0x0078=120=1.2.0
975
976 * (% style="color:#037691" %)**BAT:**(%%)  0x0cc7 =3271mV =3.271V
977
978 * (% style="color:#037691" %)**Singal:**(%%)  0x14 = 20
979
980 * (% style="color:#037691" %)**Model:**(%%) 0x06 = 6
981
982 * (% style="color:#037691" %)**Pulse count:**(%%)  0x00000002= 2
983
984 * (% style="color:#037691" %)**Timestamp:**(%%)  0x60dc03e5 = 1,625,031,653= 2021-06-30 13:40:53
985
986 (% style="display:none" %) (%%)
987
988
989 == 2.4  Payload Explanation and Sensor Interface ==
990
991 === 2.4.1  Device ID ===
992
993
994 (((
995 By default, the Device ID equal to the last 15 bits of IMEI.
996
997 User can use (% style="color:blue" %)**AT+DEUI** (%%)to set Device ID
998
999
1000 **Example**:
1001
1002 AT+DEUI=868411056754138
1003
1004 The Device ID is stored in a none-erase area, Upgrade the firmware or run AT+FDR won't erase Device ID.
1005 )))
1006
1007
1008 === 2.4.2  Version Info ===
1009
1010
1011 (((
1012 (((
1013 These bytes include the hardware and software version.
1014 )))
1015
1016 (((
1017 **Higher byte:**  Specify hardware version: always 0x01 for NBSN95
1018 )))
1019
1020 (((
1021 **Lower byte:**  Specify the software version: 0x6E=110, means firmware version 110
1022 )))
1023
1024 (((
1025 **For example:  **0x01 6E: this device is NBSN95 with firmware version 110.
1026 )))
1027 )))
1028
1029
1030 === 2.4.3  Battery Info ===
1031
1032
1033 (((
1034 Ex1: 0x0B45 = 2885mV
1035 )))
1036
1037 (((
1038 Ex2: 0x0B49 = 2889mV
1039 )))
1040
1041
1042 === 2.4.4  Signal Strength ===
1043
1044
1045 (((
1046 NB-IoT Network signal Strength.
1047 )))
1048
1049 (((
1050
1051
1052 **Ex1: 0x1d = 29**
1053 )))
1054
1055 (((
1056 (% style="color:blue" %)**0**(%%)  -113dBm or less
1057 )))
1058
1059 (((
1060 (% style="color:blue" %)**1**(%%)  -111dBm
1061 )))
1062
1063 (((
1064 (% style="color:blue" %)**2...30**(%%) -109dBm... -53dBm
1065 )))
1066
1067 (((
1068 (% style="color:blue" %)**31**  (%%) -51dBm or greater
1069 )))
1070
1071 (((
1072 (% style="color:blue" %)**99**   (%%) Not known or not detectable
1073 )))
1074
1075
1076 === 2.4.5  Temperature (DS18B20) ===
1077
1078
1079 If there is a DS18B20 connected to PB3 pin. The temperature will be uploaded in the payload.
1080
1081 (((
1082 More DS18B20 can check the [[3 DS18B20 mode>>||anchor="H2.3.4CFGMOD3D4283xDS18B2029"]]
1083 )))
1084
1085
1086 (((
1087 (% style="color:blue" %)**Connection for one DS18B20**
1088 )))
1089
1090 [[image:image-20220711164131-3.jpeg]]
1091
1092
1093 **Example**:
1094
1095 If payload is:  0x0105:  (0105 & FC00 == 0), temp = 0x0105 /10 = 26.1 degree
1096
1097 If payload is:  0xFF3F:  (FF3F & FC00 == 1) , temp = (0xFF3F - 65536)/10 = -19.3 degree.
1098
1099
1100 === 2.4.6  Digital Input ===
1101
1102
1103 The digital input is for pin PA12,
1104
1105 * When PA12 is high, the bit2 of this byte is 1.
1106
1107 * When PA12 is low, the bit2 of this byte is 0.
1108
1109 (% style="display:none" %) (%%)
1110
1111
1112 === 2.4.7  Analogue Digital Converter (ADC) ===
1113
1114
1115 The ADC monitors the voltage on the (% style="color:blue" %)**PA0**(%%) line, in mV. Max value is from 0v to BAT voltage
1116
1117
1118 Ex: 0x021F = 543mv,
1119
1120
1121 (% style="color:blue" %)**Example1:**(%%)  Reading a Liquid Level Sensor (Read a resistance value):
1122
1123 [[image:image-20220711164848-12.png]]
1124
1125
1126 (((
1127 In the NBSN95, we can use PB4 and PA0 pin to calculate the resistance for the liquid level sensor. The bottom of this sensor equal to 0ohm and top position equals to 10kohm.
1128 )))
1129
1130
1131 (% style="color:blue" %)**Steps:**
1132
1133 1.  Solder a 10K resistor between PA0 and VCC.
1134
1135 2.  Screw liquid level sensor's two pins to PA0 and PB4.
1136
1137
1138 The equipment circuit is as below:
1139
1140
1141 [[image:image-20220711164942-13.png]]
1142
1143
1144 According to above diagram:
1145
1146 ([[image:image-20220711164435-6.png]]
1147
1148 So
1149
1150 [[image:image-20220711164435-7.png]]
1151
1152 [[image:image-20220711164435-8.png]] is the reading of ADC. So if ADC=0x05DC=0.9 v and VCC (BAT) is 2.9v
1153
1154
1155 The [[image:image-20220711164435-9.png]] 4.5K ohm
1156
1157 Since the buoy is linear resistance from 10 ~~ 70cm.
1158
1159
1160 The position of buoy is [[image:image-20220711164435-10.png]] , from the bottom of buoy.
1161
1162
1163 === 2.4.8  Digital Interrupt ===
1164
1165
1166 (((
1167 Digital Interrupt refers to pin PB14, and there are different trigger methods. When there is a trigger, the NBSN95 will send a packet to the server.
1168 )))
1169
1170
1171 (((
1172 **Example to use with door sensor**
1173 )))
1174
1175 (((
1176 The door sensor is shown at right. It is a two wire magnetic contact switch used for detecting the open/close status of doors or windows.
1177 )))
1178
1179 [[image:image-20220711165615-14.png]]
1180
1181 (((
1182 When the two pieces are close to each other, the 2 wire output will be short or open (depending on the type), while if the two pieces are away from each other, the 2 wire output will be the opposite status. So we can use NBSN95 interrupt interface to detect the status for the door or window.
1183 )))
1184
1185
1186 (((
1187 Below is the installation example:
1188 )))
1189
1190 (((
1191 Fix one piece of the magnetic sensor to the door and connect the two pins to NBSN95 as follows:
1192 )))
1193
1194 * One pin to NBSN95's PB14 pin
1195
1196 * The other pin to NBSN95's VCC pin
1197
1198 (((
1199 Install the other piece to the door. Find a place where the two pieces will be close to each other when the door is closed. For this particular magnetic sensor, when the door is closed, the output will be short, and PB14 will be at the VCC voltage.
1200 )))
1201
1202
1203 (((
1204 **Door sensors have two types:**  NC (Normal close) and NO (Normal Open). The connection for both type sensors are the same. But the decoding for payload is reverse, user need to modify this in the IoT Server decoder.
1205 )))
1206
1207
1208 (((
1209 When door sensor is shorted, there will extra power consumption in the circuit, the extra current is 3v3/R14 = 3v2/1Mohm = 0.3uA which can be ignored.
1210 )))
1211
1212
1213 [[image:image-20220711165615-15.png]]
1214
1215
1216 The above photos shows the two parts of the magnetic switch fitted to a door.
1217
1218
1219 (((
1220 The software by default uses the falling edge on the signal line as an interrupt. We need to modify it to accept both the rising edge (0v ~-~-> VCC , door close) and the falling edge (VCC ~-~-> 0v , door open) as the interrupt.
1221 )))
1222
1223
1224 (((
1225 The command is:
1226 )))
1227
1228 (((
1229 (% style="color:blue" %)**AT+INTMOD=1     ** (%%) ~/~/  (more info about INMOD please refer [[AT Command Manual>>url:http://www.dragino.com/downloads/index.php?dir=NB-IoT/NBSN50/]]).
1230 )))
1231
1232
1233 Below shows some screen captures in TTN:
1234
1235
1236 (((
1237 In MOD=1, user can use the (% style="color:blue" %)**Digital Input & Interrupt** (%%)byte to see the status for door open or close. The Decode is:
1238 )))
1239
1240 * When PB14 is high, the bit8 of this byte is 1.
1241
1242 * When PB14 is low, the bit8 of this byte is 0.
1243
1244 (% style="display:none" %) (%%)
1245
1246 === 2.4.9  I2C Interface (SHT20) ===
1247
1248
1249 (((
1250 The (% style="color:blue" %)**PB6(SDA)**(%%) and (% style="color:blue" %)**PB7(SCK)**(%%) are I2C interface. User can use these pins to connect to an I2C device and get the sensor data.
1251 )))
1252
1253 (((
1254 There is an example to show how to use the I2C interface to connect to the SHT20 Temperature and Humidity Sensor. This is support in [[**AT+CFGMOD=1**>>||anchor="H2.3.1CFGMOD3D128DefaultMode29"]]** (default value).**
1255 )))
1256
1257
1258 (((
1259 Hardware connection for SHT20 is as below: 
1260 )))
1261
1262
1263 [[image:image-20220711170438-16.jpeg]]
1264
1265
1266 The device will be able to get the I2C sensor data now and upload to IoT Server.
1267
1268
1269 [[image:image-20220711170438-17.png]]
1270
1271
1272 Convert the read byte to decimal and divide it by ten.
1273
1274
1275 (% style="color:blue" %)**Example:**
1276
1277 Temperature:  Read:00ec (H) = 236(D)  Value:  236 /10=23.6℃
1278
1279 Humidity:    Read:0295(H)=661(D)    Value:  661 / 10=66.1, So 66.1%
1280
1281
1282 If you want to use other I2C device, please refer the SHT20 part source code as reference.
1283
1284
1285 === 2.4.10  Distance Reading ===
1286
1287
1288 Refer [[Ultrasonic Sensor section>>||anchor="H2.4.11A0UltrasonicSensor"]].
1289
1290
1291 === 2.4.11  Ultrasonic Sensor ===
1292
1293
1294 (((
1295 The NBSN95 firmware supports ultrasonic sensor (with AT+CFGMOD=2) such as SEN0208 from DF-Robot. This Fundamental Principles of this sensor can be found at this link: [[https:~~/~~/wiki.dfrobot.com/Weather_-_proof_Ultrasonic_Sensor_with_Separate_Probe_SKU~~_~~__SEN0208>>url:https://wiki.dfrobot.com/Weather_-_proof_Ultrasonic_Sensor_with_Separate_Probe_SKU___SEN0208]]
1296 )))
1297
1298
1299 (((
1300 The NBSN95 detects the pulse width of the sensor and converts it to mm output. The accuracy will be within 1 centimeter. The usable range (the distance between the ultrasonic probe and the measured object) is between 24cm and 600cm.
1301 )))
1302
1303 The picture below shows the connection:
1304
1305
1306 [[image:image-20220711171223-18.jpeg]]
1307
1308
1309 Connect to the NBSN95 and run [[(% class="wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink" %)**AT+CFGMOD=2**>>||anchor="H2.3.2CFGMOD3D228DistanceMode29"]](%%) to switch to ultrasonic mode (ULT).
1310
1311
1312 **Example:**
1313
1314 Distance:  Read:0155(Hex) = 3410(D)  Value:  3410 mm=341.0 cm
1315
1316 [[image:image-20220711171223-19.png]]
1317
1318
1319 You can see the serial output in ULT mode as below:
1320
1321
1322 [[image:image-20220711171223-20.png]]
1323
1324
1325 === 2.4.12  ​+5V Output ===
1326
1327
1328 (((
1329 Control the output duration 5V . Before each sampling, device will
1330
1331 ~1. first enable the power output to external sensor,
1332
1333 2. keep it on as per duration, read sensor value and construct uplink payload
1334
1335 3. final, close the power output.
1336
1337 **AT Command: AT+5VT**
1338
1339 (% border="1" cellspacing="3" style="width:430px" %)
1340 |=(% style="width: 155px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 191px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 84px;background-color:#4F81BD;color:white" %)**Response**
1341 |(% style="width:155px" %)AT+5VT=?|(% style="width:191px" %)Show 5V open time.|(% style="width:83px" %)(((
1342 0(default)
1343 OK
1344 )))
1345 |(% style="width:155px" %)AT+5VT=1000|(% style="width:191px" %)(((
1346 Close after a delay of 1000 milliseconds.
1347 )))|(% style="width:83px" %)OK
1348 )))
1349
1350
1351 === 2.4.13  Weigh Sensor HX711 ===
1352
1353
1354 NBSN95 supports Weigh Sensor HX711. See [[this link>>||anchor="H2.3.5CFGMOD3D528WeightMeasurementbyHX71129"]] for instruction.
1355
1356
1357 === 2.4.14  Timestamp ===
1358
1359
1360 From the v1.2.0 version, the timestamp will be added after each upload link.
1361
1362
1363 The time of the timestamp is based on the time in time zone 0.
1364
1365 Such as: 0x60da837e = 1624933246 = 2021-06-29 2:20:46+32(Beijing time)
1366
1367
1368 User can get this time from link:  [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] :
1369
1370 Below is the converter example
1371
1372
1373 [[image:image-20220711171448-21.png||height="443" width="1069"]]
1374
1375
1376 == 2.5  Downlink Payload ==
1377
1378
1379 By default, NBSN95 prints the downlink payload to console port.
1380
1381 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
1382 |(% style="background-color:#4f81bd; color:white; width:184px" %)(((
1383 **Downlink Control Type**
1384 )))|(% style="background-color:#4f81bd; color:white; width:76px" %)**FPort**|(% style="background-color:#4f81bd; color:white; width:98px" %)**Type Code**|(% style="background-color:#4f81bd; color:white; width:152px" %)**Downlink payload size(bytes)**
1385 |(% style="width:184px" %)TDC (Transmit Time Interval)|(% style="width:76px" %)Any|(% style="width:98px" %)01|(% style="width:150px" %)4
1386 |(% style="width:184px" %)RESET|(% style="width:76px" %)Any|(% style="width:98px" %)04|(% style="width:150px" %)2
1387 |(% style="width:184px" %)INTMOD|(% style="width:76px" %)Any|(% style="width:98px" %)06|(% style="width:150px" %)4
1388 |(% style="width:184px" %)RESET THE FACTORY DEFAULT|(% style="width:76px" %)Any|(% style="width:98px" %)04|(% style="width:150px" %)2
1389
1390 (((
1391 (% style="color:blue" %)**Examples:**
1392 )))
1393
1394
1395 * (((
1396 (% style="color:blue" %)**Set TDC**
1397 )))
1398
1399 (((
1400 If the payload=0100003C, it means set the END Node's TDC to 0x00003C=60(S), while type code is 01.
1401 )))
1402
1403 (((
1404 Payload:    01 00 00 1E    TDC=30S
1405 )))
1406
1407 (((
1408 Payload:    01 00 00 3C    TDC=60S
1409 )))
1410
1411 (((
1412
1413 )))
1414
1415 * (((
1416 (% style="color:blue" %)**Reset**
1417 )))
1418
1419 (((
1420 If payload = 0x04FF, it will reset the NBSN95
1421 )))
1422
1423
1424 * (% style="color:blue" %)**INTMOD**
1425
1426 (((
1427 Downlink Payload: 06000003, Set AT+INTMOD=3
1428 )))
1429
1430
1431 * (% style="color:blue" %)**Reset to factory default**
1432
1433 (((
1434 Downlink Payload: 0x04FE, it will reset the factory default of  NBSN95
1435
1436
1437 )))
1438
1439 == 2.6  ​Firmware Change Log ==
1440
1441
1442 Download URL & Firmware Change log:  [[https:~~/~~/www.dropbox.com/sh/heyfnuod8qwwcm0/AACjmliw8Aeb9tYc74YoE9Qra?dl=0>>https://www.dropbox.com/sh/heyfnuod8qwwcm0/AACjmliw8Aeb9tYc74YoE9Qra?dl=0]]
1443
1444 (((
1445 Upgrade Instruction: [[Upgrade Firmware>>||anchor="H6.1200BHowtoUpgradeFirmware"]]
1446 )))
1447
1448
1449 == 2.7  Use VDD or +5V to Power External Sensor ==
1450
1451
1452 User can use VDD or +5V to power external sensor.
1453
1454
1455 (% style="color:red" %)**Note:**
1456
1457 ~1. VDD is 2.5~~3.3v from the battery + diode, the VDD is always on, so when use VDD to power external sensor, make sure the sensor has a low power consumption in sleep mode ( less 50 uA) to get a long battery life.
1458
1459 2. +5V output is only ON when sampling. And MCU will turn off it after sampling. So if sensor can support 5v, +5V out is the best choice. [[See here for more info>>||anchor="H2.4.12A0200B2B5VOutput"]].
1460
1461 (((
1462 (% style="color:red" %)**Note: Always test the actually current pass by the JP2 jumper when connect to a new type of sensor.**
1463 )))
1464
1465
1466 == 2.8 Battery & Power Consumption ==
1467
1468
1469 NBSN95 uses ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace.
1470
1471 [[**Battery Info & Power Consumption Analyze**>>url:http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] .
1472
1473
1474 = 3. ​ Access NB-IoT Module =
1475
1476
1477 (((
1478 Users can directly access the AT command set of the NB-IoT module.
1479
1480 (((
1481 The AT Command set can refer the BC95-G AT Command: [[https:~~/~~/www.dragino.com/downloads/index.php?dir=datasheet/other_vendors/BC95-G/>>url:https://www.dragino.com/downloads/index.php?dir=datasheet/other_vendors/BC95-G/]]
1482 )))
1483
1484
1485 )))
1486
1487 [[image:1657531951422-179.png]]
1488
1489
1490 = 4.  Using the AT Commands =
1491
1492 == 4.1  Access AT Commands ==
1493
1494
1495 See this link for detail: [[https:~~/~~/www.dropbox.com/sh/jao1xt9kw5r3yq4/AAAMpJkZzExF2JLbRWxGoQ9Na?dl=0>>https://www.dropbox.com/sh/jao1xt9kw5r3yq4/AAAMpJkZzExF2JLbRWxGoQ9Na?dl=0]]
1496
1497
1498 AT+<CMD>?  : Help on <CMD>
1499
1500 AT+<CMD>         : Run <CMD>
1501
1502 AT+<CMD>=<value> : Set the value
1503
1504 AT+<CMD>=?  : Get the value
1505
1506
1507 (% style="color:#037691" %)**General Commands**(%%)      
1508
1509 AT  : Attention       
1510
1511 AT?  : Short Help     
1512
1513 ATZ  : MCU Reset    
1514
1515 AT+TDC  : Application Data Transmission Interval
1516
1517 AT+CFG  : Print all configurations
1518
1519 AT+CFGMOD           : Working mode selection
1520
1521 AT+INTMOD            : Set the trigger interrupt mode
1522
1523 AT+5VT  : Set extend the time of 5V power  
1524
1525 AT+PRO  : Choose agreement
1526
1527 AT+WEIGRE  : Get weight or set weight to 0
1528
1529 AT+WEIGAP  : Get or Set the GapValue of weight
1530
1531 AT+RXDL  : Extend the sending and receiving time
1532
1533 AT+CNTFAC  : Get or set counting parameters
1534
1535 AT+SERVADDR  : Server Address
1536
1537 AT+GETSENSORVALUE   : Returns the current sensor measurement
1538
1539 AT+CUM  : Get or Set cache upload mechanism (0: Off 1: On)
1540
1541 (% style="color:#037691" %)**COAP Management**      
1542
1543 AT+URI            : Resource parameters
1544
1545
1546 (% style="color:#037691" %)**MQTT Management**
1547
1548 AT+CLIENT               : Get or Set MQTT client
1549
1550 AT+UNAME  : Get or Set MQTT Username
1551
1552 AT+PWD                  : Get or Set MQTT password
1553
1554 AT+PUBTOPIC  : Get or Set MQTT publish topic
1555
1556 AT+SUBTOPIC  : Get or Set MQTT subscription topic
1557
1558
1559 (% style="color:#037691" %)**Information** 
1560
1561 AT+LDATA  : Get the last upload data
1562
1563 AT+CDP  : Read or Clear cached data(% style="color:#037691" %)       
1564
1565 AT+FDR  : Factory Data Reset
1566
1567 AT+PWORD  : Serial Access Password
1568
1569
1570 = 5.  Developer Guide =
1571
1572 == 5.1  Get and compile Software ==
1573
1574
1575 NBSN95 is an open-source project, developer can compile their firmware for customized applications. User can get the source code from:
1576
1577 * Software Source Code: [[https:~~/~~/github.com/dragino/NBSN95>>url:https://github.com/dragino/NBSN95]]
1578 * Compile instruction:  [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Firmware%20Compile%20Instruction%20~~-~~-%20STM32/>>http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20Compile%20Instruction%20--%20STM32/]]
1579 * Upgrade firmware instruction
1580
1581 (((
1582 See FAQ of this file.
1583 )))
1584
1585
1586 (((
1587 The project file is in: (% style="color:#4472c4" %)** NBSN95-95.v1.0.0\NBSN95-95.v1.0.0\MDK-ARM\NBSN95-95.v1.0.0.uvprojx**
1588 )))
1589
1590
1591 == 5.2  Get hardware source ==
1592
1593
1594 NBSN95 are the compose of two PCB modules:
1595
1596 1.  Mother board:  [[LoRa ST Sensor node mother board>>url:https://github.com/dragino/Lora/tree/master/LSN50/v2.0]].
1597
1598 2.  NB-IoT Module: [[https:~~/~~/github.com/dragino/NB-IoT/tree/master/NB%20ST/BC95>>url:https://github.com/dragino/NB-IoT/tree/master/NB%20ST/BC95]]
1599
1600
1601 = ​6.  FAQ =
1602
1603 == 6.1 ​ How to Upgrade Firmware ==
1604
1605
1606 (((
1607 User can upgrade the firmware for 1) bug fix, 2) new feature release.
1608 )))
1609
1610 (((
1611 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]]
1612 )))
1613
1614 (((
1615 (% style="color:red" %)**Notice, NBSN95 and LSN50v2 share the same mother board. They use the same connection and method to update.**
1616 )))
1617
1618
1619 = 7.  Trouble Shooting =
1620
1621 == 7.1  ​Connection problem when uploading firmware ==
1622
1623
1624 (((
1625 **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]]
1626 )))
1627
1628
1629 == 7.2  AT Command input doesn't work ==
1630
1631
1632 (((
1633 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.
1634 )))
1635
1636
1637 == 7.3 Not able to connect to NB-IoT network and keep showing "Signal Strength:99". ==
1638
1639
1640 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]]//**.
1641
1642
1643 = 8. ​ Order Info =
1644
1645
1646 Part Number:
1647
1648 (% style="color:blue" %)**NBSN95-YY (Base on BC95-G)**
1649
1650 **or**
1651
1652 (% style="color:blue" %)**NBSN95A-YY(Base on BC35-G)**
1653
1654
1655 (% style="color:blue" %)**YY:**
1656
1657 * (% style="color:red" %)**12**(%%):  With M12 waterproof cable hole
1658 * (% style="color:red" %)**16**(%%):  With M16 waterproof cable hole
1659 * (% style="color:red" %)**NH**(%%): No Hole
1660
1661 (% style="display:none" %) (%%)
1662
1663 = 9.  Packing Info =
1664
1665
1666 (((
1667 (% style="color:#037691" %)**Package Includes**:
1668
1669 * NBSN95 NB-IoT Sensor Node x 1
1670 * External antenna x 1
1671 )))
1672
1673
1674 (((
1675 (% style="color:#037691" %)**Dimension and weight**:
1676
1677 * Device Size: 13.0 x 5 x 4.5 cm
1678 * Device Weight: 150g
1679 * Package Size / pcs : 14.0 x 8x 5 cm
1680 * Weight / pcs : 180g
1681 )))
1682
1683 (% style="display:none" %) (%%)
1684
1685
1686 = 10.  Support =
1687
1688
1689 * 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.
1690
1691 * 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]]
1692
1693
Copyright ©2010-2022 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0