hardware:channels:sensors:1_wire
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| hardware:channels:sensors:1_wire [2013/10/12 11:02] – [Raspberrypi] ollir | hardware:channels:sensors:1_wire [2020/01/19 15:42] (aktuell) – Einlesen mit vzlogger ergänzt ruperts | ||
|---|---|---|---|
| Zeile 3: | Zeile 3: | ||
| Derzeit haben wir mehrere Möglichkeiten 1-Wire Sensoren auszulesen. | Derzeit haben wir mehrere Möglichkeiten 1-Wire Sensoren auszulesen. | ||
| + | ===== RaspberryPi ===== | ||
| - | ===== Raspberrypi ===== | + | Den RaspberryPi |
| - | + | ||
| - | Den Raspberrypi | + | |
| + | [[hardware: | ||
| + | [[hardware: | ||
| [[http:// | [[http:// | ||
| - | Bei mir musste zustäzlich | + | Ohne VZ-Erweiterung muss unter Umständen zusätzlich |
| < | < | ||
| # 1wire | # 1wire | ||
| - | w1-gpio | + | w1-gpio |
| w1-therm | w1-therm | ||
| </ | </ | ||
| - | Eine Übersicht über die Sensoren bekommt man mit "ls / | + | Eine Übersicht über die Sensoren bekommt man mit '' |
| - | Mit dem Befehl | + | Mit dem Befehl |
| + | In der Datenbank des Volkszähler müssen die einzelnen Kanäle angelegt werden. Die Kanalnummern müssen dann in das Script bzw. Config-File übernommen werden [[software/ | ||
| + | Um das ganze dann in die Volkszählerdatenbank zu bekommen, gibt es mehrere Möglichkeiten. | ||
| - | Um das ganze dann in die Volkszählerdatenbank zu bekommen brauche wir wieder perl: | + | ==== Einlesen mit vzlogger ==== |
| + | |||
| + | Siehe 1wire an GPIO des BananaPi, Abschnitt [[howto:bananapi: | ||
| + | |||
| + | ==== Einlesen mit perl-Script ==== | ||
| < | < | ||
| Zeile 31: | Zeile 38: | ||
| </ | </ | ||
| - | Das Abfragescript selber "get1wire.pl": | + | Das Script mit '' |
| - | < | + | < |
| # | # | ||
| Zeile 71: | Zeile 78: | ||
| # decodieren | # decodieren | ||
| - | $sensor_temp =~ /t=(\d+)/i; | + | $sensor_temp =~ /t=(\-?\d+)/ |
| $val = (($1*$fak)-0); | $val = (($1*$fak)-0); | ||
| Zeile 125: | Zeile 133: | ||
| </ | </ | ||
| - | Wenn alles erfolgreich war, dann kann das Script auch vom Cron ausführen lassen: | ||
| - | Mit crontab -e können dann im Intervall die Daten ausgelesen werden und in der Datenbak | + | Das Script sollte dann manuell ausgeführt werden. Wenn alles erfolgreich war, dann kann das Script auch vom Cron ausführen lassen: |
| + | |||
| + | Mit crontab -e können dann im Intervall die Daten ausgelesen werden und in der Datenbank | ||
| < | < | ||
| # m h dom mon dow | # m h dom mon dow | ||
| */1 * | */1 * | ||
| </ | </ | ||
| + | |||
| + | ===== BananaPi ===== | ||
| + | |||
| + | Ein HowTo für den BananaPi ist hier zu finden: [[howto: | ||
| ===== log_onewire.sh ===== | ===== log_onewire.sh ===== | ||
| Zeile 178: | Zeile 191: | ||
| Dann ganz normal kompilieren. " | Dann ganz normal kompilieren. " | ||
| - | |||
| Zeile 215: | Zeile 227: | ||
| ON STARTUP DO THREAD_START(1wirelog) END | ON STARTUP DO THREAD_START(1wirelog) END | ||
| CONTROL_END | CONTROL_END | ||
| - | | + | </ |
| Für control6 ist bei aktiviertem " | Für control6 ist bei aktiviertem " | ||
| Zeile 224: | Zeile 236: | ||
| Beispiel mit aktiviertem Timestamp und Namensupport : | Beispiel mit aktiviertem Timestamp und Namensupport : | ||
| + | < | ||
| C6_HEADER(`/ | C6_HEADER(`/ | ||
| dnl | dnl | ||
| Zeile 249: | Zeile 262: | ||
| ON STARTUP DO THREAD_START(onewire) END; | ON STARTUP DO THREAD_START(onewire) END; | ||
| CONTROL_END | CONTROL_END | ||
| + | </ | ||
| + | ===== ESPeasy ===== | ||
| + | Es gibt auch noch weitere Möglichkeiten einen DS18B20 1-Wire Sensor auszulesen und die Messwerte an die Middleware zu übertragen, | ||
hardware/channels/sensors/1_wire.1381568537.txt.gz · Zuletzt geändert: von ollir