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/12/03 08:45] – [Installation] sven_anders | software:controller:m-bus [2023/05/14 20:16] – [Konfiguration] 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:// |
===== Vorraussetzungen ===== | ===== Vorraussetzungen ===== | ||
Zeile 10: | Zeile 10: | ||
===== 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. | ||
- | useradd -r -c " | + | Es kann vorkommen das man einen Neustart machen muss damit der Neue Benutzer richtig erkannt wird |
+ | ===== Konfiguration ===== | ||
- | mkdir /etc/mbus | + | Den Seriellen Pegelwandler an den PC anschließen |
- | cd volkszaehler.org/misc/ | + | In der Datei '' |
- | evtl. mkdir /usr/local/lib/site_perl | + | < |
+ | $mbusPort="/ | ||
+ | $vzURL=" | ||
+ | $mbusBaudrate=2400;'' | ||
+ | </code> | ||
- | cp mbus.pm | + | In der Datei: '' |
- | cp mbus-cmd / | + | Jetzt auf dem Mbus nach Devices suchen. |
- | chmod 755 / | + | < |
+ | ./ | ||
+ | </ | ||
- | cp mbusconf.pm /etc/mbus | + | 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.: | ||
- | chmod 644 /etc/ | + | Can't locate Device/SerialPort.pm in @INC (@INC contains: /etc/perl |
+ | sucht man z.B. in Google nach dieser Fehlermeldung findet man schnell einen Hinweis, dass mit | ||
+ | < | ||
+ | apt-get install libdevice-serialport-perl | ||
+ | </ | ||
- | ===== Konfiguration ===== | + | - LWP |
+ | Can't locate LWP.pm in @INC | ||
+ | < | ||
+ | apt-get install libwww-perl | ||
+ | </ | ||
- | Den Seriellen Pegelwandler an den PC anschließen | ||
- | |||
- | In der Datei mbusconf.pm Einstellungen zum Port Baudrate etc. vornehmen: | ||
+ | - simple LWP | ||
+ | Can't locate LWP/ | ||
< | < | ||
- | $mbusPort="/ | + | perl -MCPAN -e' |
- | $vzURL=" | + | |
- | $vzOldFile="/ | + | |
- | $mbusserial="/ | + | |
- | $mbusBaudrate=2400;' | + | |
</ | </ | ||
+ | !dieser Befehl kompiliert auch weiter PM Files und könnte etwas länger dauern | ||
- | In der Datei: vzOldFile werden Zählerstände gespeichert, | ||
- | |||
- | Jetzt auf dem Mbus nach Devices suchen. | ||
+ | - simple Lock | ||
+ | Can't locate LockFile/ | ||
< | < | ||
- | ./mbus-cmd --genserial | + | perl -MCPAN -e' |
</ | </ | ||
- | Die Seriellen Adressen werden in der Datei: | + | die entsprechende Bibliothek nachinstalliert werden muss. Wenn alles da ist, startet der Scan und die Seriellen Adressen werden in der Datei: |
- | $mbusserial | + | / |
+ | |||
+ | 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 70: | Zeile 101: | ||
$vzUuid{" | $vzUuid{" | ||
$vzUuid{" | $vzUuid{" | ||
+ | ... | ||
</ | </ | ||
- | Jetzt Zähler anlegen, z.B. mit dem [[software/ | + | Jetzt Zähler anlegen, z.B. mit dem [[software: |
Zeile 79: | Zeile 111: | ||
< | < | ||
- | $vzUuid{" | + | $vzUuid{" |
$vzUuid{" | $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 / | ||
</ | </ | ||
Zeile 87: | Zeile 135: | ||
< | < | ||
+ | su - mbus | ||
./mbus-cmd --verbose | ./mbus-cmd --verbose | ||
</ | </ | ||
Zeile 93: | Zeile 142: | ||
< | < | ||
+ | su - mbus | ||
./mbus-cmd --sql-out | ./mbus-cmd --sql-out | ||
</ | </ | ||
Zeile 101: | Zeile 151: | ||
===== 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.txt · Zuletzt geändert: 2023/05/17 21:06 von raptorsds