Show last authors
1 (% style="text-align:center" %)
2 [[image:1657509006180-251.png]]
3
4
5
6
7
8
9
10
11
12
13 **Table of Contents:**
14
15
16
17
18
19
20
21 = 1.  Introduction =
22
23 == 1.1 ​ What is LoRaWAN Soil Moisture & EC Sensor ==
24
25
26 (((
27 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.
28
29
30 (% 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.
31
32
33 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.
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 [[image:1657509740279-435.png]]
41
42
43
44
45 == 1.2 ​ Features ==
46
47 * STM32L072CZT6 MCU
48 * NB-IoT Bands: B1/B3/B8/B5/B20/B28 @H-FDD
49 * Pre-load bootloader on USART1/USART2
50 * MDK-ARM Version 5.24a IDE
51 * I2C, LPUSART1, USB, SPI2
52 * 3x12bit ADC, 1x12bit DAC
53 * 20xDigital I/O
54 * Open-source hardware / software
55 * IP66 Waterproof Enclosure
56 * Ultra-Low Power consumption
57 * AT Commands to change parameters
58 * Micro SIM card slot for NB-IoT SIM
59 * 8500mAh Battery for long term use
60
61
62 == 1.3  Specification ==
63
64
65 (% style="color:#037691" %)**Micro Controller:**
66
67 * STM32L072CZT6 MCU
68 * MCU: STM32L072CZT6
69 * Flash: 192KB
70 * RAM: 20KB
71 * EEPROM: 6KB
72 * Clock Speed: 32Mhz
73
74 (% style="color:#037691" %)**Common DC Characteristics:**
75
76 * Supply Voltage: 2.1v ~~ 3.6v
77 * Operating Temperature: -40 ~~ 85°C
78 * I/O pins: Refer to STM32L072 datasheet
79
80 (% style="color:#037691" %)**NB-IoT Spec:**
81
82 * - B1 @H-FDD: 2100MHz
83 * - B3 @H-FDD: 1800MHz
84 * - B8 @H-FDD: 900MHz
85 * - B5 @H-FDD: 850MHz
86 * - B20 @H-FDD: 800MHz
87 * - B28 @H-FDD: 700MHz
88
89 (% style="color:#037691" %)**Battery:**
90
91 * Li/SOCI2 un-chargeable battery
92 * Capacity: 8500mAh
93 * Self Discharge: <1% / Year @ 25°C
94 * Max continuously current: 130mA
95 * Max boost current: 2A, 1 second
96
97 (% style="color:#037691" %)**Power Consumption**
98
99 * STOP Mode: 10uA @ 3.3v
100 * Max transmit power: 350mA@3.3v
101
102
103 == ​1.4  Applications ==
104
105 * Smart Buildings & Home Automation
106 * Logistics and Supply Chain Management
107 * Smart Metering
108 * Smart Agriculture
109 * Smart Cities
110 * Smart Factory
111
112 (% class="wikigeneratedid" id="H200B1.5FirmwareChangelog" %)
113
114
115
116 == 1.5  Pin Definitions & Switch ==
117
118
119 [[image:1657510398618-181.png]]
120
121 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:520px" %)
122 |=(% style="width: 30px;" %)**No.**|=(% style="width: 70px;" %)**Signal**|=(% style="width: 60px;" %)**Direction**|=(% style="width: 180px;" %)**Function**|=(% style="width: 180px;" %)**Remark**
123 |(% 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
124 |(% 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
125 |(% style="width:44px" %)3|(% style="width:86px" %)PA1|(% style="width:84px" %)In/Out|(% style="width:322px" %)Directly from STM32 chip|(% style="width:296px" %)
126 |(% 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
127 |(% 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
128 |(% 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" %)
129 |(% 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" %)
130 |(% 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" %)
131 |(% style="width:44px" %)9|(% style="width:86px" %)PB4|(% style="width:84px" %)In/Out|(% style="width:322px" %)Directly from STM32 chip|(% style="width:296px" %)
132 |(% 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" %)
133 |(% 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" %)
134 |(% style="width:44px" %)12|(% style="width:86px" %)GND|(% style="width:84px" %) |(% style="width:322px" %)Ground|(% style="width:296px" %)
135 |(% 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
136 |(% style="width:44px" %)14|(% style="width:86px" %)Jumper|(% style="width:84px" %) |(% style="width:322px" %)Power on/off jumper|(% style="width:296px" %)
137 |(% style="width:44px" %)15|(% style="width:86px" %)PA4|(% style="width:84px" %)In/Out|(% style="width:322px" %)Directly from STM32 chip|(% style="width:296px" %)
138 |(% style="width:44px" %)16|(% style="width:86px" %)NRST|(% style="width:84px" %)In|(% style="width:322px" %)Reset MCU|(% style="width:296px" %)
139 |(% style="width:44px" %)17|(% style="width:86px" %)PA12|(% style="width:84px" %)In/Out|(% style="width:322px" %)Directly from STM32 chip|(% style="width:296px" %)
140 |(% style="width:44px" %)18|(% style="width:86px" %)PA11|(% style="width:84px" %)In/Out|(% style="width:322px" %)Directly from STM32 chip|(% style="width:296px" %)
141 |(% style="width:44px" %)19|(% style="width:86px" %)PA14|(% style="width:84px" %)In/Out|(% style="width:322px" %)Directly from STM32 chip|(% style="width:296px" %)
142 |(% style="width:44px" %)20|(% style="width:86px" %)PB13|(% style="width:84px" %)In/Out|(% style="width:322px" %)Directly from STM32 chip|(% style="width:296px" %)
143 |(% style="width:44px" %)21|(% style="width:86px" %)PB12|(% style="width:84px" %)In/Out|(% style="width:322px" %)Directly from STM32 chip|(% style="width:296px" %)
144 |(% style="width:44px" %)22|(% style="width:86px" %)PB15|(% style="width:84px" %)In/Out|(% style="width:322px" %)Directly from STM32 chip|(% style="width:296px" %)
145 |(% style="width:44px" %)23|(% style="width:86px" %)PB14|(% style="width:84px" %)In/Out|(% style="width:322px" %)Directly from STM32 chip|(% style="width:296px" %)
146 |(% style="width:44px" %)24|(% style="width:86px" %)PA13|(% style="width:84px" %)In/Out|(% style="width:322px" %)Directly from STM32 chip|(% style="width:296px" %)
147 |(% 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
148 |(% style="width:44px" %)26|(% style="width:86px" %)GND|(% style="width:84px" %) |(% style="width:322px" %)Ground|(% style="width:296px" %)
149 |(% 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)
150 |(% style="width:44px" %)28|(% style="width:86px" %)LED1|(% style="width:84px" %) |(% style="width:322px" %)Controlled by PA8|(% style="width:296px" %)Blink on transmit
151 |(% 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" %)(((
152 (((
153 Flash: Normal Working mode and send AT Commands
154 )))
155
156 (((
157 ISP: UART Program Mode
158 )))
159 )))
160 |(% style="width:44px" %)30|(% style="width:86px" %)NRST|(% style="width:84px" %)In|(% style="width:322px" %)Reset MCU|(% style="width:296px" %)
161
162
163
164 === 1.5.1 Jumper JP2 ===
165
166 Power on Device when put this jumper.
167
168
169 === 1.5.2 BOOT MODE / SW1 ===
170
171 (((
172 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.
173 )))
174
175 (((
176 2) Flash: work mode, device starts to work and send out console output for further debug
177 )))
178
179
180 === 1.5.3 Reset Button ===
181
182 Press to reboot the device.
183
184
185 === 1.5.4 LED ===
186
187 It will flash:
188
189 1. When boot the device in flash mode
190 1. Send an uplink packet
191
192
193
194
195 == 1.6 Hole Option ==
196
197 The NBSN95 provides different hole size options for different size sensor cable. The options provided are M12, M16. The definition is as below:
198
199 [[image:image-20220711135811-1.png]]
200
201
202 [[image:1657519103007-447.png]]
203
204
205
206 = 2.  Use NBSN95 to communicate with IoT Server =
207
208 == 2.1  How it works ==
209
210 (((
211 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.
212 )))
213
214
215 (((
216 The diagram below shows the working flow in default firmware of NBSN95:
217 )))
218
219 [[image:image-20220711135919-2.png]]
220
221
222
223 == 2.2 ​ Configure the NBSN95 ==
224
225
226 === 2.2.1  Power On NBSN95 ===
227
228 [[image:1657519498925-521.png]]
229
230
231 === 2.2.2  Test Requirement ===
232
233
234 (((
235 To use NBSN95 in your city, make sure meet below requirements:
236 )))
237
238 * Your local operator has already distributed a NB-IoT Network there.
239 * The local NB-IoT network used the band that NBSN95 supports.
240 * Your operator is able to distribute the data received in their NB-IoT network to your IoT server.
241
242 (((
243 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
244 )))
245
246
247 [[image:1657519549982-889.png]]
248
249
250
251 === 2.2.3  Insert SIM card ===
252
253 (((
254 Insert the NB-IoT Card get from your provider.
255 )))
256
257 (((
258 User need to take out the NB-IoT module and insert the SIM card like below:
259 )))
260
261
262 [[image:1657249468462-536.png]]
263
264
265
266 === 2.2.4  Connect USB – TTL to NBSN95 to configure it ===
267
268 (((
269 (((
270 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.
271 )))
272 )))
273
274 [[image:1657520237594-636.png]]
275
276
277 In the PC, use below serial tool settings:
278
279 * Baud:  (% style="color:green" %)**9600**
280 * Data bits:** (% style="color:green" %)8(%%)**
281 * Stop bits: (% style="color:green" %)**1**
282 * Parity:  (% style="color:green" %)**None**
283 * Flow Control: (% style="color:green" %)**None**
284
285 (((
286 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.
287 )))
288
289 [[image:1657520459085-315.png]]
290
291 (((
292 (% style="color:red" %)Note: the valid AT Commands can be found at:  (%%)[[https:~~/~~/www.dragino.com/downloads/index.php?dir=NB-IoT/NBSN95/>>url:https://www.dragino.com/downloads/index.php?dir=NB-IoT/NBSN95/]]
293 )))
294
295
296
297 === 2.2.5  Use CoAP protocol to uplink data ===
298
299 (% 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/]]
300
301
302 **Use below commands:**
303
304 * (% style="color:blue" %)**AT+PRO=1**  (%%) ~/~/ Set to use CoAP protocol to uplink
305 * (% style="color:blue" %)**AT+SERVADDR=120.24.4.116,5683   ** (%%)~/~/ to set CoAP server address and port
306 * (% style="color:blue" %)**AT+URI=5,11,"mqtt",11,"coap",12,"0",15,"c=text1",23,"0" ** (%%) ~/~/Set COAP resource path
307
308 For parameter description, please refer to AT command set
309
310 [[image:1657249793983-486.png]]
311
312
313 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.
314
315 [[image:1657522754681-536.png]]
316
317
318
319 === 2.2.6  Use UDP protocol to uplink data(Default protocol) ===
320
321 This feature is supported since firmware version v1.0.1
322
323
324 * (% style="color:blue" %)**AT+PRO=2   ** (%%) ~/~/ Set to use UDP protocol to uplink
325 * (% style="color:blue" %)**AT+SERVADDR=120.24.4.116,5601   ** (%%) ~/~/ to set UDP server address and port
326 * (% style="color:blue" %)**AT+CFM=1       ** (%%) ~/~/If the server does not respond, this command is unnecessary
327
328 [[image:1657249864775-321.png]]
329
330
331 [[image:1657249930215-289.png]]
332
333
334
335 === 2.2.6 Use MQTT protocol to uplink data ===
336
337 This feature is supported since firmware version v110
338
339
340 * (% style="color:blue" %)**AT+PRO=3   ** (%%) ~/~/Set to use MQTT protocol to uplink
341 * (% style="color:blue" %)**AT+SERVADDR=120.24.4.116,1883   ** (%%) ~/~/Set MQTT server address and port
342 * (% style="color:blue" %)**AT+CLIENT=CLIENT       ** (%%)~/~/Set up the CLIENT of MQTT
343 * (% style="color:blue" %)**AT+UNAME=UNAME                               **(%%)~/~/Set the username of MQTT
344 * (% style="color:blue" %)**AT+PWD=PWD                                        **(%%)~/~/Set the password of MQTT
345 * (% style="color:blue" %)**AT+PUBTOPIC=NSE01_PUB                    **(%%)~/~/Set the sending topic of MQTT
346 * (% style="color:blue" %)**AT+SUBTOPIC=NSE01_SUB          **(%%) ~/~/Set the subscription topic of MQTT
347
348 [[image:1657249978444-674.png]]
349
350
351 [[image:1657249990869-686.png]]
352
353
354 (((
355 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.
356 )))
357
358
359
360 === 2.2.7 Use TCP protocol to uplink data ===
361
362 This feature is supported since firmware version v110
363
364
365 * (% style="color:blue" %)**AT+PRO=4   ** (%%) ~/~/ Set to use TCP protocol to uplink
366 * (% style="color:blue" %)**AT+SERVADDR=120.24.4.116,5600   **(%%) ~/~/ to set TCP server address and port
367
368 [[image:1657250217799-140.png]]
369
370
371 [[image:1657250255956-604.png]]
372
373
374
375 === 2.2.8 Change Update Interval ===
376
377 User can use below command to change the (% style="color:green" %)**uplink interval**.
378
379 * (% style="color:blue" %)**AT+TDC=600      ** (%%)~/~/ Set Update Interval to 600s
380
381 (((
382 (% style="color:red" %)**NOTE:**
383 )))
384
385 (((
386 (% style="color:red" %)1. By default, the device will send an uplink message every 1 hour.
387 )))
388
389
390
391 == 2.3  Uplink Payload ==
392
393 In this mode, uplink payload includes in total 18 bytes
394
395 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:510px" %)
396 |=(% style="width: 60px;" %)(((
397 **Size(bytes)**
398 )))|=(% style="width: 50px;" %)**6**|=(% style="width: 25px;" %)2|=(% style="width: 25px;" %)**2**|=(% style="width: 70px;" %)**1**|=(% style="width: 60px;" %)**2**|=(% style="width: 80px;" %)**2**|=(% style="width: 90px;" %)**2**|=(% style="width: 50px;" %)**1**
399 |(% style="width:97px" %)**Value**|(% style="width:83px" %)[[Device ID>>||anchor="H2.4.1A0A0DeviceID"]]|(% style="width:41px" %)[[Ver>>||anchor="H2.4.2A0VersionInfo"]]|(% style="width:46px" %)[[BAT>>||anchor="H2.4.3A0BatteryInfo"]]|(% style="width:123px" %)[[Signal Strength>>||anchor="H2.4.4A0SignalStrength"]]|(% style="width:108px" %)[[Soil Moisture>>||anchor="H2.4.5A0SoilMoisture"]]|(% style="width:133px" %)[[Soil Temperature>>||anchor="H2.4.6A0SoilTemperature"]]|(% style="width:159px" %)[[Soil Conductivity(EC)>>||anchor="H2.4.7A0SoilConductivity28EC29"]]|(% style="width:80px" %)[[Interrupt>>||anchor="H2.4.8A0DigitalInterrupt"]]
400
401 (((
402 If we use the MQTT client to subscribe to this MQTT topic, we can see the following information when the NSE01 uplink data.
403 )))
404
405
406 [[image:image-20220708111918-4.png]]
407
408
409 The payload is ASCII string, representative same HEX:
410
411 0x72403155615900640c7817075e0a8c02f900 where:
412
413 * Device ID: 0x 724031556159 = 724031556159
414 * Version: 0x0064=100=1.0.0
415
416 * BAT: 0x0c78 = 3192 mV = 3.192V
417 * Singal: 0x17 = 23
418 * Soil Moisture: 0x075e= 1886 = 18.86  %
419 * Soil Temperature:0x0a8c =2700=27 °C
420 * Soil Conductivity(EC) = 0x02f9 =761 uS /cm
421 * Interrupt: 0x00 = 0
422
423 == 2.4  Payload Explanation and Sensor Interface ==
424
425
426 === 2.4.1  Device ID ===
427
428 (((
429 By default, the Device ID equal to the last 6 bytes of IMEI.
430 )))
431
432 (((
433 User can use (% style="color:blue" %)**AT+DEUI**(%%) to set Device ID
434 )))
435
436 (((
437 **Example:**
438 )))
439
440 (((
441 AT+DEUI=A84041F15612
442 )))
443
444 (((
445 The Device ID is stored in a none-erase area, Upgrade the firmware or run AT+FDR won't erase Device ID.
446 )))
447
448
449
450 === 2.4.2  Version Info ===
451
452 (((
453 Specify the software version: 0x64=100, means firmware version 1.00.
454 )))
455
456 (((
457 For example: 0x00 64 : this device is NSE01 with firmware version 1.0.0.
458 )))
459
460
461
462 === 2.4.3  Battery Info ===
463
464 (((
465 Check the battery voltage for LSE01.
466 )))
467
468 (((
469 Ex1: 0x0B45 = 2885mV
470 )))
471
472 (((
473 Ex2: 0x0B49 = 2889mV
474 )))
475
476
477
478 === 2.4.4  Signal Strength ===
479
480 (((
481 NB-IoT Network signal Strength.
482 )))
483
484 (((
485 **Ex1: 0x1d = 29**
486 )))
487
488 (((
489 (% style="color:blue" %)**0**(%%)  -113dBm or less
490 )))
491
492 (((
493 (% style="color:blue" %)**1**(%%)  -111dBm
494 )))
495
496 (((
497 (% style="color:blue" %)**2...30**(%%) -109dBm... -53dBm
498 )))
499
500 (((
501 (% style="color:blue" %)**31**  (%%) -51dBm or greater
502 )))
503
504 (((
505 (% style="color:blue" %)**99**   (%%) Not known or not detectable
506 )))
507
508
509
510 === 2.4.5  Soil Moisture ===
511
512 (((
513 (((
514 Get the moisture content of the soil. The value range of the register is 0-10000(Decimal), divide this value by 100 to get the percentage of moisture in the soil.
515 )))
516 )))
517
518 (((
519 (((
520 For example, if the data you get from the register is **__0x05 0xDC__**, the moisture content in the soil is
521 )))
522 )))
523
524 (((
525
526 )))
527
528 (((
529 (% style="color:#4f81bd" %)**05DC(H) = 1500(D) /100 = 15%.**
530 )))
531
532
533
534 === 2.4.6  Soil Temperature ===
535
536 (((
537 Get the temperature in the soil. The value range of the register is -4000 - +800(Decimal), divide this value by 100 to get the temperature in the soil. For example, if the data you get from the register is __**0x09 0xEC**__, the temperature content in the soil is
538 )))
539
540 (((
541 **Example**:
542 )))
543
544 (((
545 If payload is 0105H: ((0x0105 & 0x8000)>>15 === 0),temp = 0105(H)/100 = 2.61 °C
546 )))
547
548 (((
549 If payload is FF7EH: ((FF7E & 0x8000)>>15 ===1),temp = (FF7E(H)-FFFF(H))/100 = -1.29 °C
550 )))
551
552
553
554 === 2.4.7  Soil Conductivity (EC) ===
555
556 (((
557 Obtain (% style="color:#4f81bd" %)**__soluble salt concentration__**(%%) in soil or (% style="color:#4f81bd" %)**__soluble ion concentration in liquid fertilizer__**(%%) or (% style="color:#4f81bd" %)**__planting medium__**(%%). The value range of the register is 0 - 20000(Decimal)( Can be greater than 20000).
558 )))
559
560 (((
561 For example, if the data you get from the register is __**0x00 0xC8**__, the soil conductivity is 00C8(H) = 200(D) = 200 uS/cm.
562 )))
563
564 (((
565 Generally, the EC value of irrigation water is less than 800uS / cm.
566 )))
567
568 (((
569
570 )))
571
572 (((
573
574 )))
575
576 === 2.4.8  Digital Interrupt ===
577
578 (((
579 Digital Interrupt refers to pin (% style="color:blue" %)**GPIO_EXTI**(%%), and there are different trigger methods. When there is a trigger, the NSE01 will send a packet to the server.
580 )))
581
582 (((
583 The command is:
584 )))
585
586 (((
587 (% style="color:blue" %)**AT+INTMOD=3 **(%%) ~/~/(more info about INMOD please refer [[**AT Command Manual**>>url:https://www.dragino.com/downloads/downloads/NB-IoT/NBSN95/DRAGINO_NBSN95-NB_AT%20Commands_v1.1.0.pdf]])**.**
588 )))
589
590
591 (((
592 The lower four bits of this data field shows if this packet is generated by interrupt or not. Click here for the hardware and software set up.
593 )))
594
595
596 (((
597 Example:
598 )))
599
600 (((
601 0x(00): Normal uplink packet.
602 )))
603
604 (((
605 0x(01): Interrupt Uplink Packet.
606 )))
607
608
609
610 === 2.4.9  ​+5V Output ===
611
612 (((
613 NSE01 will enable +5V output before all sampling and disable the +5v after all sampling. 
614 )))
615
616
617 (((
618 The 5V output time can be controlled by AT Command.
619 )))
620
621 (((
622 (% style="color:blue" %)**AT+5VT=1000**
623 )))
624
625 (((
626 Means set 5V valid time to have 1000ms. So the real 5V output will actually have 1000ms + sampling time for other sensors.
627 )))
628
629
630
631 == 2.5  Downlink Payload ==
632
633 By default, NSE01 prints the downlink payload to console port.
634
635 [[image:image-20220708133731-5.png]]
636
637
638 (((
639 (% style="color:blue" %)**Examples:**
640 )))
641
642 (((
643
644 )))
645
646 * (((
647 (% style="color:blue" %)**Set TDC**
648 )))
649
650 (((
651 If the payload=0100003C, it means set the END Node's TDC to 0x00003C=60(S), while type code is 01.
652 )))
653
654 (((
655 Payload:    01 00 00 1E    TDC=30S
656 )))
657
658 (((
659 Payload:    01 00 00 3C    TDC=60S
660 )))
661
662 (((
663
664 )))
665
666 * (((
667 (% style="color:blue" %)**Reset**
668 )))
669
670 (((
671 If payload = 0x04FF, it will reset the NSE01
672 )))
673
674
675 * (% style="color:blue" %)**INTMOD**
676
677 (((
678 Downlink Payload: 06000003, Set AT+INTMOD=3
679 )))
680
681
682
683 == 2.6  ​LED Indicator ==
684
685 (((
686 The NSE01 has an internal LED which is to show the status of different state.
687
688
689 * When power on, NSE01 will detect if sensor probe is connected, if probe detected, LED will blink four times. (no blinks in this step is no probe)
690 * Then the LED will be on for 1 second means device is boot normally.
691 * After NSE01 join NB-IoT network. The LED will be ON for 3 seconds.
692 * For each uplink probe, LED will be on for 500ms.
693 )))
694
695
696
697
698 == 2.7  Installation in Soil ==
699
700 __**Measurement the soil surface**__
701
702 (((
703 Choose the proper measuring position. Avoid the probe to touch rocks or hard things. Split the surface soil according to the measured deep. Keep the measured as original density. Vertical insert the probe into the soil to be measured. Make sure not shake when inserting. [[https:~~/~~/img.alicdn.com/imgextra/i3/2005165265/O1CN010rj9Oh1olPsQxrdUK_!!2005165265.jpg>>url:https://img.alicdn.com/imgextra/i3/2005165265/O1CN010rj9Oh1olPsQxrdUK_!!2005165265.jpg]]
704 )))
705
706 [[image:1657259653666-883.png]] ​
707
708
709 (((
710
711
712 (((
713 Dig a hole with diameter > 20CM.
714 )))
715
716 (((
717 Horizontal insert the probe to the soil and fill the hole for long term measurement.
718 )))
719 )))
720
721 [[image:1654506665940-119.png]]
722
723 (((
724
725 )))
726
727
728 == 2.8  ​Firmware Change Log ==
729
730
731 Download URL & Firmware Change log
732
733 (((
734 [[https:~~/~~/www.dragino.com/downloads/index.php?dir=NB-IoT/NSE01/firmware/>>https://www.dragino.com/downloads/index.php?dir=NB-IoT/NSE01/firmware/]]
735 )))
736
737
738 Upgrade Instruction: [[Upgrade_Firmware>>||anchor="H5.1200BHowtoUpgradeFirmware"]]
739
740
741
742 == 2.9  ​Battery Analysis ==
743
744 === 2.9.1  ​Battery Type ===
745
746
747 (((
748 The NSE01 battery is a combination of an 8500mAh Li/SOCI2 Battery and a Super Capacitor. The battery is none-rechargeable battery type with a low discharge rate (<2% per year). This type of battery is commonly used in IoT devices such as water meter.
749 )))
750
751
752 (((
753 The battery is designed to last for several years depends on the actually use environment and update interval. 
754 )))
755
756
757 (((
758 The battery related documents as below:
759 )))
760
761 * [[Battery Dimension>>http://www.dragino.com/downloads/index.php?dir=datasheet/Battery/ER26500/]]
762 * [[Lithium-Thionyl Chloride Battery datasheet>>http://www.dragino.com/downloads/index.php?dir=datasheet/Battery/ER26500/]]
763 * [[Lithium-ion Battery-Capacitor datasheet>>http://www.dragino.com/downloads/index.php?dir=datasheet/Battery/ER26500/]]
764
765 (((
766 [[image:image-20220708140453-6.png]]
767 )))
768
769
770
771 === 2.9.2  Power consumption Analyze ===
772
773 (((
774 Dragino battery powered product are all runs in Low Power mode. We have an update battery calculator which base on the measurement of the real device. User can use this calculator to check the battery life and calculate the battery life if want to use different transmit interval.
775 )))
776
777
778 (((
779 Instruction to use as below:
780 )))
781
782 (((
783 (% style="color:blue" %)**Step 1:  **(%%)Downlink the up-to-date DRAGINO_Battery_Life_Prediction_Table.xlsx from: [[https:~~/~~/www.dragino.com/downloads/index.php?dir=LoRa_End_Node/Battery_Analyze/>>url:https://www.dragino.com/downloads/index.php?dir=LoRa_End_Node/Battery_Analyze/]]
784 )))
785
786
787 (((
788 (% style="color:blue" %)**Step 2: **(%%) Open it and choose
789 )))
790
791 * (((
792 Product Model
793 )))
794 * (((
795 Uplink Interval
796 )))
797 * (((
798 Working Mode
799 )))
800
801 (((
802 And the Life expectation in difference case will be shown on the right.
803 )))
804
805 [[image:image-20220708141352-7.jpeg]]
806
807
808
809 === 2.9.3  ​Battery Note ===
810
811 (((
812 The Li-SICO battery is designed for small current / long period application. It is not good to use a high current, short period transmit method. The recommended minimum period for use of this battery is 5 minutes. If you use a shorter period time to transmit LoRa, then the battery life may be decreased.
813 )))
814
815
816
817 === 2.9.4  Replace the battery ===
818
819 (((
820 The default battery pack of NSE01 includes a ER26500 plus super capacitor. If user can't find this pack locally, they can find ER26500 or equivalence without the SPC1520 capacitor, which will also work in most case. The SPC can enlarge the battery life for high frequency use (update period below 5 minutes).
821 )))
822
823
824
825 = 3. ​ Access NB-IoT Module =
826
827 (((
828 Users can directly access the AT command set of the NB-IoT module.
829 )))
830
831 (((
832 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/]] 
833 )))
834
835 [[image:1657261278785-153.png]]
836
837
838
839 = 4.  Using the AT Commands =
840
841 == 4.1  Access AT Commands ==
842
843 See this link for detail: [[https:~~/~~/www.dragino.com/downloads/index.php?dir=NB-IoT/NSE01/>>url:http://www.dragino.com/downloads/index.php?dir=NB-IoT/NBSN50/]]
844
845
846 AT+<CMD>?  : Help on <CMD>
847
848 AT+<CMD>         : Run <CMD>
849
850 AT+<CMD>=<value> : Set the value
851
852 AT+<CMD>=?  : Get the value
853
854
855 (% style="color:#037691" %)**General Commands**(%%)      
856
857 AT  : Attention       
858
859 AT?  : Short Help     
860
861 ATZ  : MCU Reset    
862
863 AT+TDC  : Application Data Transmission Interval
864
865 AT+CFG  : Print all configurations
866
867 AT+CFGMOD           : Working mode selection
868
869 AT+INTMOD            : Set the trigger interrupt mode
870
871 AT+5VT  : Set extend the time of 5V power  
872
873 AT+PRO  : Choose agreement
874
875 AT+WEIGRE  : Get weight or set weight to 0
876
877 AT+WEIGAP  : Get or Set the GapValue of weight
878
879 AT+RXDL  : Extend the sending and receiving time
880
881 AT+CNTFAC  : Get or set counting parameters
882
883 AT+SERVADDR  : Server Address
884
885
886 (% style="color:#037691" %)**COAP Management**      
887
888 AT+URI            : Resource parameters
889
890
891 (% style="color:#037691" %)**UDP Management**
892
893 AT+CFM          : Upload confirmation mode (only valid for UDP)
894
895
896 (% style="color:#037691" %)**MQTT Management**
897
898 AT+CLIENT               : Get or Set MQTT client
899
900 AT+UNAME  : Get or Set MQTT Username
901
902 AT+PWD                  : Get or Set MQTT password
903
904 AT+PUBTOPIC  : Get or Set MQTT publish topic
905
906 AT+SUBTOPIC  : Get or Set MQTT subscription topic
907
908
909 (% style="color:#037691" %)**Information**          
910
911 AT+FDR  : Factory Data Reset
912
913 AT+PWORD  : Serial Access Password
914
915
916
917 = ​5.  FAQ =
918
919 == 5.1 ​ How to Upgrade Firmware ==
920
921
922 (((
923 User can upgrade the firmware for 1) bug fix, 2) new feature release.
924 )))
925
926 (((
927 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]]
928 )))
929
930 (((
931 (% style="color:red" %)Notice, NSE01 and LSE01 share the same mother board. They use the same connection and method to update.
932 )))
933
934
935
936 == 5.2  Can I calibrate NSE01 to different soil types? ==
937
938 (((
939 NSE01 is calibrated for saline-alkali soil and loamy soil. If users want to use it for other soil, they can calibrate the value in the IoT platform base on the value measured by saline-alkali soil and loamy soil. The formula can be found at [[this link>>https://www.dragino.com/downloads/downloads/LoRa_End_Node/LSE01/Calibrate_to_other_Soil_20220605.pdf]].
940 )))
941
942
943 = 6.  Trouble Shooting =
944
945 == 6.1  ​Connection problem when uploading firmware ==
946
947
948 (((
949 **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]]
950 )))
951
952 (% class="wikigeneratedid" %)
953 (((
954
955 )))
956
957
958 == 6.2  AT Command input doesn't work ==
959
960 (((
961 In the case if user can see the console output but can't type input to the device. Please check if you already include the (% style="color:green" %)**ENTER**(%%) while sending out the command. Some serial tool doesn't send (% style="color:green" %)**ENTER**(%%) while press the send key, user need to add ENTER in their string.
962
963
964 )))
965
966
967 = 7. ​ Order Info =
968
969
970 Part Number**:** (% style="color:#4f81bd" %)**NSE01**
971
972
973 (% class="wikigeneratedid" %)
974 (((
975
976 )))
977
978 = 8.  Packing Info =
979
980 (((
981
982
983 (% style="color:#037691" %)**Package Includes**:
984
985 * NSE01 NB-IoT Soil Moisture & EC Sensor x 1
986 * External antenna x 1
987 )))
988
989 (((
990
991
992 (% style="color:#037691" %)**Dimension and weight**:
993
994 * Size: 195 x 125 x 55 mm
995 * Weight:   420g
996 )))
997
998 (((
999
1000
1001
1002
1003 )))
1004
1005 = 9.  Support =
1006
1007 * 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.
1008 * 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