software:controller:m-bus
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
hardware:controllers:m-bus [2011/11/27 10:26] – [Vorraussetzungen] udo1 | software:controller:m-bus [2023/05/14 21:23] – [M-Bus Controller] 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 | ||
+ | 2400b 8b even 1stop | ||
+ | |||
+ | möglich auch | ||
+ | 300b 8b even 1stop | ||
+ | oder selten | ||
+ | 9600b 8b even 1stop | ||
===== Vorraussetzungen ===== | ===== Vorraussetzungen ===== | ||
Zeile 10: | Zeile 17: | ||
===== Installation ===== | ===== Installation ===== | ||
+ | Quellpaket [[https:// | ||
+ | < | ||
+ | wget https:// | ||
+ | </ | ||
+ | < | ||
+ | unzip m-bus.zip | ||
+ | </ | ||
+ | < | ||
+ | cd mbus | ||
+ | </ | ||
+ | < | ||
+ | chmod +x install.sh | ||
+ | </ | ||
+ | < | ||
+ | ./ | ||
+ | </ | ||
+ | |||
+ | erzeugt einen Benutzer mbus und packt ihn in die Gruppe dialout damit er auf die Serielle Schnittstelle zugreifen kann. Im Anschluß kopiert das Skript die Dateien in die richtigen Pfade. | ||
+ | |||
+ | Es kann vorkommen das man einen Neustart machen muss damit der Neue Benutzer richtig erkannt wird | ||
+ | ===== Konfiguration ===== | ||
+ | |||
+ | Den Seriellen Pegelwandler an den PC anschließen | ||
+ | |||
+ | In der Datei ''/ | ||
+ | |||
+ | < | ||
+ | $mbusPort="/ | ||
+ | $vzURL=" | ||
+ | $mbusBaudrate=2400;'' | ||
+ | </ | ||
+ | |||
+ | In der Datei: ''/ | ||
+ | |||
+ | Jetzt auf dem Mbus nach Devices suchen. | ||
+ | |||
+ | < | ||
+ | ./mbus-cmd --genserial | ||
+ | </ | ||
+ | |||
+ | Fehlermöglichkeiten | ||
+ | - 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. | ||
+ | |||
+ | < | ||
+ | ./mbus-cmd -print-mbusconf | ||
+ | </ | ||
+ | |||
+ | |||
+ | Bekommt man eine Ausgabe aller Zähler | ||
+ | |||
+ | < | ||
+ | $vzUuid{" | ||
+ | $vzUuid{" | ||
+ | $vzUuid{" | ||
+ | $vzUuid{" | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | |||
+ | Jetzt Zähler anlegen, z.B. mit dem [[software: | ||
+ | |||
+ | |||
+ | Diese Zeilen können nun mit der uuid in die bestehende mbusconf.pm übernommen werden, also z.B.: | ||
+ | |||
+ | < | ||
+ | $vzUuid{" | ||
+ | $vzUuid{" | ||
+ | $vzUuid{" | ||
+ | </ | ||
+ | |||
+ | ===== 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: | ||
+ | |||
+ | < | ||
+ | udevadm info -a -p $(udevadm info -q path -n / | ||
+ | </ | ||
+ | |||
+ | ===== Test ===== | ||
+ | |||
+ | < | ||
+ | su - mbus | ||
+ | ./mbus-cmd --verbose | ||
+ | </ | ||
+ | |||
+ | Ergibt eine Ausgabe der übertragenen Daten. | ||
+ | |||
+ | < | ||
+ | su - mbus | ||
+ | ./mbus-cmd --sql-out | ||
+ | </ | ||
+ | |||
+ | |||
+ | Kann man alle Zählerstände in einer MySQL Syntax abfragen um zu testen, oder die Zählerstände nochmals zusätzlich | ||
+ | |||
+ | ===== Regelmäßiger Aufruf im Cron ===== | ||
+ | |||
+ | Sicherstellen, | ||
+ | < | ||
+ | chmod 666 / | ||
+ | </ | ||
+ | |||
+ | eingeben. | ||
+ | |||
+ | ''/ | ||
+ | < | ||
+ | */3 * * * * mbus / | ||
+ | </ | ||
- | Die Dateien unter: volkszaehler.org/misc/controller/mbus in ein beliebiges Verzeichnis (z.B. /usr/ | + | Nun sollte der Cron alle 3 Minuten laufen, dass lässt sich nun anhand des Datums der Datei '' |
software/controller/m-bus.txt · Zuletzt geändert: 2023/05/17 21:06 von raptorsds