Specifications

Section 11. Programming Resource Library
11-22
11.3.3.1 Address Query Command
If the address of a particular sensor is unknown, use the Address Query
command to request the sensor identify itself. Get Unknown Address syntax is
“?!” (without the quotation marks), where the question mark is used as a
wildcard for the address, followed by the command terminator. The sensor
replies to the query with the address, “a”. Carriage-return <CR> and line-feed
<LF> are appended to all responses, although these are transparent to the user.
When using Get Unknown Address command, only one sensor can be
connected to the SDI-12 / control port.
11.3.3.2 Change Address Command
The command body for changing the sensor address is “Ab”, where “b” is the
desired new address. Thus the total command string is “aAb!”, where the
lower case “a” is the current address, which is followed by the command body
and then the command terminator. For example, to change an address from the
default address 0, to address 2, the command is “0A2!” In response, the sensor
responds with the “new” address “a”, or in this case “2”.
To subsequently change the address of this sensor to 4, the command is “2A4!”
11.3.3.3 Send Identification Command
Verify what sensor is being communicated with by using the Send
Identification command “I”. If using the default address of zero, the entire
command structure is: “0I!” The specific reply from a sensor will be defined
by the manufacturer, but will include the sensor’s address, the SDI-12 version,
and typically the manufacturer’s name, the sensor’s model number and version
number. Optionally it may also contain the serial number or other sensor
specific information.
An example of a response from the aI! command is:
013NRSYSINC1000001.2101 <CR><LF>
where,
Address = 0
SDI-12 version =1.3
Manufacturer = NRSYSINC
Sensor model = 100000
Sensor version = 1.2
Serial number = 101
11.3.4 Making Measurements
There are two ways to command sensors to take measurements. A standard
measurement has the command body of M[v], and the concurrent measurement
is initiated with C[v], where “v” is an optional number that allows for
variations to the measurement command. For either measurement command,
the response from the sensor will be in the form of “atttnn”, where
a = the sensor address
ttt = the time, in seconds, until the sensor will have the measurement(s) ready