0

Xpl et températures avec Rfxcom.

Posted by geekeriemascagne@free.fr on 22 janvier 2011 in Domotique

Hello world,

L’année dernière, j’ai fait l’acquisition d’un Rfxcom Recepteur version lan. Cet appareil reçoit les données radio en 433mHz de nombreux appareils domotiques (X10-RF, chacon, ATI …) mais surtout de la large gamme de sondes Oregon, et bien sur compatible xpl-perl !

La configuration du rfxcom est ultra simple, il suffit d’indiquer l’@ip de son serveur ou tourne xpl-perl. Niveau serveur, il faut lancer l’application xpl-perl, en lui spécifiant l’@ip de son Rfxcom ainsi que l’interface de sa carte réseau. Le port utilisé est le 10001.
> xpl-rfxcom-rx --interface eth0 192.168.X.X:10001

Ensuite on peut lancer xpl-logger pour vérifier la bonne réception d’info.
192.168.X.X:47572 [xpl-trig/sensor.basic: bnz-rfxcomrx.domotik -> * - thn132n.51[temp]=-4.8]
192.168.X.X:47572 [xpl-trig/sensor.basic: bnz-rfxcomrx.domotik -> * - thn132n.51[battery]=90]

Dans cet exemple je reçois la température d’une sonde Oregon Thn132. Pour ce type de sonde je reçois 2 types d’info: la température et le pourcentage de batterie de la sonde (pile). Xpl-perl va enregistrer ces infos dans des bases de données rrd dans le répertoire /var/lib/rrd/. Pour chaque “module domotique” un répertoire sera crée portant le nom du module, ensuite les données seront stockées dans un fichier portant l’extension rrd et nommé selon le type de donnée reçue (temp.rdd, battery.rrd, kwh.rrd…).

J’utilise la commande “rrdtool lastupdate” pour rechercher la dernière donnée enregistrée.
> rrdtool lastupdate /var/lib/rrd/thn132n.51/temp.rrd
temp

1295690503: -3.8

Pour avoir juste la valeur, je relance cette commande avec quelques options de mise en forme:
> rrdtool lastupdate /var/lib/rrd/thn132n.51/temp.rrd | sed -n '$p' | awk -F' ' '{print $2}' | sed -re 'y/./,/';

A partir de la , on peut très bien envoyé cette valeur à son Nabaztag ou l’afficher sur son bureau … perso tous les matins mon lapinou me réveille en m’annonçant la température extérieur dans mon jardin….

Et bien sur, quoi de plus geek, que de faire des jolies graphs sur la température de son jardin ou de sa cave à vin…. et bien dans le projet xpl-perl, il y a xpl-rrd-graphs! Il suffit juste de lancer la commande > xpl-rrd-graphs dans son crontab, toutes les 5 minutes par exemples… Et vos jolies graphs sont stockés sous format png dans /var/lib/www/rrd/”nom_du_module”.

Pour modifier la mise en forme, il faut éditer /usr/bin/xpl-rrd-graphs , avec quelques couleurs c’est beaucoup plus sympa !
Température idéales pour mon vin :
ma cave à vin

Pour monitorer mes températures, j’utilise aussi une autre technologie, le 1wire, que je détaillerais bientôt, beaucoup moins onéreux et surtout très bidouille et mascagne….

Mots-clefs :, , , , , , ,

 
3

xpl-perl

Posted by geekeriemascagne@free.fr on 18 janvier 2011 in Domotique

Hello world,

me revoila…. avec un macro tuto sur l’installation et la conf des librairies xpl-perl

Pour l’installation rien de plus simple, direction xpl-perl.org.uk
ensuite, soit on ajoute les dépots pour debian, soit on utilise directement le .deb. Un fois installé, on doit avoir un hub-xpl qui tourne sur la machine.
> ps aux | grep xpl
xplperl 1601 ...18:58 0:02 /usr/bin/perl -w /usr/bin/xpl-hub -v

