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
200
201
202
203 = 2.  Use NSE01 to communicate with IoT Server =
204
205 == 2.1  How it works ==
206
207
208 (((
209 The NSE01 is equipped with a NB-IoT module, the pre-loaded firmware in NSE01 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 NSE01.
210 )))
211
212
213 (((
214 The diagram below shows the working flow in default firmware of NSE01:
215 )))
216
217 [[image:image-20220708101605-2.png]]
218
219 (((
220
221 )))
222
223
224
225 == 2.2 ​ Configure the NSE01 ==
226
227
228 === 2.2.1 Test Requirement ===
229
230
231 (((
232 To use NSE01 in your city, make sure meet below requirements:
233 )))
234
235 * Your local operator has already distributed a NB-IoT Network there.
236 * The local NB-IoT network used the band that NSE01 supports.
237 * Your operator is able to distribute the data received in their NB-IoT network to your IoT server.
238
239 (((
240 Below figure shows our testing structure. Here we have NB-IoT network coverage by China Mobile, the band they use is B8.  The NSE01 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
241 )))
242
243
244 [[image:1657249419225-449.png]]
245
246
247
248 === 2.2.2 Insert SIM card ===
249
250 (((
251 Insert the NB-IoT Card get from your provider.
252 )))
253
254 (((
255 User need to take out the NB-IoT module and insert the SIM card like below:
256 )))
257
258
259 [[image:1657249468462-536.png]]
260
261
262
263 === 2.2.3 Connect USB – TTL to NSE01 to configure it ===
264
265 (((
266 (((
267 User need to configure NSE01 via serial port to set the (% style="color:blue" %)**Server Address** / **Uplink Topic** (%%)to define where and how-to uplink packets. NSE01 support AT Commands, user can use a USB to TTL adapter to connect to NSE01 and use AT Commands to configure it, as below.
268 )))
269 )))
270
271
272 **Connection:**
273
274 (% style="background-color:yellow" %)USB TTL GND <~-~-~-~-> GND
275
276 (% style="background-color:yellow" %)USB TTL TXD <~-~-~-~-> UART_RXD
277
278 (% style="background-color:yellow" %)USB TTL RXD <~-~-~-~-> UART_TXD
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 Make sure the switch is in FLASH position, then power on device by connecting the jumper on NSE01. NSE01 will output system info once power on as below, we can enter the (% style="color:green" %)**password: 12345678**(%%) to access AT Command input.
291 )))
292
293 [[image:image-20220708110657-3.png]]
294
295 (((
296 (% style="color:red" %)Note: the valid AT Commands can be found at: (%%)[[http:~~/~~/www.dragino.com/downloads/index.php?dir=NB-IoT/NSE01/>>url:http://www.dragino.com/downloads/index.php?dir=NB-IoT/NBSN50/]]
297 )))
298
299
300
301 === 2.2.4 Use CoAP protocol to uplink data ===
302
303 (% 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/]]
304
305
306 **Use below commands:**
307
308 * (% style="color:blue" %)**AT+PRO=1**  (%%) ~/~/ Set to use CoAP protocol to uplink
309 * (% style="color:blue" %)**AT+SERVADDR=120.24.4.116,5683   ** (%%)~/~/ to set CoAP server address and port
310 * (% style="color:blue" %)**AT+URI=5,11,"mqtt",11,"coap",12,"0",15,"c=text1",23,"0" ** (%%) ~/~/Set COAP resource path
311
312 For parameter description, please refer to AT command set
313
314 [[image:1657249793983-486.png]]
315
316
317 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.
318
319 [[image:1657249831934-534.png]]
320
321
322
323 === 2.2.5 Use UDP protocol to uplink data(Default protocol) ===
324
325 This feature is supported since firmware version v1.0.1
326
327
328 * (% style="color:blue" %)**AT+PRO=2   ** (%%) ~/~/ Set to use UDP protocol to uplink
329 * (% style="color:blue" %)**AT+SERVADDR=120.24.4.116,5601   ** (%%) ~/~/ to set UDP server address and port
330 * (% style="color:blue" %)**AT+CFM=1       ** (%%) ~/~/If the server does not respond, this command is unnecessary
331
332 [[image:1657249864775-321.png]]
333
334
335 [[image:1657249930215-289.png]]
336
337
338
339 === 2.2.6 Use MQTT protocol to uplink data ===
340
341 This feature is supported since firmware version v110
342
343
344 * (% style="color:blue" %)**AT+PRO=3   ** (%%) ~/~/Set to use MQTT protocol to uplink
345 * (% style="color:blue" %)**AT+SERVADDR=120.24.4.116,1883   ** (%%) ~/~/Set MQTT server address and port
346 * (% style="color:blue" %)**AT+CLIENT=CLIENT       ** (%%)~/~/Set up the CLIENT of MQTT
347 * (% style="color:blue" %)**AT+UNAME=UNAME                               **(%%)~/~/Set the username of MQTT
348 * (% style="color:blue" %)**AT+PWD=PWD                                        **(%%)~/~/Set the password of MQTT
349 * (% style="color:blue" %)**AT+PUBTOPIC=NSE01_PUB                    **(%%)~/~/Set the sending topic of MQTT
350 * (% style="color:blue" %)**AT+SUBTOPIC=NSE01_SUB          **(%%) ~/~/Set the subscription topic of MQTT
351
352 [[image:1657249978444-674.png]]
353
354
355 [[image:1657249990869-686.png]]
356
357
358 (((
359 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.
360 )))
361
362
363
364 === 2.2.7 Use TCP protocol to uplink data ===
365
366 This feature is supported since firmware version v110
367
368
369 * (% style="color:blue" %)**AT+PRO=4   ** (%%) ~/~/ Set to use TCP protocol to uplink
370 * (% style="color:blue" %)**AT+SERVADDR=120.24.4.116,5600   **(%%) ~/~/ to set TCP server address and port
371
372 [[image:1657250217799-140.png]]
373
374
375 [[image:1657250255956-604.png]]
376
377
378
379 === 2.2.8 Change Update Interval ===
380
381 User can use below command to change the (% style="color:green" %)**uplink interval**.
382
383 * (% style="color:blue" %)**AT+TDC=600      ** (%%)~/~/ Set Update Interval to 600s
384
385 (((
386 (% style="color:red" %)**NOTE:**
387 )))
388
389 (((
390 (% style="color:red" %)1. By default, the device will send an uplink message every 1 hour.
391 )))
392
393
394
395 == 2.3  Uplink Payload ==
396
397 In this mode, uplink payload includes in total 18 bytes
398
399 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:510px" %)
400 |=(% style="width: 60px;" %)(((
401 **Size(bytes)**
402 )))|=(% 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**
403 |(% 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"]]
404
405 (((
406 If we use the MQTT client to subscribe to this MQTT topic, we can see the following information when the NSE01 uplink data.
407 )))
408
409
410 [[image:image-20220708111918-4.png]]
411
412
413 The payload is ASCII string, representative same HEX:
414
415 0x72403155615900640c7817075e0a8c02f900 where:
416
417 * Device ID: 0x 724031556159 = 724031556159
418 * Version: 0x0064=100=1.0.0
419
420 * BAT: 0x0c78 = 3192 mV = 3.192V
421 * Singal: 0x17 = 23
422 * Soil Moisture: 0x075e= 1886 = 18.86  %
423 * Soil Temperature:0x0a8c =2700=27 °C
424 * Soil Conductivity(EC) = 0x02f9 =761 uS /cm
425 * Interrupt: 0x00 = 0
426
427 == 2.4  Payload Explanation and Sensor Interface ==
428
429
430 === 2.4.1  Device ID ===
431
432 (((
433 By default, the Device ID equal to the last 6 bytes of IMEI.
434 )))
435
436 (((
437 User can use (% style="color:blue" %)**AT+DEUI**(%%) to set Device ID
438 )))
439
440 (((
441 **Example:**
442 )))
443
444 (((
445 AT+DEUI=A84041F15612
446 )))
447
448 (((
449 The Device ID is stored in a none-erase area, Upgrade the firmware or run AT+FDR won't erase Device ID.
450 )))
451
452
453
454 === 2.4.2  Version Info ===
455
456 (((
457 Specify the software version: 0x64=100, means firmware version 1.00.
458 )))
459
460 (((
461 For example: 0x00 64 : this device is NSE01 with firmware version 1.0.0.
462 )))
463
464
465
466 === 2.4.3  Battery Info ===
467
468 (((
469 Check the battery voltage for LSE01.
470 )))
471
472 (((
473 Ex1: 0x0B45 = 2885mV
474 )))
475
476 (((
477 Ex2: 0x0B49 = 2889mV
478 )))
479
480
481
482 === 2.4.4  Signal Strength ===
483
484 (((
485 NB-IoT Network signal Strength.
486 )))
487
488 (((
489 **Ex1: 0x1d = 29**
490 )))
491
492 (((
493 (% style="color:blue" %)**0**(%%)  -113dBm or less
494 )))
495
496 (((
497 (% style="color:blue" %)**1**(%%)  -111dBm
498 )))
499
500 (((
501 (% style="color:blue" %)**2...30**(%%) -109dBm... -53dBm
502 )))
503
504 (((
505 (% style="color:blue" %)**31**  (%%) -51dBm or greater
506 )))
507
508 (((
509 (% style="color:blue" %)**99**   (%%) Not known or not detectable
510 )))
511
512
513
514 === 2.4.5  Soil Moisture ===
515
516 (((
517 (((
518 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.
519 )))
520 )))
521
522 (((
523 (((
524 For example, if the data you get from the register is **__0x05 0xDC__**, the moisture content in the soil is
525 )))
526 )))
527
528 (((
529
530 )))
531
532 (((
533 (% style="color:#4f81bd" %)**05DC(H) = 1500(D) /100 = 15%.**
534 )))
535
536
537
538 === 2.4.6  Soil Temperature ===
539
540 (((
541 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
542 )))
543
544 (((
545 **Example**:
546 )))
547
548 (((
549 If payload is 0105H: ((0x0105 & 0x8000)>>15 === 0),temp = 0105(H)/100 = 2.61 °C
550 )))
551
552 (((
553 If payload is FF7EH: ((FF7E & 0x8000)>>15 ===1),temp = (FF7E(H)-FFFF(H))/100 = -1.29 °C
554 )))
555
556
557
558 === 2.4.7  Soil Conductivity (EC) ===
559
560 (((
561 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).
562 )))
563
564 (((
565 For example, if the data you get from the register is __**0x00 0xC8**__, the soil conductivity is 00C8(H) = 200(D) = 200 uS/cm.
566 )))
567
568 (((
569 Generally, the EC value of irrigation water is less than 800uS / cm.
570 )))
571
572 (((
573
574 )))
575
576 (((
577
578 )))
579
580 === 2.4.8  Digital Interrupt ===
581
582 (((
583 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.
584 )))
585
586 (((
587 The command is:
588 )))
589
590 (((
591 (% 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]])**.**
592 )))
593
594
595 (((
596 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.
597 )))
598
599
600 (((
601 Example:
602 )))
603
604 (((
605 0x(00): Normal uplink packet.
606 )))
607
608 (((
609 0x(01): Interrupt Uplink Packet.
610 )))
611
612
613
614 === 2.4.9  ​+5V Output ===
615
616 (((
617 NSE01 will enable +5V output before all sampling and disable the +5v after all sampling. 
618 )))
619
620
621 (((
622 The 5V output time can be controlled by AT Command.
623 )))
624
625 (((
626 (% style="color:blue" %)**AT+5VT=1000**
627 )))
628
629 (((
630 Means set 5V valid time to have 1000ms. So the real 5V output will actually have 1000ms + sampling time for other sensors.
631 )))
632
633
634
635 == 2.5  Downlink Payload ==
636
637 By default, NSE01 prints the downlink payload to console port.
638
639 [[image:image-20220708133731-5.png]]
640
641
642 (((
643 (% style="color:blue" %)**Examples:**
644 )))
645
646 (((
647
648 )))
649
650 * (((
651 (% style="color:blue" %)**Set TDC**
652 )))
653
654 (((
655 If the payload=0100003C, it means set the END Node's TDC to 0x00003C=60(S), while type code is 01.
656 )))
657
658 (((
659 Payload:    01 00 00 1E    TDC=30S
660 )))
661
662 (((
663 Payload:    01 00 00 3C    TDC=60S
664 )))
665
666 (((
667
668 )))
669
670 * (((
671 (% style="color:blue" %)**Reset**
672 )))
673
674 (((
675 If payload = 0x04FF, it will reset the NSE01
676 )))
677
678
679 * (% style="color:blue" %)**INTMOD**
680
681 (((
682 Downlink Payload: 06000003, Set AT+INTMOD=3
683 )))
684
685
686
687 == 2.6  ​LED Indicator ==
688
689 (((
690 The NSE01 has an internal LED which is to show the status of different state.
691
692
693 * 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)
694 * Then the LED will be on for 1 second means device is boot normally.
695 * After NSE01 join NB-IoT network. The LED will be ON for 3 seconds.
696 * For each uplink probe, LED will be on for 500ms.
697 )))
698
699
700
701
702 == 2.7  Installation in Soil ==
703
704 __**Measurement the soil surface**__
705
706 (((
707 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]]
708 )))
709
710 [[image:1657259653666-883.png]] ​
711
712
713 (((
714
715
716 (((
717 Dig a hole with diameter > 20CM.
718 )))
719
720 (((
721 Horizontal insert the probe to the soil and fill the hole for long term measurement.
722 )))
723 )))
724
725 [[image:1654506665940-119.png]]
726
727 (((
728
729 )))
730
731
732 == 2.8  ​Firmware Change Log ==
733
734
735 Download URL & Firmware Change log
736
737 (((
738 [[https:~~/~~/www.dragino.com/downloads/index.php?dir=NB-IoT/NSE01/firmware/>>https://www.dragino.com/downloads/index.php?dir=NB-IoT/NSE01/firmware/]]
739 )))
740
741
742 Upgrade Instruction: [[Upgrade_Firmware>>||anchor="H5.1200BHowtoUpgradeFirmware"]]
743
744
745
746 == 2.9  ​Battery Analysis ==
747
748 === 2.9.1  ​Battery Type ===
749
750
751 (((
752 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.
753 )))
754
755
756 (((
757 The battery is designed to last for several years depends on the actually use environment and update interval. 
758 )))
759
760
761 (((
762 The battery related documents as below:
763 )))
764
765 * [[Battery Dimension>>http://www.dragino.com/downloads/index.php?dir=datasheet/Battery/ER26500/]]
766 * [[Lithium-Thionyl Chloride Battery datasheet>>http://www.dragino.com/downloads/index.php?dir=datasheet/Battery/ER26500/]]
767 * [[Lithium-ion Battery-Capacitor datasheet>>http://www.dragino.com/downloads/index.php?dir=datasheet/Battery/ER26500/]]
768
769 (((
770 [[image:image-20220708140453-6.png]]
771 )))
772
773
774
775 === 2.9.2  Power consumption Analyze ===
776
777 (((
778 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.
779 )))
780
781
782 (((
783 Instruction to use as below:
784 )))
785
786 (((
787 (% 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/]]
788 )))
789
790
791 (((
792 (% style="color:blue" %)**Step 2: **(%%) Open it and choose
793 )))
794
795 * (((
796 Product Model
797 )))
798 * (((
799 Uplink Interval
800 )))
801 * (((
802 Working Mode
803 )))
804
805 (((
806 And the Life expectation in difference case will be shown on the right.
807 )))
808
809 [[image:image-20220708141352-7.jpeg]]
810
811
812
813 === 2.9.3  ​Battery Note ===
814
815 (((
816 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.
817 )))
818
819
820
821 === 2.9.4  Replace the battery ===
822
823 (((
824 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).
825 )))
826
827
828
829 = 3. ​ Access NB-IoT Module =
830
831 (((
832 Users can directly access the AT command set of the NB-IoT module.
833 )))
834
835 (((
836 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/]] 
837 )))
838
839 [[image:1657261278785-153.png]]
840
841
842
843 = 4.  Using the AT Commands =
844
845 == 4.1  Access AT Commands ==
846
847 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/]]
848
849
850 AT+<CMD>?  : Help on <CMD>
851
852 AT+<CMD>         : Run <CMD>
853
854 AT+<CMD>=<value> : Set the value
855
856 AT+<CMD>=?  : Get the value
857
858
859 (% style="color:#037691" %)**General Commands**(%%)      
860
861 AT  : Attention       
862
863 AT?  : Short Help     
864
865 ATZ  : MCU Reset    
866
867 AT+TDC  : Application Data Transmission Interval
868
869 AT+CFG  : Print all configurations
870
871 AT+CFGMOD           : Working mode selection
872
873 AT+INTMOD            : Set the trigger interrupt mode
874
875 AT+5VT  : Set extend the time of 5V power  
876
877 AT+PRO  : Choose agreement
878
879 AT+WEIGRE  : Get weight or set weight to 0
880
881 AT+WEIGAP  : Get or Set the GapValue of weight
882
883 AT+RXDL  : Extend the sending and receiving time
884
885 AT+CNTFAC  : Get or set counting parameters
886
887 AT+SERVADDR  : Server Address
888
889
890 (% style="color:#037691" %)**COAP Management**      
891
892 AT+URI            : Resource parameters
893
894
895 (% style="color:#037691" %)**UDP Management**
896
897 AT+CFM          : Upload confirmation mode (only valid for UDP)
898
899
900 (% style="color:#037691" %)**MQTT Management**
901
902 AT+CLIENT               : Get or Set MQTT client
903
904 AT+UNAME  : Get or Set MQTT Username
905
906 AT+PWD                  : Get or Set MQTT password
907
908 AT+PUBTOPIC  : Get or Set MQTT publish topic
909
910 AT+SUBTOPIC  : Get or Set MQTT subscription topic
911
912
913 (% style="color:#037691" %)**Information**          
914
915 AT+FDR  : Factory Data Reset
916
917 AT+PWORD  : Serial Access Password
918
919
920
921 = ​5.  FAQ =
922
923 == 5.1 ​ How to Upgrade Firmware ==
924
925
926 (((
927 User can upgrade the firmware for 1) bug fix, 2) new feature release.
928 )))
929
930 (((
931 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]]
932 )))
933
934 (((
935 (% style="color:red" %)Notice, NSE01 and LSE01 share the same mother board. They use the same connection and method to update.
936 )))
937
938
939
940 == 5.2  Can I calibrate NSE01 to different soil types? ==
941
942 (((
943 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]].
944 )))
945
946
947 = 6.  Trouble Shooting =
948
949 == 6.1  ​Connection problem when uploading firmware ==
950
951
952 (((
953 **Please see: **[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Firmware%20Upgrade%20Instruction%20for%20STM32%20base%20products/#H3.3Troubleshooting>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20Upgrade%20Instruction%20for%20STM32%20base%20products/#H3.3Troubleshooting]]
954 )))
955
956 (% class="wikigeneratedid" %)
957 (((
958
959 )))
960
961
962 == 6.2  AT Command input doesn't work ==
963
964 (((
965 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.
966
967
968 )))
969
970
971 = 7. ​ Order Info =
972
973
974 Part Number**:** (% style="color:#4f81bd" %)**NSE01**
975
976
977 (% class="wikigeneratedid" %)
978 (((
979
980 )))
981
982 = 8.  Packing Info =
983
984 (((
985
986
987 (% style="color:#037691" %)**Package Includes**:
988
989 * NSE01 NB-IoT Soil Moisture & EC Sensor x 1
990 * External antenna x 1
991 )))
992
993 (((
994
995
996 (% style="color:#037691" %)**Dimension and weight**:
997
998 * Size: 195 x 125 x 55 mm
999 * Weight:   420g
1000 )))
1001
1002 (((
1003
1004
1005
1006
1007 )))
1008
1009 = 9.  Support =
1010
1011 * 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.
1012 * 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