Innehållsförteckning:
- Tillbehör
- Steg 1: Installera firmware
- Steg 2: Wi-fi och HomeKit-installation
- Steg 3: Anpassade inställningar
Video: Apple HomeKit WS2812B LED -kontroller: 3 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:38
Det finns många projekt baserade på WS2812B LED -remsor där ute, men de flesta av dessa använder homebridge eller någon annan lösning - mestadels baserad på MQTT - för att kommunicera med HomeKit.
Vissa projekt använder också effekter via Apple HomeKit, men ingen av dem stöder fristående HomeKit utan att behöva någon brygga Jag använder WS2812B LED-lampor nästan 3-4 år nu med HomeKit och de fungerar mycket bra
Eftersom koden är mycket komplex och jag har använt många anpassade bibliotek har jag gjort förkompilerade firmware-filer. För dem som är intresserade av att göra inhemska HomeKit-projekt finns källkoden för esp-homekit tillgänglig här.
Grundläggande information:
- För närvarande stöds endast WS2812B, WS2812B ECO och WS2813 LED -remsor!
- Maximalt antal lysdioder är begränsat till 500 för att spara RAM
- Logisk nivåomvandlare krävs (för 3,3V till 5V datakonvertering)
- 5V strömförsörjning av god kvalitet är också nödvändig
- Mer information finns på min GitHub
- Adafruit Überguide kan också hjälpa:-)
PCB -design:
Jag har designat ett enkelt kretskort för att driva NeoPixel-lysdioderna på rätt sätt som beskrivs i Adafruits NeoPixel Überguide med den senaste SN74HCT125N Logic Level Converter IC och den rekommenderade 1000uF-kondensatorn:-) Jag använder för närvarande detta kretskort med 5V 10A strömförsörjning utan några (temperatur) problem:-)
Jag har också en USB Type-C-version för kortare LED-remsor!
Du kan beställa kretskort härifrån och här
Du kan hitta mer information om kretskorten här
Funktioner:
- Ändra färg
- Ändra ljusstyrka
- Ändra färgtemperatur (ingen RGBW -remsa krävs)
- WS2812FX ljuseffekter (beta !!!)
- Ställa in WS2812B LED -antal (vid första start från 1 till 500)
- Effektbeteende (standardfärg / senast använd vid start via Eve -appen)
- Övergång (Snabb / Standard / Måttlig / Lugn via Eve -appen)
- Barnlås (Aktivera/inaktivera knapptryckning via Eve -appen)
- Nedladdningsbar användarmanual (via Eve -appen)
- Ström / återställningsknapp
Tillbehör
För att skapa det anpassade kretskortet behöver du en billig lödkolv eller en lödstation som den här eller den här. Även en varmluftslödpistol skulle vara till hjälp! För att ladda upp koden måste du antagligen också köpa en USB TTL -adapter.
Nödvändiga delar:
- NodeMCU eller Wemos D1 Mini
- Logisk nivåomvandlare IC
- WS2812B LED -remsa
- JST 3 -polig honkontakt
- 5V 2-10A strömförsörjning v1 eller 5V 2-10A strömförsörjning v2
- Startkablar
PCB -delar:
- ESP12F/E
- ESP-01S (1 MB blixt)
- SMD 0805 motstånd
- SMD 0805 kondensatorer
- AMS1117-3.3
- Taktil knapp
- 2,54 mm sidhuvud
- SN74HCT125N
- SMD 10,5x10,5 1000uF kondensator
- DC -kontakt
- 3 -stifts skruvplint
- Säkringshållare
- Säkring
Steg 1: Installera firmware
Du kan ladda ner firmware från min GitHub -sida
Windows
För Windows kan du använda det officiella nedladdningsverktyget för firmware från Espressif
Att ställa in blixtadresser (0x2000), blixtstorlek (1MB/8mbit, 4MB/32mbit) och blixtläge (DIO/QIO) är mycket viktigt steg, men dessa inställningar kan ändras baserat på modulen du använder! Jag har också rekommenderat att radera blixten innan du laddar upp.bin -filerna!
Inställningar:
- Baudhastighet 115200
- Blixtstorlek 4MB eller 32mbit (beroende på din modul)
- Blixtläge QIO (eller DIO, beroende på din modul)
- 0x0000 rboot.bin
- 0x1000 blank_config.bin
- 0x2000 ledstrip.bin
- 40 MHz
Mac OS
För MacOS kan du använda det här blinkningsverktyget
Inställningar:
- Radera blixt - ja
- Baudhastighet 115200
- Blixtstorlek 4MB eller 32mbit (beroende på din modul)
- Blixtläge QIO (eller DIO, beroende på din modul)
- Fil: ledstrip.bin
- 40 MHz
Flash manuellt
Vi måste installera esptool.py på vår Mac för att kunna flasha vår ESP -modul. För att arbeta med esptool.py behöver du antingen Python 2.7, Python 3.4 eller en nyare Python -installation på ditt system. Vi rekommenderar att du använder den senaste Python -versionen, så gå till Pythons webbplats och installera den på din dator.
Med Python installerat, öppna ett Terminal -fönster och installera den senaste stabila esptool.py -versionen med pip:
pip installera esptool
Obs! Med vissa Python -installationer kanske kommandot inte fungerar och du får ett fel. Om så är fallet, försök att installera esptool.py med:
pip3 installera esptool python -m pip install esptool pip2 installera esptool
Efter installationen kommer du att ha esptool.py installerat i standardkatalogen för Python -körbara filer och du bör kunna köra den med kommandot esptool.py. Kör följande kommando i ditt Terminal -fönster:
esptool.py
Med esptool.py installerat på din dator kan du enkelt blinka ditt ESP8266 -kort med firmware.
Först måste du ladda ner tre bin -filer: rboot.bin och blank_config.bin och den senaste versionen. Rboot.bin innehåller bootloader för ESP8266 och blank_config.bin i bara en tom konfigurationsfil och ledstrip.bin innehåller firmware. Anslut nu din enhet till din FTDI-adapter i blixtläge.
Spegellänkar:
rboot.binblank_config.binledstrip.bin
Sätta enheten i blixtläge
För att aktivera ESP8266 måste firmware blinkande GPIO0 -stiftet dras lågt medan enheten slås på. Med min anpassade PCB finns det en knapp, nodeMCU har också en blixtknapp och Wemos gör det automatiskt med USB. Omvänt, för en normal start måste GPIO0 dras högt eller flytande. Börja med FLASH MODE
Gå till katalogen du skapade där du lade de tidigare nedladdade rboot.bin blank_config.bin -filerna (t.ex. nedladdningar)
Öppna Terminal -appen. Klicka på Finder -ikonen i din docka. Klicka på Kör. Klicka på Verktyg. Dubbelklicka på Terminal. Byt till nedladdningskatalogen.
Du behöver en USB TTL -adapter för att ansluta till ESP8266. Om du bara använder en Wemos D1 Mini är en microUSB-kabel, har Wemos inbyggd TTL-adapter.
nedladdning av cd
Obs! Om du använder ett annat bibliotek för att lagra de tre.bin -filerna navigerar du till det biblioteket med kommandot 'cd':
Använd esptool.py för att blinka din enhet. Först måste vi radera blixten:
esptool.py -p / dev / erase_flash
Normalt kommer din ESPPort att vara ungefär /dev /cu.usbserial-'xxxxxx '. Sätt sedan in enheten i blixtläge igen och blinka den nya 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
Steg 2: Wi-fi och HomeKit-installation
Wi-Fi-inställning
Du måste konfigurera wifi -nätverk innan du lägger till tillbehöret i HomeKit. För att konfigurera Wi-Fi-inställningar genererar enheten sin egen Wi-Fi i AP-läge. Du måste ansluta till den för att kunna konfigurera ditt Wi-Fi-nätverk. Ta bara din iOS-enhet, gå till Inställning-> Wi-Fi och sök efter ett SSID som heter HomeKid- följt av modulens MAC-adress och anslut till den. Av säkerhetsskäl är AP lösenordsskyddat! Standard AP -lösenord: 12345678
Vänta några sekunder tills en webb visas som visar dig alla Wi-Fi-nätverk som enheten har hittat. Välj ditt och ange lösenord! Därefter kan du lägga till det exakta antalet lysdioder i din LED -remsa! Ange ett tal från 1 till 500! Klicka sedan på knappen Gå med! Modulen försöker ansluta det valda Wi-Fi-nätverket, det tar ett par sekunder.
Obs! Om det angivna lösenordet är fel kan du återställa Wi-Fi-inställningarna genom att hålla knappen Återställ i 10 sekunder
HomeKit -installation
I din iOS -enhet öppnar du Home App och följer normala steg för att lägga till ett nytt tillbehör. Parningskonfiguration tar cirka 30 sekunder.
Standard HomeKit-kod är 021-82-017
Du kan också skanna denna HomeKit QR -kod:
Obs! Om parningen misslyckas kan du koppla ur enheten, återställa den och starta HomeKit -installationen igen (Wifi -inställningarna fortsätter att vara konfigurerade). Efter lyckad parning blinkar LED -remsan vitt 3 gånger!
Vanliga problem:
- Ibland misslyckas det att lägga till flera tillbehör med QR -kod, om HomeKit rapporterar "Tillbehör redan lagt till" lägger du bara till parningskoden manuellt istället för att skanna QR -koden!
- Om något gick fel kan du se loggfilerna med Arduinos seriella bildskärm och blev fri att öppna ett problem på GitHub
Steg 3: Anpassade inställningar
Tyvärr stöder Home -appen inte anpassade/tredje parts egenskaper så du behöver Elgato EVE -appen för att ändra dessa inställningar och använda WS2812B -effekterna. Tillbehöret fungerar också som ett Fake Eve Light Strip -tillbehör när du lägger till det via Eve -appen?
Övergångar och maktbeteende
Den ursprungliga Eve Light -remsan stöder dessa två egenskaper. Med Transitions kan du ändra hastigheten på LED -remsan när du använder WS2812FX -effekter! Om du ställer in den på Snabb inaktiveras blekning in/ut och den slås snabbt på!
Med Power Behavior kan du ändra standardfärg när LED -remsan slås på! Som standard är den inställd på Last Used Color, så när du stänger av LED -remsan kommer den alltid att komma ihåg den senaste färgen du använde! När den är inställd på Standardvit kommer färgen att gå tillbaka till vit varje gång du stänger av LED -remsan!
Återställa
Koden har en återställningsfunktion om något går fel. Vänta cirka 5 sekunder för att enheten ska starta helt och tryck sedan länge på knappen i minst 10 sekunder!
Alla konfigurerade inställningar har tagits bort och enheten startas om. Detta tar bort HomeKit och Wi-Fi-inställningar, och din enhet går till åtkomstpunktsläge nästa gång för att konfigurera om Wi-Fi.
Obs! Om du trycker på samma knapp en gång trycker du på eller stänger av LED -remsan
Rekommenderad:
Apple HomeKit Wi-Fi Avfuktare Baserat på ESP8266?: 6 steg (med bilder)
Apple HomeKit Wi-Fi Avfuktare Baserat på ESP8266?: Tyvärr finns det bara en eller två avfuktare som stöder Apple HomeKit, men dessa har riktigt höga priser (300 $+). Så jag har bestämt mig för att göra min egen Wi-Fi-kompatibla Apple HomeKit-avfuktare baserad på en billig jag redan har? Jag
Bygg en Apple HomeKit -temperatursensorenhet med hjälp av en ESP8266 och en BME280: 10 steg
Bygg en Apple HomeKit-temperatursensorenhet med hjälp av en ESP8266 och en BME280: I dagens instruktion kommer vi att göra billiga temperatur-, fukt- och fuktsensorer baserade på antingen AOSONG AM2302/DHT22 eller BME280 temperatur-/fuktighetssensor, YL-69 fuktsensor och ESP8266/Nodemcu -plattformen. Och för att visa
Bygg en Apple HomeKit -temperatursensor (DHT22) med en RaspberryPI och en DHT22: 11 steg
Bygg en Apple HomeKit -temperatursensor (DHT22) -enhet med hjälp av en RaspberryPI och en DHT22: Jag letade efter en temperatur- / fuktighetssensor till låg kostnad som jag kunde använda för att övervaka vad som händer i mitt krypgrund, eftersom jag upptäckte att det i vår var väldigt blött , och hade mycket fukt. Så jag letade efter en prisvärd sensor som jag kunde
Bygg en Apple HomeKit temperatursensor (BME280) med hjälp av en RaspberryPI och en BME280: 5 steg
Bygg en Apple HomeKit -temperatursensor (BME280) Med hjälp av en RaspberryPI och en BME280: Jag har lekat runt med IOT -enheter de senaste månaderna och har använt runt 10 olika sensorer för att övervaka förhållandena runt mitt hus och stuga. Och jag hade ursprungligen börjat använda AOSONG DHT22 tempererad fuktighetssensor
Handledning för gränssnitt RGB Led WS2812B med Arduino UNO: 7 steg (med bilder)
Handledning för gränssnitt RGB Led WS2812B med Arduino UNO: Denna handledning kommer att lära dig några grunder om hur du använder Sparkfun RGB Led WS2812B med Arduino UNO