Le hub-xpl est un daemon qui écoute les messages de type xpl, sur le réseau et les retransmet aux differentes applis du projet xpl-perl.
On peut donc “alimenter” notre hub-xpl, en information à traiter : température, état, consommation…. qui seront par exemple renvoyer à l’appli xpl-rrd et xpl-rrd-graphs, pour stocker ces infos dans une base rrd et grapher ensuite.

Voila un petit graph que j’ai pu générer :
la température extèrieure de chez moi !

Pour l’utilisation du CM15 de chez marmitek sur le hub-xpl, il faut lancer l’appli de Poulpy en fond de tache :
> /usr/bin/xpl-cm15a --cm15a-device /dev/cm15a0 &
(perso j’ai rentré cette commande dans un petit script au démarrage de mon serveur, le man est tres complet pr l’adapter a ces besoins)

On peut maintenant controler ces modules X10 par une commande du genre (état ON sur module C13):
> xpl-sender -m xpl-cmnd -c x10.basic device=c13 command=on

La vérification de la prise en compte de cette commande par le hub-xpl, se fait en utilisant la commande ” xpl-logger”
>xpl-logger
192.168.X.X:47572 [xpl-cmnd/x10.basic: bnz-sender.domotik -> * - on c13]

Je détaillerais ( et plus rapidement) ma configuration pour la création de graphiques pour des données de types températures et consommation électrique dans mes prochaines geekeries et mascagnes….

Mots-clefs :, , ,

 
2

Domotique

Posted by geekeriemascagne@free.fr on 24 août 2010 in Domotique

Hello world

Suite à la construction de ma maison, je me suis intéressé à la domotique. Celle-ci a pour but de faciliter mon quotidien, de monitorer ma maison et surtout de me divertir en bidouillant certains protocoles et hardwares :

  1. Gestion de l’énergie: en quête d’économie, la domotique me permet facilement de contrôler mes différents appareils électriques. J’utilise pour l’instant le protocole X10, qui permet l’envoi de commande sur courant porteur.  Je gère facilement mes lumières ou mes appareils grâce à ma télécommande. Par exemple, éteindre la télévision, pour éviter qu’elle reste en vieille (pour éviter aussi d’aller se lever et de l’éteindre électriquement !!!), éteindre mon point d’accès wifi la nuit, et le rallumer la journée pour mes besoins, allumer une lampe par détection de mouvement, ou par appui par la télécommande….
  2. Monitorer ma maison:  Grâce à divers sondes (Oregon ou 1wire) , je peux facilement connaitre la température de chaque pièces ainsi que l’extérieur, et faire ensuite des graphes sympas, ou encore se réveiller le matin  par la douce voix de mon Nabaztag qui vient de lire la température de mon jardin. Avec des détecteur de mouvement, je peux recevoir un sms, quand le facteur a déposé du courrier dans ma boite aux lettres …  vraiment très geek tout ça!

Bref de nombreuses applications s’ouvrent a moi, grâce a la domotique.  Et tout ceci devient encore plus geek en utilisant linux! Bien sur afin de vraiment s’amuser, il est quasiment indispensable d’avoir un serveur, qui permettra d’interfacer tout les différents protocoles de domotique. Sous Windows, il existe le très célèbre et très complet HomeSeer mais néanmoins assez cher… Sous linux, il existe plusieurs solutions. J’ai d’abord essayé le projet hollandais Domotiga, construit en Gambas (un équivalent de visual basic) et disposant d’une interface web très limitée. Domotiga reste assez complet gérant plusieurs protocoles 1wire, X10, Knx… Il est basé sur Heyu pour la gestion du X10, mais ne supporte pas officiellement le contrôleur CM15. A cause en autre de ce point, je l’ai abandonné pour m’intéresser et utiliser le protocole Xpl (eXtremely simPle protocoL). Xpl permet d’unifier l’ensemble de ma domotique, par le biais de passerelles pour les différentes technologies. D’ailleurs un projet est en cours nommé Domogik, basé sur Xpl, ça a l’air vraiment très prometteur…

Je détaillerais par la suite l’installation (assez simple) du projet xpl-perl. En conclusion la domotique sous linux,c’est vraiment passionnant, et ça ouvre de très nombreuses perspectives… de bidouille et mascagne !

