Compilation de la xPLLib sur Nas4free/FreeBSD9

Un petit billet pour me servir de mémo. Pour mon installation domotique j’utilise beaucoup xPL. Le cœur de mon système est un daemon qui écoute les messages xPL et les stocke dans une base MySQL, génère des graphs, etc… . Mon serveur étant, il y a encore peut de temps, une machine assez lente (un NAS Netgear ReadyNas Duo v1), j’avais écris ce daemon en C++ et utilisé la xPLLib.Elle n’est plus mise à jour depuis un paquet de temps apparemment mais fonctionne très bien.

[adsGrandRectangleHTexte]

Compilation de la xPLLib sur Nas4free

J’ai récemment changé de serveur et j’ai donc dû recompiler mon daemon pour qu’il fonctionne sur nas4free (FreeBSD9). Ci-dessous les quelques changements nécessaires à la compilation de la xPLLib sur ce système :

wget http://www.xpl4java.org/xPL4Linux/downloads/xPLLib.tgz
tar -xvzf xPLLib.tgz
cd xPLLib
sed -E -i "" \
   -e 's/(pid_t xPLPID)/\1 = -1/' \
   -e 's/\.ifr_netmask/.ifr_addr/' \
   xPL-io.c

Puis, dans les Makefile de la racine et du répertoire examples, commenter ce qui se trouve sous la ligne # For LINUX, use the following et décommenter se qui se trouve sous # For UnixWare systems, use the following.

C’est tout, il suffit ensuite de lancer la compilation :

make all

Correctif (7/11/2012): Je suis allez un peu vite et j’ai oublié une étape lors de la rédaction de ce « mémo ». Pour le Makefile de exemples, il faut supprimer « -lnsl -lsocket » et il faut appliquer cette modification sur le fichier xPL_Hub.c :

sed -E -i -e 's/setpgrp\(\)/setpgrp\(0,0\)/' xPL_Hub.c

On peut ensuite compiler les exemples sans problèmes. Désolé pour l’oubli.

Dans les exemples on trouve un hub xPL, c’est celui que j’utilise depuis 2 ans (on peut dire qu’il est fiable 🙂 et un logger xPL. Je suis partis de cet exemple pour créer mon daemon.

Mon daemon n’a qu’a bien se tenir ! voici xPL-pyHAL

Je profite de ce billet pour parler rapidement d’un projet qui pourrait bientôt remplacer mon fameux daemon: xPL-pyHAL. Son rôle est d’écouter les messages xPL du réseau et d’exécuter des actions que vous aurez définies dans des fichiers YAML. Il semble le parfait candidat pour remplacer mon pauvre daemon qui malgré son fonctionnement irréprochable durant ~deux ans a été codé vite fait mal fait avec les pieds ou les yeux bandés (au choix, voir les deux 😉 et devient pénible à faire évoluer … affaire à suivre donc …

Partagez moi ...Tweet about this on TwitterShare on Facebook0Share on Google+0Digg thisEmail this to someone

Vous aimerez aussi...

7 réponses

  1. johan dit :

    si tu intègres xPL-pyHAL ça m’intéresse bien ton histoire en plus de tout le reste …

    • Olivier dit :

      Oui c’est normalement prévu. En tout cas je vais le tester ça c’est sûr.

      Pour info, j’ai abandonné l’idée de réguler la chaudière par loi d’eau. La vanne de la chaudière ou je suis en location est super dure à tourner et à moins de la changer je ne pourrai pas y greffer un moteur :/ .
      Du coup, j’ai branché le circulateur et le bruleur sur un arduino et je cherche des têtes thermostatique pilotables.

  2. Johan dit :

    j’ai acheté ce week-end 2 têtes thermostatique Danfoss a Leroy merlin pilotable en zwave en promo a 59€ la tête.

  3. GuiguiAbloc dit :

    Huuuu 😀 Je suis touché 🙂
    Fallait me le dire, j’aurais arreté de glander pour avancer un peu plus (enfin surtout mettre a jour les depots svn 😉 )
    Maintenant que je vois que je ne suis pas tout seul à l’utiliser, va falloir que je bosse un peu 😀
    Merci en tout cas et bonne continuation 🙂

    • Olivier dit :

      Salut 🙂 en plus je viens de faire une grosse boulette sur mon nouveau NAS (non je n’en parlerais pas :/ ) ce qui va accélérer le processus de migration 😉

      Au boulot! tu as deux clients potentiels 🙂

      PS: J’ai vu que tu connais Horacio (le monde est petit). Tu lui passera le bonjour! (s’il se souvient de moi)

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *