Le petit H801 proposé sur nombre de boutiques asiatiques est un contrôleur de LEDs RGB (Red, Green Blue) qui va soit générer son propre réseau WiFi, soit venir se connecter au WiFi de votre box.

espleds

Pour très peu d’Euros, vous allez ainsi pouvoir briller en société, venir contrôler un ruban à LEDs au moyen de votre smartphone. Intégrant un ESP8266, l’appareil est en outre reprogrammable à volonté, les exemples ne manquent pas sur internet.

Reste maintenant à venir intégrer ce bijou de technologie chinoise à votre domotique, à pouvoir le contrôler de façon un peu plus simple qu’avec l’application de base d’un smartphone Android. En fouillant un peu sur la toile mondiale, je suis tombé sur ce billet qui dégrossit le fonctionnement de la bestiole, mais hélas cela n’a pas fonctionné ici : les codes d’identification de mon module semblaient différents de ceux initialement utilisés.

Ni une, ni deux, direction Wireshark pour venir analyser les trames UDP diffusées par l’application sur ma tablette Android (192.168.1.181 sur mon réseau local) :

wireshark osx

et plus précisément la trame udp émise du port 30978 vers le port 30977 :

wireshark trame

Bon sang, mais c’est bien sur, la trame doit impérativement débuter par fbeb, suivi par 6 codes hexa correspondant à la couleur.

Sur notre Raspberry Pi, installons sendip et tentons d’éteindre les LEDs :

sendip -p ipv4 -p udp -us 30978 -ud 30977 -d 0xfbeb00000000005c59d6000 -v 192.168.1.127

Ici, 192.168.1.127 est l’IP utilisée par notre H801 sur le réseau local WiFi, vous l’adapterez à votre installation propre bien entendu. Pas besoin d’IP source, la seule réception de la bonne trame UDP suffit visiblement à contenter notre H801.

Partant du principe qu’il faut remplacer les 6 codes hexa, voici comme obtenir une LED totalement blanche :

sendip -p ipv4 -p udp -us 30978 -ud 30977 -d 0xfbebffffff00005c59d6000 -v 192.168.1.127

ou rouge :

sendip -p ipv4 -p udp -us 30978 -ud 30977 -d 0xfbebFF000000005c59d6000 -v 192.168.1.127

ou verte :

sendip -p ipv4 -p udp -us 30978 -ud 30977 -d 0xfbeb7AFF0400005c59d6000 -v 192.168.1.127

La recette pour définir la couleur est simple. Partez de ce principe :

sendip -p ipv4 -p udp -us 30978 -ud 30977 -d 0xfbebXXXXXX00005c59d6000 -v 192.168.1.127

ou les XXXXXX (6 fois X) représentent le code couleur hexadécimal que vous allez trouver sur ce site

rgb

Exemple de couleur verte, codée 7AFF04

A vous de jouer désormais, vous allez pouvoir vous amuser sur votre Raspi préféré 😉