Índice:

Controlador LED Apple HomeKit WS2812B: 3 etapas (com imagens)
Controlador LED Apple HomeKit WS2812B: 3 etapas (com imagens)
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

Existem muitos projetos baseados em faixas de LED WS2812B, mas a maioria deles está usando homebridge ou qualquer outra solução - principalmente baseada em MQTT - para se comunicar com o HomeKit.

Alguns projetos também usam efeitos via Apple HomeKit, mas nenhum deles oferece suporte a HomeKit autônomo sem precisar de nenhuma ponte. Estou usando LEDs WS2812B há quase 3-4 anos com HomeKit e eles estão funcionando muito bem

Como o código é muito complexo e usei muitas bibliotecas personalizadas, criei arquivos de firmware pré-compilados. Para aqueles interessados em fazer projetos HomeKit nativos, o código-fonte do esp-homekit está disponível aqui.

Informações básicas:

  • Atualmente, apenas as fitas de LED WS2812B, WS2812B ECO e WS2813 são suportadas!
  • O número máximo de LEDs é limitado a 500 para economizar RAM
  • Conversor de nível lógico necessário (para conversão de dados de 3,3 V para 5 V)
  • Uma fonte de alimentação de 5 V de boa qualidade também é necessária
  • Mais informações podem ser encontradas no meu GitHub
  • Adafruit Überguide também pode ajudar:-)

Design PCB:

Eu projetei um PCB simples para acionar os LEDs NeoPixel da maneira adequada descrita no NeoPixel Überguide da Adafruit usando o IC conversor de nível lógico SN74HCT125N mais recente e o capacitor 1000uF também recomendado:-) Estou usando este PCB com uma fonte de alimentação 5V 10A sem quaisquer problemas (temperatura):-)

Também tenho uma versão USB Type-C para tiras de LED mais curtas!

Você pode solicitar os PCBs aqui e aqui

Você pode encontrar mais informações sobre os PCBs aqui

Recursos:

  • Mudar cor
  • Mudar o brilho
  • Alterar a temperatura da cor (nenhuma faixa RGBW necessária)
  • Efeitos de luz WS2812FX (beta !!!)
  • Configurando a contagem de LED WS2812B (na primeira inicialização de 1 a 500)
  • Característica de comportamento de energia (cor padrão / último usado na inicialização via aplicativo Eve)
  • Transição (rápida / padrão / moderada / calma via aplicativo Eve)
  • Bloqueio para crianças (ativar / desativar botão pressionado por meio do aplicativo Eve)
  • Manual do usuário para download (via aplicativo Eve)
  • Botão liga / desliga / redefinir

Suprimentos

Para criar o PCB personalizado, você precisará de um ferro de solda barato ou uma estação de solda como esta ou esta. Além disso, uma pistola de solda de ar quente também seria útil! Para fazer o upload do código, você provavelmente terá que comprar um adaptador TTL USB também.

Peças necessárias:

  • NodeMCU ou Wemos D1 Mini
  • IC conversor de nível lógico
  • WS2812B tira LED
  • Conector fêmea JST de 3 pinos
  • Fonte de alimentação 5V 2-10A v1 ou 5V 2-10A fonte de alimentação v2
  • Cabos jumper

Peças de PCB:

  • ESP12F / E
  • ESP-01S (flash de 1 MB)
  • Resistores SMD 0805
  • Capacitores SMD 0805
  • AMS1117-3.3
  • Botão Tátil
  • Cabeçalho de 2,54 mm
  • SN74HCT125N
  • Capacitor SMD 10.5x10.5 1000uF
  • Conector DC
  • Terminal de parafuso de 3 pinos
  • Fusível
  • Fusível

Etapa 1: Instalando o Firmware

Instalando o Firmware
Instalando o Firmware
Instalando o Firmware
Instalando o Firmware
Instalando o Firmware
Instalando o Firmware

Você pode baixar o firmware da minha página GitHub

janelas

Para Windows, você pode usar a ferramenta oficial de download de firmware da Espressif

