Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
vzlogger Installation
This manual is also available in english.
Repository
Unser Repository: https://github.com/volkszaehler/vzlogger
Derzeit sind vzlogger und ein paar der Bibliotheken (Libraries) nur als Quellcode verfügbar. Diese müssen vor gebrauch kompiliert (übersetzt) werden. Wechsle in ein Verzeichnis in dem dein Nutzer Schreibrechte hat. Zum Beispiel dein Home-Verzeichnis:
cd ~
Systemvoraussetzungen zur Kompilierung des vzlogger
Für eine erfolgreiche Kompilierung des vzlogger werden, neben gcc (4.7 oder neuer) und glibc, auch diese Libraries benötigt:
Tools
- git (package: git-core)
- cmake
- pkg-config
- subversion (für Tests mit googlemock)
Erforderliche Libraries
- libjson >= 0.11 (>= 0.9 before https://github.com/volkszaehler/vzlogger/pull/106)
- libcurl3 >= 7.19
- libgnutls-dev
- libgcrypt
- libsasl2-dev
- libuuid1
- libsml (for sml meters)
- libmicrohttpd-dev >= 0.4.6 (for builtin „local“ webserver)
- libltdl >=0.8.0 (for OMS)
- libleptonica-dev (for OCR)
- libunistring-dev (wegen Problem mit Ubuntu 18.04)
Debian Pakete
Für Distributionen die auf Debian „Jessie“ basieren können die meisten dieser Abhängigkeiten folgendermaßen installiert werden: (eventuell erstmal „apt-get update“ als root ausführen)
sudo apt-get install build-essential git-core cmake pkg-config subversion libcurl4-openssl-dev libgnutls28-dev libsasl2-dev uuid-dev libtool libssl-dev libgcrypt20-dev libmicrohttpd-dev libltdl-dev libjson-c-dev libleptonica-dev libunistring-dev dh-autoreconf
Für Debian „Wheezy“:
sudo apt-get install build-essential git-core cmake pkg-config subversion libcurl3-dev libgnutls-dev libsasl2-dev uuid-dev libtool libmicrohttpd-dev libcurl4-openssl-dev libssl-dev libltdl-dev libleptonica-dev libunistring-dev dh-autoreconf
Build per Script
Vzlogger bietet ein Shellscript für Download, Übersetzung und Installation der Module die nur als Quellen verfügbar sind.
git clone https://github.com/volkszaehler/vzlogger.git cd vzlogger ./install.sh
Das Script bietet auch die Möglichkeit nur einzelne Module zu übersetzen. Details dazu findet man als Kommentar im Script.
Hintergrunddienst
Nun sollte vzlogger vollends als Systemdienst eingerichtet werden. Details dazu weiter unten.
Aktualisierung
Falls der vzlogger aktualisiert werden soll ist wie folgt vorzugehen:
sudo systemctl stop vzlogger cd vzlogger git pull ./install.sh vzlogger sudo systemctl start vzlogger
Die zugrundeliegenden SML Bibliothek kann (vorher) aktualisiert werden indem:
cd vzlogger/libs/libsml git pull cd ../.. ./install.sh libsml
Build von Hand
Falls das Script nicht zu den Gegenheiten passt nachfolgend die einzelnen Schritte.
Building libjson
Libjson sollte direkt aus den Quellen übersetzt werden.
git clone -b json-c-0.12 https://github.com/json-c/json-c cd json-c sh autogen.sh ./configure make sudo make install
Zurück zum Ausgangsverzeichnis:
cd ..
Building libsml
git clone https://github.com/volkszaehler/libsml.git cd libsml sudo make
Libsml bietet kein 'make install' Vorgabe.
Man macht das manuell in dem man die folgenden Dateien und Verzeichnisse kopiert:
sudo cp sml/lib/libsml.* /usr/lib/ sudo cp -R sml/include/* /usr/include/ sudo cp sml.pc /usr/lib/pkgconfig/
Zurück zum Ausgangsverzeichnis:
cd ..
Building vzlogger
git clone https://github.com/volkszaehler/vzlogger.git cd vzlogger mkdir build cd build cmake .. make sudo make install
Falls es Probleme mit libsml gibt statt nur „cmake ..“ versuchen:
cmake .. -DSML_HOME=/path/to/libsml
Zurück zum Ausgangsverzeichnis:
cd ../..
Building OMS
OMS erfordert openssl und libmbus >=0.8.0 z.B. von https://github.com/rscada/libmbus.git
git clone https://github.com/rscada/libmbus.git cd libmbus ./build.sh sudo make install
Zurück zum Ausgangsverzeichnis:
cd ..
Hintergrunddienst
Nun sollte vzlogger als Systemdienst eingerichtet werden. Details dazu weiter unten.
vzlogger aktualisieren
Falls der vzlogger aktualisiert werden soll ist wie folgt vorzugehen:
cd vzlogger git pull cd build cmake -DBUILD_TEST=off .. make sudo systemctl stop vzlogger sudo make install sudo systemctl start vzlogger
Systemd Startscript
Systemd dient dazu Hintergrunddienste einzurichten und zu verwalten.
Das Installationsscript fragt ob es ein „systemd unit file“ für dich installieren soll. Falls dein System systemd nutzt (Debian „Jessie“) solltest du mit yes (ja) bestätigen.
Falls du es selbst kopieren oder editieren willst findest du ein Beispiel unter: ./etc/vzlogger.service
sudo cp ./etc/vzlogger.service /etc/systemd/system/vzlogger.service
Den vzlogger kann man dann mit dem üblichen systemctl Kommando starten, stoppen und prüfen:
sudo systemctl start vzlogger systemctl status vzlogger sudo systemctl stop vzlogger
Wenn der vzlogger zufriedenstellend läuft und bei jedem boot als Hintergrunddienst gestartet werden soll:
sudo systemctl enable vzlogger
Spezielle Hinweise
Debian Paket
Um ein Debian Paket zu erzeugen:
cpack -G DEB
Cross Kompilierung
cmake -DCMAKE_TOOLCHAIN_FILE=/path/to/toolchainfile /path/to/vzlogger_sources