Sommario:

Controller LED Apple HomeKit WS2812B: 3 passaggi (con immagini)
Controller LED Apple HomeKit WS2812B: 3 passaggi (con immagini)

Video: Controller LED Apple HomeKit WS2812B: 3 passaggi (con immagini)

Video: Controller LED Apple HomeKit WS2812B: 3 passaggi (con immagini)
Video: Zigbee LED Controller - универсальность за небольшую цену, Tuya, HomeKit, Home Assistant, биндинг 2024, Novembre
Anonim
Image
Image
Controller LED Apple HomeKit WS2812B
Controller LED Apple HomeKit WS2812B
Controller LED Apple HomeKit WS2812B
Controller LED Apple HomeKit WS2812B
Controller LED Apple HomeKit WS2812B
Controller LED Apple HomeKit WS2812B

Esistono molti progetti basati sulle strisce LED WS2812B, ma la maggior parte di questi utilizza homebridge o qualsiasi altra soluzione, principalmente basata su MQTT, per comunicare con HomeKit.

Alcuni progetti utilizzano anche effetti tramite Apple HomeKit, ma nessuno di questi supporta HomeKit autonomo senza bisogno di alcun bridge Sto usando i LED WS2812B da quasi 3-4 anni con HomeKit e funzionano molto bene

Poiché il codice è molto complesso e ho utilizzato molte librerie personalizzate, ho creato file firmware precompilati. Per coloro che sono interessati a realizzare progetti HomeKit nativi, il codice sorgente per esp-homekit è disponibile qui.

Informazioni di base:

  • Attualmente sono supportate solo le strisce LED WS2812B, WS2812B ECO e WS2813!
  • Il numero massimo di LED è limitato a 500 per il risparmio di RAM
  • Richiesto convertitore di livello logico (per la conversione dei dati da 3,3 V a 5 V)
  • È necessario anche un alimentatore da 5 V di buona qualità
  • Maggiori informazioni possono essere trovate sul mio GitHub
  • Anche Adafruit Überguide può aiutare:-)

Progettazione PCB:

Ho progettato un semplice PCB per pilotare i LED NeoPixel nel modo corretto descritto nella NeoPixel Überguide di Adafruit utilizzando l'ultimo SN74HCT125N Logic Level Converter IC e anche il condensatore 1000uF consigliato:-) Attualmente sto utilizzando questo PCB con un alimentatore 5V 10A senza problemi (di temperatura):-)

Inoltre ho anche una versione USB Type-C per strisce LED più corte!

Puoi ordinare i PCB da qui e qui

Puoi trovare maggiori informazioni sui PCB qui

