1wire over rj45
Überblick
Ich möchte die Temperatur in verschiedenen Räumen eines Gebäudes messen. Außerdem soll diese alle 15 Minuten aufgezeichnet und später ausgewertet werden können.
Dazu verwende ich DS1820 oder (nachfolger wie z.b DS18B20, DS18S20) als Sensoren. Diese werden über normale Kabel mit RJ45-Stecker (Netzwerkkabel) verbunden. Die Ansteuerung übernimmt ein AVR-NET-IO mit ethersex. Durch den modularen Aufbau kann man leicht Sensoren dazustecken oder entfernen. Da bei jedem Sensor-Modul 3 RJ54 Buchsen vorhanden sind, können die Kabel in beliebigen Baum-Strukturen verlegt werden.
Durch meine bestehende Verkabelung von Cat5-Kabeln ergab sich ab etwa 10 Sensoren eine sehr schlechte Topologie (mit mehrfachen Kabellängen > 100m zwischen den einzelnen Sensor-Modulen) und einige Sensoren wurden dann nicht mehr ausgelesen. Daher wurde das Sensor-Netzwerk mit dem 8-fach-Adapter in einzelne kleinere zerteilt. Damit funktionieren wieder alle Sensoren problemlos.
Sensor-Module
Die Sencor-Module bestehen im Wesentlichen aus einem DS18B20.
erweitertes Sensor-Modul
Neben der Temperatur soll nun auch die Luftfeuchtigkeit gemessen werden. Dazu dient das erweiterte Sensor-Modul. Ein Attiny841 emuliert dabei einen DS2438 Baustein am 1wire Bus. Temperatur und Luftfeuchtigkeit werden mit einem SHT21 gemessen. Zusätzlich gibt es einen Taster und eine LED, die per 1wire angesprochen werden können. Ebenso einen LDR.
Bus-Master for RaspberryPi
Da ethersex keine DS2438-Sensoren unterstützt, plane ich einen 8-Fach-Bus-Master mit einem DS2482S-800 für ein RaspberryPi zu bauen. Es soll dann owfs eingesetzt werden.
Fotos
Links
- Bestrahlungsschutzschild für Temperatursensor im Außenbereich
- ethersex
- Wikipedia: 1wire
- Maxim-IC: DS18S20