Mots-clefs :, , ,

 
13

Sheeva Plug et CM15 Pro

Posted by geekeriemascagne@free.fr on 24 août 2010 in Domotique, Sheeva plug, Ubuntu

Hello world,

Le CM15 Pro de chez Marmitek est un controleur domotique X10, doté d’un transmetteur sans fil. On peut le connecter à un pc, grâce à son interface usb. Contrairement à son ancêtre le CM11, ce contrôleur n’est pas très ouvert au monde des pingouins. Néanmoins, il existe plusieurs développements en cours, qui ne permettent pas d’utiliser toutes les fonctions de ce module, mais qui assureront mes bidouilles sous linux ! Pour ma part je me suis basé sur le driver de Neil Cherry et sur l’excellent tuto de Poulpy.

Marmitek CM15 Pro

Sur une architecture Arm tel que le Sheeva Plug, l’installation est plus complexe. En effet afin de compiler le driver de Neil Cherry , il faut avoir les linux-headers, c’est à dire les kernel de son noyau. Sur le Sheeva, la commande “apt-cache search linux-headers-$(uname -r)” ne me retournait rien. Après divers recherches, les headers de chaque noyau sont soi disant disponible ici. Surement, mais je n’ai jamais pu les utiliser correctement…
Du coup , j’ai télécharger mon noyau officiel et j’ai décider de le compiler, afin d’obtenir des linux-headers propres et fonctionnelles.

>cd /home/jb/source/

#téléchargement du noyau

>wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.33.tar.bz2
>tar jxvf linux-2.6.34.1.tar.bz2

# téléchargement des patches pour noyau de type “Sheeva”

>wget http://sheeva.with-linux.com/sheeva/2.6.33/patches/UdlFb-0.2.3-2.6.30.2.patch
>wget http://sheeva.with-linux.com/sheeva/2.6.33/patches/linux-2.6.29-usb-serial-evdo.patch
>wget http://sheeva.with-linux.com/sheeva/2.6.33/patches/linux-2.6.32-sheeva-sata.patch
>wget http://sheeva.with-linux.com/sheeva/2.6.33/patches/mvsdio-1-2.6.30.patch
>wget http://sheeva.with-linux.com/sheeva/2.6.33/patches/mvsdio-2.patch

#Installation de paquet pour la compilation

>apt-get install patch libncurses5-dev

# Patch du noyau

>cd linux-2.6.33
>patch -p1 <../UdlFb-0.2.3-2.6.30.2.patch
>patch -p1 <../linux-2.6.29-usb-serial-evdo.patch cd linux-2.6.34.1
>patch -p1 <../linux-2.6.32-sheeva-sata.patch
>patch -p1 <../mvsdio-1-2.6.30.patch
>patch -p1 <../mvsdio-2.patch

#Compilation

>wget http://sheeva.with-linux.com/sheeva/2.6.33/sheeva-2.6.33.config
>mv sheeva-2.6.33.config .config
>make menuconfig
>make

Voila après plus de 2h de compilation, je n’ai plus quà faire pointer mon répertoire des headers (/lib/modules/2.6.33/) dans le répertoire de ce noyau compilé.

>ln -s /home/jb/source/linux-2.6.33/ /lib/modules/2.6.33/build
l>n -s /home/jb/source/linux-2.6.33/ /lib/modules/2.6.33/source

J’ai pu ensuite télécharger et installer le driver du CM15.

>wget http://www.linuxha.com/common/iplcd/iplc-driver.tgz
>tar zxf iplc-driver.tgz
>cd iplc/driver/linux-2.6/cm15a.d
>make
>insmod cm15a.ko

Avant de compiler le driver, j’ai du modifié le fichier cm15a.c en changeant les lignes “/include/linux/autoconf.h” en “/include/generated/autoconf.h”.

Voila mon driver de mon module domotique opérationel, prêt à satisfaire mes geekeries et mascagnes….

Mots-clefs :, , , , , ,

 
0

Sheeva plug et Esata

