DRAGINO NSE01 NB-IoT Soil Moisture and EC Sensor User Manual
- June 10, 2024
- DRAGINO
Table of Contents
- NSE01 NB-IoT Soil Moisture and EC Sensor
- NSE01 NB-IoT Soil Moisture & EC Sensor
- Features
- Specification
- Dimension
- Applications
- Pin Definitions
- Using the NSE01 to Communicate with IoT Server
- Insert SIM Card
- Use CoAP Protocol to Uplink Data
- Access NB-IoT Module
- Using the AT Commands
- FAQ
- Packing Info
- Support
- Product Introduction
- Product Features
- Use NSE01 to communicate with IoT Server
- A / Q
- Trouble Shooting
- Order Info
- Product Packing Info
- References
- Read User Manual Online (PDF format)
- Download This Manual (PDF format)
NSE01 NB-IoT Soil Moisture and EC Sensor
NSE01 NB-IoT Soil Moisture & EC Sensor
Introduction
The NSE01 Soil Moisture & EC Sensor is equipped with a NB-IoT module that sends environment data from sensors to a local NB-IoT network, which forwards the data to an IoT server via a protocol defined by the NSE01.
Features
- Equipped with a NB-IoT module
- Measures soil moisture and EC levels
- Sends data to local NB-IoT network
- Supports CoAP, raw UDP, MQTT, and TCP protocols for data transmission
Specification
Probe Specification: Measures volume based on the central pin of the probe, which is a cylinder with a 7cm diameter and 10cm height.
Dimension
Main Device Dimension: Refer to LSN50v2 from: https://www.dragino.com/downloads/index.php?dir=LSN50-LoRaST/Mechanical_Drawing/
Probe Dimension: Not specified in the manual.
Applications
The NSE01 Soil Moisture & EC Sensor can be used for monitoring soil moisture and EC levels in agriculture, horticulture, and landscaping applications.
Pin Definitions
Not specified in the manual.
Using the NSE01 to Communicate with IoT Server
How it Works
The pre-loaded firmware in the NSE01 gets environment data from the sensors and sends the value to a local NB-IoT network via the NB-IoT module. The network then forwards this value to an IoT server using a protocol defined by the NSE01.
Configure the NSE01
Test Requirement
To use the NSE01 in your city, you must meet the following requirements:
- Have NB-IoT network coverage
- Use a SIM card from your provider
Insert SIM Card
Insert the NB-IoT card from your provider by removing the NB-IoT module and inserting the SIM card. Then, configure the NSE01 via serial port to set the server address and uplink topic to define where and how to uplink packets. Use the provided AT commands and a USB to TTL adapter to connect to the NSE01.
Use CoAP Protocol to Uplink Data
If you do not have a CoAP server, refer to this link to set one up: http://wiki.dragino.com/xwiki/bin/view/Main/Set%20up%20CoAP%20Server/
Access NB-IoT Module
Not specified in the manual.
Using the AT Commands
To access the AT commands, connect a USB to TTL adapter to the NSE01 and use the valid AT commands found at: https://www.dropbox.com/sh/351dwor6joz8nwh/AADn1BQaAAxLF_QMyU8NkW47a?dl=0
FAQ
Not specified in the manual.
Packing Info
Not specified in the manual.
Support
For support, refer to the manufacturer’s website at: https://www.dragino.com/.
Product Introduction
What is NSE01 Soil Moisture & EC Sensor
The Dragino NSE01 is a NB-IOT soil moisture & EC sensor designed for IoT of
Agriculture. It detects Soil Moisture, Soil Temperature and Soil Conductivity,
and upload the value via wireless to IoT Server via NB-IoT Network.
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.
NSE01 supports different uplink methods include TCP,MQTT,UDP and CoAP for
different application requirement.
NES01 is powered by 8500mAh Li-SOCI2 battery, It is designed for long term
use up to 5 years. (Actually Battery life depends on the use environment,
update period & uplink method)
To use NSE01, user needs to check if there is NB-IoT coverage in local area
and with the bands NSE01 supports. If the local operate support it, user needs
to get a NB-IoT SIM card from local operator and install NSE01 to get NB-IoT
network connection.
Product Features
- NB-IoT Bands: B1/B3/B8/B5/B20/B28 @H-FDD
- Monitor Soil Moisture
- Monitor Soil Temperature
- Monitor Soil Conductivity
- AT Commands to change parameters
- Uplink on periodically
- Downlink to change configure
- IP66 Waterproof Enclosure
- Ultra-Low Power consumption
- Micro SIM card slot for NB-IoT SIM
- 8500mAh Battery for long term use
Specification
Common DC Characteristics:
- Supply Voltage: 2.1v ~ 3.6v
- Operating Temperature: -40 ~ 85°C
NB-IoT Spec:
- B1 @H-FDD: 2100MHz
- B3 @H-FDD: 1800MHz
- B8 @H-FDD: 900MHz
- B5 @H-FDD: 850MHz
- B20 @H-FDD: 800MHz
- B28 @H-FDD: 700MHz
Probe Specification:
Measure Volume: Base on the centra pin of the probe, a cylinder with 7cm
diameter and 10cm height.
Dimension
Main Device Dimension:
See LSN50v2 from:
https://www.dragino.com/downloads/index.php?dir=LSN50-LoRaST/Mechanical_Drawing/
Probe Dimension
Applications
- Smart Agriculture
Pin Definitions
Use NSE01 to communicate with IoT Server
How it works
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.
The diagram below shows the working flow in default firmware of NSE01:
Configure the NSE01
Test Requirement
To use NSE01 in your city, make sure meet below requirements:
- Your local operator has already distributed a NB-IoT Network there.
- The local NB-IoT network used the band that NSE01 supports.
- Your operator is able to distribute the data received in their NB-IoT network to your IoT server.
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(120.24.4.116:5683) or raw UDP(120.24.4.116:5601) or MQTT(120.24.4.116:1883)or TCP(120.24.4.116:5600)protocol to send data to the test server
Insert SIM card
Insert the NB-IoT Card get from your provider.
User need to take out the NB-IoT module and insert the SIM card like below:
Connect USB – TTL to NSE01 to configure it
User need to configure NSE01 via serial port to set the 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.
Connection:
- USB TTL GND <—-> GND
- USB TTL TXD <—-> UART_RXD
- USB TTL RXD <—-> UART_TXD
In the PC, use below serial tool settings:
- Baud: 9600
- Data bits: 8
- Stop bits: 1
- Parity: None
- Flow Control: None
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 password: 12345678 to access AT Command input.
Note: the valid AT Commands can be found at: https://www.dropbox.com/sh/351dwor6joz8nwh/AADn1BQaAAxLF_QMyU8NkW47a?dl=0
Use CoAP protocol to uplink data
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/
Use below commands:
- AT+PRO=1 // Set to use CoAP protocol to uplink
- AT+SERVADDR=120.24.4.116,5683 // to set CoAP server address and port
- AT+URI=5,11,”mqtt”,11,”coap”,12,”0″,15,”c=text1″,23,”0″ //Set COAP resource path
For parameter description, please refer to AT command set
After configure the server address and reset the device (via AT+ATZ ), NSE01 will start to uplink sensor values to CoAP server.
Use UDP protocol to uplink data(Default protocol)
This feature is supported since firmware version v1.0.1
- AT+PRO=2 // Set to use UDP protocol to uplink
- AT+SERVADDR=120.24.4.116,5601 // to set UDP server address and port
- AT+CFM=1 //If the server does not respond, this command is unnecessary
Use MQTT protocol to uplink data
This feature is supported since firmware version v110
- AT+PRO=3 //Set to use MQTT protocol to uplink
- AT+SERVADDR=120.24.4.116,1883 //Set MQTT server address and port
- AT+CLIENT=CLIENT / / Set up the CLIENT of MQTT
- AT+UNAME=UNAME //Set the username of MQTT
- AT+PWD=PWD //Set the password of MQTT
- AT+PUBTOPIC=NSE01_PUB //Set the sending topic of MQTT
- AT+SUBTOPIC=NSE01_SUB //Set the subscription topic of MQTT
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.
Use TCP protocol to uplink data
This feature is supported since firmware version v110
- AT+PRO=4 // Set to use TCP protocol to uplink
- AT+SERVADDR=120.24.4.116,5600 // to set TCP server address and port
Change Update Interval
User can use below command to change the uplink interval.
- AT+TDC=600 // Set Update Interval to 600s
NOTE :
- By default, the device will send an uplink message every 1 hour.
- When the firmware version is v1.3.2 and later firmware:
By default, the device will send an uplink message every 2 hours. Each Uplink Include 8 set of records in this 2 hour (15 minute interval / record).
Uplink Payload
Before Firmware version v1.3.2
In this mode, uplink payload includes in total 18 bytes
If we use the MQTT client to subscribe to this MQTT topic, we can see the following information when the NSE01 uplink data. The payload is ASCII string, representative same HEX: 0x72403155615900640c7817075e0a8c02f900 where:
- Device ID: 0x 724031556159 = 724031556159
- Version: 0x0064=100=1.0.0
- BAT: 0x0c78 = 3192 mV = 3.192V
- Signal: 0x17 = 23
- Soil Moisture: 0x075e= 1886 = 18.86 %
- Soil Temperature: 0x0a8c =2700=27 °C
- Soil Conductivity(EC): 0x02f9 =761 uS /cm
- Interrupt: 0x00 = 0
Since Firmware version v1.3.2
In this mode, uplink payload includes 123 bytes in total by default.
Each time the device uploads a data package, 8 sets of recorded data will be
attached. Up to 32 sets of recorded data can be uploaded.
If we use the MQTT client to subscribe to this MQTT topic, we can see the following information when the NSE01 uplink data. The payload is ASCII string, representative same HEX:
0x f867787050213317 0084 0cfd 1b 01 00 0000 0ae8 0000 000a 6315537b 0110034306f7004663185f19 010f034306f7004663185b95 0105034606eb00476315c779 0102034a0000000a6315c3f5 010303410000000a6315c071 01040346000000006315bced 01040346000000006315b969 01040341000000006315b5e5
where:
- Device ID: f867787050213317 = f867787050213317
- Version: 0x0084=132=1.3.2
- BAT: 0x0c78 = 3325 mV = 3.325V
- Singal: 0x1b = 27
- Mod: 0x01 = 1
- Interrupt: 0x00= 0
- Soil Moisture: 0x0000= 0 = 0
- Soil Temperature: 0x0ae8 =2795=27.95 °C
- Soil Conductivity(EC): 0000=0
- Soil dielectric constant: 000a=1
- Time stamp : 0x6315537b =1662342011 (Unix Epoch Time)
- Soil Temperature, Soil Moisture, Soil Conductivity(EC),Soil dielectric constant, Time stamp : 0110034306f7004663185f19
- 8 sets of recorded data: Soil Temperature ,Soil Moisture ,Soil Conductivity (EC),Soil dielectric constant, Time stamp : 010f034306f7004663185b95,…….
Payload Explanation and Sensor Interface
Device ID
By default, the Device ID equal to the last 6 bytes of IMEI.
User can use AT+DEUI to set Device ID
Example:
AT+DEUI= A84041F15612
The Device ID is stored in a none-erase area, Upgrade the firmware or run
AT+FDR won’t erase Device ID.
NOTE: When the firmware version is v1.3.2 and later firmware:
By default, the Device ID equal to the last 15 bits of IMEI.
User can use AT+DEUI to set Device ID
Example:
AT+DEUI= 868411056754138
Version Info
Specify the software version: 0x64=100, means firmware version 1.00.
For example: 0x00 64 : this device is NSE01 with firmware version 1.0.0.
Battery Info
Check the battery voltage for LSE01.
Ex1: 0x0B45 = 2885mV
Ex2: 0x0B49 = 2889mV
Signal Strength
NB-IoT Network signal Strength.
Ex1: 0x1d = 29
0 -113dBm or less
1 -111dBm
2…30 -109dBm… -53dBm
31 -51dBm or greater
99 Not known or not detectable
Soil Moisture
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.
For example, if the data you get from the register is 0x05 0xDC, the moisture
content in the soil is 05DC(H) = 1500(D) /100 = 15%.
Soil Temperature
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 Example:
If payload is 0105H: ((0x0105 & 0x8000)>>15 === 0),temp = 0105(H)/100 = 2.61
°C
If payload is FF7EH: ((FF7E & 0x8000)>>15 ===1),temp = (FF7E(H)-FFFF(H))/100 =
-1.29 °C
Soil Conductivity (EC)
Obtain soluble salt concentration in soil or soluble ion concentration in
liquid fertilizer or planting medium. The value range of the register is 0 –
20000(Decimal)( Can be greater than 20000).
For example, if the data you get from the register is 0x00 0xC8, the soil
conductivity is 00C8(H) = 200(D) = 200 uS/cm.
Generally, the EC value of irrigation water is less than 800uS / cm.
Soil dielectric constant
Get the soil dielectric constant in the soil. The value range of the register
is 10 – 800(Decimal)
For example, if the data you get from the register is 0x00 0xD2, the soil conductivity is 00D2(H) = 210(D) = 21. Generally, the EC value of irrigation water is less than 21.
Digital Interrupt
Digital Interrupt refers to pin GPIO_EXTI, and there are different trigger
methods. When there is a trigger, the NSE01 will send a packet to the server.
The command is:
AT+INTMOD=3 //(more info about INMOD please refer AT Command Manual).
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.
Example:
0x(00): Normal uplink packet.
0x(01): Interrupt Uplink Packet.
+5V Output
NSE01 will enable +5V output before all sampling and disable the +5v after all
sampling.
The 5V output time can be controlled by AT Command.
AT+5VT=1000
Means set 5V valid time to have 1000ms. So the real 5V output will actually
have 1000ms + sampling time for other sensors.
Downlink Payload
By default, NSE01 prints the downlink payload to console port.
Examples:
- Set TDC
If the payload=0100003C, it means set the END Node’s TDC to 0x00003C=60(S),
while type code is 01. Payload: 01 00 00 1E TDC=30S
Payload: 01 00 00 3C TDC=60S
-
Reset
If payload = 0x04FF, it will reset the NSE01 -
INTMOD
Downlink Payload: 06000003, Set AT+INTMOD=3
LED Indicator
The NSE01 has an internal LED which is to show the status of different state.
- 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)
- Then the LED will be on for 1 second means device is boot normally.
- After NSE01 join NB-IoT network. The LED will be ON for 3 seconds.
- For each uplink probe, LED will be on for 500ms.
Installation in Soil
Measurement the soil surface
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
Dig a hole with diameter > 20CM.
Horizontal insert the probe to the soil and fill the hole for long term
measurement.
Moisture and Temperature alarm function (Since Firmware 1.3.2)
# AT Command:
AT+ HUMALARM=min,max
² When min=0, and max≠0, Alarm higher than max
² When min≠0, and max=0, Alarm lower than min
² When min≠0 and max≠0, Alarm higher than max or lower than min
Example:
AT+ HUMALARM =50,80 // Alarm when moisture lower than 50.
AT+ TEMPALARM=min,max
² When min=0, and max≠0, Alarm higher than max
² When min≠0, and max=0, Alarm lower than min
² When min≠0 and max≠0, Alarm higher than max or lower than min
Example:
AT+ TEMPALARM=20,30 // Alarm when temperature lower than 20.
Set the number of data to be uploaded and the recording time
# AT Command:
- AT+TR=900 // The unit is seconds, and the default is to record data once every 900 seconds.( The minimum can be set to 180 seconds)
- AT+NOUD=8 // The device uploads 8 sets of recorded data by default. Up to 32 sets of record data can be uploaded.
The diagram below explains the relationship between TR, NOUD, and TDC more clearly:
Read or Clear cached data
# AT Command:
- AT+CDP // Read cached data
- AT+CDP=0 // Clear cached data
Firmware Change Log
Download URL & Firmware Change log:
https://www.dropbox.com/sh/1zmcakvbkf24f8x/AACmq2dZ3iRB9F1nVWeEB9Moa?dl=0
Upgrade Instruction: Upgrade Firmware
Battery Analysis
Battery Type
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.
The battery is designed to last for several years depends on the actually use environment and update interval.
The battery related documents as below:
- Battery Dimension
- Lithium-Thionyl Chloride Battery datasheet
- Lithium-ion Battery-Capacitor datasheet
Power consumption Analyze
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.
Instruction to use as below:
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/
Step 2: Open it and choose
- Product Model
- Uplink Interval
- Working Mode
And the Life expectation in difference case will be shown on the right.
Battery Note
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.
Replace the battery
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).
Access NB-IoT Module
Users can directly access the AT command set of the NB-IoT module.
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/
Using the AT Commands
Access AT Commands
See this link for detail:
https://www.dropbox.com/sh/351dwor6joz8nwh/AADn1BQaAAxLF_QMyU8NkW47a?dl=0
- AT+
? : Help on - AT+
: Run AT+ = : Set the value
General Commands
- AT : Attention
- AT? : Short Help
- ATZ : MCU Reset
- AT+TDC : Application Data Transmission Interval
- AT+CFG : Print all configurations
- AT+CFGMOD : Working mode selection
- AT+INTMOD : Set the trigger interrupt mode
- AT+5VT : Set extend the time of 5V power
- AT+PRO : Choose agreement
- AT+RXDL : Extend the sending and receiving time
- AT+SERVADDR : Server Address
- AT+TR : Get or Set record time”
- AT+APN : Get or set the APN
- AT+FBAND : Get or Set whether to automatically modify the frequency band
- AT+DNSCFG : Get or Set DNS Server
- AT+GETSENSORVALUE : Returns the current sensor measurement
- AT+NOUD : Get or Set the number of data to be uploaded
- AT+CDP : Read or Clear cached data
- AT+TEMPALARM : Get or Set alarm of temp
- AT+HUMALARM : Get or Set alarm of moisture
COAP Management
- AT+URI : Resource parameters
UDP Management
- AT+CFM : Upload confirmation mode (only valid for UDP)
MQTT Management
- AT+CLIENT : Get or Set MQTT client
- AT+UNAME : Get or Set MQTT Username
- AT+PWD : Get or Set MQTT password
- AT+PUBTOPIC : Get or Set MQTT publish topic
- AT+SUBTOPIC : Get or Set MQTT subscription topic
Information
- AT+FDR : Factory Data Reset
- AT+PWORD : Serial Access Password
A / Q
-
How to Upgrade Firmware
User can upgrade the firmware for 1) bug fix, 2) new feature release.
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
Notice, NSE01 and LSE01 share the same mother board. They use the same connection and method to update. -
Can I calibrate NSE01 to different soil types?
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.
Trouble Shooting
Connection problem when uploading firmware
Please see:
http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20Upgrade%20Instruction%20for%20STM32%20base%20products/#H3.3Troubleshooting
AT Command input doesn’t work
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 ENTER while sending out the
command. Some serial tool doesn’t send ENTER while press the send key, user
need to add ENTER in their string.
Order Info
Part Number: NSE01
Product Packing Info
Package Includes:
- NSE01 NB-IoT Soil Moisture & EC Sensor x 1
- External antenna x 1
Dimension and weight:
- Size: 195 x 125 x 55 mm
- Weight: 420g
Support
- Support is provided Monday to Friday, from 09:00 to 18:00 GMT+8. Due to different time zones we cannot offer live support. However, your questions will be answered as soon as possible in the before-mentioned schedule.
- 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
References
- Home - DRAGINO
- Dragino :: Open Source WiFi, Linux Appliance
- Dragino Download Server ./downloads/
- Dragino Download Server ./downloads/LSN50-LoRaST/Mechanical_Drawing/
- Dropbox - NSE01 - Simplify your life
Read User Manual Online (PDF format)
Read User Manual Online (PDF format) >>