1-Wire Temperature Sensors in ROS

One of the features of our rover is to sense internal temperatures of critical devices such as the electronics cabinet and the drive motors.  This data will be used to ensure that systems do not receive thermal damage. To help simplify the system and increase accuracy we have decided to go with the Maxim DS18B20 1-Wire digital temperature sensor.  Not only are the cheap and easy to use, they also are extremely small which will make system integration easier.  The sensors can use parasitic power, which means only communications/power and ground lines need to be attached, reducing the wire count for each device.  Currently we are using an Arduino with the OneWire and DallasTemperature libraries to collect the data from the devices.  We are also using the rosserial_arduino package to publish the data to a ROS node.  A simple test was performed with two sensors attached to the bus.  The data from each sensor was monitored on a ROS topic while once sensor was pinched between two fingers and the other left undisturbed.