mercredi 28 novembre 2012

Installer eibd, linknx et knxweb2 sur ubuntu 12.10

Afin de tester une configuration knx a partir de l'ordinateur familial (ubuntu 12.10), voici les étapes que j'ai effectuées en m'inspirant de:


Prerequis:
gcc, g++, make, apache2
apt-get install gcc
apt-get install g++
apt-get install make


pour mon environnement, je choisis de compiler les softs dans le répertoire $HOME/knx, puis de les installer dans $HOME/knx/local
KNXDIR=$HOME/knx
INSTALLDIR=${KNXDIR}/local

export LD_LIBRARY_PATH=${INSTALLDIR}/lib
mkdir ${KNXDIR}
cd ${KNXDIR}

Commençons par installer pth_sem :
wget http://downloads.sourceforge.net/sourceforge/bcusdk/pthsem_2.0.8.tar.gz
tar -xzf pthsem_2.0.8.tar.gz
cd pthsem-2.0.8/
./configure --prefix=${INSTALLDIR}/
make
make test
make install
cd ..


puis linknx:
wget http://downloads.sourceforge.net/sourceforge/linknx/linknx-0.0.1.30.tar.gz
tar -xzf linknx-0.0.1.30.tar.gz
cd linknx-0.0.1.30/
./configure --without-log4cpp --without-lua --prefix=${INSTALLDIR}/ --with-pth=${INSTALLDIR}/
make
make install
cd ..


puis eibd:
wget http://freefr.dl.sourceforge.net/project/bcusdk/bcusdk/bcusdk_0.0.5.tar.gz
tar -xzf bcusdk_0.0.5.tar.gz
cd bcusdk-0.0.5/
./configure --enable-onlyeibd --enable-eibnetiptunnel --enable-usb --enable-eibnetipserver --enable-ft12 --prefix=${INSTALLDIR}/ --with-pth=${INSTALLDIR}/
make
make install
cd ..


apache2 étant déjà installé, il ne reste plus qu'à charger knxweb2
wget -O knxweb2.tar "http://linknx.cvs.sourceforge.net/viewvc/linknx/knxweb/knxweb2/?view=tar"
tar xvf knxweb2.tar


Voila tout est prêt, passons à la configuration:
eibd:
configuration en ligne de commande
linknx:
utilisons la config par defaut
cp ${INSTALLDIR}/share/doc/linknx/linknx.xml ${KNXDIR}
knxweb2:
il s'agit plutôt de configurer apache, apache2 étant déjà installé, je vais créer un site:
sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/knxweb
sudo perl -pi -e "s{/var/www}{${KNXDIR}/knxweb2}g" /etc/apache2/sites-available/knxweb
sudo a2disite default
sudo a2ensite knxweb
sudo service apache2 reload

il faut alors démarrer les demons:
${INSTALLDIR}/bin/eibd -D -T -R -S -i -u --daemon=${KNXDIR}/eibd.log ipt:192.168.0.16
${INSTALLDIR}/bin/linknx --config=${KNXDIR}/linknx.xml --daemon=${KNXDIR}/linknx.log

Notez que
192.168.0.16 est l'adresse de ma passerelle KNX/IP

il suffit alors de se connecter a l'adresse du serveur web:
http://localhost/
de créer un objet de type bouton, d'entrer l'adresse de groupe, et ça marche !

2 commentaires:

  1. Bonjour,
    Merci pour cet article (qui date un peu :) )
    Je suis entrain de mettre en place l'interface web sur un Ubuntu 12.04.
    Lors de la ligne :
    sudo perl -pi -e "{/var/www}{${KNXDIR}/knxweb2}g" /etc/apache2/sites-available/knxweb

    J'ai l'erreur :
    knx@ubuntu:~/knx$ sudo perl -pi -e "{/var/www}{${KNXDIR}/knxweb2}g" /etc/apache2/sites-available/knxweb
    Having no space between pattern and following word is deprecated at -e line 1.
    Bareword found where operator expected at -e line 1, near "/var/www"
    (Missing operator before www?)
    Having no space between pattern and following word is deprecated at -e line 1.
    Bareword found where operator expected at -e line 1, near "/home/knx"
    (Missing operator before knx?)
    syntax error at -e line 1, near "/var/www"
    syntax error at -e line 1, near "/home/knx"
    Execution of -e aborted due to compilation errors.

    J'ai pas mal cherché sur internet mais j'ai rien trouvé, avez vous une idée ?
    Merci !

    RépondreSupprimer
    Réponses
    1. il manquait l’opérateur "substitute", j'ai corrige la ligne.

      sudo perl -pi -e "s{/var/www}{${KNXDIR}/knxweb2}g" /etc/apache2/sites-available/knxweb

      Laurent

      Supprimer