Innholdsfortegnelse:
- Rekvisita
- Trinn 1: Installere fastvaren
- Trinn 2: Wi-fi og HomeKit-oppsett
- Trinn 3: Tilpassede innstillinger
Video: Apple HomeKit WS2812B LED -kontroller: 3 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:21
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
Anbefalt:
Apple HomeKit Wi-Fi Avfukter Basert på ESP8266?: 6 trinn (med bilder)
Apple HomeKit Wi-Fi Avfukter Basert på ESP8266?: Dessverre er det bare en eller to avfuktere der ute som støtter Apple HomeKit, men disse har virkelig høye priser (300 $+). Så jeg har bestemt meg for å lage min egen Wi-Fi-kompatible Apple HomeKit Avfukter basert på en billig jeg allerede har? JEG
Bygg en Apple HomeKit -temperatursensorenhet ved hjelp av en ESP8266 og en BME280: 10 trinn
Bygg en Apple HomeKit-temperatursensorenhet ved hjelp av en ESP8266 og en BME280: I dagens instruksjon vil vi lage lavkostnadstemperatur-, fuktighets- og fuktighetssensor basert på enten AOSONG AM2302/DHT22 eller BME280 temperatur-/fuktighetssensor, YL-69 fuktighetssensor og ESP8266/Nodemcu -plattformen. Og for å vise
Opplæring i grensesnitt RGB LED WS2812B med Arduino UNO: 7 trinn (med bilder)
Opplæring i grensesnitt RGB Led WS2812B med Arduino UNO: Denne opplæringen skal lære deg noen grunnleggende om bruk av Sparkfun RGB Led WS2812B med Arduino UNO
PhotonLamp - en WS2812b utstyrt designerlampe med MQTT -kontroll: 5 trinn (med bilder)
PhotonLamp - en WS2812b utstyrt designerlampe med MQTT -kontroll: For flere år siden kjøpte vi en designerlampe som hadde en lampeskjerm i form av en sigar og var laget av melkeglass. Vi likte den spesielle utformingen av skjermen og lampens generelle utseende. Men jeg har egentlig ikke vært fornøyd med lyset
WiFi Led Fedora Hat (ESP8266 + WS2812b): 5 trinn (med bilder)
WiFi Led Fedora Hat (ESP8266 + WS2812b): Dette er en kul, flott ledet hatt. Du kan endre farge og effekter på lysdiodene med smarttelefonen eller en datamaskin, jeg prøvde også å gjøre det så enkelt og billig som mulig. Den har også et oppladbart batteri, slik at du kan ta dette med deg! Dette