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/12/03 08:50] – [Test] sven_anders | 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 | ||
+ | </ | ||
+ | < | ||
+ | ./ | ||
+ | </ | ||
+ | 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 |
- | + | ||
- | mkdir /etc/mbus | + | |
- | + | ||
- | cd volkszaehler.org/ | + | |
- | + | ||
- | evtl. mkdir / | + | |
- | + | ||
- | cp mbus.pm / | + | |
- | + | ||
- | cp mbus-cmd / | + | |
- | + | ||
- | chmod 755 / | + | |
- | + | ||
- | cp mbusconf.pm /etc/mbus | + | |
- | + | ||
- | chmod 644 / | + | |
- | + | ||
===== Konfiguration ===== | ===== Konfiguration ===== | ||
Den Seriellen Pegelwandler an den PC anschließen | Den Seriellen Pegelwandler an den PC anschließen | ||
- | In der Datei / | + | In der Datei '' |
< | < | ||
Zeile 43: | Zeile 49: | ||
</ | </ | ||
- | In der Datei: / | + | In der Datei: |
Jetzt auf dem Mbus nach Devices suchen. | Jetzt auf dem Mbus nach Devices suchen. | ||
Zeile 51: | Zeile 57: | ||
</ | </ | ||
+ | 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.: | ||
- | Die Seriellen Adressen werden in der Datei: | + | 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: | ||
/ | / | ||
Zeile 60: | Zeile 97: | ||
< | < | ||
- | ./mbus-cmd -print-busconf | + | ./mbus-cmd -print-mbusconf |
</ | </ | ||
Zeile 75: | Zeile 112: | ||
- | Jetzt Zähler anlegen, z.B. mit dem [[software/ | + | Jetzt Zähler anlegen, z.B. mit dem [[software: |
Zeile 81: | 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: | ||
< | < | ||
+ | udevadm info -a -p $(udevadm info -q path -n / | ||
+ | </ | ||
+ | |||
+ | ===== Test ===== | ||
+ | |||
+ | < | ||
su - mbus | su - mbus | ||
./mbus-cmd --verbose | ./mbus-cmd --verbose | ||
- | </ | + | </code></ |
Ergibt eine Ausgabe der übertragenen Daten. | Ergibt eine Ausgabe der übertragenen Daten. | ||
Zeile 97: | Zeile 150: | ||
< | < | ||
su - mbus | su - mbus | ||
- | ./mbus-cmd --sql-out | + | ./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 105: | 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.1322898618.txt.gz · Zuletzt geändert: 2011/12/03 08:50 von sven_anders