Spisu treści:

Kontroler LED Apple HomeKit WS2812B: 3 kroki (ze zdjęciami)
Kontroler LED Apple HomeKit WS2812B: 3 kroki (ze zdjęciami)

Wideo: Kontroler LED Apple HomeKit WS2812B: 3 kroki (ze zdjęciami)

Wideo: Kontroler LED Apple HomeKit WS2812B: 3 kroki (ze zdjęciami)
Wideo: Zigbee LED Controller - универсальность за небольшую цену, Tuya, HomeKit, Home Assistant, биндинг 2024, Listopad
Anonim
Image
Image
Kontroler LED Apple HomeKit WS2812B
Kontroler LED Apple HomeKit WS2812B
Kontroler LED Apple HomeKit WS2812B
Kontroler LED Apple HomeKit WS2812B
Kontroler LED Apple HomeKit WS2812B
Kontroler LED Apple HomeKit WS2812B

Istnieje wiele projektów opartych na taśmach LED WS2812B, ale większość z nich wykorzystuje Homebridge lub jakiekolwiek inne rozwiązanie - głównie oparte na MQTT - do komunikacji z HomeKit.

Niektóre projekty również używają efektów za pośrednictwem Apple HomeKit, ale żaden z nich nie obsługuje samodzielnego HomeKit bez żadnego mostka Używam diod LED WS2812B od prawie 3-4 lat z HomeKit i działają bardzo dobrze

Ponieważ kod jest bardzo złożony i korzystałem z wielu niestandardowych bibliotek, stworzyłem wstępnie skompilowane pliki oprogramowania układowego. Dla tych, którzy są zainteresowani tworzeniem natywnych projektów HomeKit, kod źródłowy esp-homekit dostępny jest tutaj.

Podstawowe informacje:

  • Obecnie obsługiwane są tylko taśmy LED WS2812B, WS2812B ECO i WS2813!
  • Maksymalna liczba diod LED jest ograniczona do 500 w celu oszczędzania pamięci RAM
  • Wymagany konwerter poziomów logicznych (do konwersji danych z 3,3 V na 5 V)
  • Niezbędny jest również dobrej jakości zasilacz 5V
  • Więcej informacji można znaleźć na moim GitHubie
  • Adafruit Überguide też może pomóc:-)

Projekt PCB:

Zaprojektowałem prostą płytkę do sterowania diodami NeoPixel w sposób opisany w Adafruit NeoPixel Überguide używając najnowszego SN74HCT125N Logic Level Converter IC oraz zalecanego kondensatora 1000uF:-) Obecnie używam tej płytki z zasilaczem 5V 10A bez problemów z (temperaturą):-)

Mam też wersję USB typu C na krótsze paski LED!

Płytki PCB można zamówić tutaj i tutaj

Więcej informacji o płytkach PCB znajdziesz tutaj

Cechy:

  • Zmień kolor
  • Zmień jasność
  • Zmień temperaturę barwową (nie wymaga paska RGBW)
  • Efekty świetlne WS2812FX (beta!!!)
  • Konfigurowanie licznika diod LED WS2812B (przy pierwszym uruchomieniu od 1 do 500)
  • Charakterystyka zachowania zasilania (domyślny kolor / ostatnie użycie przy uruchomieniu za pośrednictwem aplikacji Eve)
  • Przejście (Szybkie / Domyślne / Umiarkowane / Spokojne przez aplikację Eve)
  • Blokada dziecięca (włącz/wyłącz naciśnięcie przycisku w aplikacji Eve)
  • Instrukcja obsługi do pobrania (za pośrednictwem aplikacji Eve)
  • Przycisk zasilania/resetowania

Kieszonkowe dzieci

Do stworzenia niestandardowej płytki PCB będziesz potrzebować taniej lutownicy lub stacji lutowniczej, takiej jak ta lub ta. Przydałby się również pistolet lutowniczy na gorące powietrze! Aby wgrać kod, prawdopodobnie będziesz musiał kupić również adapter USB TTL.

Niezbędne części:

  • NodeMCU lub Wemos D1 Mini
  • Konwerter poziomów logicznych IC
  • Taśma LED WS2812B
  • Złącze żeńskie JST 3 pin
  • Zasilanie 5V 2-10A v1 lub zasilanie 5V 2-10A v2
  • Kable rozruchowe

Części PCB:

  • ESP12F/E
  • ESP-01S (1 MB flash)
  • Rezystory SMD 0805
  • Kondensatory SMD 0805
  • AMS1117-3.3
  • Przycisk dotykowy
  • Nagłówek 2,54 mm
  • SN74HCT125N
  • Kondensator SMD 10,5x10,5 1000uF
  • Złącze prądu stałego
  • 3 pinowy zacisk śrubowy
  • Uchwyt bezpiecznika
  • Bezpiecznik

