Benutzer-Werkzeuge

Webseiten-Werkzeuge


software:controller:m-bus

Dies ist eine alte Version des Dokuments!


M-Bus Controler

Der Mbus Controler dient zur Anbindung des Meter-Bus http://de.wikipedia.org/wiki/M-Bus_(Feldbus)an den Volkszaehler

Vorraussetzungen

  • M-Bus Zähler
  • Serieller Pegelwandler
  • PC oder ähnliches mit Perl mit Device::SerialPort Perl-Modul

Installation

useradd -r -c „Messbus Cron User“ -d /var/lib/mbus -m mbus

mkdir /etc/mbus

cd volkszaehler.org/misc/controller/mbus

evtl. mkdir /usr/local/lib/site_perl

cp mbus.pm /usr/local/lib/site_perl/

cp mbus-cmd /usr/local/bin/

chmod 755 /usr/local/bin/mbus-cmd

cp mbusconf.pm /etc/mbus

chmod 644 /etc/mbus/mbusconf.pm

Konfiguration

Den Seriellen Pegelwandler an den PC anschließen

In der Datei /etc/mbus/mbusconf.pm Einstellungen zum Port Baudrate etc. vornehmen, die Einstellungen sind dort mit # einkommentiert (die # entfernen!):

$mbusPort="/dev/messbus"; # or /dev/ttyS0 ..
$vzURL="http://host.domain/volkszaehler/middleware.php/";
$mbusBaudrate=2400;''

In der Datei: /var/lib/mbus/vzold werden Zählerstände gespeichert, weil der Volkszaehler z.Zt nur mit relativen Verbrauchswerten umgehen kann.

Jetzt auf dem Mbus nach Devices suchen.

./mbus-cmd --genserial

Die Seriellen Adressen werden in der Datei: /etc/mbus/serialno gespeichert.

Sicherstellen, das in diese Datei nur Root schreiben darf, aber mbus lesen kann.

Jedes M-Bus Device kann wiederum viele Zähler zurückliefen.

./mbus-cmd -print-busconf

Bekommt man eine Ausgabe aller Zähler

$vzUuid{"09999999-Fabriknummer"}="";# (09999999) 
$vzUuid{"09999999-Heizenergie"}="";# (00060958) 
$vzUuid{"09999999-Volumen"}="";# (11245.24)
$vzUuid{"09999999-Fliessgeschwindigkeit"}="";# (1.534)
...

Jetzt Zähler anlegen, z.B. mit dem vzclient

Diese Zeilen können nun mit der uuid in die bestehende mbusconf.pm übernommen werden, also z.B.:

$vzUuid{"09999999-Heizenergie"}="503ad3d0-18d4-11e1-9d30-8f7c5e0b88b1";# (09999999) 
$vzUuid{"09999999-Volumen"}="669bd360-18d4-11e1-8c33-055342b3cb21";# (11245.24) 
$vzUuid{"09999999-Fliessgeschwindigkeit"}="6c345080-18d4-11e1-8e07-7d37ae5b0848";# (1.534) 

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 zu speichern.

Regelmäßiger Aufruf im Cron

/etc/cron.d/mbus:

*/3 * * * *    mbus    /usr/local/bin/mbus-cmd
software/controller/m-bus.1322898648.txt.gz · Zuletzt geändert: 2011/12/03 08:50 von sven_anders