Inhoudsopgave:
- Benodigdheden
- Stap 1: De firmware installeren
- Stap 2: Wifi en HomeKit instellen
- Stap 3: Aangepaste instellingen
Video: Apple HomeKit WS2812B LED-controller - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:15
Er zijn veel projecten op basis van WS2812B LED-strips, maar de meeste gebruiken homebridge of een andere oplossing - meestal gebaseerd op MQTT - om met HomeKit te communiceren.
Sommige projecten gebruiken ook effecten via Apple HomeKit, maar geen van hen ondersteunt stand-alone HomeKit zonder een bridge nodig te hebben. Ik gebruik WS2812B LED's nu bijna 3-4 jaar met HomeKit en ze werken heel goed
Omdat de code erg complex is en ik veel aangepaste bibliotheken heb gebruikt, heb ik vooraf gecompileerde firmwarebestanden gemaakt. Voor degenen die geïnteresseerd zijn in het maken van native HomeKit-projecten, de broncode voor esp-homekit is hier beschikbaar.
Basisinformatie:
- Momenteel worden alleen WS2812B, WS2812B ECO en WS2813 LED strips ondersteund!
- Maximaal aantal LED's is beperkt tot 500 om RAM te besparen
- Logic Level-converter vereist (voor gegevensconversie van 3,3 V naar 5 V)
- Een 5V-voeding van goede kwaliteit is ook nodig
- Meer informatie is te vinden op mijn GitHub
- Adafruit Überguide kan ook helpen:-)
PCB-ontwerp:
Ik heb een eenvoudige PCB ontworpen voor het aansturen van de NeoPixel LED's op de juiste manier beschreven in Adafruit's NeoPixel Überguide met behulp van de nieuwste SN74HCT125N Logic Level Converter IC en de ook aanbevolen 1000uF condensator:-) Ik gebruik deze PCB momenteel met een 5V 10A voeding zonder (temperatuur)problemen:-)
Ik heb ook een USB Type-C-versie voor kortere LED-strips!
U kunt de printplaten hier en hier bestellen
Meer informatie over de printplaten vind je hier
Functies:
- Verander kleur
- Helderheid wijzigen
- Kleurtemperatuur wijzigen (geen RGBW-strip vereist)
- WS2812FX Lichteffecten (bèta!!!)
- WS2812B LED-telling instellen (bij eerste keer opstarten van 1 tot 500)
- Vermogensgedragkenmerk (standaardkleur / laatst gebruikt bij opstarten via Eve-app)
- Overgang (Snel / Standaard / Matig / Rustig via Eve-app)
- Kinderslot (knop in-/uitschakelen via Eve-app)
- Downloadbare gebruikershandleiding (via Eve-app)
- Aan/uit-/resetknop
Benodigdheden
Voor het maken van de aangepaste PCB heb je een goedkope soldeerbout nodig, of een soldeerstation zoals deze of deze. Ook een heteluchtsoldeerpistool zou ook nuttig zijn! Voor het uploaden van de code moet je waarschijnlijk ook een USB TTL-adapter kopen.
Benodigde onderdelen:
- NodeMCU of Wemos D1 Mini
- Logisch niveau-omzetter IC
- WS2812B LED-strip
- JST 3-pins vrouwelijke connector
- 5V 2-10A voeding v1 of 5V 2-10A voeding v2
- Startkabels
PCB-onderdelen:
- ESP12F/E
- ESP-01S (1 MB flitser)
- SMD 0805 weerstanden
- SMD 0805 condensatoren
- AMS1117-3.3
- Tastbare knop
- 2,54 mm koptekst
- SN74HCT125N
- SMD 10.5x10.5 1000uF condensator
- DC-connector
- 3-pins schroefaansluiting
- Zekeringhouder
- Lont
Stap 1: De firmware installeren
Je kunt de firmware downloaden van mijn GitHub-pagina
ramen
Voor Windows kunt u de officiële Firmware Download Tool van Espressif gebruiken
Het instellen van de flitsadressen (0x2000), flitsgrootte (1MB/8mbit, 4MB/32mbit) en flitsmodus (DIO/QIO) is een zeer belangrijke stap, maar deze instellingen kunnen veranderen op basis van de module die je gebruikt! Ik raad ook aan om de flitser te wissen voordat je de.bin-bestanden uploadt!
Instellingen:
- Baudrate 115200
- Flash grootte 4MB of 32mbit (afhankelijk van je module)
- Flitsmodus QIO (of DIO, afhankelijk van uw module)
- 0x0000 rboot.bin
- 0x1000 blank_config.bin
- 0x2000 ledstrip.bin
- 40MHz
MacOS
Voor MacOS kun je deze flasher tool gebruiken
Instellingen:
- Flits wissen - ja
- Baudrate 115200
- Flash grootte 4MB of 32mbit (afhankelijk van je module)
- Flitsmodus QIO (of DIO, afhankelijk van uw module)
- Bestand: ledstrip.bin
- 40MHz
Handmatig flitsen
We moeten esptool.py op onze Mac installeren om onze ESP-module te kunnen flashen. Om met esptool.py te werken, heb je Python 2.7, Python 3.4 of een nieuwere Python-installatie op je systeem nodig. We raden aan om de nieuwste Python-versie te gebruiken, dus ga naar de website van Python en installeer deze op je computer.
Met Python geïnstalleerd, open een Terminal-venster en installeer de nieuwste stabiele esptool.py-release met pip:
pip install esptool
Opmerking: bij sommige Python-installaties werkt die opdracht mogelijk niet en krijg je een foutmelding. Als dat het geval is, probeer dan esptool.py te installeren met:
pip3 installeer esptool python -m pip installeer esptool pip2 installeer esptool
Na de installatie heb je esptool.py geïnstalleerd in de standaard uitvoerbare map van Python en zou je het moeten kunnen uitvoeren met het commando esptool.py. Voer in uw Terminal-venster de volgende opdracht uit:
esptool.py
Met esptool.py op uw computer geïnstalleerd, kunt u eenvoudig uw ESP8266-bord flashen met de firmware.
Eerst moet je drie bin-bestanden downloaden: rboot.bin en blank_config.bin en de laatste release. De rboot.bin bevat de bootloader voor de ESP8266 en de blank_config.bin in slechts een leeg configuratiebestand en ledstrip.bin bevat de firmware. Verbind nu uw apparaat met uw FTDI-adapter in flash-modus.
Spiegel links:
rboot.binblank_config.binledstrip.bin
Apparaat in flitsmodus zetten
Om ESP8266-firmware in te schakelen, moet de knipperende GPIO0-pin laag worden getrokken terwijl het apparaat van stroom wordt voorzien. Met mijn aangepaste PCB is er een knop, nodeMCU heeft ook een flitsknop en de Wemos doet dit automatisch via USB. Omgekeerd moet GPIO0 voor een normale laars hoog of zwevend worden getrokken. Start in FLASH-MODUS
Ga naar de map die je hebt gemaakt waar je de eerder gedownloade rboot.bin blank_config.bin-bestanden hebt geplaatst (bijv. Downloads)
Open de Terminal-app. Klik op het Finder-pictogram in uw dock. Klik op Ga. Klik op Hulpprogramma's. Dubbelklik op Terminal. Ga naar de downloadmap.
Je hebt een USB TTL-adapter nodig om de ESP8266 aan te sluiten. Als je een Wemos D1 Mini gebruikt, heb je alleen een microUSB-kabel nodig, de Wemos heeft een ingebouwde TTL-adapter.
cd-downloads
Opmerking: als u een andere bibliotheek gebruikt voor het opslaan van de drie.bin-bestanden, navigeert u naar die bibliotheek met de opdracht `cd`:
Gebruik esptool.py om uw apparaat te flashen. Eerst moeten we de flits wissen:
esptool.py -p /dev/ erase_flash
Normaal gesproken is uw ESPPort zoiets als /dev/cu.usbserial-`xxxxxx`. Zet vervolgens uw apparaat opnieuw in de flash-modus en flash de nieuwe 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
Stap 2: Wifi en HomeKit instellen
Wi-Fi-configuratie
U moet het wifi-netwerk configureren voordat u het accessoire aan HomeKit toevoegt. Om Wi-Fi-instellingen te configureren, genereert het apparaat zijn eigen Wi-Fi in AP-modus. U moet er verbinding mee maken om uw wifi-netwerk in te stellen. Pak gewoon je iOS-apparaat, ga naar Instellingen -> Wi-Fi en zoek naar een SSID met de naam HomeKid- gevolgd door het MAC-adres van de module en maak er verbinding mee. Om veiligheidsredenen is de AP beveiligd met een wachtwoord! Standaard AP-wachtwoord: 12345678
Wacht een paar seconden totdat er een web verschijnt met alle wifi-netwerken die het apparaat heeft gevonden. Selecteer de jouwe en voer het wachtwoord in! Daarna kunt u het exacte aantal leds in uw ledstrip toevoegen! Voer een getal van 1 tot 500 in! Klik dan op de button Join! De module zal proberen verbinding te maken met het geselecteerde wifi-netwerk, dit duurt enkele seconden.
Opmerking: als het opgegeven wachtwoord onjuist is, kunt u de wifi-instellingen resetten door de reset-knop 10 seconden ingedrukt te houden
HomeKit-configuratie
Open de Home-app op je iOS-apparaat en volg de normale stappen om een nieuw accessoire toe te voegen. Het instellen van het koppelen duurt ongeveer 30 seconden.
De standaard HomeKit-code is 021-82-017
U kunt ook deze HomeKit QR-code scannen:
Opmerking: als het koppelen mislukt, kunt u uw apparaat uitschakelen, opnieuw inschakelen en HomeKit-configuratie opnieuw starten (de wifi-instellingen blijven geconfigureerd). Na een succesvolle koppeling zal de LED-strip 3 keer wit knipperen!
Gebruikelijke problemen:
- Soms mislukt het toevoegen van meerdere accessoires met behulp van de QR-code, als HomeKit meldt "Accessoire al toegevoegd" voegt u gewoon de koppelingscode handmatig toe in plaats van de QR-code te scannen!
- In het geval dat er iets mis is gegaan, kun je de logbestanden bekijken met behulp van Arduino's seriële monitor en vrij zijn om een probleem op GitHub te openen
Stap 3: Aangepaste instellingen
Helaas ondersteunt de Home-app geen aangepaste kenmerken van derden, dus je hebt de Elgato EVE-app nodig om deze instellingen te wijzigen en de WS2812B-effecten te gebruiken. Ook gedraagt het accessoire zich als een Fake Eve Light Strip-accessoire wanneer je het toevoegt via de Eve-app?
Overgangen en machtsgedrag
De originele Eve Light strip ondersteunt deze twee eigenschappen. Met Transitions kunt u de snelheid van de LED-strip wijzigen bij gebruik van WS2812FX Effects! Als u dit op Snel zet, wordt in- en uitfaden uitgeschakeld en gaat het snel aan!
Met Power Behaviour kunt u de standaardkleur wijzigen wanneer de LED-strip wordt ingeschakeld! Standaard is deze ingesteld op Laatst gebruikte kleur, dus wanneer u de LED-strip uitschakelt, onthoudt hij altijd de laatste kleur die u hebt gebruikt! Wanneer ingesteld op Standaard Wit, zal elke keer dat u de LED-strip uitschakelt, de kleur teruggaan naar Wit!
Resetten
De code heeft een Reset-functie voor het geval er iets misgaat. Wacht ongeveer 5 seconden zodat het apparaat volledig kan opstarten en houd de knop vervolgens minstens 10 seconden lang ingedrukt!
Alle geconfigureerde instellingen zijn verwijderd en het apparaat wordt opnieuw opgestart. Hierdoor worden de HomeKit- en Wi-Fi-instellingen verwijderd en gaat uw apparaat de volgende keer naar de Access Point-modus om Wi-Fi opnieuw te configureren.
Opmerking: door één keer op dezelfde knop te drukken, wordt de LED-strip AAN of UIT geschakeld
Aanbevolen:
ESP8266 - HomeKit-schakelaar: 4 stappen
ESP8266 – HomeKit Switch: In mijn vorige blog hier heb ik de ESP HomeKit Software Development Kit getest. Ik ben zo enthousiast over deze Software Development Kit, dat ik een paar blogs ga schrijven over deze geniale software. In elke blog zal ik een ander accessoire behandelen dat
Bouw een Apple HomeKit-temperatuursensorapparaat met een ESP8266 en een BME280: 10 stappen
Bouw een Apple HomeKit-temperatuursensorapparaat met behulp van een ESP8266 en een BME280: in de instructable van vandaag zullen we een goedkope temperatuur-, vochtigheids- en vochtsensor maken op basis van de AOSONG AM2302/DHT22 of BME280 temperatuur- / vochtigheidssensor, YL-69 vochtsensor en het ESP8266/Nodemcu-platform. En voor het weergeven van
Arduino en Apple HomeKit-integratie - bedien uw huis vanaf Siri! IoT is er: 6 stappen
Arduino en Apple HomeKit-integratie - bedien uw huis vanaf Siri! IoT is hier: deze Instructable geeft je een snelle en gemakkelijke manier om een Arduino-bord toe te voegen aan Apple's HomeKit op een iOS-apparaat. Het opent allerlei mogelijkheden, waaronder Scripts die op de server draaien, in combinatie met Apples HomeKit "Scenes", het maakt
Slimme RGB-leds upgraden: WS2812B vs. WS2812: 6 stappen
Slimme RGB-leds upgraden: WS2812B vs. WS2812: Het enorme aantal projecten dat we de afgelopen 3 jaar hebben zien gebruiken van slimme RGB-leds, of het nu strips, modules of aangepaste PCB's zijn, is verbazingwekkend. Deze uitbraak van RGB LED-gebruik is hand in hand gegaan met een signi
WiFi Led Fedora Hoed (ESP8266 + WS2812b): 5 stappen (met afbeeldingen)
WiFi Led Fedora Hat (ESP8266 + WS2812b): Dit is een coole, goed uitziende led-hoed, je kunt de kleur en effecten van de leds veranderen met je smartphone of een computer, ook heb ik geprobeerd het zo eenvoudig en goedkoop mogelijk te maken. Het heeft ook een oplaadbare batterij, dus je kunt dit meenemen! Dit