SDI-12 to RS232 Translator Buy Now
Quickly turn your PC or modem into a SDI-12 compliant data logger, with the Vegetronix SDI-12 RS232 translator board.
The translator will connect to your PC or modem through a RS232 interface, and allow you to communicate with SDI-12 compliant sensors with simple serial commands.
You can use any serial port communication program such as the HyperTerminal program which is installed on all Windows platforms, to communicate with the device through a command line interface. You can also write your own software programs to communicate with the translator board, and merely need to target a serial port.
The translator allows you to pass through standard SDI-12 commands, or you can set up the on-board scheduler, and it will retrieve data at specified intervals.
We also carry a SDI-12 to USB translator that you may also be interested in.
- Ultra-fast prototyping of SDI-12 sensor networks.
- Replacement of expensive data loggers.
- Environmental/Weather monitoring.
- Control and monitoring of irrigation systems.
- SDI-12 testing of sensors.
- Remote SDI-12 monitoring of sensors through a modem.
- Wireless access of SD-12 Sensors.
- Fully SDI-12 compliant.
- Sends SDI-12 commands and passes back the responses.
- Uses standard RS232 12V voltage levels (not TTL voltage levels).
- Low power.
- Can be used with any serial communication program.
- Command line interface.
- Can interface with up to 62 SDI-12 sensors.
- 4 mounting holes in each corner.
|Power consumption||< 50mA|
|Supply Voltage||6V to 12 VDC.|
|Dimensions||1.5in x 2.0in|
|Supported number of sensor addresses||62|
Other Vegetronix Products of Interest
- VH400 Soil Moisture Sensors
- VegeHub Garden Sensor WiFi Hub
- Relay Control Boards
- SDI-12 Sensor Engine
- SDI-12 USB Translator.
|Terminal Block TB1 (SDI-12 INTERFACE)|
|Terminal Block TB2 (INPUT POWER INTERFACE)|
|2||Rev H: +V in (6 to 12VDC)|
|DB9 Serial Connector (NULL Modem)|
|2||TX (referenced to board)|
|3||RX (referenced to board)|
A serial communications program must be used to access the translator. While the translator will work with most any serial communications program, we recommendTermite for Windows and only provide support for it. If you are having dificulties, get it working with termite first, then switch to your desired program.
If you are using a USB to RS232 bridge cable, then when you plug the USB Comm device into your computer it will randomly assign a comm port number to the USB device. To determine which comm port the device has been assigned to do the following:
- Open the Termite Program.
- Push the "Setting" button on the too bar.
- Select the comm port that you determined from the steps above.
- Set the Baud Rate to 9600.
- Data bits should be 8.
- Stop bits should be 1.
- Parity should be none.
- Flow Control should be none.
- Under the "Transmitted Text" group box, select "Append CR".
- Select Okay to close the Settings box.
- Put the cursor on transmit text line, at the very bottom, and type random text, and hit the enter key. The translator should respond with an error message. At this point you know that the settings are correct, and you can start sending correctly formatted commands.
You can setup the board to act as a data logger and to sample the various sensors at periodic times, by using the "ADD" command, or you can use the transparent mode, and send the sensors any SDI-12 text string that you desire. "<CR>" as used below means carriage return with no line feed. Some communication software programs have an option to automatically send a line feed with the carriage return. Make sure this feature is disabled.
|H||Help - Lists all of the available commands|
|ADD [sensor number (0-9)]:[Measurement number], [sample period (in seconds, 0 for no sampling)],[use CRC (1:true/0:false)], [Type (0:Normal,1:Concurrent,2:Continuous)]<CR>||Add a sensor/measurement number to
the scheduler which periodically goes out and samples the specified
sensor and measurement. You can specify sample period, and type, and
if you want to use CRC.
Example: ADD 0:0,120,0,0<CR> - sensor 1 is sampled every 2 minutes without CRC.
|DEL [sensor number (0-9)]:[Measurement number]<CR>||Remove a sensor/measurement from the scheduler.|
|START<CR>||Turn on the scheduler and begin sampling for each sensor/measurement added using the ADD command.|
|STOP<CR>||Turn off the scheduler and stop sampling.|
|QUERY [sensor address (0-9)]:[Measurement number]<CR>||Returns the information specified by a particular ADD commands, and SDI ID string.|
|V<CR> -||Returns the version Number of the SDI RS232 Translator.(Current Version: V2.6)|
|READ [sensor address (0-9)]:[Measurement number]<CR>||Perform immediate measurement.|
|T [String]<CR>||Transparently sends a string to SDI bus.|
|DATA [sensor number (0-9)]:[Measurement number]<SDI values>||Response from logger to measurements.|
If your sensor is working correctly you should never see these error codes.
|ER: (2) response||The sensor has returned an unexpected number of parameters 'n' from the sensor response: atttn\r\n|
|ER: (3) response||The sensor has returned an invalid time 'ttt' from the sensor response: atttn\r\n|
SDI-12 Translator Board DimensionsPlease note that Mils are thousands of an inch NOT millimeters.
Quick Start Guide
- Install and configure a serial terminal program on your computer such as Termite.
- Plug the translator into the RS232 port. You will see its LEDs blink briefly.
- Make sure the serial terminal program has the correct RS232 comm port selected.
- From the serial terminal program send a carriage return (CR) by pressing the enter key. The translator should respond with an error message.
- Wire a single SDI-12 Sensor to the SDI-12 bus of the translator, and make sure your sensor is powered.
- Send an address query command in transparent mode by sending the following string from your terminal program:
- T ?! // The sensor should respond with its address.
- You can send the sensor other SDI-12 commands in transparent mode such as:
- T 0M! // Measurement command.
- T 0D0! // Get data command.
- Make sure each of your sensors have a different address so that there is no conflict on the bus. You can change the sensor address with the change address command. The following example assumes that the sensor is currently at address 0, and you want to change it to address 1:
- T 0A1! // The sensor should respond with its new address.
How to Get Started
The best way to get started is to order a few translators and try them out in your application.