Definir os endereços flash (0x2000), tamanho do flash (1 MB / 8 MBit, 4 MB / 32 MBit) e modo flash (DIO / QIO) é uma etapa muito importante, mas essas configurações podem ser alteradas com base no módulo que você está usando! Também recomendo apagar o flash antes de enviar os arquivos.bin!

Definições:

  • Taxa Baud 115200
  • Tamanho do Flash 4 MB ou 32 MBit (dependendo do seu módulo)
  • Modo Flash QIO (ou DIO, dependendo do seu módulo)
  • 0x0000 rboot.bin
  • 0x1000 blank_config.bin
  • 0x2000 ledstrip.bin
  • 40 MHz

Mac OS

Para MacOS, você pode usar esta ferramenta pisca-pisca

Definições:

  • Apagar flash - sim
  • Taxa Baud 115200
  • Tamanho do Flash 4 MB ou 32 MBit (dependendo do seu módulo)
  • Modo Flash QIO (ou DIO, dependendo do seu módulo)
  • Arquivo: ledstrip.bin
  • 40 MHz

Flash manualmente

Temos que instalar o esptool.py em nosso Mac para poder atualizar nosso módulo ESP. Para trabalhar com esptool.py, você precisará do Python 2.7, Python 3.4 ou de uma instalação Python mais recente em seu sistema. Recomendamos usar a versão mais recente do Python, então vá para o site do Python e instale-o em seu computador.

Com o Python instalado, abra uma janela do Terminal e instale a versão mais recente do esptool.py estável com pip:

pip instalar esptool

Observação: com algumas instalações Python, esse comando pode não funcionar e você receberá um erro. Se for esse o caso, tente instalar esptool.py com:

pip3 instalar esptool python -m pip instalar esptool pip2 instalar esptool

Após a instalação, você terá esptool.py instalado no diretório de executáveis padrão do Python e deverá ser capaz de executá-lo com o comando esptool.py. Na janela do Terminal, execute o seguinte comando:

esptool.py

Com esptool.py instalado em seu computador, você pode facilmente atualizar sua placa ESP8266 com o firmware.

Primeiro, você precisa baixar três arquivos bin: rboot.bin e blank_config.bin e a versão mais recente. O rboot.bin contém o bootloader para o ESP8266 e o blank_config.bin em apenas um arquivo de configuração em branco e ledstrip.bin contém o firmware. Agora conecte seu dispositivo ao adaptador FTDI no modo flash.

Links do espelho:

rboot.binblank_config.binledstrip.bin

Colocando o dispositivo no modo Flash

Para ativar o firmware ESP8266, o pino GPIO0 deve ser puxado para baixo ao ligar o dispositivo. Com meu PCB personalizado, há um botão, nodeMCU também tem um botão flash e o Wemos faz isso automaticamente usando USB. Por outro lado, para uma inicialização normal, GPIO0 deve ser puxado para cima ou flutuando. Comece no MODO FLASH

Vá para o diretório que você criou, onde colocou os arquivos rboot.bin blank_config.bin baixados anteriormente (por exemplo, Downloads)

Abra o aplicativo Terminal. Clique no ícone do Finder em seu dock. Clique em Go. Clique em Utilitários. Clique duas vezes em Terminal. Mude para o diretório de downloads.

Você precisará de um adaptador TTL USB para conectar ao ESP8266. Se você estiver usando um Wemos D1 Mini, só precisará de um cabo microUSB, o Wemos tem um adaptador TTL embutido.

downloads de cd

Nota: Se você estiver usando outra biblioteca para armazenar os três arquivos.bin, navegue até essa biblioteca usando o comando `cd`:

Use esptool.py para atualizar seu dispositivo. Primeiro, precisamos apagar o flash:

esptool.py -p / dev / erase_flash

Normalmente, seu ESPPort será algo como / dev / cu.usbserial-`xxxxxx`. Em seguida, defina seu dispositivo no modo flash novamente e atualize o novo 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