Krok 1: Instalacja oprogramowania sprzętowego

Instalowanie oprogramowania sprzętowego
Instalowanie oprogramowania sprzętowego
Instalowanie oprogramowania sprzętowego
Instalowanie oprogramowania sprzętowego
Instalowanie oprogramowania sprzętowego
Instalowanie oprogramowania sprzętowego

Oprogramowanie układowe można pobrać z mojej strony GitHub

Okna

W systemie Windows możesz skorzystać z oficjalnego narzędzia pobierania oprogramowania układowego firmy Espressif

Ustawienie adresów flash (0x2000), rozmiaru flash (1MB/8mbit, 4MB/32mbit) i trybu flash (DIO/QIO) jest bardzo ważnym krokiem, ale te ustawienia mogą ulec zmianie w zależności od używanego modułu! Polecam również wymazać pamięć flash przed przesłaniem plików.bin!

Ustawienia:

  • Szybkość transmisji 115200
  • Rozmiar Flash 4MB lub 32mbit (w zależności od modułu)
  • Tryb Flash QIO (lub DIO, w zależności od modułu)
  • 0x0000 rboot.bin
  • 0x1000 blank_config.bin
  • 0x2000 ledstrip.bin
  • 40 MHz

System operacyjny Mac

W systemie MacOS możesz użyć tego narzędzia do flashowania

Ustawienia:

  • Wymaż lampę błyskową - tak
  • Szybkość transmisji 115200
  • Rozmiar Flash 4MB lub 32mbit (w zależności od modułu)
  • Tryb Flash QIO (lub DIO, w zależności od modułu)
  • Plik: ledstrip.bin
  • 40 MHz

Ręczne Flash

Musimy zainstalować esptool.py na naszym Macu, aby móc sflashować nasz moduł ESP. Aby pracować z esptool.py, potrzebujesz Pythona 2.7, Pythona 3.4 lub nowszej instalacji Pythona w swoim systemie. Zalecamy korzystanie z najnowszej wersji Pythona, więc wejdź na stronę Pythona i zainstaluj go na swoim komputerze.

Po zainstalowaniu Pythona otwórz okno Terminala i zainstaluj najnowszą stabilną wersję esptool.py za pomocą pip:

pip zainstalować esptool

Uwaga: w przypadku niektórych instalacji Pythona to polecenie może nie działać i pojawi się błąd. W takim przypadku spróbuj zainstalować esptool.py za pomocą:

pip3 zainstaluj esptool python -m pip zainstaluj esptool pip2 zainstaluj esptool

Po zainstalowaniu esptool.py zostanie zainstalowany w domyślnym katalogu plików wykonywalnych Pythona i powinieneś być w stanie uruchomić go za pomocą polecenia esptool.py. W oknie Terminala uruchom następujące polecenie:

esptool.py

Z esptool.py zainstalowanym na twoim komputerze, możesz łatwo sflashować swoją płytę ESP8266 z oprogramowaniem układowym.

Najpierw musisz pobrać trzy pliki bin: rboot.bin i blank_config.bin oraz najnowszą wersję. Plik rboot.bin zawiera bootloader dla ESP8266 i blank_config.bin w pustym pliku konfiguracyjnym, a ledstrip.bin zawiera oprogramowanie układowe. Teraz podłącz swoje urządzenie do adaptera FTDI w trybie flash.

Linki lustrzane:

rboot.binblank_config.binledstrip.bin

Przełączanie urządzenia w tryb Flash

Aby włączyć flashowanie oprogramowania układowego ESP8266, pin GPIO0 należy wyciągnąć w dół podczas zasilania urządzenia. Z moją niestandardową płytką drukowaną jest przycisk, nodeMCU ma również przycisk flash, a Wemos robi to automatycznie za pomocą USB. I odwrotnie, w przypadku normalnego buta GPIO0 musi być wyciągnięty wysoko lub unoszący się. Zacznij w TRYBIE FLASH

Przejdź do utworzonego katalogu, w którym umieściłeś wcześniej pobrane pliki rboot.bin blank_config.bin (np. Pobrane)

Otwórz aplikację Terminal. Kliknij ikonę Findera w doku. Kliknij Idź. Kliknij Narzędzia. Kliknij dwukrotnie Terminal. Przejdź do katalogu pobierania.

Do podłączenia do ESP8266 potrzebny będzie adapter USB TTL. Jeśli używasz Wemos D1 Mini, potrzebny jest tylko kabel microUSB, Wemos ma wbudowany adapter TTL.

pobieranie płyt CD

Uwaga: Jeśli używasz innej biblioteki do przechowywania trzech plików.bin, przejdź do tej biblioteki za pomocą polecenia `cd`:

Użyj esptool.py, aby sflashować urządzenie. Najpierw musimy wymazać flash:

esptool.py -p /dev/ erase_flash

Normalnie twój ESPPort będzie wyglądał jak /dev/cu.usbserial-`xxxxxx`. Następnie ponownie ustaw urządzenie w trybie flash i zaktualizuj nowe oprogramowanie:

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

Krok 2: Konfiguracja Wi-Fi i HomeKit

Konfiguracja Wi-Fi i HomeKit
Konfiguracja Wi-Fi i HomeKit
Konfiguracja Wi-Fi i HomeKit
Konfiguracja Wi-Fi i HomeKit

Konfiguracja Wi-Fi

Musisz skonfigurować sieć Wi-Fi przed dodaniem akcesorium do HomeKit. Aby skonfigurować ustawienia Wi-Fi, urządzenie generuje własne Wi-Fi w trybie AP. Musisz się z nim połączyć, aby skonfigurować sieć Wi-Fi. Po prostu weź swoje urządzenie z systemem iOS, przejdź do Ustawienia -> Wi-Fi i wyszukaj identyfikator SSID o nazwie HomeKid-, a następnie adres MAC modułu i połącz się z nim. Ze względów bezpieczeństwa AP jest chroniony hasłem! Domyślne hasło AP: 12345678

Poczekaj kilka sekund, aż pojawi się sieć pokazująca wszystkie sieci Wi-Fi znalezione przez urządzenie. Wybierz swoje i wprowadź hasło! Następnie możesz dodać dokładną liczbę diod LED w swoim pasku LED! Wpisz liczbę od 1 do 500! Następnie kliknij przycisk Dołącz! Moduł spróbuje połączyć się z wybraną siecią Wi-Fi, zajmie to kilka sekund.

Uwaga: Jeśli podane hasło jest nieprawidłowe, możesz zresetować ustawienia Wi-Fi, przytrzymując przycisk Reset przez 10 sekund

Konfiguracja HomeKit

Na urządzeniu z systemem iOS otwórz aplikację Home i wykonaj normalne czynności, aby dodać nowe akcesorium. Konfiguracja parowania zajmuje około 30 sekund.

Domyślny kod HomeKit to 021-82-017

Możesz także zeskanować ten kod QR HomeKit:

Uwaga: Jeśli parowanie się nie powiedzie, możesz wyłączyć zasilanie urządzenia, ponownie je włączyć i ponownie rozpocząć konfigurację HomeKit (ustawienia Wi-Fi pozostają skonfigurowane). Po udanym sparowaniu pasek LED zamiga 3 razy na biało!

Powszechne problemy:

  • Czasami dodanie wielu akcesoriów za pomocą kodu QR kończy się niepowodzeniem, jeśli HomeKit zgłosi „Akcesoria już dodane”, po prostu dodaj kod parowania ręcznie zamiast skanować kod QR!
  • Jeśli coś poszło nie tak, możesz zobaczyć pliki dziennika za pomocą monitora szeregowego Arduino i możesz swobodnie otworzyć problem na GitHub

Krok 3: Ustawienia niestandardowe

Własne ustawienia
Własne ustawienia
Własne ustawienia
Własne ustawienia

Niestety aplikacja Home nie obsługuje niestandardowych cech innych firm, więc do zmiany tych ustawień i korzystania z efektów WS2812B potrzebna jest aplikacja Elgato EVE. Ponadto akcesorium działa jak akcesorium Fake Eve Light Strip po dodaniu go za pomocą aplikacji Eve?

Przejścia i zachowanie mocy

Oryginalna listwa Eve Light wspiera te dwie cechy. Dzięki Transitions możesz zmienić prędkość taśmy LED podczas korzystania z efektów WS2812FX! Ustawienie go na Szybkie wyłączy zanikanie/zanikanie i szybko się włączy!

Dzięki Power Behavior możesz zmienić domyślny kolor po włączeniu paska LED! Domyślnie jest ustawiony na Ostatnio używany kolor, więc po wyłączeniu paska LED zawsze będzie pamiętał ostatnio użyty kolor! Po ustawieniu na Domyślny biały, za każdym razem, gdy wyłączysz pasek LED, kolor wróci do białego!

Resetowanie

Kod posiada funkcję Reset na wypadek, gdyby coś poszło nie tak. Odczekaj około 5 sekund, aby urządzenie uruchomiło się całkowicie, a następnie naciśnij i przytrzymaj przycisk przez co najmniej 10 sekund!

Wszystkie skonfigurowane ustawienia zostały usunięte i urządzenie uruchamia się ponownie. Spowoduje to usunięcie ustawień HomeKit i Wi-Fi, a urządzenie przejdzie następnym razem w tryb punktu dostępu, aby ponownie skonfigurować Wi-Fi.

Uwaga: Pojedyncze naciśnięcie tego samego przycisku spowoduje włączenie lub wyłączenie paska LED

Zalecana: