Introduction
Cet article résume la procèdure de compilation et d'installation de Domoticz sur une carte Raspberry Pi (1 model B) configurée avec une distribution Linux Debian 7 (Wheezy).
Prérequis
- Un serveur Linux/Debian
- Les outils de compilation C++
- La librairie open-zwave pour utiliser ce protocole
- Un client git
Client git
Le client git s'installe depuis le repository de paquets Debian avec la commande suivante:sudo apt-get install git
Outils de compilation C++
Les librairies nécessaires à la compilation s'installent avec les deux commandes suivantes:sudo apt-get install build-essential -y
sudo apt-get install cmake libboost-dev libboost-thread-dev libboost-system-dev libsqlite3-dev curl libcurl4-openssl-dev libusb-dev zlib1g-dev libssl-dev
Compilation d'openZWave
Installer la dépendance libudev:
sudo apt-get install libudev-dev
Depuis le répertoire racine des compilations qui est par défaut /home/pi:
Récupérer les sources depuis github avec l'aide de la commande suivante:
git clone https://github.com/OpenZWave/open-zwave.git
Lancer la compilation:
cd open-zwave; make
La sortie standard de la commande make devrait ressembler aux lignes suivantes (noter la version 1.3.434):
make -C /home/pi/open-zwave/cpp/build/ -
make[1]: Entering directory '/home/pi/open-zwave/cpp/build'
Building OpenZWave Version 1.3-434-g09a092
...
Linking Static Library
Linking Shared Library
make[1]: Leaving directory '/home/pi/open-zwave/cpp/build'
make -C /home/pi/open-zwave/cpp/examples/MinOZW/ -
make[1]: Entering directory '/home/pi/open-zwave/cpp/examples/MinOZW'
Building Main.o
Linking /home/pi/open-zwave/.lib/MinOZW
g++ -o /home/pi/open-zwave/.lib/MinOZW /home/pi/open-zwave/.lib/Main.o /home/pi/open-zwave/libopenzwave.so -pthread
Creating Temporary Shell Launch Script
make[1]: Leaving directory '/home/pi/open-zwave/cpp/examples/MinOZW'
Création d'un lien vers libOpenZWave
La librairie OpenZwave compilée précedemment correspond à la version 1.3-434. Je recommande la création d'un lien symbolique vers cette librairie depuis le répertoire racine utilisé pour les compilations ((/home/pi):
ls -al
drwxr-xr-x 23 pi pi 4096 Aug 9 15:23 domoticz
drwxr-xr-x 11 pi pi 4096 Aug 9 16:07 open-zwave
mv open-zwave ozw-1.3.434
ln -s ozw-1.3.434 ozw
ls -al
drwxr-xr-x 23 pi pi 4096 Aug 9 15:23 domoticz
lrwxrwxrwx 1 pi pi 11 Aug 9 16:13 ozw -> ozw-1.3.434
drwxr-xr-x 11 pi pi 4096 Aug 9 16:07 ozw-1.3.434
Compilation de domoticz
Depuis le répertoire racine des compilations (/home/pi).
Récupérer les sources depuis le git hub avec l'aide de la commande suivante:
git clone https://github.com/domoticz/domoticz.git domoticz
Aller dans le réperoire domoticz et modifier le chemin de recherche de la librarie openZWave dans le fichier CMakeLists.txt:
cd domoticz; vi CMakeLists.txt:
# try to find open-zwave, if found, include supportfind_library(OpenZWave NAMES libopenzwave.a HINTS "../ozw" "../ozw/cpp/build")
Lancer la fabrication du makefile avec la commande suivante:
cmake -DCMAKE_BUILD_TYPE=Release .
La sortie standard de la commande cmake devrait ressembler aux lignes suivantes (noter la révision 2709 ainsi que la détection de libopenzwave):
-- Compiling Revision #2709
-- Boost version: 1.49.0
-- Found the following Boost libraries:
-- thread
-- date_time
-- system
-- Linking against boost static libraries
-- Found ZLIB: /usr/lib/arm-linux-gnueabihf/libz.so (found version "1.2.7")
-- ZLIB libraries found at: /usr/lib/arm-linux-gnueabihf/libz.so
-- ZLIB includes found at: /usr/include
-- Found CURL: /usr/lib/arm-linux-gnueabihf/libcurl.so (found version "7.26.0")
-- Curl libraries found at: /usr/lib/arm-linux-gnueabihf/libcurl.so
-- Curl includes found at: /usr/include
-- Found LIBUSB: /usr/lib/arm-linux-gnueabihf/libusb.so
-- LIBUSB found at: /usr/lib/arm-linux-gnueabihf/libusb.so
-- Crypto library found at: /usr/lib/arm-linux-gnueabihf/libcrypto.so
-- /home/pi/ozw/libopenzwave.a
Lancer la compilation de domoticz avec l'aide de la commande:
make
Création d'un lien vers domoticz
La version de domoticz compilée précedemment correspond à la révision 2709. Je recommande la création d'un lien symbolique vers cette librairie depuis le répertoire racine utilisé pour les compilations ((/home/pi):
ls -alh
drwxr-xr-x 25 pi pi 4.0K Aug 9 19:35 domoticz
lrwxrwxrwx 1 pi pi 11 Aug 9 16:13 ozw -> ozw-1.3.434
drwxr-xr-x 11 pi pi 4.0K Aug 9 16:07 ozw-1.3.434
mv domoticz domoticz-2709
ln -s domoticz-2709 domoticz
ls -al
lrwxrwxrwx 1 pi pi 13 Aug 9 19:39 domoticz -> domoticz-2709
drwxr-xr-x 25 pi pi 4096 Aug 9 19:35 domoticz-2709
lrwxrwxrwx 1 pi pi 11 Aug 9 16:13 ozw -> ozw-1.3.434
drwxr-xr-x 11 pi pi 4096 Aug 9 16:07 ozw-1.3.434
Démarrage
Pour démarrer domoticz sous la fomre d'un service recopier le script domoticz.sh sous le répertoire /etc/init.d:
sudo cp domoticz.sh /etc/init.d
sudo chmod +x /etc/init.d/domoticz.sh
sudo update-rc.d domoticz.sh defaults
Editer le script afin de mettre à jour le chemin d'accès au programme domoticz:
sudo vi /etc/init.d/domoticz.sh DAEMON=/home/pi/domoticz/domoticz
Le script permet aussi de changer le port utilisé par l'interface Web:
OPTIONS=-www 8080
domoticz peut maintenant être supervisé avec les commandes suivantes:
sudo service domoticz.sh start
sudo service domoticz.sh stop
sudo service domoticz.sh status
Gestion des services
La commande update-rc.d permet d'ajouter, modifier ou supprimer un service.
Aucun commentaire:
Enregistrer un commentaire