Contrôle des appareils de synchronisation Aura via WLED
J'ai récemment imprimé 3D les lumières murales montrées dans la vidéo et je voulais le synchroniser avec mon RVB de bureau car ils sont proches les uns des autres sur mon bureau. J'ai essayé Diyhue avec l'application d'armurerie car elle peut se synchroniser avec un pont de teinte, mais il ne prend en charge que les modes «statiques» et «cycle de couleur» et cela n'a même pas fonctionné depuis que Philips a changé leur API et que les bons gens de Diyhue travaillent toujours sur Il (excellent projet btw) J'ai ensuite essayé OpenRGB, ce qui aurait rendu possible avec une sorte de proxy MQTT, mais malheureusement, il n'a pas soutenu mon DRAM Ballistix crucial spécifique que j'ai ensuite déménagé pour installer Wled sur les lumières murales et a commencé ce projet à contrôler Mes feux de bureau avec Wled également afin que je puisse profiter des intégrations TE avec un assaissement à domicile, les effets Wled incroyables, la synchronisation en temps réel et ainsi de suite ...
Le projet utilise l'AURA SYNC API ASUS AURA SDK V3.1 et a besoin de l'installation "Service d'éclairage", je ne pouvais pas vraiment trouver un installateur autonome pour lui, même pensant que le guide du lien SDK le mentionne, mais il s'installe automatiquement avec une caisse d'armure Peut-être l'installer puis le désinstaller en conservant le service d'éclairage "
L'application client communique avec un ESP8266 (WEMOS D1 Mini) via Serial pour obtenir des données LED à partir de WLED et nécessite une version WLED personnalisée qui ajoute ces capacités de sortie de série disponibles chez WLED avec Serial Out (Pull Demande en attente) qui peut être compilé et flashé à l'aide Le guide de compilation Wled Guide ou si vous utilisez le Wemos D1 Mini, j'ai mon binaire compilé dans les versions
Lorsque vous exécutez l'application, vous devriez voir une fenêtre similaire à celle-ci (fenêtre cachée lorsque vous commencez à partir du dossier de démarrage ou avec désormais ARG)
La liste des appareils est en ordre pour autant que je sache, le fonctionnement du SDK est qu'il renvoie le nombre total de lumières associées à un certain appareil mais ne fait pas que tous soient utilisés. Dans mon cas, je n'avais que 21 LED dans le recours à Addressable 1 et rien de connecté à la adresse Addressable 2, vous pouvez le découvrir soit en comptant ou en suivant l'étape suivante et en continuant à essayer jusqu'à ce que toutes les lumières fonctionnent
Pour configurer Wled pour contrôler vos lumières, vous devez définir Wled sur la quantité totale de lumières que vous souhaitez contrôler dans l'ordre, donc pour examiner si je souhaite contrôler les 5 premières LED dans le AddressableStrip 1, je dois avoir été configuré avec WLED avec au moins 29 LED. Vous pouvez également utiliser des segments Wled et faire correspondre les numéros LED pour un meilleur contrôle. Essayez de ne pas régler les LED en WLED plus que vous en avez besoin car cela ralentira les choses
Après la configuration de WLED, vous pouvez déplacer le fichier .exe vers votre dossier de démarrage pour s'exécuter sur le démarrage du bureau (win + r puis "shell: startup"), PS Windows Defender a marqué l'EXE que j'ai compilé en Troie qui semble être un faux positif. N'hésitez pas à compiler votre propre version
L'exe s'exécute avec 3 arguments de ligne de commande facultatifs comme celui-ci ". Wledaurasync.exe com3 115200 nowindow"
Le taux de bauds par défaut est de 115200, ce qui m'a donné environ 47 ips ou des mises à jour de pixels par seconde. Vous pouvez compiler votre propre firmware (ou utiliser la version de WEMOS D1 Mini) en changeant le taux de bauds en 921600 dans wled.cpp # l263 serial.begin. Le taux de bauds 921600 m'a donné constamment 70 ips et c'est ce que je dirige moi-même, mais je ne ajouterai pas cela à ma demande de traction pour Wled
Il existe à la fois une version C ++ et une version Python disponible dans les dossiers CPP et Python respectivement. J'ai d'abord créé la version Python mais je voulais voir si le SDK Aura était plus rapide en C ++, les deux langues ont donné exactement le même FPS. (Je vais probablement maintenir la version C ++ plus)
dans un venv
pip install -r requirements.txt
python main.py
Le PC connecté WLED s'exécute en mode synchronisé avec le mur Wled