Arduino | OneWire Ethernet

Arduino-uno-perspective-transparentTemperature sensors can be found in many forms and sizes. However finding them for KNX/EIB can be quite difficult. And when you do find them they are expensive.

Most of the time buying an RFXCOM is the easiest solution. They work great with Oregon Scientific sensors and it’s a wireless solution.

But there are other options. The one I use is OneWire. I had a couple of DS18S20 lying around and they are really small. Already having a couple connected to my central heating and one hidden behind the thermostat I wanted to interface them to my automation system.

OneWire ArduinoI had an Arduino Duemilanove collecting dust and it has an ethernet shield. Interfacing the Arduino to OneWire is really easy. I use parasitic power mode so I only needed to connect the two bus wires and use a 4.7k pull-up resistor. My DS18S20 sensors are wired in parallel and the 5 volts is taken straight from the Arduino.

Using bits and pieces from the internet I threw together a sketch that reads the temperature sensors and broadcasts the readings over ethernet using UDP. I’m not a programmer so the sketch probably isn’t the best programming in the world but it has been working reliably for quite a while now.

The Sketch can be found on my GitHub.

*please note that this is a repost from my old site dated a few years back. I have switched to RS485 and MQTT since. The information in this post and the sketch are outdated.

Leave a Reply

Your email address will not be published. Required fields are marked *