Tabla de contenido:
- Suministros
- Paso 1: instalar el firmware
- Paso 2: configuración de Wi-Fi y HomeKit
- Paso 3: configuración personalizada
Video: Controlador LED Apple HomeKit WS2812B: 3 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:40
Hay muchos proyectos basados en tiras de LED WS2812B, pero la mayoría de ellos utilizan Homebridge o cualquier otra solución, principalmente basada en MQTT, para comunicarse con HomeKit.
Algunos proyectos también utilizan efectos a través de Apple HomeKit, pero ninguno de ellos es compatible con HomeKit independiente sin necesidad de ningún puente. Estoy usando LED WS2812B hace casi 3-4 años con HomeKit y están funcionando muy bien.
Dado que el código es muy complejo y he usado muchas bibliotecas personalizadas, he creado archivos de firmware precompilados. Para aquellos que estén interesados en hacer proyectos nativos de HomeKit, el código fuente de esp-homekit está disponible aquí.
Informaciones básicas:
- Actualmente, solo se admiten las tiras de LED WS2812B, WS2812B ECO y WS2813.
- El número máximo de LED está limitado a 500 para ahorrar RAM
- Se requiere un convertidor de nivel lógico (para conversión de datos de 3.3V a 5V)
- También es necesaria una fuente de alimentación de 5 V de buena calidad
- Se puede encontrar más información en mi GitHub
- Adafruit Überguide también puede ayudar:-)
Diseño de PCB:
Diseñé una PCB simple para manejar los LED NeoPixel de la manera correcta descrita en la Überguide NeoPixel de Adafruit usando el último IC convertidor de nivel lógico SN74HCT125N y el capacitor de 1000uF también recomendado:-) Actualmente estoy usando esta PCB con una fuente de alimentación de 5V 10A sin problemas (de temperatura):-)
¡También tengo una versión USB Type-C para tiras de LED más cortas!
¡Puede pedir las placas de circuito impreso aquí y aquí
¡Puede encontrar más información sobre los PCB aquí
Características:
- Cambiar el color
- Cambiar el brillo
- Cambiar la temperatura de color (no se requiere una tira RGBW)
- Efectos de luz WS2812FX (beta !!!)
- Configuración del conteo de LED WS2812B (en el primer arranque de 1 a 500)
- Característica de comportamiento de energía (color predeterminado / último usado al inicio a través de la aplicación Eve)
- Transición (rápida / predeterminada / moderada / tranquila a través de la aplicación Eve)
- Bloqueo para niños (presionar el botón Activar / Desactivar a través de la aplicación Eve)
- Manual de usuario descargable (a través de la aplicación Eve)
- Botón de encendido / reinicio
Suministros
Para crear la PCB personalizada, necesitará un soldador barato o una estación de soldadura como esta o esta. ¡También sería útil una pistola de soldadura de aire caliente! Para cargar el código, probablemente también tenga que comprar un adaptador TTL USB.
Piezas necesarias:
- NodeMCU o Wemos D1 Mini
- Convertidor de nivel lógico IC
- Tira de LED WS2812B
- Conector hembra JST de 3 pines
- Fuente de alimentación de 5V 2-10A v1 o fuente de alimentación de 5V 2-10A v2
- Cables de salto
Piezas de PCB:
- ESP12F / E
- ESP-01S (flash de 1 MB)
- Resistencias SMD 0805
- Condensadores SMD 0805
- AMS1117-3.3
- Botón táctil
- Cabezal de 2,54 mm
- SN74HCT125N
- Condensador SMD 10.5x10.5 1000uF
- Conector DC
- Terminal de tornillo de 3 pines
- Portafusibles
- Fusible
Paso 1: instalar el firmware
¡Puedes descargar el firmware desde mi página de GitHub
Ventanas
Para Windows, puede utilizar la herramienta de descarga de firmware oficial de Espressif
Configurar las direcciones flash (0x2000), el tamaño del flash (1MB / 8mbit, 4MB / 32mbit) y el modo flash (DIO / QIO) es un paso muy importante, pero estos ajustes pueden cambiar según el módulo que esté utilizando. ¡También recomiendo borrar el flash antes de cargar los archivos.bin!
Ajustes:
- Tasa de baudios 115200
- Tamaño de flash 4 MB o 32 MB (según su módulo)
- Modo flash QIO (o DIO, según su módulo)
- 0x0000 rboot.bin
- 0x1000 blank_config.bin
- 0x2000 ledstrip.bin
- 40 MHz
Mac OS
¡Para MacOS puedes usar esta herramienta de flasheo
Ajustes:
- Borrar flash - sí
- Tasa de baudios 115200
- Tamaño de flash 4 MB o 32 MB (según su módulo)
- Modo flash QIO (o DIO, según su módulo)
- Archivo: ledstrip.bin
- 40 MHz
Flash manual
Tenemos que instalar esptool.py en nuestra Mac para poder actualizar nuestro módulo ESP. Para trabajar con esptool.py, necesitará Python 2.7, Python 3.4 o una instalación de Python más reciente en su sistema. Recomendamos usar la última versión de Python, así que vaya al sitio web de Python e instálelo en su computadora.
Con Python instalado, abra una ventana de Terminal e instale la última versión estable de esptool.py con pip:
pip instalar esptool
Nota: con algunas instalaciones de Python, es posible que ese comando no funcione y recibirá un error. Si ese es el caso, intente instalar esptool.py con:
pip3 instalar esptool python -m pip instalar esptool pip2 instalar esptool
Después de la instalación, tendrá esptool.py instalado en el directorio de ejecutables de Python predeterminado y debería poder ejecutarlo con el comando esptool.py. En su ventana de Terminal, ejecute el siguiente comando:
esptool.py
Con esptool.py instalado en su computadora, puede actualizar fácilmente su placa ESP8266 con el firmware.
Al principio, debe descargar tres archivos bin: rboot.bin y blank_config.bin y la última versión. El rboot.bin contiene el cargador de arranque para el ESP8266 y el blank_config.bin en solo un archivo de configuración en blanco y ledstrip.bin contiene el firmware. Ahora conecte su dispositivo a su adaptador FTDI en modo flash.
Enlaces Espejo:
rboot.binblank_config.binledstrip.bin
Poner el dispositivo en modo flash
Para habilitar el firmware ESP8266 parpadeante, el pin GPIO0 debe estar bajo mientras se enciende el dispositivo. Con mi PCB personalizado hay un botón, nodeMCU también tiene un botón de flash y Wemos lo hace automáticamente usando USB. Por el contrario, para un arranque normal, GPIO0 debe estar alto o flotando. Iniciar en MODO FLASH
Vaya al directorio que creó donde colocó los archivos rboot.bin en blanco_config.bin descargados previamente (por ejemplo, Descargas)
Abra la aplicación Terminal. Haz clic en el ícono Finder en tu dock. Haga clic en Ir. Haga clic en Utilidades. Haga doble clic en Terminal. Cambie al directorio de descargas.
Necesitará un adaptador TTL USB para conectarse al ESP8266. Si utiliza un Wemos D1 Mini, solo necesita un cable microUSB, el Wemos tiene un adaptador TTL incorporado.
descargas de cd
Nota: Si usa otra biblioteca para almacenar los tres archivos.bin, navegue a esa biblioteca usando el comando `cd`:
Utilice esptool.py para actualizar su dispositivo. Primero necesitamos borrar el flash:
esptool.py -p / dev / erase_flash
Normalmente, su ESPPort será algo así como / dev / cu.usbserial-`xxxxxx`. Luego, vuelva a configurar su dispositivo en modo flash y actualice el nuevo 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
Paso 2: configuración de Wi-Fi y HomeKit
Configuración de Wi-Fi
Debe configurar la red wifi antes de agregar el accesorio a HomeKit. Para configurar los ajustes de Wi-Fi, el dispositivo genera su propio Wi-Fi en modo AP. Debe conectarse a él para configurar su red Wi-Fi. Simplemente tome su dispositivo iOS, vaya a Configuración -> Wi-Fi, y busque un SSID llamado HomeKid, seguido de la dirección MAC del módulo y conéctese a él. ¡Por razones de seguridad, el AP está protegido con contraseña! Contraseña AP predeterminada: 12345678
Espere unos segundos hasta que aparezca una web que le muestre todas las redes Wi-Fi que ha encontrado el dispositivo. ¡Selecciona el tuyo e ingresa la contraseña! ¡Después de eso, puede agregar el número exacto de LED en su tira de LED! ¡Ingrese un número del 1 al 500! ¡Luego haga clic en el botón Unirse! El módulo intentará conectar la red Wi-Fi seleccionada, esto tomará un par de segundos.
Nota: Si la contraseña proporcionada es incorrecta, puede restablecer la configuración de Wi-Fi manteniendo presionado el botón Restablecer durante 10 segundos
Configuración de HomeKit
En su dispositivo iOS, abra la aplicación Home y siga los pasos normales para agregar un nuevo accesorio. La configuración del emparejamiento tarda unos 30 segundos.
El código predeterminado de HomeKit es 021-82-017
También puede escanear este código QR de HomeKit:
Nota: Si el emparejamiento falla, puede apagar su dispositivo, volver a encenderlo e iniciar la configuración de HomeKit nuevamente (la configuración de Wifi se mantiene configurada). Después de un emparejamiento exitoso, la tira de LED parpadeará en blanco 3 veces.
Problemas comunes:
- A veces, la adición de varios accesorios mediante el código QR falla, si HomeKit informa "Accesorio ya agregado", simplemente agregue el código de emparejamiento manualmente en lugar de escanear el código QR.
- En caso de que algo saliera mal, puede ver los archivos de registro usando el monitor serial de Arduino y no dude en abrir un problema en GitHub.
Paso 3: configuración personalizada
Lamentablemente, la aplicación Home no admite características personalizadas / de terceros, por lo que necesitará la aplicación Elgato EVE para cambiar esta configuración y usar los efectos WS2812B. Además, ¿el accesorio actúa como un accesorio Fake Eve Light Strip cuando lo agrega a través de la aplicación Eve?
Transiciones y comportamiento de poder
La tira Eve Light original apoya estas dos características. ¡Con Transitions puede cambiar la velocidad de la tira de LED cuando usa WS2812FX Effects! Configurarlo en Rápido deshabilitará el desvanecimiento de entrada / salida y se encenderá rápidamente.
¡Con Power Behavior puede cambiar el color predeterminado cuando se enciende la tira de LED! De forma predeterminada, está configurado en Último color utilizado, por lo que cuando apague la tira de LED, siempre recordará el último color que utilizó. Cuando se establece en Blanco predeterminado, cada vez que apaga la tira de LED, el color volverá a ser blanco.
Reiniciar
El código tiene una función de reinicio en caso de que algo salga mal. Espere unos 5 segundos para permitir que el dispositivo se inicie por completo, y luego mantenga presionado el botón durante al menos 10 segundos.
Se han eliminado todos los ajustes configurados y el dispositivo se está reiniciando. Esto elimina la configuración de HomeKit y Wi-Fi, y su dispositivo pasará al modo de punto de acceso la próxima vez para reconfigurar Wi-Fi.
Nota: Una sola pulsación del mismo botón activará o desactivará la tira de LED
Recomendado:
Deshumidificador Apple HomeKit Wi-Fi basado en ESP8266?: 6 pasos (con imágenes)
Deshumidificador Apple HomeKit Wi-Fi ¿Basado en ESP8266?: Desafortunadamente, solo hay uno o dos deshumidificadores que son compatibles con Apple HomeKit, pero estos tienen precios realmente altos (300 $ +). ¿Así que he decidido hacer mi propio deshumidificador Apple HomeKit con capacidad Wi-Fi basado en uno barato que ya tengo? I
Tutorial para la interfaz RGB Led WS2812B con Arduino UNO: 7 pasos (con imágenes)
Tutorial para la interfaz RGB Led WS2812B con Arduino UNO: este tutorial le enseñará algunos conceptos básicos sobre el uso de Sparkfun RGB Led WS2812B con Arduino UNO
PhotonLamp: una lámpara de diseño equipada con WS2812b con control MQTT: 5 pasos (con imágenes)
PhotonLamp: una lámpara de diseño equipada con WS2812b con control MQTT: Hace varios años compramos una lámpara de diseño que tenía una pantalla en forma de cigarro y estaba hecha de cristal de leche. Nos gustó el diseño particular de la pantalla y el aspecto general de la lámpara. Pero no estoy realmente satisfecho con la luz
Sombrero Fedora con WiFi LED (ESP8266 + WS2812b): 5 pasos (con imágenes)
Sombrero Fedora con WiFi LED (ESP8266 + WS2812b): Este es un sombrero LED de buen aspecto, puede cambiar el color y los efectos de los leds con su teléfono inteligente o una computadora, también probé hacerlo lo más simple y barato posible. ¡También tiene una batería recargable para que puedas llevarla contigo! Thi
Iluminación ambiental de PC DIY con LED Arduino y WS2812b: 6 pasos (con imágenes)
Iluminación ambiental de PC de bricolaje con LED Arduino y WS2812b: quería un poco más de profundidad para mi experiencia de visualización de juegos / películas, así que así es como instalé mi iluminación ambiental.Antes de comenzar, este proyecto requiere que sepa cómo usar un soldador y algunos otros elementos básicos instrumentos. Si no se siente cómodo soldando