software:controller:m-bus
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
hardware:controllers:m-bus [2011/11/27 21:00] – [Regelmäßiger Aufruf im Cron] justinotherguy | software:controller:m-bus [2023/05/17 21:06] (aktuell) – [Test] raptorsds | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== M-Bus Controler | + | ====== M-Bus Controller |
- | Der Mbus Controler dient zur Anbindung des Meter-Bus | + | Der Mbus Controler dient zur Anbindung des [[http:// |
+ | Standart M-Bus | ||
+ | 2400Baud 8b even 1stop | ||
+ | |||
+ | möglich auch | ||
+ | | ||
+ | oder selten | ||
+ | 9600Baud 8b even 1stop | ||
===== Vorraussetzungen ===== | ===== Vorraussetzungen ===== | ||
Zeile 10: | Zeile 17: | ||
===== Installation ===== | ===== Installation ===== | ||
+ | Quellpaket [[https:// | ||
+ | < | ||
+ | wget https:// | ||
+ | </ | ||
+ | < | ||
+ | unzip m-bus.zip | ||
+ | </ | ||
+ | < | ||
+ | cd m-bus | ||
+ | </ | ||
+ | < | ||
+ | chmod +x install.sh | ||
+ | </ | ||
+ | < | ||
+ | ./ | ||
+ | </ | ||
- | Die Dateien unter: volkszaehler.org/ | + | erzeugt einen Benutzer |
+ | Es kann vorkommen das man einen Neustart machen muss damit der Neue Benutzer richtig erkannt wird | ||
===== Konfiguration ===== | ===== Konfiguration ===== | ||
Den Seriellen Pegelwandler an den PC anschließen | Den Seriellen Pegelwandler an den PC anschließen | ||
- | In der Datei mbusconf.pm Einstellungen zum Port Baudrate etc. vornehmen: | + | In der Datei ''/ |
< | < | ||
$mbusPort="/ | $mbusPort="/ | ||
$vzURL=" | $vzURL=" | ||
- | $vzOldFile="/ | ||
- | $mbusserial="/ | ||
$mbusBaudrate=2400;'' | $mbusBaudrate=2400;'' | ||
</ | </ | ||
- | In der Datei: | + | In der Datei: |
Jetzt auf dem Mbus nach Devices suchen. | Jetzt auf dem Mbus nach Devices suchen. | ||
Zeile 35: | Zeile 57: | ||
</ | </ | ||
- | Die Seriellen Adressen werden in der Datei: | + | Fehlermöglichkeiten |
- | $mbusserial | + | - Serial |
+ | Je nach Installation kann die Installation verschiedener perl-Bibliotheken erforderlich sein. Das erkennt man daran, dass der mbus-cmd Befehl Fehlermeldungen ausgibt wie z.B.: | ||
+ | |||
+ | Can't locate Device/ | ||
+ | |||
+ | sucht man z.B. in Google nach dieser Fehlermeldung findet man schnell einen Hinweis, dass mit | ||
+ | < | ||
+ | apt-get install libdevice-serialport-perl | ||
+ | </ | ||
+ | |||
+ | - LWP | ||
+ | Can't locate LWP.pm in @INC | ||
+ | < | ||
+ | apt-get install libwww-perl | ||
+ | </ | ||
+ | |||
+ | |||
+ | - simple LWP | ||
+ | Can't locate LWP/ | ||
+ | < | ||
+ | perl -MCPAN -e' | ||
+ | </ | ||
+ | !dieser Befehl kompiliert auch weiter PM Files und könnte etwas länger dauern | ||
+ | |||
+ | |||
+ | - simple Lock | ||
+ | Can't locate LockFile/ | ||
+ | < | ||
+ | perl -MCPAN -e' | ||
+ | </ | ||
+ | |||
+ | die entsprechende Bibliothek nachinstalliert werden muss. Wenn alles da ist, startet der Scan und die Seriellen Adressen werden in der Datei: | ||
+ | / | ||
+ | |||
+ | Sicherstellen, | ||
Jedes M-Bus Device kann wiederum viele Zähler zurückliefen. | Jedes M-Bus Device kann wiederum viele Zähler zurückliefen. | ||
< | < | ||
- | ./mbus-cmd -print-busconf | + | ./mbus-cmd -print-mbusconf |
</ | </ | ||
Zeile 52: | Zeile 108: | ||
$vzUuid{" | $vzUuid{" | ||
$vzUuid{" | $vzUuid{" | ||
+ | ... | ||
</ | </ | ||
- | Jetzt Zähler anlegen, z.B. mit dem [[software/ | + | Jetzt Zähler anlegen, z.B. mit dem [[software: |
Zeile 61: | Zeile 118: | ||
< | < | ||
- | $vzUuid{" | + | $vzUuid{" |
$vzUuid{" | $vzUuid{" | ||
$vzUuid{" | $vzUuid{" | ||
</ | </ | ||
- | ===== Test ===== | + | ===== Tipp: Device Konfiguration mit udev ===== |
+ | |||
+ | Durch das Anlegen einer Datei ''/ | ||
+ | |||
+ | SUBSYSTEM==" | ||
+ | |||
+ | (alles in einer Zeile!) | ||
+ | |||
+ | kann man dafür sorgen, das das richtige Device immer ''/ | ||
+ | |||
+ | Die nötigen Werte für idVendor usw. erhält man mit: | ||
< | < | ||
- | ./mbus-cmd --verbose | + | udevadm info -a -p $(udevadm info -q path -n / |
</ | </ | ||
+ | |||
+ | ===== Test ===== | ||
+ | |||
+ | < | ||
+ | su - mbus | ||
+ | ./mbus-cmd --verbose | ||
+ | </ | ||
Ergibt eine Ausgabe der übertragenen Daten. | Ergibt eine Ausgabe der übertragenen Daten. | ||
< | < | ||
- | ./mbus-cmd --sql-out | + | su - mbus |
+ | ./mbus-cmd --sqlout | ||
</ | </ | ||
+ | Alternativ auch Rohdaten möglich | ||
+ | < | ||
+ | su - mbus | ||
+ | ./mbus-cmd --sqlrawout | ||
+ | </ | ||
Kann man alle Zählerstände in einer MySQL Syntax abfragen um zu testen, oder die Zählerstände nochmals zusätzlich | Kann man alle Zählerstände in einer MySQL Syntax abfragen um zu testen, oder die Zählerstände nochmals zusätzlich | ||
Zeile 83: | Zeile 163: | ||
===== Regelmäßiger Aufruf im Cron ===== | ===== Regelmäßiger Aufruf im Cron ===== | ||
- | Ein Skript | + | Sicherstellen, |
< | < | ||
- | #!/bin/bash | + | chmod 666 /var/lib/mbus/vzold |
- | cd /usr/local/ | + | |
- | / | + | |
</ | </ | ||
- | / | + | eingeben. |
+ | |||
+ | '' | ||
< | < | ||
- | */3 * * * * | + | */3 * * * * |
</ | </ | ||
+ | Nun sollte der Cron alle 3 Minuten laufen, dass lässt sich nun anhand des Datums der Datei ''/ |
software/controller/m-bus.1322424033.txt.gz · Zuletzt geändert: 2011/11/27 21:00 von justinotherguy