Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Det er mange prosjekter basert på WS2812B LED -strips der ute, men de fleste av disse bruker homebridge eller annen løsning - for det meste basert på MQTT - for å kommunisere med HomeKit.
Noen prosjekter bruker også effekter via Apple HomeKit, men ingen av dem støtter frittstående HomeKit uten at jeg trenger noen bro. Jeg bruker WS2812B LED-er nesten 3-4 år nå med HomeKit, og de fungerer veldig bra
Siden koden er veldig kompleks og jeg har brukt mange tilpassede biblioteker, har jeg laget forhåndskompilerte fastvarefiler. For de som er interessert i å lage native HomeKit-prosjekter, er kildekoden for esp-homekit tilgjengelig her.
Grunnleggende informasjon:
- Foreløpig støttes bare WS2812B, WS2812B ECO og WS2813 LED -strips!
- Maksimalt antall lysdioder er begrenset til 500 for å spare RAM
- Logisk nivåomformer nødvendig (for 3.3V til 5V datakonvertering)
- 5V strømforsyning av god kvalitet er også nødvendig
- Mer informasjon finner du på min GitHub
- Adafruit Überguide kan også hjelpe:-)
PCB Design:
Jeg har designet en enkel PCB for å drive NeoPixel LED-lampene på riktig måte beskrevet i Adafruit's NeoPixel Überguide ved hjelp av den nyeste SN74HCT125N Logic Level Converter IC og den anbefalte 1000uF kondensatoren:-) Jeg bruker for øyeblikket denne PCB med en 5V 10A strømforsyning uten problemer (temperatur):-)
Jeg har også en USB Type-C-versjon også for kortere LED-strips!
Du kan bestille kretskortene her og her
Du finner mer informasjon om kretskortene her
Funksjoner:
- Endre farge
- Endre lysstyrke
- Endre fargetemperatur (ingen RGBW -stripe nødvendig)
- WS2812FX lyseffekter (beta !!!)
- Konfigurere WS2812B LED -telling (ved første oppstart fra 1 til 500)
- Strømadferdskarakteristikk (standardfarge / sist brukt ved oppstart via Eve -appen)
- Overgang (rask / standard / moderat / rolig via Eve -appen)
- Barnesikring (trykk på Aktiver/Deaktiver knapp via Eve -appen)
- Nedlastbar brukerhåndbok (via Eve -appen)
- Av / på -knapp
Rekvisita
For å lage det egendefinerte kretskortet trenger du et billig loddejern eller en loddestasjon som denne eller denne. Også en varmlufts loddepistol ville være nyttig også! For å laste opp koden må du sannsynligvis også kjøpe en USB TTL -adapter.
Nødvendige deler:
- NodeMCU eller Wemos D1 Mini
- Logisk nivåomformer IC
- WS2812B LED -stripe
- JST 3 -pinners hunnkontakt
- 5V 2-10A strømforsyning v1 eller 5V 2-10A strømforsyning v2
- Hoppekabler
PCB -deler:
- ESP12F/E
- ESP-01S (1 MB blits)
- SMD 0805 motstander
- SMD 0805 kondensatorer
- AMS1117-3.3
- Taktil knapp
- 2,54 mm topp
- SN74HCT125N
- SMD 10,5x10,5 1000uF kondensator
- DC -kontakt
- 3 -pins skrueterminal
- Sikringsholderen
- Lunte
Trinn 1: Installere fastvaren
Du kan laste ned fastvaren fra GitHub -siden min
Windows
For Windows kan du bruke det offisielle nedlastingsverktøyet for fastvare av Espressif
Innstilling av blitsadresser (0x2000), blitsstørrelse (1MB/8mbit, 4MB/32mbit) og blitsmodus (DIO/QIO) er et veldig viktig trinn, men disse innstillingene kan endres basert på modulen du bruker! Jeg har også anbefalt å slette blitsen før du laster opp.bin -filene!
Innstillinger:
- Overføringshastighet 115200
- Flash -størrelse 4MB eller 32mbit (avhengig av modulen)
- Blitsmodus QIO (eller DIO, avhengig av modulen)
- 0x0000 rboot.bin
- 0x1000 blank_config.bin
- 0x2000 ledstrip.bin
- 40 MHz
Mac os
For MacOS kan du bruke dette blinkerverktøyet
Innstillinger:
- Slett blits - ja
- Overføringshastighet 115200
- Flash -størrelse 4MB eller 32mbit (avhengig av modulen)
- Blitsmodus QIO (eller DIO, avhengig av modulen)
- Fil: ledstrip.bin
- 40 MHz
Flash manuelt
Vi må installere esptool.py på vår Mac for å kunne blinke ESP -modulen. For å jobbe med esptool.py trenger du enten Python 2.7, Python 3.4 eller en nyere Python -installasjon på systemet ditt. Vi anbefaler å bruke den nyeste Python -versjonen, så gå til Pythons nettsted og installer den på datamaskinen din.
Med Python installert, åpner du et Terminal -vindu og installerer den siste stabile esptool.py -utgivelsen med pip:
pip installer esptool
Merk: Med noen Python -installasjoner kan det hende at kommandoen ikke fungerer, og du får en feilmelding. Hvis det er tilfelle, kan du prøve å installere esptool.py med:
pip3 install esptool python -m pip install esptool pip2 install esptool
Etter installasjonen vil du ha esptool.py installert i standard Python -kjørbare filer, og du bør kunne kjøre den med kommandoen esptool.py. Kjør følgende kommando i Terminal -vinduet:
esptool.py
Med esptool.py installert på datamaskinen din, kan du enkelt blinke ESP8266 -kortet med fastvaren.
Først må du laste ned tre bin -filer: rboot.bin og blank_config.bin og den siste versjonen. Rboot.bin inneholder bootloader for ESP8266 og blank_config.bin i bare en tom konfigurasjonsfil og ledstrip.bin inneholder fastvaren. Koble nå enheten til FTDI-adapteren din i blitsmodus.
Speilkoblinger:
rboot.binblank_config.binledstrip.bin
Sette enheten i blitsmodus
For å aktivere fastvaren ESP8266 må den blinkende GPIO0 -pinnen trekkes lavt mens enheten slås på. Med min tilpassede PCB er det en knapp, nodeMCU har også en flash -knapp, og Wemos gjør det automatisk ved hjelp av USB. Motsatt, for en normal støvel, må GPIO0 trekkes høyt eller flytende. Start med FLASH MODE
Gå til katalogen du laget der du la de tidligere nedlastede rboot.bin blank_config.bin -filene (f.eks. Nedlastinger)
Åpne Terminal -appen. Klikk på Finder -ikonet i dokken. Klikk på Gå. Klikk på Verktøy. Dobbeltklikk Terminal. Bytt til nedlastningskatalogen.
Du trenger en USB TTL -adapter for å koble til ESP8266. Hvis du bare bruker en Wemos D1 Mini, er en microUSB-kabel, har Wemos innebygd TTL-adapter.
nedlasting av cd
Merk: Hvis du bruker et annet bibliotek for å lagre de tre.bin -filene, navigerer du til biblioteket med kommandoen 'cd':
Bruk esptool.py til å blinke enheten din. Først må vi slette blitsen:
esptool.py -p / dev / erase_flash
Vanligvis vil ESPPort være omtrent som /dev /cu.usbserial-`xxxxxx`. Sett deretter enheten i blitsmodus igjen, og blink den nye fastvaren:
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
Trinn 2: Wi-fi og HomeKit-oppsett
Wi-Fi-oppsett
Du må konfigurere wifi -nettverk før du legger tilbehøret i HomeKit. For å konfigurere Wi-Fi-innstillinger, genererer enheten sin egen Wi-Fi i AP-modus. Du må koble til den for å konfigurere Wi-Fi-nettverket. Bare ta iOS-enheten din, gå til Innstilling-> Wi-Fi, og søk etter en SSID som heter HomeKid- etterfulgt av modulens MAC-adresse og koble til den. Av sikkerhetsmessige årsaker er AP -et passordbeskyttet! Standard AP -passord: 12345678
Vent noen sekunder til det vises et web som viser deg alle Wi-Fi-nettverk som enheten har funnet. Velg din, og skriv inn passord! Etter det kan du legge til det eksakte antallet lysdioder i din LED -stripe! Skriv inn et tall fra 1 til 500! Klikk deretter på knappen Bli med! Modulen vil prøve å koble til det valgte Wi-Fi-nettverket, dette vil ta et par sekunder.
Merk: Hvis det oppgitte passordet er feil, kan du tilbakestille Wi-Fi-innstillingene ved å holde Reset-knappen inne i 10 sekunder
Oppsett av HomeKit
Åpne Home App på din iOS -enhet og følg vanlige trinn for å legge til et nytt tilbehør. Oppsett for sammenkobling tar omtrent 30 sekunder.
Standard HomeKit-kode er 021-82-017
Du kan også skanne denne HomeKit QR -koden:
Merk: Hvis paringen mislykkes, kan du slå av enheten, koble den til igjen og starte HomeKit -oppsettet igjen (Wifi -innstillingene holdes konfigurert). Etter vellykket sammenkobling vil LED -stripen blinke hvitt 3 ganger!
Vanlige problemer:
- Noen ganger mislykkes det å legge til flere tilbehør ved hjelp av QR -kode, hvis HomeKit rapporterer "Tilbehør allerede lagt til" bare legg til sammenkoblingskoden manuelt i stedet for å skanne QR -koden!
- Hvis noe gikk galt, kan du se loggfilene ved hjelp av Arduinos serielle skjerm og ble fri til å åpne et problem på GitHub
Trinn 3: Tilpassede innstillinger
Dessverre støtter Home -appen ikke egendefinerte/tredjepartsegenskaper, så du trenger Elgato EVE -appen for å endre disse innstillingene og bruke WS2812B -effektene. Tilbehøret fungerer også som et Fake Eve Light Strip -tilbehør når du legger det til via Eve -appen?
Overganger og maktadferd
Den originale Eve Light -stripen støtter disse to egenskapene. Med Transitions kan du endre hastigheten på LED -stripen når du bruker WS2812FX -effekter! Hvis du setter den til Quick, deaktiveres fading inn/ut, og den slås raskt på!
Med Power Behavior kan du endre standardfarge når LED -stripen slås på! Som standard er den satt til Sist brukt farge, så når du slår av LED -stripen, vil den alltid huske den siste fargen du brukte! Når den er satt til Standard hvit, hver gang du slår av LED -stripen, går fargen tilbake til hvit!
Nullstille
Koden har en tilbakestillingsfunksjon i tilfelle noe går galt. Vent i omtrent 5 sekunder for å la enheten starte opp helt, og trykk deretter lenge på knappen i minst 10 sekunder!
Alle konfigurerte innstillinger er fjernet og enheten starter på nytt. Dette fjerner HomeKit og Wi-Fi-innstillinger, og enheten din går til tilgangspunktmodus neste gang for å konfigurere Wi-Fi på nytt.
Merk: Et enkelt trykk på den samme knappen vil slå LED -stripen PÅ eller AV