Table des matières:
- Fournitures
- Étape 1: Installation du micrologiciel
- Étape 2: Configuration Wi-Fi et HomeKit
- Étape 3: Paramètres personnalisés
Vidéo: Contrôleur LED Apple HomeKit WS2812B : 3 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:05
Il existe de nombreux projets basés sur les bandes LED WS2812B, mais la plupart d'entre eux utilisent homebridge ou toute autre solution - principalement basée sur MQTT - pour communiquer avec HomeKit.
Certains projets utilisent également des effets via Apple HomeKit, mais aucun d'entre eux ne prend en charge HomeKit autonome sans avoir besoin de pont. J'utilise les LED WS2812B depuis près de 3-4 ans maintenant avec HomeKit et elles fonctionnent très bien.
Étant donné que le code est très complexe et que j'ai utilisé de nombreuses bibliothèques personnalisées, j'ai créé des fichiers de firmware précompilés. Pour ceux qui souhaitent créer des projets HomeKit natifs, le code source d'esp-homekit est disponible ici.
Informations de base:
- Actuellement, seules les bandes LED WS2812B, WS2812B ECO et WS2813 sont prises en charge !
- Le nombre maximum de LED est limité à 500 pour économiser de la RAM
- Convertisseur de niveau logique requis (pour la conversion de données de 3,3 V à 5 V)
- Une alimentation 5V de bonne qualité est également nécessaire
- Plus d'informations peuvent être trouvées sur mon GitHub
- Adafruit Überguide peut également vous aider:-)
Conception de circuits imprimés:
J'ai conçu un PCB simple pour piloter les LED NeoPixel de la manière décrite dans l'Überguide NeoPixel d'Adafruit en utilisant le dernier IC convertisseur de niveau logique SN74HCT125N et le condensateur 1000uF également recommandé:-) J'utilise actuellement ce PCB avec une alimentation 5V 10A sans aucun problème (de température):-)
J'ai aussi une version USB Type-C pour les bandes LED plus courtes !
Vous pouvez commander les PCB d'ici et d'ici
Vous pouvez trouver plus d'informations sur les PCB ici
Caractéristiques:
- Changer de couleur
- Modifier la luminosité
- Changer la température de couleur (aucune bande RGBW requise)
- Effets de lumière WS2812FX (bêta !!!)
- Configuration du nombre de LED WS2812B (au premier démarrage de 1 à 500)
- Caractéristique de comportement de puissance (couleur par défaut / dernière utilisation au démarrage via l'application Eve)
- Transition (Rapide / Par défaut / Modéré / Calme via l'application Eve)
- Verrouillage enfant (appuyer sur le bouton Activer/Désactiver via l'application Eve)
- Manuel d'utilisation téléchargeable (via l'application Eve)
- Bouton d'alimentation/réinitialisation
Fournitures
Pour créer le PCB personnalisé, vous aurez besoin d'un fer à souder bon marché ou d'une station de soudage comme celle-ci ou celle-ci. Un pistolet à souder à air chaud serait également utile ! Pour télécharger le code, vous devrez probablement aussi acheter un adaptateur USB TTL.
Pièces nécessaires:
- NodeMCU ou Wemos D1 Mini
- Convertisseur de niveau logique IC
- Bande LED WS2812B
- Connecteur femelle JST 3 broches
- Alimentation 5V 2-10A v1 ou alimentation 5V 2-10A v2
- Câbles de démarrage
Pièces de PCB:
- ESP12F/E
- ESP-01S (1 Mo flash)
- Résistances CMS 0805
- Condensateurs CMS 0805
- AMS1117-3.3
- Bouton tactile
- en-tête de 2,54 mm
- SN74HCT125N
- Condensateur CMS 10,5x10,5 1000uF
- Connecteur CC
- Borne à vis 3 broches
- Porte-fusible
- Fusible
Étape 1: Installation du micrologiciel
Vous pouvez télécharger le firmware depuis ma page GitHub
les fenêtres
Pour Windows, vous pouvez utiliser l'outil de téléchargement de firmware officiel d'Espressif
Le réglage des adresses flash (0x2000), de la taille du flash (1 Mo/8 mbit, 4 Mo/32 mbit) et du mode flash (DIO/QIO) est une étape très importante, mais ces paramètres peuvent changer en fonction du module que vous utilisez ! Je recommande également d'effacer le flash avant de télécharger les fichiers.bin !
Paramètres:
- Débit en bauds 115200
- Taille du flash 4Mo ou 32mbit (selon votre module)
- Flash Mode QIO (ou DIO, selon votre module)
- 0x0000 rboot.bin
- 0x1000 blank_config.bin
- 0x2000 ledstrip.bin
- 40MHz
Mac OS
Pour MacOS, vous pouvez utiliser cet outil de clignotant
Paramètres:
- Effacer le flash - oui
- Débit en bauds 115200
- Taille du flash 4Mo ou 32mbit (selon votre module)
- Flash Mode QIO (ou DIO, selon votre module)
- Fichier: ledstrip.bin
- 40MHz
Flasher manuellement
Nous devons installer esptool.py sur notre Mac afin de pouvoir flasher notre module ESP. Pour travailler avec esptool.py, vous aurez besoin de Python 2.7, Python 3.4 ou d'une installation Python plus récente sur votre système. Nous vous recommandons d'utiliser la dernière version de Python, alors allez sur le site Web de Python et installez-la sur votre ordinateur.
Avec Python installé, ouvrez une fenêtre Terminal et installez la dernière version stable d'esptool.py avec pip:
pip installer esptool
Remarque: avec certaines installations Python, cette commande peut ne pas fonctionner et vous recevrez une erreur. Si c'est le cas, essayez d'installer esptool.py avec:
pip3 installer esptool python -m pip installer esptool pip2 installer esptool
Après l'installation, esptool.py sera installé dans le répertoire par défaut des exécutables Python et vous devriez pouvoir l'exécuter avec la commande esptool.py. Dans votre fenêtre Terminal, exécutez la commande suivante:
esptool.py
Avec esptool.py installé sur votre ordinateur, vous pouvez facilement flasher votre carte ESP8266 avec le firmware.
Au début, vous devez télécharger trois fichiers bin: rboot.bin et blank_config.bin et la dernière version. Le rboot.bin contient le bootloader pour l'ESP8266 et le blank_config.bin dans juste un fichier de configuration vierge et ledstrip.bin contient le firmware. Connectez maintenant votre appareil à votre adaptateur FTDI en mode flash.
Liens miroir:
rboot.binblank_config.binledstrip.bin
Mettre l'appareil en mode Flash
Pour activer le micrologiciel ESP8266, la broche GPIO0 clignotante doit être tirée vers le bas lors de la mise sous tension de l'appareil. Avec mon PCB personnalisé, il y a un bouton, nodeMCU a également un bouton flash et le Wemos le fait automatiquement à l'aide de l'USB. Inversement, pour un démarrage normal, GPIO0 doit être tiré haut ou flottant. Démarrer en MODE FLASH
Allez dans le répertoire que vous avez créé où vous avez placé les fichiers rboot.bin blank_config.bin précédemment téléchargés (par exemple Téléchargements)
Ouvrez l'application Terminal. Cliquez sur l'icône du Finder dans votre dock. Cliquez sur Aller. Cliquez sur Utilitaires. Double-cliquez sur Terminal. Accédez au répertoire de téléchargements.
Vous aurez besoin d'un adaptateur USB TTL pour vous connecter à l'ESP8266. Si vous utilisez un Wemos D1 Mini, vous n'avez besoin que d'un câble microUSB, le Wemos dispose d'un adaptateur TTL intégré.
téléchargements de CD
Remarque: si vous utilisez une autre bibliothèque pour stocker les trois fichiers.bin, accédez à cette bibliothèque à l'aide de la commande `cd`:
Utilisez esptool.py pour flasher votre appareil. Nous devons d'abord effacer le flash:
esptool.py -p /dev/effacer_flash
Normalement, votre ESPPort sera quelque chose comme /dev/cu.usbserial-`xxxxxx`. Ensuite, mettez à nouveau votre appareil en mode flash et flashez le nouveau firmware:
esptool.py -p /dev/cu.wchusbserial1420 --baud 115200 write_flash -fs 32m -fm dio -ff 40m 0x0 rboot.bin 0x1000 blank_config.bin 0x2000 ledstrip.bin
Étape 2: Configuration Wi-Fi et HomeKit
Configuration Wi-Fi
Vous devez configurer le réseau wifi avant d'ajouter l'accessoire à HomeKit. Pour configurer les paramètres Wi-Fi, l'appareil génère son propre Wi-Fi en mode AP. Vous devez vous y connecter pour configurer votre réseau Wi-Fi. Prenez simplement votre appareil iOS, allez dans Paramètres -> Wi-Fi et recherchez un SSID appelé HomeKid- suivi de l'adresse MAC du module et connectez-vous. Pour des raisons de sécurité, le point d'accès est protégé par un mot de passe ! Mot de passe par défaut du point d'accès: 12345678
Attendez quelques secondes jusqu'à ce qu'un site Web apparaisse vous montrant tous les réseaux Wi-Fi que l'appareil a trouvés. Sélectionnez le vôtre et entrez votre mot de passe ! Après cela, vous pouvez ajouter le nombre exact de LED dans votre bande LED ! Entrez un nombre de 1 à 500 ! Cliquez ensuite sur le bouton Rejoindre ! Le module essaiera de se connecter au réseau Wi-Fi sélectionné, cela prendra quelques secondes.
Remarque: Si le mot de passe donné est erroné, vous pouvez réinitialiser les paramètres Wi-Fi en maintenant le bouton de réinitialisation enfoncé pendant 10 secondes.
Configuration de HomeKit
Sur votre appareil iOS, ouvrez l'application Home et suivez les étapes normales pour ajouter un nouvel accessoire. La configuration du jumelage prend environ 30 secondes.
Le code HomeKit par défaut est 021-82-017
Vous pouvez également scanner ce code QR HomeKit:
Remarque: si l'appairage échoue, vous pouvez éteindre votre appareil, le remettre sous tension et redémarrer la configuration de HomeKit (les paramètres Wifi restent configurés). Une fois l'appairage réussi, la bande LED clignotera 3 fois en blanc !
Problèmes courants:
- Parfois, l'ajout de plusieurs accessoires à l'aide du code QR échoue, si HomeKit signale "Accessoire déjà ajouté", ajoutez simplement le code d'appairage manuellement au lieu de scanner le code QR !
- En cas de problème, vous pouvez voir les fichiers journaux à l'aide du moniteur série d'Arduino et n'hésitez pas à ouvrir un problème sur GitHub
Étape 3: Paramètres personnalisés
Malheureusement, l'application Home ne prend pas en charge les caractéristiques personnalisées de tiers, vous aurez donc besoin de l'application Elgato EVE pour modifier ces paramètres et utiliser les effets WS2812B. De plus, l'accessoire agit comme un accessoire Fake Eve Light Strip lorsque vous l'ajoutez via l'application Eve ?
Transitions et comportement de pouvoir
La bande originale Eve Light prend en charge ces deux caractéristiques. Avec Transitions, vous pouvez modifier la vitesse de la bande LED lors de l'utilisation des effets WS2812FX ! Le régler sur Quick désactivera les fondus entrants/sortants et il s'allumera rapidement !
Avec Power Behavior, vous pouvez changer la couleur par défaut lorsque la bande LED s'allume ! Par défaut, il est défini sur Dernière couleur utilisée, donc lorsque vous éteignez la bande LED, elle se souviendra toujours de la dernière couleur que vous avez utilisée ! Lorsqu'il est réglé sur le blanc par défaut, chaque fois que vous éteignez la bande LED, la couleur redevient blanche !
Réinitialiser
Le code a une fonction de réinitialisation en cas de problème. Attendez environ 5 secondes pour permettre à l'appareil de démarrer complètement, puis appuyez longuement sur le bouton pendant au moins 10 secondes !
Tous les paramètres configurés ont été supprimés et l'appareil redémarre. Cela supprime les paramètres HomeKit et Wi-Fi, et votre appareil passera en mode Point d'accès la prochaine fois afin de reconfigurer le Wi-Fi.
Remarque: une simple pression sur le même bouton active ou désactive la bande LED
Conseillé:
Contrôleur pour 3 antennes à boucle magnétique avec interrupteur de fin de course : 18 étapes (avec photos)
Contrôleur pour 3 antennes à boucle magnétique avec interrupteur de fin de course : ce projet est destiné aux amateurs de jambon qui n'en ont pas dans le commerce. C'est facile à construire avec un fer à souder, un boîtier en plastique et un peu de connaissances en arduino. Le contrôleur est fabriqué avec des composants économiques que vous pouvez trouver facilement sur Internet (~20 €)
Refroidisseur / réfrigérateur Peltier fait maison avec contrôleur de température DIY: 6 étapes (avec photos)
Refroidisseur/réfrigérateur Peltier fait maison avec contrôleur de température DIY Ce module TEC1-12706 et l'effet Peltier font la glacière de bricolage parfaite ! Cette instructable est un tutoriel étape par étape vous montrant comment faire
Déshumidificateur Apple HomeKit Wi-Fi basé sur ESP8266 ? : 6 étapes (avec photos)
Déshumidificateur Wi-Fi Apple HomeKit basé sur ESP8266 ? J'ai donc décidé de créer mon propre déshumidificateur Apple HomeKit compatible Wi-Fi sur la base d'un bon marché que j'ai déjà ? JE
Lune - Contrôleur MIDI avec Arduino (pour DJ ou musicien) : 5 étapes (avec photos)
Lune - Contrôleur MIDI avec Arduino (pour DJ ou musicien): C'est mon premier projet arduino (microcontrôleur) nommé Lune. Je voulais apprendre l'arduino avec un projet utile et important alors j'ai décidé de faire un contrôleur midi DJ qui a toutes les fonctions nécessaires pour être autonome pour mixer.Chaque type de capteur (potentio
Contrôleur de jeu DIY basé sur Arduino - Contrôleur de jeu Arduino PS2 - Jouer à Tekken avec la manette de jeu DIY Arduino : 7 étapes
Contrôleur de jeu DIY basé sur Arduino | Contrôleur de jeu Arduino PS2 | Jouer à Tekken avec la manette de jeu DIY Arduino : Bonjour les gars, jouer à des jeux est toujours amusant, mais jouer avec votre propre contrôleur de jeu personnalisé DIY est plus amusant. Nous allons donc créer un contrôleur de jeu utilisant arduino pro micro dans cette instructables