Posted by geekeriemascagne@free.fr on 16 août 2010 in Sheeva plug, Ubuntu

Hello world,

Avec juste 512Mo, l’espace disque du sheeva plug devient vite un problème.J’ai donc profité du port Esata pour étendre la capacité de stockage.

Mais bien sur, une mise a jour du Sheeva Plug est nécessaire pour que le disque soit reconnu:

  • Mise à jour Uboot: le U-boot c’est l’équivalent du bios d’un PC, un Uboot spécial est utilisé par New It, afin de détecter le esata. On accède au Uboot, au démarrage du Sheeva via un cordon usb/mini-usb, soit par Putty soir par Call up ou émulateur. Je me suis connecté grace a Call up :
  • > cu -l /dev/ttyUSB0 -s 115200.
  • J’ai préalablement télécharger le Uboot de New It (uboot-sata-090903.bin) et je l’ai copier sur une clé usb formaté en Fat. (pas fat16 ou32 mais Fat). Une fois connecté au Uboot, il faut activer l’usb, charger le fichier en mémoire, et l’écrire dans la nand :
      > usb start
      > fatload usb 0:1 0x0800000 uboot.bin
      > nand erase 0x0 0xa0000
      > nand write 0x0800000 0x0 0xa000


    1. Mise à jour du kernel : Le dernier kernel ne reconnaissant pas mon disque dur Esata, j’ai donc opté pour le noyau 2.6.33.6.Il suffit de telecharger le fichier Readme correspondant au kernel désiré chez sheeva.with-linux.com(avec un Ubuntu de base sur le sheeva, wget n’est pas installé). Une fois téléchargée , il faut rendre executable le fichier Readme et lancer l’installation du nouveau noyau :
    > apt-get install wget
    > wget http://sheeva.with-linux.com/sheeva/README-2.6.33.6
    > chmod +x README-2.6.33.6
    > ./README-2.6.33.6 --nandkernel

    Après le reboot, le disque dur esata sera détecté. J’en ai profité pour modifier mon fstab, et transférer définitivement les répertoire usr/ et var/ sur le disque dur, afin d’alléger la nand du Sheeva. J’ai donc maintenant de la place sur le Sheeva pour toutes mes bidouilles, geekeries et mascagnes…..


Mots-clefs :, ,

 
1

Sheeva plug

Posted by geekeriemascagne@free.fr on 13 août 2010 in Sheeva plug

Hello world,

J’ai acheté un sheeva plug!!! le sheeva plug kezako? C’est un plug computer, en gros c’est un serveur miniaturisé.

Et oui, ça fait déjà quelques années, que je possédais un vieux pc qui me faisait office de serveur sous debian. Il assurait divers taches et bidouilles : stockage et partage de fichiers, gestionnaire de torrent (torrentflux), téléphonie (asterisk) ….  Même avec une alimentation peu puissante, ce serveur me coutait à l’année facilement plus de 130 euros (150w x 24h x 365jours = 1314kw x 0,1 tarif edf= 131,4 euros)  d’électricité.

Suite à la construction de ma maison basse consommation,  je devais aussi trouver une solution pour mon serveur. J’ai donc commandé un plug computer : le Sheeva Plug : Cpu à 1,2Ghz, 512 Mo de Rom et 512Mo de Ram, 1 réseau, 1 emplacement pour carte Sd, 1 usb et 1 esata. Config tres peu puissante, mais qui consomme  moins de 5w !

De base il est livrée avec Ubuntu, on peut bien sur lui installer une debian. ou autre os supportant une architecture ARM.

Sheeva plug

Je l’ai acheté chez une société anglaise New It sur ebay. (Reçu en moins d’1 semaine), pour 110 euros. Et une communauté francophone d’utilisateur se retrouve sur: http://www.forum-plugcomputer.net

Me voila avec un serveur basse consommation… opérationnel pour mes geekeries et mascagnes..

Mots-clefs :,

Copyright © 2010-2024 Geekerie et Mascagne All rights reserved.
Desk Mess Mirrored v1.7 theme from BuyNowShop.com.