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/05 14:05] – [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 zustzlich | + | Ohne VZ-Erweiterung muss unter Umständen zusätzlich |
< | < | ||
# 1wire | # 1wire | ||
- | w1-gpio | + | w1-gpio |
w1-therm | w1-therm | ||
</ | </ | ||
- | Mit dem Befehl " | + | Eine Übersicht über die Sensoren bekommt man mit '' |
- | Um das ganze dann in die Volkszählerdatenbank zu bekommen | + | 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. | ||
+ | |||
+ | ==== Einlesen mit vzlogger ==== | ||
+ | |||
+ | Siehe 1wire an GPIO des BananaPi, Abschnitt [[howto:bananapi: | ||
+ | |||
+ | ==== Einlesen mit perl-Script ==== | ||
< | < | ||
Zeile 26: | Zeile 38: | ||
</ | </ | ||
- | Das Abfragescript selber "get1wire.pl": | + | Das Script mit '' |
- | < | + | < |
# | # | ||
- | # welcher | + | # welche |
- | my %Daten = ( # Name => [ Adresse , Faktor ] | + | my %Daten = ( # Name => [ Adresse |
" | " | ||
" | " | ||
Zeile 66: | Zeile 78: | ||
# decodieren | # decodieren | ||
- | $sensor_temp =~ /t=(\d+)/i; | + | $sensor_temp =~ /t=(\-?\d+)/ |
$val = (($1*$fak)-0); | $val = (($1*$fak)-0); | ||
Zeile 120: | 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 173: | Zeile 191: | ||
Dann ganz normal kompilieren. " | Dann ganz normal kompilieren. " | ||
- | |||
Zeile 210: | 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 219: | Zeile 236: | ||
Beispiel mit aktiviertem Timestamp und Namensupport : | Beispiel mit aktiviertem Timestamp und Namensupport : | ||
+ | < | ||
C6_HEADER(`/ | C6_HEADER(`/ | ||
dnl | dnl | ||
Zeile 244: | 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.1380974700.txt.gz · Zuletzt geändert: 2013/10/05 14:05 von ollir