1-Wire Extension für den Raspberry Pi

Ich bin im Loxone Forum auf die 1-Wire Master Platinen von Sheepwalk Electronics (Externer Link: http://www.sheepwalkelectronics.co.uk) aufmerksam geworden. Da wir nächstes Jahr mit der Bewässerung und vielleicht einem kleinen Pool loslegen wollen, habe ich mir eine Platine bestellt. Die Wahl viel schnell auf die RPI2 1-Wire Platine, da diese gegenüber der RPI1 1-Wire Platine viele Vorteile bietet. Unter anderem eine geregelte 5V Spannungsversorgung (wichtig für einen stabilen 1-Wire Bus), einen Überspannungsschutz (DS9503) und einen richtigen I2C-to-1-Wire Chip (DS2482-100) der sehr leistungsfähig ist. Wie auch bei der Loxone 1-Wire Extension die wir für die 1-Wire Sensoren im Haus nutzen, ist ab einer bestimmten Länge des Bussystesm bzw. Anzahl an Teilnehmern mit Problemen zu rechnen.1-Wire Extension

Übergangsweise habe ich die RPI2 Platine auf den zweiten Raspberry Pi gesteckt um ein wenig damit zu spielen. Wenn man alles genau nach Anleitung macht, sind die Sensoren (Im Bild zu sehen ein DS18B20) schnell ausgelesen.

1-Wire Extension auf Raspberry Pi

Hier eine kleine Anleitung:

Zum testen habe ich wie oben auf dem Bild zu sehen, einen DS18B20 Temperatursensor mit 5V Spannungsversorgung (3adrig) an die 1-Wire Platine angeschlossen und die Platine auf den Raspberry Pi gesteckt.

Damit die benötigten Kernel Module gleich beim Start geladen werden muss folgende Datei geöffnet

und folgende Zeilen hinzufügt werden

Zum Laden der Module muss der Raspberry Pi neugestartet oder wer nicht warten kann manuell geladen werden

Nachdem die Module geladen wurden kann geprüft werden, ob die I2C Schnittstelle die Platine erkannt hat

es sollte folgende Ausgabe erscheinen

Die Ausgabe bedeutet, dass an der Adresse 18 ein I2C Gerät in diesem Falle die RPI2 Platine antwortet.

Jetzt muss noch die OWFS (1-Wire File System) Software installiert werden

Nach der Installation ist es sehr wichtig noch die Konfiguration anzupassen

Folgende Zeile kann mit # auskommentiert werden, da hiermit nur Fake Sensoren generiert werden die mich zuerst sehr verwirrt haben. Zum probieren vielleicht ganz nett, man sollte nur dran denken!

Zusätzlich muss folgende Zeile eingefügt werden

Zum einlesen der Konfiguration kann man den ganzen Raspberry Pi neustarten oder nur den OWFS Serivce neustarten, was natürlich etwas schneller geht

Jetzt kann das virtuelle 1-Wire Filesystem (OWFS) mit

ausgelesen werden. Als Ergenis erhält man das root Verzeichnis

Der virtuelle Ordner 28.F73924030000 entspricht dann dem DS18B20. Die auslesbaren Werte erhält man dann mit

Die Liste unterscheidet sich je nach Sensor / Aktor ein wenig

Das Auslesen der Temperatur aus dem Sensor funktioniert wie folgt

Es gibt auch eine fertige HTTP Schnittstelle in der das ganze viel einfacher geht 🙂

Wenn man z. B. nur die Temperatur von der Adresse 28.F73924030000 auslesen will kann man das mit

2 thoughts to “1-Wire Extension für den Raspberry Pi”

  1. Hallo, können Sie in wenigen schritten erklären wie die Einbindung der 1 wire Messwerte in die loxone Steuerung integriert werden kann?

    1. Hallo Benjamin,

      Sorry, da kann ich dir leider nicht weiterhelfen. Ich hatte es mir eigentlich vorgenommen, bin aber nicht mehr dazu gekommen. Den letzten Satz im Beitrag, dass in kürze weitere Beiträge folgen, habe ich daher entfernt.

      Ein Lösungsansatz wäre über einen „virtuellen HTTP Eingang“ auf dem Loxone Miniserver die Daten direkt von der OWFS Webseite abzufragen bzw. zu parsen. Alternativ ein Shell Skript das die Temperatur ausliest und dann an einen virtuellen Eingang übergibt. Das Skript wird dann per Cronjob gestartet. Das Shell Skript habe ich nur eben schnell zusammengesucht und ist daher ungetestet. Vielleicht hilft es dir ja trotzdem weiter?!

      Wenn du noch Fragen hast, melde dich gerne nochmal.

      Viele Grüße
      Stefan

Schreibe einen Kommentar

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

*

code