Benutzer-Werkzeuge

Webseiten-Werkzeuge


software:controller:m-bus

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
hardware:controllers:m-bus [2012/03/07 05:26] – [Konfiguration] homersoftware: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 http://de.wikipedia.org/wiki/M-Bus_(Feldbus)an den Volkszaehler+Der Mbus Controler dient zur Anbindung des [[http://de.wikipedia.org/wiki/M-Bus_(Feldbus)|Meter-Bus]] an den Volkszaehler
  
 +Standart M-Bus
 +2400Baud 8b even 1stop
 +
 +möglich auch
 + 300Baud 8b even 1stop 
 +oder selten 
 +9600Baud 8b even 1stop
 ===== Vorraussetzungen ===== ===== Vorraussetzungen =====
  
Zeile 10: Zeile 17:
  
 ===== Installation ===== ===== Installation =====
- +Quellpaket [[https://wiki.volkszaehler.org/_media/software/controller/m-bus.zip]] herunterladen und entpacken und ausführbar machen. 
- +<code> 
-cd volkszaehler.org/misc/controller/mbus  +wget https://wiki.volkszaehler.org/_media/software/controller/m-bus.zip 
 +</code> 
 +<code> 
 +unzip m-bus.zip 
 +</code> 
 +<code> 
 +cd m-bus 
 +</code> 
 +<code> 
 +chmod +x install.sh 
 +</code> 
 +<code>
 ./install.sh ./install.sh
 +</code>
  
 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. 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 ===== ===== Konfiguration =====
  
 Den Seriellen Pegelwandler an den PC anschließen 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!):+In der Datei ''/etc/mbus/mbusconf.pm'' Einstellungen zum Port Baudrate etc. vornehmen, die Einstellungen sind dort mit # einkommentiert (die # entfernen!):
  
 <code> <code>
Zeile 29: Zeile 49:
 </code> </code>
  
-In der Datei: /var/lib/mbus/vzold werden Zählerstände gespeichert, weil der Volkszaehler z.Zt nur mit relativen Verbrauchswerten umgehen kann.+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.  Jetzt auf dem Mbus nach Devices suchen. 
Zeile 37: Zeile 57:
 </code> </code>
  
 +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.: 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.:
  
Zeile 45: Zeile 67:
 apt-get install libdevice-serialport-perl apt-get install libdevice-serialport-perl
 </code>  </code> 
 +
 +  - LWP
 +Can't locate LWP.pm in @INC
 +<code>
 +apt-get install libwww-perl
 +</code> 
 +
 +
 +  - simple LWP
 +Can't locate LWP/simple.pm in @INC
 +<code>
 +perl -MCPAN -e'install "LWP::Simple"'
 +</code>
 +!dieser Befehl kompiliert auch weiter PM Files und könnte etwas länger dauern
 +
 +
 +  - simple Lock
 +Can't locate LockFile/simple.pm in @INC
 +<code>
 +perl -MCPAN -e'install "LockFile::Simple"'
 +</code>
  
 die entsprechende Bibliothek nachinstalliert werden muss. Wenn alles da ist, startet der Scan und 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:
Zeile 69: Zeile 112:
  
  
-Jetzt Zähler anlegen, z.B. mit dem [[software/clients/vzclient]]+Jetzt Zähler anlegen, z.B. mit dem [[software:frontends:frontend]]
  
  
Zeile 75: Zeile 118:
  
 <code> <code>
-$vzUuid{"09999999-Heizenergie"}="503ad3d0-18d4-11e1-9d30-8f7c5e0b88b1";# (09999999+$vzUuid{"09999999-Heizenergie"}="503ad3d0-18d4-11e1-9d30-8f7c5e0b88b1";# (00060958
 $vzUuid{"09999999-Volumen"}="669bd360-18d4-11e1-8c33-055342b3cb21";# (11245.24)  $vzUuid{"09999999-Volumen"}="669bd360-18d4-11e1-8c33-055342b3cb21";# (11245.24) 
 $vzUuid{"09999999-Fliessgeschwindigkeit"}="6c345080-18d4-11e1-8e07-7d37ae5b0848";# (1.534)  $vzUuid{"09999999-Fliessgeschwindigkeit"}="6c345080-18d4-11e1-8e07-7d37ae5b0848";# (1.534) 
Zeile 82: Zeile 125:
 ===== Tipp: Device Konfiguration mit udev ===== ===== Tipp: Device Konfiguration mit udev =====
  
-Durch das Anlegen einer Datei /etc/udev/rules.d/99-usb-serial.rules mit ungefähr dem Inhalt:+Durch das Anlegen einer Datei ''/etc/udev/rules.d/99-usb-serial.rules'' mit ungefähr dem Inhalt:
  
   SUBSYSTEM=="tty",ATTRS{idVendor}=="0403",ATTRS{idProduct}=="6001",ATTRS{serial}=="FTF4ADX9",OWNER="mbus",SYMLINK+="messbus"   SUBSYSTEM=="tty",ATTRS{idVendor}=="0403",ATTRS{idProduct}=="6001",ATTRS{serial}=="FTF4ADX9",OWNER="mbus",SYMLINK+="messbus"
Zeile 88: Zeile 131:
 (alles in einer Zeile!) (alles in einer Zeile!)
  
-kann man dafür sorgen, das das richtige Device immer /dev/messbus heißt und dem Benutzer mbus gehört. Dann muss das der mbus Benutzer auch nicht in die Gruppe dialout.+kann man dafür sorgen, das das richtige Device immer ''/dev/messbus'' heißt und dem Benutzer mbus gehört. Dann muss das der mbus Benutzer auch nicht in die Gruppe dialout.
  
 Die nötigen Werte für idVendor usw. erhält man mit: Die nötigen Werte für idVendor usw. erhält man mit:
  
- udevadm info -a -p $(udevadm info -q path -n /dev/ttyUSB0) +<code> 
 +udevadm info -a -p $(udevadm info -q path -n /dev/ttyUSB0) 
 +</code>
  
 ===== Test ===== ===== Test =====
  
-<code>+<del><code>
 su - mbus su - mbus
 ./mbus-cmd --verbose ./mbus-cmd --verbose
-</code>+</code></del>
  
 Ergibt eine Ausgabe der übertragenen Daten. Ergibt eine Ausgabe der übertragenen Daten.
Zeile 106: Zeile 150:
 <code> <code>
 su - mbus su - mbus
-./mbus-cmd --sql-out+./mbus-cmd --sqlout
 </code> </code>
  
 +Alternativ auch Rohdaten möglich
 +<code>
 +su - mbus
 +./mbus-cmd --sqlrawout
 +</code>
  
 Kann man alle Zählerstände in einer MySQL Syntax abfragen um zu testen, oder die Zählerstände nochmals zusätzlich  zu speichern. Kann man alle Zählerstände in einer MySQL Syntax abfragen um zu testen, oder die Zählerstände nochmals zusätzlich  zu speichern.
Zeile 114: Zeile 163:
 ===== Regelmäßiger Aufruf im Cron ===== ===== Regelmäßiger Aufruf im Cron =====
  
 +Sicherstellen, dass die Datei: ''/var/lib/mbus/vzold'' auch im cron geschrieben werden darf, dazu
 +<code>
 +chmod 666 /var/lib/mbus/vzold 
 +</code>
 +
 +eingeben. 
  
-/etc/cron.d/mbus:+''/etc/cron.d/mbus'':
 <code> <code>
 */3 * * * *    mbus    /usr/local/bin/mbus-cmd */3 * * * *    mbus    /usr/local/bin/mbus-cmd
 </code> </code>
  
 +Nun sollte der Cron alle 3 Minuten laufen, dass lässt sich nun anhand des Datums der Datei ''/var/lib/mbus/vzold'' überprüfen.
software/controller/m-bus.1331094375.txt.gz · Zuletzt geändert: 2012/03/07 05:26 von homer