Inhaltsverzeichnis:

Apple HomeKit WS2812B LED-Controller - Gunook
Apple HomeKit WS2812B LED-Controller - Gunook

Video: Apple HomeKit WS2812B LED-Controller - Gunook

Video: Apple HomeKit WS2812B LED-Controller - Gunook
Video: How to make Apple HomeKit WS2812B Neopixel RGB LED Strip Controller 2024, November
Anonim
Image
Image
Apple HomeKit WS2812B LED-Controller
Apple HomeKit WS2812B LED-Controller
Apple HomeKit WS2812B LED-Controller
Apple HomeKit WS2812B LED-Controller
Apple HomeKit WS2812B LED-Controller
Apple HomeKit WS2812B LED-Controller

Es gibt viele Projekte, die auf WS2812B LED-Streifen basieren, aber die meisten davon verwenden Homebridge oder eine andere Lösung - meist basierend auf MQTT - um mit HomeKit zu kommunizieren.

Einige Projekte verwenden auch Effekte über Apple HomeKit, aber keines von ihnen unterstützt eigenständiges HomeKit, ohne dass eine Bridge benötigt wird. Ich verwende WS2812B LEDs jetzt seit fast 3-4 Jahren mit HomeKit und sie funktionieren sehr gut

Da der Code sehr komplex ist und ich viele benutzerdefinierte Bibliotheken verwendet habe, habe ich vorkompilierte Firmware-Dateien erstellt. Für diejenigen, die daran interessiert sind, native HomeKit-Projekte zu erstellen, ist der Quellcode für esp-homekit hier verfügbar.

Grundlegende Informationen:

  • Derzeit werden nur WS2812B, WS2812B ECO und WS2813 LED-Streifen unterstützt!
  • Die maximale Anzahl von LEDs ist auf 500 begrenzt, um RAM zu sparen
  • Logikpegelwandler erforderlich (für Datenkonvertierung von 3,3 V auf 5 V)
  • Ein hochwertiges 5V-Netzteil ist ebenfalls erforderlich
  • Weitere Informationen finden Sie auf meinem GitHub
  • Adafruit Überguide kann auch helfen:-)

PCB-Design:

Ich habe eine einfache Platine zum Ansteuern der NeoPixel-LEDs entwickelt, die in Adafruits NeoPixel Überguide beschrieben ist, mit dem neuesten SN74HCT125N Logic Level Converter IC und dem ebenfalls empfohlenen 1000uF-Kondensator:-) Ich verwende diese Platine derzeit mit einem 5V 10A Netzteil ohne (Temperatur-)Probleme:-)

Ich habe auch eine USB-Typ-C-Version für kürzere LED-Streifen!

Sie können die Leiterplatten hier und hier bestellen

Weitere Informationen zu den Leiterplatten finden Sie hier

Merkmale:

  • Farbe ändern
  • Helligkeit ändern
  • Farbtemperatur ändern (kein RGBW-Streifen erforderlich)
  • WS2812FX Lichteffekte (Beta!!!)
  • Einrichten der WS2812B-LED-Anzahl (beim ersten Booten von 1 bis 500)
  • Eigenschaften des Leistungsverhaltens (Standardfarbe / Zuletzt verwendet beim Start über die Eve-App)
  • Übergang (Schnell / Standard / Moderat / Ruhig über die Eve-App)
  • Kindersicherung (Tastendruck aktivieren/deaktivieren über die Eve-App)
  • Herunterladbares Benutzerhandbuch (über die Eve-App)
  • Power / Reset-Taste

Lieferungen

Um die benutzerdefinierte Leiterplatte zu erstellen, benötigen Sie einen billigen Lötkolben oder eine Lötstation wie diese oder diese. Auch eine Heißluftlötpistole wäre hilfreich! Zum Hochladen des Codes müssen Sie wahrscheinlich auch einen USB-TTL-Adapter kaufen.

Notwendige Teile:

  • NodeMCU oder Wemos D1 Mini
  • Logikpegelwandler IC
  • WS2812B LED-Streifen
  • JST 3-polige Buchse
  • 5V 2-10A Netzteil v1 oder 5V 2-10A Netzteil v2
  • Überbrückungskabel

PCB-Teile:

  • ESP12F/E
  • ESP-01S (1 MB Flash)
  • SMD 0805 Widerstände
  • SMD 0805 Kondensatoren
  • AMS1117-3.3
  • Taktile Taste
  • 2,54 mm Stiftleiste
  • SN74HCT125N
  • SMD 10.5x10.5 1000uF Kondensator
  • DC-Anschluss
  • 3-polige Schraubklemme
  • Sicherungshalter
  • Sicherung

Schritt 1: Installieren der Firmware

Installieren der Firmware
Installieren der Firmware
Installieren der Firmware
Installieren der Firmware
Installieren der Firmware
Installieren der Firmware

Sie können die Firmware von meiner GitHub-Seite herunterladen

Fenster

Für Windows können Sie das offizielle Firmware Download Tool von Espressif verwenden

Das Einstellen der Flash-Adressen (0x2000), der Flash-Größe (1MB/8mbit, 4MB/32mbit) und des Flash-Modus (DIO/QIO) ist ein sehr wichtiger Schritt, aber diese Einstellungen können sich je nach verwendetem Modul ändern! Außerdem empfehle ich, den Flash zu löschen, bevor die.bin-Dateien hochgeladen werden!

Einstellungen:

  • Baudrate 115200
  • Flashgröße 4MB oder 32mbit (je nach Modul)
  • Flash-Modus QIO (oder DIO, je nach Modul)
  • 0x0000 rboot.bin
  • 0x1000 leere_config.bin
  • 0x2000 ledstrip.bin
  • 40MHz

Mac OS

Für MacOS können Sie dieses Flasher-Tool verwenden

Einstellungen:

  • Blitz löschen - ja
  • Baudrate 115200
  • Flashgröße 4MB oder 32mbit (je nach Modul)
  • Flash-Modus QIO (oder DIO, je nach Modul)
  • Datei: ledstrip.bin
  • 40MHz

Manuelles Blitzen

Wir müssen esptool.py auf unserem Mac installieren, um unser ESP-Modul flashen zu können. Um mit esptool.py zu arbeiten, benötigen Sie entweder Python 2.7, Python 3.4 oder eine neuere Python-Installation auf Ihrem System. Wir empfehlen die Verwendung der neuesten Python-Version, besuchen Sie also die Python-Website und installieren Sie sie auf Ihrem Computer.

Wenn Python installiert ist, öffnen Sie ein Terminalfenster und installieren Sie die neueste stabile esptool.py-Version mit pip:

pip installieren esptool

Hinweis: Bei einigen Python-Installationen funktioniert dieser Befehl möglicherweise nicht und Sie erhalten eine Fehlermeldung. Wenn dies der Fall ist, versuchen Sie esptool.py mit zu installieren:

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

Nach der Installation haben Sie esptool.py im standardmäßigen Python-Verzeichnis für ausführbare Dateien installiert und sollten es mit dem Befehl esptool.py ausführen können. Führen Sie in Ihrem Terminalfenster den folgenden Befehl aus:

esptool.py

Wenn esptool.py auf Ihrem Computer installiert ist, können Sie Ihr ESP8266-Board ganz einfach mit der Firmware flashen.

Zuerst müssen Sie drei bin-Dateien herunterladen: rboot.bin und blank_config.bin und die neueste Version. Die rboot.bin enthält den Bootloader für den ESP8266 und die blank_config.bin in nur einer leeren Konfigurationsdatei und ledstrip.bin enthält die Firmware. Verbinden Sie nun Ihr Gerät im Flash-Modus mit Ihrem FTDI-Adapter.

Spiegellinks:

rboot.binblank_config.binledstrip.bin

Gerät in den Blitzmodus versetzen

Um das Flashen der ESP8266-Firmware zu aktivieren, muss der GPIO0-Pin niedrig gezogen werden, während das Gerät mit Strom versorgt wird. Bei meiner benutzerdefinierten Platine gibt es eine Taste, die nodeMCU hat auch eine Flash-Taste und das Wemos macht dies automatisch über USB. Umgekehrt muss GPIO0 für einen normalen Boot hochgezogen oder schwebend sein. Starten Sie im FLASH-MODUS

Gehen Sie in das Verzeichnis, das Sie erstellt haben, in dem Sie die zuvor heruntergeladenen rboot.bin-blank_config.bin-Dateien (z. B. Downloads) abgelegt haben.

Öffnen Sie die Terminal-App. Klicken Sie in Ihrem Dock auf das Finder-Symbol. Klicken Sie auf Los. Klicken Sie auf Dienstprogramme. Doppelklicken Sie auf Terminal. Wechseln Sie in das Download-Verzeichnis.

Für die Verbindung mit dem ESP8266 benötigen Sie einen USB-TTL-Adapter. Wenn Sie mit einem Wemos D1 Mini nur ein microUSB-Kabel benötigen, hat das Wemos einen TTL-Adapter eingebaut.

CD-Downloads

Hinweis: Wenn Sie eine andere Bibliothek zum Speichern der drei.bin-Dateien verwenden, navigieren Sie mit dem Befehl `cd` in diese Bibliothek:

Verwenden Sie esptool.py, um Ihr Gerät zu flashen. Zuerst müssen wir den Flash löschen:

esptool.py -p /dev/erase_flash

Normalerweise ist Ihr ESPPort so etwas wie /dev/cu.usbserial-`xxxxxx`. Stellen Sie dann Ihr Gerät wieder in den Flash-Modus und flashen Sie die neue 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

Schritt 2: WLAN- und HomeKit-Einrichtung

WLAN- und HomeKit-Einrichtung
WLAN- und HomeKit-Einrichtung
WLAN- und HomeKit-Einrichtung
WLAN- und HomeKit-Einrichtung

WLAN-Einrichtung

Sie müssen das WLAN-Netzwerk konfigurieren, bevor Sie das Zubehör zu HomeKit hinzufügen. Um die WLAN-Einstellungen zu konfigurieren, generiert das Gerät sein eigenes WLAN im AP-Modus. Sie müssen sich damit verbinden, um Ihr Wi-Fi-Netzwerk einzurichten. Nehmen Sie einfach Ihr iOS-Gerät, gehen Sie zu Einstellungen -> WLAN und suchen Sie nach einer SSID namens HomeKid, gefolgt von der MAC-Adresse des Moduls und verbinden Sie sich damit. Aus Sicherheitsgründen ist der AP passwortgeschützt!Standard-AP-Passwort: 12345678

Warten Sie einige Sekunden, bis ein Web angezeigt wird, das Ihnen alle Wi-Fi-Netzwerke anzeigt, die das Gerät gefunden hat. Wählen Sie Ihre aus und geben Sie Ihr Passwort ein! Danach können Sie die genaue Anzahl der LEDs in Ihrem LED-Streifen hinzufügen! Geben Sie eine Zahl von 1 bis 500 ein! Klicken Sie dann auf die Schaltfläche Beitreten! Das Modul versucht, eine Verbindung mit dem ausgewählten Wi-Fi-Netzwerk herzustellen, dies dauert einige Sekunden.

Hinweis: Wenn das angegebene Passwort falsch ist, können Sie die WLAN-Einstellungen zurücksetzen, indem Sie die Reset-Taste 10 Sekunden lang gedrückt halten

HomeKit-Setup

Öffnen Sie auf Ihrem iOS-Gerät die Home App und führen Sie die normalen Schritte aus, um ein neues Zubehör hinzuzufügen. Die Einrichtung der Kopplung dauert etwa 30 Sekunden.

Der Standard-HomeKit-Code ist 021-82-017

Sie können auch diesen HomeKit-QR-Code scannen:

Hinweis: Wenn das Pairing fehlschlägt, können Sie Ihr Gerät ausschalten, wieder einschalten und die HomeKit-Einrichtung erneut starten (die WLAN-Einstellungen bleiben konfiguriert). Nach erfolgreichem Pairing blinkt der LED-Streifen 3 Mal weiß!

Häufige Probleme:

  • Manchmal schlägt das Hinzufügen mehrerer Zubehörteile mit QR-Code fehl. Wenn HomeKit "Zubehör bereits hinzugefügt" meldet, fügen Sie einfach den Pairing-Code manuell hinzu, anstatt den QR-Code zu scannen!
  • Falls etwas schief gelaufen ist, können Sie die Protokolldateien mit dem seriellen Monitor von Arduino anzeigen und ein Problem auf GitHub öffnen

Schritt 3: Benutzerdefinierte Einstellungen

Benutzerdefinierte Einstellungen
Benutzerdefinierte Einstellungen
Benutzerdefinierte Einstellungen
Benutzerdefinierte Einstellungen

Leider unterstützt die Home-App keine benutzerdefinierten Eigenschaften von Drittanbietern, daher benötigen Sie die Elgato EVE-App, um diese Einstellungen zu ändern und die WS2812B-Effekte zu verwenden. Auch verhält sich das Zubehör wie ein gefälschtes Eve Light Strip Zubehör, wenn Sie es über die Eve App hinzufügen?

Übergänge und Leistungsverhalten

Der original Eve Light Strip unterstützt diese beiden Eigenschaften. Mit Transitions können Sie die Geschwindigkeit des LED-Streifens ändern, wenn Sie WS2812FX-Effekte verwenden! Wenn Sie es auf Quick setzen, wird das Ein-/Ausblenden deaktiviert und es wird schnell eingeschaltet!

Mit Power Behavior können Sie die Standardfarbe ändern, wenn der LED-Streifen eingeschaltet wird! Standardmäßig ist es auf Zuletzt verwendete Farbe eingestellt, so dass beim Ausschalten des LED-Streifens immer die zuletzt verwendete Farbe gespeichert wird! Bei der Einstellung auf Standardweiß wird die Farbe jedes Mal, wenn Sie den LED-Streifen ausschalten, auf Weiß zurückgesetzt!

Zurücksetzen

Der Code hat eine Reset-Funktion für den Fall, dass etwas schief geht. Warten Sie etwa 5 Sekunden, damit das Gerät vollständig booten kann, und drücken Sie dann die Taste mindestens 10 Sekunden lang!

Alle konfigurierten Einstellungen wurden entfernt und das Gerät wird neu gestartet. Dadurch werden HomeKit- und Wi-Fi-Einstellungen entfernt und Ihr Gerät wechselt das nächste Mal in den Access Point-Modus, um Wi-Fi neu zu konfigurieren.

Hinweis: Einmaliges Drücken derselben Taste schaltet den LED-Streifen EIN oder AUS

Empfohlen: