Taula de continguts:
- Subministraments
- Pas 1: Instal·lació del firmware
- Pas 2: configuració de Wi-Fi i HomeKit
- Pas 3: Configuració personalitzada
Vídeo: Controlador LED Apple HomeKit WS2812B: 3 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:11
Hi ha molts projectes basats en tires LED WS2812B, però la majoria utilitzen homebridge o qualsevol altra solució, basada principalment en MQTT, per comunicar-se amb HomeKit.
Alguns projectes també utilitzen efectes mitjançant Apple HomeKit, però cap d’ells admet HomeKit independent sense necessitat de cap pont. Faig servir LEDs WS2812B fa gairebé 3-4 anys amb HomeKit i funcionen molt bé
Com que el codi és molt complex i he utilitzat moltes biblioteques personalitzades, he creat fitxers de microprogramari precompilats. Per a aquells que estiguin interessats a crear projectes HomeKit natius, el codi font de esp-homekit està disponible aquí.
Informació bàsica:
- Actualment, només s’admeten tires LED WS2812B, WS2812B ECO i WS2813.
- El nombre màxim de LEDs està limitat a 500 per estalviar RAM
- Es necessita un convertidor de nivell lògic (per a conversions de dades de 3,3V a 5V)
- També és necessària una font d’alimentació de 5V de bona qualitat
- Podeu trobar més informació al meu GitHub
- Adafruit Überguide també pot ajudar:-)
Disseny de PCB:
He dissenyat un PCB senzill per conduir els LEDs NeoPixel de la manera correcta descrita a NeoPixel Überguide d’Adafruit mitjançant l’últim convertidor de nivell lògic SN74HCT125N IC i el condensador 1000uF també recomanat:-) Actualment estic fent servir aquest PCB amb una font d’alimentació de 5V 10A sense problemes de temperatura:-)
També tinc una versió USB tipus C per a tires LED més curtes.
Podeu demanar els PCB aquí i aquí
Podeu trobar més informació sobre els PCB aquí
Característiques:
- Canvia de color
- Canvia la brillantor
- Canvieu la temperatura de color (no cal una tira RGBW)
- Efectes de llum WS2812FX (beta !!!)
- Configuració del recompte de LEDs WS2812B (al primer arrencada de l'1 al 500)
- Característica de comportament de l'alimentació (color per defecte / Última utilització a l'inici mitjançant l'aplicació Eve)
- Transició (ràpida / predeterminada / moderada / tranquil·la mitjançant l'aplicació Eve)
- Bloqueig infantil (premeu el botó Activa / Desactiva mitjançant l'aplicació Eve)
- Manual d'usuari descarregable (mitjançant l'aplicació Eve)
- Botó d'engegada / restabliment
Subministraments
Per crear el PCB personalitzat, necessitareu un soldador barat o una estació de soldadura com aquesta o aquesta. També una pistola de soldar amb aire calent també seria útil. Per penjar el codi, probablement també haureu de comprar un adaptador USB TTL.
Parts necessàries:
- NodeMCU o Wemos D1 Mini
- IC convertidor de nivell lògic
- Tira LED WS2812B
- Connector femella JST de 3 pins
- 5V 2-10A font d'alimentació v1 o 5V 2-10A font d'alimentació v2
- Cables de pont
Peces PCB:
- ESP12F / E
- ESP-01S (flash de 1 MB)
- Resistències SMD 0805
- Condensadors SMD 0805
- AMS1117-3.3
- Botó tàctil
- Capçalera de 2,54 mm
- SN74HCT125N
- Condensador SMD 10,5x10,5 1000uF
- Connector de CC
- Terminal de cargol de 3 pins
- Portafusibles
- Fusible
Pas 1: Instal·lació del firmware
Podeu descarregar el firmware des de la meva pàgina de GitHub
Windows
Per a Windows podeu utilitzar l'eina oficial de descàrrega de microprogramari d'Espressif
Configurar les adreces de flaix (0x2000), la mida del flaix (1 MB / 8 àmbits, 4 MB / 32 àmbits) i el mode de flaix (DIO / QIO) és un pas molt important, però aquests paràmetres poden canviar segons el mòdul que utilitzeu. També us recomano esborrar el flash abans de carregar els fitxers.bin.
Configuració:
- Taxa en bauds 115200
- Mida del flaix 4 MB o 32 àmbits (segons el mòdul)
- Mode Flash QIO (o DIO, segons el vostre mòdul)
- 0x0000 rboot.bin
- 0x1000 blank_config.bin
- 0x2000 ledstrip.bin
- 40 MHz
MacOS
Per a MacOS podeu utilitzar aquesta eina intermitent
Configuració:
- Esborra el flaix: sí
- Taxa en bauds 115200
- Mida del flaix 4 MB o 32 àmbits (segons el mòdul)
- Mode Flash QIO (o DIO, segons el vostre mòdul)
- Fitxer: ledstrip.bin
- 40 MHz
Flash manualment
Hem d’instal·lar esptool.py al nostre Mac per poder fer flaix el nostre mòdul ESP. Per treballar amb esptool.py, necessitareu Python 2.7, Python 3.4 o una instal·lació de Python més recent al vostre sistema. Us recomanem que utilitzeu la versió més recent de Python; per tant, aneu al lloc web de Python i instal·leu-la al vostre ordinador.
Amb Python instal·lat, obriu una finestra de Terminal i instal·leu la versió més recent estable d’esptool.py amb pip:
pip instal·lar esptool
Nota: amb algunes instal·lacions de Python és possible que aquesta ordre no funcioni i rebreu un error. Si és així, intenteu instal·lar esptool.py amb:
pip3 install esptool python -m pip install esptool pip2 install esptool
Després d’instal·lar-lo, tindreu instal·lat esptool.py al directori d’executables per defecte de Python i hauríeu de poder executar-lo amb l’ordre esptool.py. A la finestra del terminal, executeu l'ordre següent:
esptool.py
Amb esptool.py instal·lat a l’ordinador, podeu fer flaixar fàcilment la vostra placa ESP8266 amb el firmware.
Al principi, heu de descarregar tres fitxers bin: rboot.bin i blank_config.bin i la versió més recent. El rboot.bin conté el carregador d’arrencada de l’ESP8266 i el blank_config.bin només en un fitxer de configuració en blanc i ledstrip.bin conté el firmware. Ara connecteu el dispositiu a l'adaptador FTDI en mode flash.
Enllaços de rèplica:
rboot.binblank_config.binledstrip.bin
Posar el dispositiu en mode Flash
Per habilitar el pin GPIO0 que parpelleja del microprogramari ESP8266, cal abaixar-lo mentre s'encén el dispositiu. Amb el meu PCB personalitzat hi ha un botó, nodeMCU també té un botó flash i el Wemos ho fa automàticament mitjançant USB. Per contra, per a un arrencada normal, GPIO0 ha de ser elevat o flotant. Comenceu en MODE FLASH
Aneu al directori que heu creat on heu col·locat els fitxers rboot.bin blank_config.bin descarregats anteriorment (per exemple, Descàrregues)
Obriu l'aplicació Terminal. Feu clic a la icona Finder al moll. Feu clic a Vés. Feu clic a Utilitats. Feu doble clic a Terminal. Canvieu al directori de descàrregues.
Necessitareu un adaptador USB TTL per connectar-vos a l’ESP8266. Si feu servir un Wemos D1 Mini només necessiteu un cable microUSB, el Wemos té incorporat un adaptador TTL.
descàrregues de CD
Nota: Si utilitzeu una altra biblioteca per emmagatzemar els tres fitxers.bin, aneu a aquesta biblioteca mitjançant l'ordre `cd`:
Utilitzeu esptool.py per fer flaixar el vostre dispositiu. Primer hem d’esborrar el flaix:
esptool.py -p / dev / erase_flash
Normalment, el vostre ESPPort serà com / dev / cu.usbserial-`xxxxxx`. A continuació, torneu a configurar el dispositiu en mode flash i feu flaix el nou 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
Pas 2: configuració de Wi-Fi i HomeKit
Configuració de Wi-Fi
Heu de configurar la xarxa wifi abans d’afegir l’accessori a HomeKit. Per configurar la configuració de Wi-Fi, el dispositiu genera la seva pròpia Wi-Fi en mode AP. Heu de connectar-hi per configurar la vostra xarxa Wi-Fi. Simplement agafeu el dispositiu iOS, aneu a Configuració -> Wi-Fi i cerqueu un SSID anomenat HomeKid, seguit de l'adreça MAC del mòdul i connecteu-hi. Per motius de seguretat, l’AP està protegit amb contrasenya. Contrasenya AP predeterminada: 12345678
Espereu uns segons fins que aparegui un lloc web que us mostri totes les xarxes Wi-Fi que el dispositiu ha trobat. Seleccioneu la vostra i introduïu la contrasenya. Després, podeu afegir el nombre exacte de LED a la vostra tira LED. Introduïu un número de l'1 al 500. A continuació, feu clic al botó Unir-se. El mòdul intentarà connectar la xarxa Wi-Fi seleccionada; això trigarà un parell de segons.
Nota: Si la contrasenya proporcionada és incorrecta, podeu restablir la configuració de la Wi-Fi mantenint premut el botó Restableix durant 10 segons
Configuració de HomeKit
Al dispositiu iOS, obriu l'aplicació Home i seguiu els passos normals per afegir un accessori nou. La configuració de l’emparellament triga uns 30 segons.
El codi predeterminat HomeKit és el 021-82-017
També podeu escanejar aquest codi QR HomeKit:
Nota: Si el parell falla, podeu desconnectar el dispositiu, tornar-lo a engegar i tornar a iniciar la configuració de HomeKit (la configuració de Wifi es manté configurada). Després de l’aparellament reeixit, la tira LED parpellejarà en blanc 3 vegades.
Problemes habituals:
- De vegades, afegir diversos accessoris mitjançant codi QR falla, si HomeKit informa que "Accessory ja s'ha afegit", només cal afegir el codi de sincronització manualment en lloc d'escanejar el codi QR.
- En cas que alguna cosa hagi fallat, podeu veure els fitxers de registre mitjançant el monitor sèrie d'Arduino i deixar lliure d'obrir un problema a GitHub
Pas 3: Configuració personalitzada
Malauradament, l'aplicació Home no admet característiques personalitzades / de tercers, de manera que necessitareu l'aplicació Elgato EVE per canviar aquesta configuració i utilitzar els efectes WS2812B. A més, l'accessori funciona com un accessori Fake Eve Light Strip quan l'afegiu mitjançant l'aplicació Eve?
Transicions i comportament de poder
La tira original Eve Light admet aquestes dues característiques. Amb Transitions podeu canviar la velocitat de la tira LED quan utilitzeu Efectes WS2812FX. Si el configureu a Ràpid, es desactivarà l’entrada / sortida de l’esvaïment i s’activarà ràpidament.
Amb Power Behavior, podeu canviar el color per defecte quan s’encén la tira LED. Per defecte, s'estableix en Darrer color utilitzat, de manera que quan apagueu la tira LED sempre recordarà l'últim color que heu utilitzat. Quan es defineix com a blanc predeterminat, cada vegada que apagueu la tira LED, el color tornarà a ser blanc.
Restableix
El codi té una funció Restableix en cas que alguna cosa falli. Espereu uns 5 segons perquè el dispositiu s'engegui completament i, a continuació, premeu el botó durant 10 segons com a mínim.
S'han eliminat tots els paràmetres configurats i el dispositiu es reinicia. Això elimina la configuració de HomeKit i de Wi-Fi, i el dispositiu passarà al mode de punt d'accés la propera vegada per tornar a configurar Wi-Fi.
Nota: si premeu el mateix botó, es commutarà o desactivarà la tira LED
Recomanat:
Deshumidificador Wi-Fi Apple HomeKit basat en ESP8266?: 6 passos (amb imatges)
Deshumidificador Wi-Fi Apple HomeKit Basat en ESP8266?: Malauradament, només hi ha un o dos DeHumidificadors que admeten Apple HomeKit, però tenen uns preus molt alts (300 $ +). Així que he decidit fer el meu propi deshumidificador Apple HomeKit compatible amb Wi-Fi basat en un de barat que ja tinc? Jo
Tutorial per a la interfície RGB Led WS2812B amb Arduino UNO: 7 passos (amb imatges)
Tutorial per a la interfície RGB Led WS2812B amb Arduino UNO: Aquest tutorial us ensenyarà alguns conceptes bàsics sobre l'ús de Sparkfun RGB Led WS2812B amb Arduino UNO
Controlador USB de baixos, aguts i volums amb LED de teclat: 6 passos (amb imatges)
Controlador USB de greus, aguts i volum amb LEDs de teclat: tinc un Creative SoundBlaster Audigy a l’ordinador principal d’escriptori i necessitava una manera d’ajustar ràpidament la configuració de greus i aguts (així com el volum) quan escoltava suports d’àudio o vídeo. . He adaptat el codi a partir de dues fonts indicades a
PhotonLamp: una làmpada de disseny equipada amb control MQTT WS2812b: 5 passos (amb imatges)
PhotonLamp: una làmpada de disseny equipada amb control MQTT WS2812b: Fa diversos anys vam comprar una làmpada de disseny que tenia una pantalla de llum en forma de cigar i que estava feta de vidres de llet. Ens va agradar el disseny particular de l'ombra i l'aparença general de la làmpada. Però no he estat realment satisfet amb la llum
NESblinky - Controlador de flaix de controlador de Nintendo: 12 passos (amb imatges)
NESblinky - Nintendo Controller Bike Flasher: vaig veure el missatge "Light Up Your Ride" i vaig reflexionar sobre què es podria tornar a proposar per augmentar la visibilitat de la meva moto, tot esperant que encegés un motorista o dos en un atac de ràbia retro. Vaig passar amb una vella Nintendo trencada