Caratteristiche:

  • Cambia colore
  • Cambia luminosità
  • Cambia la temperatura del colore (nessuna striscia RGBW richiesta)
  • Effetti di luce WS2812FX (beta!!!)
  • Impostazione conteggio LED WS2812B (al primo avvio da 1 a 500)
  • Caratteristica comportamento alimentazione (colore predefinito/Ultimo utilizzo all'avvio tramite l'app Eve)
  • Transizione (rapida/predefinita/moderata/calma tramite app Eve)
  • Blocco bambini (pulsante di attivazione/disattivazione tramite l'app Eve)
  • Manuale utente scaricabile (tramite app Eve)
  • Pulsante di accensione/ripristino

Forniture

Per creare il PCB personalizzato avrai bisogno di un saldatore economico o di una stazione di saldatura come questa o questa. Anche una pistola per saldatura ad aria calda sarebbe utile! Per caricare il codice probabilmente devi acquistare anche un adattatore USB TTL.

Parti necessarie:

  • NodeMCU o Wemos D1 Mini
  • Convertitore di livello logico IC
  • Striscia LED WS2812B
  • Connettore femmina JST a 3 pin
  • Alimentazione 5V 2-10A v1 o Alimentazione 5V 2-10A v2
  • Cavi jumper

Parti del PWB:

  • ESP12F/MI
  • ESP-01S (1 MB flash)
  • Resistori SMD 0805
  • Condensatori SMD 0805
  • AMS1117-3.3
  • Pulsante tattile
  • Testata da 2,54 mm
  • SN74HCT125N
  • Condensatore SMD 10,5x10,5 1000uF
  • Connettore CC
  • Terminale a vite a 3 pin
  • Portafusibili
  • Fusibile

Passaggio 1: installazione del firmware

Installazione del firmware
Installazione del firmware
Installazione del firmware
Installazione del firmware
Installazione del firmware
Installazione del firmware

Puoi scaricare il firmware dalla mia pagina GitHub

finestre

Per Windows puoi utilizzare lo strumento di download del firmware ufficiale di Espressif

L'impostazione degli indirizzi flash (0x2000), delle dimensioni del flash (1 MB/8mbit, 4 MB/32 MBit) e della modalità flash (DIO/QIO) è un passaggio molto importante, ma queste impostazioni potrebbero cambiare in base al modulo che stai utilizzando! Inoltre ho consigliato di cancellare il flash prima di caricare i file.bin!

Impostazioni:

  • Velocità di trasmissione 115200
  • Dimensione flash 4MB o 32mbit (a seconda del modulo)
  • Modalità Flash QIO (o DIO, a seconda del modulo)
  • 0x0000 rboot.bin
  • 0x1000 blank_config.bin
  • 0x2000 ledstrip.bin
  • 40MHz

Mac OS

Per MacOS puoi usare questo strumento flasher

Impostazioni:

  • Cancella flash - sì
  • Velocità di trasmissione 115200
  • Dimensione flash 4MB o 32mbit (a seconda del modulo)
  • Modalità Flash QIO (o DIO, a seconda del modulo)
  • File: ledstrip.bin
  • 40MHz

Flash manuale

Dobbiamo installare esptool.py sul nostro Mac per poter eseguire il flashing del nostro modulo ESP. Per lavorare con esptool.py, avrai bisogno di Python 2.7, Python 3.4 o una nuova installazione di Python sul tuo sistema. Ti consigliamo di utilizzare l'ultima versione di Python, quindi vai sul sito Web di Python e installalo sul tuo computer.

Con Python installato, apri una finestra Terminale e installa l'ultima versione stabile di esptool.py con pip:

pip install esptool

Nota: con alcune installazioni Python quel comando potrebbe non funzionare e riceverai un errore. In tal caso, prova a installare esptool.py con:

pip3 install esptool python -m pip install esptool pip2 install esptool

Dopo l'installazione, esptool.py sarà installato nella directory degli eseguibili Python predefinita e dovresti essere in grado di eseguirlo con il comando esptool.py. Nella finestra di Terminale, esegui il seguente comando:

esptool.py

Con esptool.py installato sul tuo computer, puoi facilmente eseguire il flashing della tua scheda ESP8266 con il firmware.

All'inizio devi scaricare tre file bin: rboot.bin e blank_config.bin e l'ultima versione. rboot.bin contiene il bootloader per ESP8266 e blank_config.bin in un file di configurazione vuoto e ledstrip.bin contiene il firmware. Ora collega il tuo dispositivo all'adattatore FTDI in modalità flash.

Link specchio:

rboot.binblank_config.binledstrip.bin

Mettere il dispositivo in modalità Flash

Per abilitare il firmware ESP8266, il pin GPIO0 lampeggiante deve essere abbassato durante l'alimentazione del dispositivo. Con il mio PCB personalizzato c'è un pulsante, nodeMCU ha anche un pulsante flash e Wemos lo fa automaticamente tramite USB. Al contrario, per un normale avvio, GPIO0 deve essere tirato in alto o flottante. Avvia in MODALITÀ FLASH

Vai alla directory che hai creato in cui hai inserito i file rboot.bin blank_config.bin scaricati in precedenza (ad esempio Download)

Apri l'app Terminale. Fai clic sull'icona del Finder nel dock. Fare clic su Vai. Fare clic su Utilità. Fare doppio clic su Terminale. Passa alla directory dei download.

Avrai bisogno di un adattatore USB TTL per il collegamento a ESP8266. Se si utilizza un Wemos D1 Mini è necessario solo un cavo microUSB, il Wemos ha un adattatore TTL integrato.

download di cd

Nota: se stai utilizzando un'altra libreria per memorizzare i tre file.bin, naviga in quella libreria usando il comando "cd":

Usa esptool.py per eseguire il flashing del tuo dispositivo. Per prima cosa dobbiamo cancellare il flash:

esptool.py -p /dev/ erase_flash

Normalmente, la tua ESPPort sarà qualcosa come /dev/cu.usbserial-`xxxxxx`. Quindi, imposta nuovamente il dispositivo in modalità flash e aggiorna il nuovo 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

Passaggio 2: configurazione Wi-Fi e HomeKit

Configurazione Wi-Fi e HomeKit
Configurazione Wi-Fi e HomeKit
Configurazione Wi-Fi e HomeKit
Configurazione Wi-Fi e HomeKit

Configurazione Wi-Fi

È necessario configurare la rete wifi prima di aggiungere l'accessorio a HomeKit. Per configurare le impostazioni Wi-Fi, il dispositivo genera il proprio Wi-Fi in modalità AP. Devi connetterti ad esso per configurare la tua rete Wi-Fi. Prendi semplicemente il tuo dispositivo iOS, vai su Impostazioni -> Wi-Fi e cerca un SSID chiamato HomeKid- seguito dall'indirizzo MAC del modulo e connettiti ad esso. Per motivi di sicurezza l'AP è protetto da password!Password AP predefinita: 12345678

Attendi qualche secondo finché non viene visualizzato un Web che mostra tutte le reti Wi-Fi che il dispositivo ha trovato. Seleziona la tua e inserisci la password! Dopodiché puoi aggiungere il numero esatto di LED nella tua striscia LED! Inserisci un numero da 1 a 500! Quindi fare clic sul pulsante Partecipa! Il modulo proverà a connettersi alla rete Wi-Fi selezionata, ci vorranno un paio di secondi.

Nota: se la password fornita è errata, puoi ripristinare le impostazioni Wi-fi tenendo premuto il pulsante Ripristina per 10 secondi

Configurazione HomeKit

Sul tuo dispositivo iOS, apri l'app Home e segui i normali passaggi per aggiungere un nuovo accessorio. La configurazione dell'associazione richiede circa 30 secondi.

Il codice HomeKit predefinito è 021-82-017

Inoltre puoi scansionare questo codice QR HomeKit:

Nota: se l'associazione non riesce, puoi scollegare il dispositivo, riaccenderlo e riavviare la configurazione di HomeKit (le impostazioni Wi-Fi restano configurate). Dopo aver accoppiato con successo, la striscia LED lampeggerà 3 volte in bianco!

Problemi comuni:

  • A volte l'aggiunta di più accessori tramite il codice QR non riesce, se HomeKit segnala "Accessorio già aggiunto" è sufficiente aggiungere manualmente il codice di accoppiamento invece di scansionare il codice QR!
  • Nel caso in cui qualcosa sia andato storto, puoi vedere i file di registro usando il monitor seriale di Arduino e sei libero di aprire un problema su GitHub

Passaggio 3: impostazioni personalizzate

Impostazioni personalizzate
Impostazioni personalizzate
Impostazioni personalizzate
Impostazioni personalizzate

Purtroppo l'app Home non supporta le caratteristiche personalizzate di terze parti, quindi avrai bisogno dell'app Elgato EVE per modificare queste impostazioni e utilizzare gli effetti WS2812B. Inoltre, l'accessorio si comporta come un accessorio Fake Eve Light Strip quando lo aggiungi tramite l'app Eve?

Transizioni e comportamento di potere

La striscia originale Eve Light supporta queste due caratteristiche. Con Transitions puoi cambiare la velocità della striscia LED quando usi gli effetti WS2812FX! Impostandolo su Quick disabiliterà la dissolvenza in entrata/uscita e si accenderà rapidamente!

Con Power Behavior puoi cambiare il colore predefinito quando la striscia LED si accende! Di default è impostato su Last Used Color, quindi quando spegni la striscia LED si ricorderà sempre l'ultimo colore che hai usato! Quando è impostato su Bianco predefinito, ogni volta che si spegne la striscia LED, il colore tornerà al bianco!

Ripristina

Il codice ha una funzione di reset nel caso qualcosa vada storto. Attendi circa 5 secondi per consentire l'avvio completo del dispositivo, quindi premi a lungo il pulsante per almeno 10 secondi!

Tutte le impostazioni configurate sono state rimosse e il dispositivo si sta riavviando. Questo rimuove le impostazioni di HomeKit e Wi-Fi e il tuo dispositivo andrà in modalità Access Point la prossima volta per riconfigurare il Wi-Fi.

Nota: premendo una volta lo stesso pulsante si accende o si spegne la striscia LED

Consigliato: