Le projet Pinède
Nous utiliserons des équipements utilisant le protocole enOcean, La Commission électrotechnique internationale (CEI) a ratifié en avril 2012 la norme ISO/CEI 14543-3-10 pour les applications radio ultra basse consommation notamment grâce à l’alliance EnOcean. Il s’agit d’une norme radio également optimisée pour les solutions à récolte d’énergie (Energy Harvesting). Voici quelques sites utiles :
Un logiciel facile à installer qui permet de commencer à manipuler les prises enOcean, c’est FHEM. L’installation sur une Debian peut se faire en intégrant le site fhem dans la liste des sources :
wget -qO - http://debian.fhem.de/archive.key | apt-key add -
echo "deb http://debian.fhem.de/nightly/ /">> /etc/apt/sources.list
apt-get update
apt-get install fhem
Il installe alors les dépendances.
Ensuite, le serveur est installé. Il est accessible par http sur le port 8083 (figure 5.7 et sur telnet, port 7072. Pour activer la connexion telnet, il faut ajouter la ligne suivante dans le fichier fhem.cfg.
define telnet telnet 7072 global
Il est alors possible d’insérrer la clef usb. Après avoir relancé le serveur fhem, l’onglet Unsorted affiche son existence (figure 5.9). C’est alors parfois le drame. il se peut qu’il n’y aie pas de baseID…Après un reboot de l’ordinateur, la baseID est arrivée. La clef est alors détaillée dans la figure ??.
Il y a une zone permettant d’activer un paramètre ou de récupérer une valeur (figure 5.10).
Il faut aller sur les prises et les passer en mode découvrable. Pour cela, il faut appuyer quelques secondes avant que le voyant ne passe au rouge. Je ne sais pas ce qu’il faut vraiment faire, mais il semble que teach/ smackacklearn finisse par fonctionner.
Un onglet enOcean apparaît alors dans la figure 5.11.
Pour pouvoir communiquer entre un objet enOcean et le système d’information, il faut disposer d’un composant spécifique. Cela peut être une clef USB ou une carte fille pour raspberry. Les deux objets sont présentés dans la figure 5.12.
Quand la clef USB est utilisée, alors un périphérique série apparaît (/dev/ttyUSB0). La carte fille va utiliser /dev/ttyAMA0. Les télégrammes enOcean sont alors lisibles.
stty -F /dev/ttyUSB0 57600 hexdump -C < /dev/ttyUSB0 55 00 0a 07 01 fd d4 a0 01 46 00 0e 01 d2 05 1b |U........F......| c3 49 00 00 ff ff ff ff 31 00 d1 55 00 0a 07 01 |.I......1..U....| fd d4 a0 01 46 00 0e 01 d2 05 1b c3 49 00 00 ff |....F.......I...| ff ff ff 30 00 c4 55 00 0a 07 01 fd d4 a0 01 46 |...0..U........F| 00 0e 01 d2 05 1b c3 49 00 00 ff ff ff ff 29 00 |.......I......).| 2e 55 00 0a 07 01 fd d4 a0 01 46 00 0e 01 d2 05 |.U........F.....| 1b c3 49 00 00 ff ff ff ff 30 00 c4 55 00 09 07 |..I......0..U...| 01 56 d2 04 60 80 05 1b c3 49 00 00 ff ff ff ff |.V..`....I......|
Les télégrammes commencent par un octet de synchronisation (55). Le premier capturé est donc :
55 00 0a 07 01 fd d4 a0 01 46 00 0e 01 d2 05 1b c3 49 00 00 ff ff ff ff 31 00 d1
55 // sync 00 0a 07 01 //header fd // header CRC d4 a0 01 46 00 0e 01 d2 05 1b c3 49 00 // data 00 ff ff ff ff 31 00 // opt data d1 // header data
Nous avons alors (approximativement) :
en tête :
— la longueur des données est 0x0A, soit 10,
— la longueur des données optionnelles 7,
— le type de paquet 1 ;
CRC8 Header ;
les données ;
heu ???
les données optionnelles, dont :
dBm
Security
le CRC des données
Le premier octet des données est D4. Cela correspont à Universal Teach In, la prise était en mode apprentissage pour se coupler à une passerelle.