Aquaread BlackBox™ Instruction Manual
10401-00618 Rev P
8. SDI-12 Data Communication Protocol
SDI-12 is a standard for interfacing data recorders with microprocessor-based sensors.
SDI-12 stands for serial/digital interface at 1200 baud. This section describes the protocol
for communications between the BlackBox and SDI-12 data recorders complying with
Version 1.3 of the SDI-12 standard.
8.1. Data Packet Formats
The BlackBox responds to commands sent to it by an SDI-12 data recorder. Command
packets should have the format:
<a><command-data>!
where:
<a> is the BlackBox address character (valid values are ASCII “0”-”9”, “A”-”Z”,
“a”-”z” & “?”)
<command-data> is a string of zero or more command dependent data characters
(values in the range 0x20-0x7E, excluding 0x21 (ASCII “!”))
the packet is terminated by 0x21 (ASCII “!”)
Response packets have the format:
<a><response-data>[<crc>]<CR><LF>
where:
<a> is the BlackBox's address character
<response-data> is a string of zero or more command dependent data characters
(values in the range 0x20-0x7E)
<crc>, when present, is a string of 3 characters encoding the cyclic redundancy
check of the response data (1
st
character in the range 0x40-0x4F, 2
nd
& 3
rd
characters in the range 0x40-0x7F)
the packet is terminated by a carriage return followed by a line feed
The formats of the individual command/response packets that the BlackBox supports are
described in the following subsections. Any measurement values that are invalid will be
returned with all fields set to 9.
8.1.1. Acknowledge Active
This command allows the data recorder to check that the BlackBox is present on the SDI-
12 bus.
Command
Response
<a>!
<a><CR><LF>
8.1.2. Address Query
This command allows the data recorder to obtain a sensor's address character. It must only
be issued when there is just one sensor attached to the bus, otherwise all sensors will
respond, causing bus contention.
Command
Response
?!
<a><CR><LF>
© 2019 Aquaread Ltd.
www.aquaread.com
Page 17 of 71