Tabla de contenido:

Controlador LED Apple HomeKit WS2812B: 3 pasos (con imágenes)
Controlador LED Apple HomeKit WS2812B: 3 pasos (con imágenes)

Video: Controlador LED Apple HomeKit WS2812B: 3 pasos (con imágenes)

Video: Controlador LED Apple HomeKit WS2812B: 3 pasos (con imágenes)
Video: Tira LED Meross compatible con HomeKit 2024, Noviembre
Anonim
Image
Image
Controlador LED Apple HomeKit WS2812B
Controlador LED Apple HomeKit WS2812B
Controlador LED Apple HomeKit WS2812B
Controlador LED Apple HomeKit WS2812B
Controlador LED Apple HomeKit WS2812B
Controlador LED Apple HomeKit WS2812B

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

Instalación del firmware
Instalación del firmware
Instalación del firmware
Instalación del firmware
Instalación del firmware
Instalación del 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 y HomeKit
Configuración de Wi-Fi y HomeKit
Configuración de Wi-Fi y HomeKit
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

Ajustes personalizados
Ajustes personalizados
Ajustes personalizados
Ajustes personalizados

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: