SensorData - SDI12 Setup
Table of Contents
Configuration Tool -> SDI-12 Specification relationship
The following configuration options for SDI-12 Measurements are available (currently up to 5 measurements are available). Each measurement is completely separate, and may read from either the same physical sensor, or different ones.
The measurements, types, counts, etc are difficult to understand if you have no previous experience with SDI12. Scroll to the bottom of this document for an attempt at explaining what the various terms mean.
Vout Power Up Delay:
The output of the SensorData (6 or 12V) will be enabled for this long before a measurement command is sent - to give sensors enough time to power up. This is shared across all measurements, and should be set to the lowest value that the probes allow (may require some experimentation).
Address:
See 4.3 of spec
0 through to 9 - Denoted as an 'a' in the SDI-12 spec - e.g. aM! is the start measurement command for address 'a'. Most sensors and probes will have this default to 0.
Measurement Type:
See 4.4.9 of Spec - Additional Measurement Commands
0 through 9 - Corresponds to aM1!...aM9!... Depending on the sensor type, this may change between different sets of measurements, or specific types. Each type can return multiple readings. For example, on a soil moisture probe, type 0 may be 'soil moisture', and type 1 may be 'soil temperature', with each type returning multiple values corresponding to different depths. Or a weather station may have type 0 contain temperature/humidity/pressure, while type 1 contains wind speed/wind direction.Your measurement type will be 0 if your sensor only has 1 type of measurement.
Measurement Count:
0 to 20 - How many measurements for each measurement type are to be returned. Note: it does not command how many measurements the sensor should make - just 'filters' the result. For example, if 9 readings were returned, and Measurement count = 4, only the first 4 will be sent over the network. But if only 2 readings were returned, only 2 would be sent.
Data Conversion:
See page 5 of the Integration Document. This has no effect on how the measurements are taken, only on how the data is formatted to be sent over the network (and to the server).
Term explanation:
The various terms used in the configuration app are sensible if you are familiar with SDI12 communication. If you are not, here is a short primer.
A measurement can be thought of as an exchange with a sensor, to query off a required set of values. Measurements are defined in groups in the config app as "Measurement 1", "Measurement 2", etc. The measurement definition contains a collection of settings for interacting with a sensor. The settings are explained above, but in plainer language:
- Address: which sensor to address. This is an ASCII 0-9. There can be multiple sensors on the bus. Usually we just speak to one sensor, with an address of '0'. In the screenshot above, both measurements are setup to talk to a probe at address 0.
- Measurement type: when speaking to the sensor, which measurement type should we ask for. This is specific to the sensor maker. With Soil Moisture Probes, type 0 is usually soil moisture and type 1 is usually soil temperature. In the screenshot above, measurement 1 is setup to be type 0 (soil moisture) and measurement 2 is setup to be type 1 (soil temperature).
- Measurement count: when speaking to the sensor, a number of readings are returned. This setting determines how many measurements are saved and sent on the network. Usually you would choose this to match the number of sensors values returned. Many SDI12 Soil Moisture Probes (eg. Aquacheck) have 6 sensors in them. A count of 6 would save and sent all of the returned values. In the screenshot above, both measurements are setup to save 6 values
- Data conversion: this defines how the data is saved and sent. Because of space constraints in these LPWAN devices, we pack the data as efficiently as possible. To maximise the efficiency, you can choose a conversion type. This means it should be interpreted differently on the server side. In the screenshot above, measurement 1 is setup to be soil moisture and measurement 2 is setup to be soil temperature.
The schedules are used to make the measurements happen:
- The schedules can be set to run at fixed time periods. The screenshot above shows a 30 min period.
- Each schedule can take a variety of actions (items) when it runs. The items in the screenshot above are the measurements we setup (measurement 1 and measurement 2).
Common questions:
- How do I know which measurement types my sensor supports? You will need to find this out from the manufacturer. Normally for Soil Moisture Probes, type 0 is soil moisture and type 1 is soil temperature.