Spisu treści:
- Kieszonkowe dzieci
- Krok 1: Przegląd podstawowy
- Krok 2: Mikrokontroler
- Krok 3: obniżanie napięcia DC-DC, konwerter Buck
- Krok 4: Przekaźnik
- Krok 5: Okablowanie
- Krok 6: Korzystanie z ESPHome
- Krok 7: Dodawanie ESPHome do Home Assistant
- Krok 8: Dodaj swoje urządzenie do ESPHome
- Krok 9: Oprogramowanie układowe ESPHome
- Krok 10: Flashuj oprogramowanie ESPHome
- Krok 11: Skonfiguruj Asystenta domowego
- Krok 12: Wykończenie
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Oto krótki weekendowy projekt automatyzacji oświetlenia wewnętrznego kultywatora IKEA Växer (+ Krydda), integrując go z Home Assistant za pomocą mikrokontrolera i ESPHome.
Zakłada to, że korzystasz już z Asystenta domu.
Kieszonkowe dzieci
Oświetlenie uprawowe IKEA Växer
ESP32Cam
Przetwornica DC-DC buck
Tani moduł przekaźnikowy
Interfejs FTDI USB (do programowania mikrokontrolera)
Krok 1: Przegląd podstawowy
Mikrokontroler z włączonym wifi, w tym przypadku ESP32Cam (bo taki mam w pobliżu), będzie sterował oświetleniem IKEA za pomocą przekaźnika.
Będzie zaplanowane włączanie światła IKEA rano i wyłączanie w nocy za pomocą interfejsu internetowego Home Assistant.
Krok 2: Mikrokontroler
Używam ESP32Cam. Jak sama nazwa wskazuje, ESP32Cam jest również kamerą, co oznacza, że mogę ją również kontrolować, aby uzyskać ekscytującą dodatkową funkcję uprawy sałaty poklatkowej.
Krok 3: obniżanie napięcia DC-DC, konwerter Buck
Będę zasilał zarówno światło, jak i mikrokontroler z kostki zasilającej, którą dostarcza IKEA. Ponieważ napięcie diody LED wynosi 24V, użyję konwertera DC na DC, aby obniżyć napięcie do 5V dla mikrokontrolera.
Możesz wybrać te konwertery złotówki bardzo tanio z serwisu eBay, amazon lub gdziekolwiek chcesz. Przed smażeniem delikatnego mikrokontrolera wyreguluj mały garnek do przycinania na napięcie 5 V.
Krok 4: Przekaźnik
Wreszcie moduł przekaźnikowy, sterowany przełącznik zaprojektowany do pracy z wysokim napięciem, izolujący od wejścia sterującego niskiego napięcia.
Przełączanie pinu I/O na mikrokontrolerze, podłączonego do pinu sygnału wejściowego przekaźnika, spowoduje przełączenie linii 24V na światło.
Krok 5: Okablowanie
Postępuj zgodnie ze schematem połączeń. W końcu podłączę piny GND i 5V na mikrokontrolerze do wyjścia konwertera buck, ale na tym etapie nie ma potrzeby podłączania do zasilania 24V ani podłączania przekaźnika do światła. Zasilanie z USB 5V komputera za pomocą kabla FTDI zrobi tak, jak zostało przetestowane i zaprogramowane.
Podłącz przewód z pinu sygnałowego przekaźnika do GPIO 12 na mikrokontrolerze, to będzie sterować przekaźnikiem i połączy szeregowe linie odbioru i transmisji z mikrokontrolera do RX i TX FTDI, uważając, aby zamienić linie (TX mikrokontrolera idzie do RX i RX do TX).
Krok 6: Korzystanie z ESPHome
Wcześniej programowałem mikrokontroler bezpośrednio, używając różnych bibliotek Wi-Fi i MQTT Arduino do komunikacji z Home Assistant. Teraz, dzięki ESPHome, znacznie łatwiej jest zintegrować mikrokontrolery ESP z Home Assistant bez konieczności każdorazowego rzucania własnego kodu.
Krok 7: Dodawanie ESPHome do Home Assistant
Dodaj repozytorium ESPHome
Ponieważ używam Hassio, jest to tak proste, jak kliknięcie „Hass.io” po lewej stronie interfejsu internetowego Home Assistant, kliknięcie 3 kropek w prawym górnym rogu i wybranie „Repozytorium” i dodanie „https://github.com /esphome/hassio'.
Zainstaluj dodatek ESPHome
Na stronie „Dodaj w sklepie” Hassio przewiń do ESPHome i zainstaluj dodatek ESPHome. Łatwo.
Krok 8: Dodaj swoje urządzenie do ESPHome
Aby dodać mikrokontroler ESP32Cam do ESPHome, kliknij dodatek „ESPHome” i kliknij „Open Web UI”.
Zostaniesz zapytany, czy chcesz dodać węzeł - węzły są tym, co ESPHome nazywa te urządzenia mikrokontrolerowe - Kliknij „+”.
Nadaj swojemu węzłowi nazwę, nazwałem go „vaxer_light” i wybierz typ urządzenia, mój to „AI Thinker ESP32-CAM”.
Na koniec podaj dane logowania do sieci Wi-Fi i kliknij „Prześlij”.
Krok 9: Oprogramowanie układowe ESPHome
Na tym etapie możesz ponownie uruchomić dodatek ESPHome. Przy odrobinie szczęścia powinien teraz pojawić się nowy węzeł „vaxer_light”.
Kliknij „Edytuj”, a zostanie wyświetlony plik vaxer_light YAML. ESPHome używa plików konfiguracyjnych YAML, podobnie jak reszta Home Assistant. Jednak te pliki YAML zostaną skompilowane, aby stać się oprogramowaniem układowym mikrokontrolera, co jest dalekie od zagłębiania się w kod Arduino C.
Plik YAML dla mojego urządzenia Vaxer Light wygląda tak:
espom:
nazwa: vaxer_light platforma: płyta ESP32: esp32cam wifi: ssid: „xxxxxxxx” hasło: „xxxxxxxx” # Włącz awaryjny hotspot (portal przechwytujący) w przypadku awarii połączenia Wi-Fi ap: ssid: „Vaxer Light Fallback Hotspot” hasło: „xxxxxxxx” captive_portal: # Włącz logger logger: # Włącz API Home Assistant: ota: # Wersja ESP32Cam AI Thinker esp32_camera: external_clock: pin: GPIO0 częstotliwość: 20 MHz i2c_pins: sda: GPIO26 scl: GPIO27 data_pins: [GPIO5, GPIO18, GPIO36, GPIO19, GPIO, GPIO39, GPIO34, GPIO35] vsync_pin: GPIO25 href_pin: GPIO23 pixel_clock_pin: GPIO22 power_down_pin: GPIO32 # Nazwa ustawień obrazu: ESP32Cam rozdzielczość: 640x480 jpeg_quality: 10 # przekaźnik na przełączniku GPIO 12: - nazwa platformy: gightpio: "V"
Zapisz i zamknij plik YAML, kliknij trzy kropki i wybierz „Skompiluj”
Krok 10: Flashuj oprogramowanie ESPHome
Po skompilowaniu pliku YAML kliknij „Pobierz plik binarny”.
Ponieważ ESPHome jest po raz pierwszy na tym mikrokontrolerze, muszę ręcznie wgrać kod na płytkę. W przyszłości, gdy mikrokontroler będzie miał oprogramowanie ESPHome, ESPHome będzie mógł wgrać dowolny nowy kod przez wifi.
Aby wgrać plik binarny do mikrokontrolera użyj narzędzia ESPHome Flasher.
Pobierz narzędzie ESPHome Flasher z:
ESP32Cam jest daleki od mojego ulubionego mikrokontrolera, aby wprowadzić go w stan uploadu należy najpierw połączyć GPIO 0 z GND i wcisnąć przycisk reset. Może to być dość trudne w zależności od grubości palca i tego, czy podłączono go do płytki stykowej, ponieważ przycisk resetowania znajduje się na spodzie płytki, do którego nie można się dostać, jeśli używasz płytki stykowej.
Uruchom esphome-flasher, wybierz pobrany plik binarny i port szeregowy adaptera FTDI.
Po połączeniu GPIO 0 z GND i naciśnięciu przycisku resetowania skrzyżować palce i kliknąć „Flash ESP”.
Po zakończeniu odłącz GPIO 0 i ponownie naciśnij reset.
Krok 11: Skonfiguruj Asystenta domowego
Po wgraniu nowego oprogramowania ESPHome do mikrokontrolera ESP32Cam, wróć do Home Assistant, aby dodać nowe urządzenie.
Kliknij „Konfiguracja”, w lewym dolnym rogu, a następnie „Integracje”, kliknij znak plus i wyszukaj ESPHome.
Wpisz hosta, nazwę swojego węzła, w moim przypadku „vaxer_light.local” i kliknij „Prześlij”.
Twoja integracja z ESPHome powinna się teraz wyświetlić, kliknij ją, aby wyświetlić listę urządzeń, a następnie kliknij „vaxer_light”, aby wyświetlić informacje o urządzeniu.
Kliknij „Dodaj wszystkie elementy urządzenia do lovelace”.
Teraz dość łatwo jest używać automatyki Home Assistant, aby światło włączało się i wyłączało o określonych porach dnia.
Aparat jest dostępny jako camera.esp32cam, do robienia zdjęć użyj usługi camera.snapshot Asystenta Domowego.
Na przykład automatyzacja do robienia zdjęcia o określonej porze dnia i tworzenia mojego arcydziełowego filmu o sałacie poklatkowej to:
- identyfikator: '20202907'
alias: 'timelapse lettuce' trigger: - at: '11:30' platforma: time action: - service: camera.snapshot data_template: entity_id: camera.esp32cam nazwa pliku: '/config/timelapse_lettuce/esp32cam_{{ now().year }}_{{ teraz().dzień }}_{{ teraz ().miesiąc }}_{{ teraz ().godzina }}{{ teraz ().minuta }}.jpg'
Krok 12: Wykończenie
I to wszystko. Wystarczy podłączyć go do zasilacza jak pokazano na rysunku, a następnie jakoś skleić i zabezpieczyć - zaklinować blutakiem - na obudowie.
Mam nadzieję, że podobał Ci się mój Instructable, wszelkie pytania proszę zadać. Więcej zdjęć tego i innych projektów znajdziecie na moim instagramie @limpfish.
Dziękuję