Etapa 2: configuração de Wi-fi e HomeKit

Configuração de Wi-fi e HomeKit
Configuração de Wi-fi e HomeKit
Configuração de Wi-fi e HomeKit
Configuração de Wi-fi e HomeKit

Configuração de Wi-Fi

Você deve configurar a rede wi-fi antes de adicionar o acessório ao HomeKit. Para definir as configurações de Wi-Fi, o dispositivo gera seu próprio Wi-Fi no modo AP. Você deve se conectar a ele para configurar sua rede Wi-Fi. Simplesmente pegue seu dispositivo iOS, vá para Setting -> Wi-Fi, e procure por um SSID chamado HomeKid- seguido pelo endereço MAC do módulo e conecte-se a ele. Por razões de segurança, o AP é protegido por senha! Senha padrão do AP: 12345678

Aguarde alguns segundos até que uma web apareça mostrando todas as redes Wi-Fi que o dispositivo encontrou. Selecione a sua e digite a senha! Depois disso, você pode adicionar o número exato de LEDs em sua faixa de LED! Insira um número de 1 a 500! Em seguida, clique no botão Participar! O módulo tentará se conectar à rede Wi-Fi selecionada, isso levará alguns segundos.

Observação: se a senha fornecida estiver errada, você pode redefinir as configurações de Wi-Fi segurando o botão Redefinir por 10 segundos

Configuração do HomeKit

No seu dispositivo iOS, abra o aplicativo Home e siga as etapas normais para adicionar um novo acessório. A configuração do emparelhamento leva cerca de 30 segundos.

O código do HomeKit padrão é 021-82-017

Além disso, você pode escanear este código QR HomeKit:

Nota: Se o emparelhamento falhar, você pode desligar o dispositivo, ligá-lo novamente e iniciar a configuração do HomeKit novamente (as configurações de Wifi mantêm-se definidas). Após o emparelhamento bem-sucedido, a faixa de LED piscará em branco 3 vezes!

Problemas comuns:

  • Às vezes, a adição de vários acessórios usando o código QR falha, se o HomeKit relatar "Acessório já adicionado", basta adicionar o código de emparelhamento manualmente em vez de escanear o código QR!
  • Caso algo dê errado, você pode ver os arquivos de log usando o monitor serial do Arduino e se sentir livre para abrir um problema no GitHub

Etapa 3: configurações personalizadas

Opções customizadas
Opções customizadas
Opções customizadas
Opções customizadas

Infelizmente, o aplicativo Home não oferece suporte a características personalizadas / de terceiros, então você precisará do aplicativo Elgato EVE para alterar essas configurações e usar os efeitos WS2812B. Além disso, o acessório está agindo como um acessório Fake Eve Light Strip quando você o adiciona por meio do aplicativo Eve?

Transições e comportamento de poder

A tira Eve Light original oferece suporte a essas duas características. Com o Transitions, você pode alterar a velocidade da faixa de LED ao usar os efeitos WS2812FX! Configurá-lo como Rápido desabilitará o aparecimento / desaparecimento gradual e ligará rapidamente!

Com o Power Behavior, você pode alterar a cor padrão quando a faixa de LED liga! Por padrão, é definido como Última cor usada, então quando você desligar a faixa de LED, ela sempre se lembrará da última cor usada! Quando definido para Branco Padrão, cada vez que você desliga a faixa de LED, a cor volta para Branco!

Redefinir

O código tem uma função Reset caso algo dê errado. Aguarde cerca de 5 segundos para permitir que o dispositivo inicialize completamente e, em seguida, pressione o botão por pelo menos 10 segundos!

Todas as configurações definidas foram removidas e o dispositivo está reiniciando. Isso remove as configurações de HomeKit e Wi-Fi, e seu dispositivo irá para o modo Ponto de Acesso na próxima vez para reconfigurar o Wi-Fi.

Nota: Pressionar o mesmo botão irá alternar a faixa de LED LIGADA ou DESLIGADA

Recomendado: