Le 1-wire semble la meilleure solution pour répondre à ma volonté de surveiller les températures des pièces, l’hygrométrie, ouverture/fermeture des fenêtres.
Pour commencer, en lisant « one wire » je m’attendais à une techno qui tenats sur un seul et seul brin, que nenni, c’est un brin DATA et un brin GROUND minimum, donc du … 1-pair.
Je ne vais pas re-inventer l’eau chaude, les infos sur le fonctionnement du 1-wire sont existantes et très bien faites.
Après étude de la technologie, j’ai hésité entre un adaptateur RS232/1-wire home made et un adaptateur USB/1-wire : DS9490R ; la différence se faisant dans les performances. J’ai choisi de commencer avec le RS9490R, il est toujours possible d’évoluer si je suis bloqué par les limites de celui-ci. D’autant plus que je suis tombé sur une enchère d’eBay que j’ai remporté étant le seul enchèreur, 20 € contre 29 € ailleurs ! Na !
Pour l’instant mon installation domotique se limite à… une VirtualBox… Donc j’y attache mon adaptateur USB.
De plus, à ce jour, Wheezy est à l’état de « testing », à quelques mois de son passage en « stable » on peut se permettre de proder en testing.
A ce sujet, un article intéressant : 5 raisons pour lesquelles Debian unstable ne mérite pas son nom.
Toute mon installation serveur est réalisée sous Debian Wheezy appelée en local domy.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 80ee:0021 VirtualBox USB Tablet
Bus 002 Device 003: ID 04fa:2490 Dallas Semiconductor DS1490F 2-in-1 Fob, 1-Wire adapter
Auparavant j’avais effectué une installation d’owserver, owfs, owread et ses potes sur Debian Squeeze, mais quelle bonne surprise d’y voir que les projets owserver & co sont maintenant intégrés à Wheezy !
Je modifie le fichier /etc/owfs.conf, commente la ligne 16, décommente la 19 :
# This part must be changed on real installation #server: FAKE = DS18S20,DS2405 # # USB device: DS9490 server: usb = all
Restart pour la prise en compte
Un petit tour sur http://domy:2121 pour constaté que mon DS9490R soit bien reconnu.
Voila … Ça c’est fait.
Il est possible d’utiliser owfs, plus sympa à bidouiller.
owfs c’est quoi ? C’est l’exploitation owserver sous forme de système de fichiers.
On a owserver qui s’occupe de communication avec le DS9490R, il tourne en tant que serveur à l’écoute sur le port 4304 (cf conf /etc/owfs.conf).
C’est ensuite owhttp qui va interroger le serveur pour rendre un résultat sous forme de page web.
owfs, va rendre ces mêmes résultats sous forme de répertoires et de fichiers.
L’intérêt est de rendre le 1-wire plus malléable et de répondre à certains besoins.
Besoins que l’on aura très certainement… oui j’ai des idées en tête…
On crée un point de montage et on monte :
# owfs -s localhost:4304 -m /mnt/1wire/
Résultat :
total 0
drwxrwxrwx 1 root root 8 mars 11 00:09 81.BD2223000000
drwxr-xr-x 1 root root 8 mars 10 23:56 alarm
drwxr-xr-x 1 root root 8 mars 10 23:56 bus.0
drwxr-xr-x 1 root root 8 mars 10 23:56 bus.1
drwxr-xr-x 1 root root 8 mars 10 23:56 settings
drwxrwxrwx 1 root root 8 mars 11 00:09 simultaneous
drwxr-xr-x 1 root root 8 mars 10 23:56 statistics
drwxr-xr-x 1 root root 32 mars 10 23:56 structure
drwxr-xr-x 1 root root 8 mars 10 23:56 system
drwxr-xr-x 1 root root 8 mars 10 23:56 uncached
Très vite l’ajout d’une sonde de température et les premiers graphs.
Pingback: Barrière infra-rouge, DS2401 et bus 1-wire | Domolio, la domotique et pas que…
Pingback: Compteur consomation d’eau | Domolio, la domotique et pas que…