Índice:
- Suprimentos
- Etapa 1: Instalando o Firmware
- Etapa 2: configuração de Wi-fi e HomeKit
- Etapa 3: configurações personalizadas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:35
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
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
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
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:
Desumidificador Apple HomeKit Wi-Fi baseado em ESP8266?: 6 etapas (com imagens)
Desumidificador Wi-Fi Apple HomeKit baseado em ESP8266?: Infelizmente, existem apenas um ou dois Desumidificadores que suportam o Apple HomeKit, mas estes têm preços realmente altos (300 $ +). Então, decidi fazer meu próprio desumidificador Apple HomeKit com capacidade para Wi-Fi baseado em um barato que já possuo? EU
Construir um dispositivo de sensor de temperatura Apple HomeKit usando um ESP8266 e um BME280: 10 etapas
Construir um dispositivo de sensor de temperatura Apple HomeKit usando um ESP8266 e um BME280: No instrutível de hoje, faremos um sensor de temperatura, umidade e umidade de baixo custo com base no sensor de temperatura / umidade AOSONG AM2302 / DHT22 ou BME280, sensor de umidade YL-69 e a plataforma ESP8266 / Nodemcu. E para exibir
Controlador de jogo DIY baseado em Arduino - Controlador de jogo Arduino PS2 - Jogando Tekken com gamepad Arduino DIY: 7 etapas
Controlador de jogo DIY baseado em Arduino | Controlador de jogo Arduino PS2 | Jogando Tekken com DIY Arduino Gamepad: Olá pessoal, jogar é sempre divertido, mas jogar com seu próprio controlador de jogo DIY personalizado é mais divertido. Portanto, faremos um controlador de jogo usando arduino pro micro neste instructables
Integração do Arduino com o Apple HomeKit - controle sua casa a partir do Siri! A IoT está aqui: 6 etapas
Integração do Arduino e do Apple HomeKit - controle sua casa a partir do Siri! IoT Is Here: Este Instructable lhe dará uma maneira rápida e fácil de adicionar uma placa arduino ao HomeKit da Apple em um dispositivo iOS. Ele abre todos os tipos de possibilidades, incluindo Scripts em execução no servidor, combinados com o HomeKit " Cenas ", da Apple
Construir um dispositivo com sensor de temperatura Apple HomeKit (DHT22) usando um RaspberryPI e um DHT22: 11 etapas
Construir um dispositivo Apple HomeKit com sensor de temperatura (DHT22) usando um RaspberryPI e um DHT22: Eu estava procurando um sensor de temperatura / umidade de baixo custo que eu pudesse usar para monitorar o que está acontecendo no meu forro, pois descobri que esta primavera estava muito úmida , e tinha muita umidade. Então, eu estava procurando um sensor com preço razoável que pudesse p