1Wire

1wire host adapter raspberry

Hier nun das Ergebnis der angekündigten 1-Wire Tests auf dem Raspberry. Zusammengefasst kann ich jetzt schon sagen dass das Ganze einen sehr soliden Eindruck macht und ohne Zweifel als sinnvolle Sensorik für das Smarthome eingesetzt werden kann. Aber von vorne… Hier ist meine Stückliste:

  • Raspberry Pi (ich habe zum Testen einen Pi 2 Model B verwendet)
  • RPI2 GPIO Host Adapter für Raspberry Pi(Berrybase)
  • 1-Wire Temperatursensor I Kit(Shop von Thomas Heldt)
  • 20 Meter Telefonkabel 3 adrig

Anmerkung: Der Shop von Thomas Held ist leider mittlerweile geschlossen. Sehr schade !

Vorab zum Sensor: Das Kit “1-Wire Temperatursensor I Kit” kann im Bestellverlauf optional fertig verlötet bestellt werden. Ich kann nur jedem raten dass zu machen. 2 der verwendeten Bauteile sind so winzig dass ich grosse Schwierigkeiten hatte diese überhaupt irgendwie zu greifen. Das Löten war ein Abenteuer.

Zur Installation wird der Raspberry ausgeschaltet und vom Strom getrennt. Der RPI2 Host Adapter wird einfach ganz am Ende auf die GPIO Leiste gesteckt. Am besten schließt man die 3 Adern der Telefonleitung vorher an. Dann am anderen Ende der Leitung entsprechend anschliessen. Der Host Adapter hat folgende Anschlüsse:

  • +5V Versorgungsspannung
  • Masse
  • Datenleitung

Einige Sensoren benötigen wohl keine extra Spannungsversorgung über 5Volt. In unserem Beispiel schliessen wir die 5V an.

Sind alle Leitungen angeschlossen kann der Raspberry wieder gestartet werden.

Für die Verwendung des 1-Wire Busses (bzw. hier i2c Bus) müssen 2 Kernel Module geladen werden. Zur Laufzeit geht das so:

Um diese Module dauerhaft bei jedem neuen Bootvorgang zu laden müssen die Modulnamen in /etc/modules eingetragen werden:

(nur die Namen – nicht “modprobe”)

In der Boot Konfiguration musste ebenfall eine Zeile auskommentiert werden

Dann habe ich das Pakewt i2c-tools installiert:

Danach habe ich den Pi einmal neu gestartet.

Nun könnt Ihr den Befehl i2cdetect nutzen um zu Prüfen ob Eurer Bus Adapter korrekt erkannt wurde:

Das Ergebniss sollte in etwas so aussehen:

Danach habe ich das sog. 1-Wire Filesystem installiert.

Apt meldete mir hier eine fehlerhafte Installation am Ende. Daher habe ich dann nochmal alle Paket entfernt und neu installiert:

Dann nochmal:

Im Basissetup werden ein paar nicht vorhandene Sensoren “simuliert”. Wenn Ihr einen echten Sensor zu Verfügung habt solltet Ihr diese deshalb deaktivieren.

Hier sind alle Zeilen die “FAKE” enthalten auszukommentieren.

Desweiteren muss in derselben Datei folgende Zeile hinzugefügt werden um das Device für den Server zu setzen:

Danach startet man den Dienst owserver einmal neu:

Ich erhielt dabei eine Fehlermeldung:

Dies konnte ich beheben indem ich nicht “systemctl” genutzt habe sondern “service”

Sehr strange – egal…

Prüfen ob der Server läuft könnt Ihr dann wieder mit systemctl:

Jetzt wird es interessant…
Mit dem Befehl owget könnt Ihr Euch das virtuelle 1-Wire Dateisystem anzeigen lassen:

Der Ordner “/28.80B0960B0000” entspricht hier meinem angeschlossenen Temperatursensor. Um sich die Features des Sensors genauer anzuschauen probieren wir daher jetzt:

Das einzige Feature was für uns vermutlich aktuell wirklich interessant ist “temperature”, also:

Voila – wir sind am Ziel.

Ein cooles Feature ist noch das wir die Werte auch per WebGui abfragen können. Dazu musste ich noch das Paket owhttpd nachinstallieren und den Server starten.

Über den Browser könnt Ihr dann wie folgt abfragen:

http://[IP oder DNS Eures Raspberry]:2121/[SensorID (siehe oben)]/temperature

FAZIT: Eine runde Sache funktioniert einwandfrei.

Please follow and like us:
error

2 Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.