W ramach inicjatywy smart home staram się przerobić wszystkie źródła światła w domu na „smart”. Celem jest to, aby móc zgasić światło podczas wychodzenia z mieszkania wyłącznikiem ściennym znajdującym się koło drzwi wyjściowych. Stopniowo montuje żarówki wifi oraz dopuszkowe przekaźniki wifi (zależnie od potrzeb) w całym mieszkaniu, ale jednym ze źródeł światła jest okap, który w żaden sposób „smart” nie jest.
Postanowiłem podjąć próbę przerobienia go na urządzenie podpięte do sieci bezprzewodowej w sposób „transparentny”. Podstawowe założenia:
- Integracja poprzez esphome
- Możliwe inwazyjne zmiany (okap jest po gwarancji)
- Z zewnątrz zmiany mają być niewidoczne (funkcjonalność guzika od światła i przełącznika wentylatora powinna być zachowana)
- W miarę możliwości, łatwy dostęp do wszystkich modułów, ponieważ wszystko bazuje na chińskich płytkach które mogą nawalić
Na start zakupiłem następujące komponenty:
- Zasilacz Mean Well RS-15-5 15W (konwersja AC 230V > DC 5V)
- Moduł 8 przekaźników (link)
- Potrzebuję pięciu kanałów: cztery prędkości wentylatora oraz światło
- Płytka ESP-WROOM-32. ESP8266 pewnie by wystarczył, ale cena była śmiesznie niska.
- Konwerter poziomów logicznych 3,3V – 5V (moduł z przekaźnikami pracuje z sygnałami 5V, ESP – 3,3V)
Powyższe zakupy dokonałem niejako „na przypale”, trzy miesiące temu. Nie rozbierałem okapu, po prostu założyłem w jaki sposób powinien on działać. Na szczęście zweryfikowałem dwa dni temu swoje założenia z pozytywnym skutkiem:






Zarówno światła jak i wentylatory zasilane są napięciem przemiennym z sieci. Przełączanie kolejnych poziomów wentylatora powoduje przełączaniem fazy pomiędzy kolejnymi pinami wentylatorów. Każdy z wentylatorów ma osobną wtyczkę, co przyda mi się przy łączeniu ich na późniejszych etapach, ponieważ planuję wykorzystać panel i płytkę do sterowania ESP, a więc będzie tam napięcie DC 3,3V zamiast AC 230V.
Po wstępnych oględzinach przystąpiłem do prototypowania układu:

Pierwszy raz pracuję z konwerterem poziomów logicznych, nie wiedziałem że potrzebuje dwóch źródeł zasilania jako wzorce. ESP zasilam napięciem 5V poprzez pin VIN na płytce, a wbudowana w płytkę przetwornica robi napięcie 3,3V które jest potrzebne dla ESP. Postanowiłem użyć pinu 3,3V i niejako wykorzystać wbudowaną w płytkę przetwornicę do zasilenia konwertera poziomów logicznych.

Tak skonstruowany układ pozwolił mi przetestować działanie modułu przekaźników. Potrzebny był następujący kod yaml w esphome:
esphome:
name: okap
friendly_name: okap
esp32:
board: esp32dev
framework:
type: arduino
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: ####################
ota:
password: ####################
wifi:
ssid: ####################
password: ####################
captive_portal:
web_server:
switch:
- platform: gpio
pin:
number: GPIO27
inverted: True
name: "Relay 1"
id: relay1
interlock: [relay2,relay3,relay4]
- platform: gpio
pin:
number: GPIO26
inverted: True
name: "Relay 2"
id: relay2
interlock: [relay1,relay3,relay4]
- platform: gpio
pin:
number: GPIO25
inverted: True
name: "Relay 3"
id: relay3
interlock: [relay1,relay2,relay4]
- platform: gpio
pin:
number: GPIO33
inverted: True
name: "Relay 4"
id: relay4
interlock: [relay1,relay2,relay3]
Jak widać powyżej, wykorzystuję programowy interlock aby mieć pewność, że włączenie jakiegokolwiek pinu spowoduje wyłączenie pozostałych. Potrzebne jest włączenie trybu inverted, ponieważ ten konkretny moduł sterowany jest poziomem „low”. Piny GPIO zostały wybrane takie, ponieważ znajdują się koło siebie i działają bez problemów. Dyrektywa „web_server:” powoduje, że dostępny jest webserver pod adresem IP tego przekaźnika, który pozwala przetestować jego działanie.
No i działa to: dostępne są cztery przełączniki. Włączenie któregokolwiek, wyłącza pozostałe. Efekt jest taki, że zapala się dioda LED na module przekaźników. To pozwoli mi sterować kolejnymi prędkościami wentylatora. Do zrobienia pozostają:
- Piąte wyjście na światło
- Skonfigurowanie pięciu pinów, które będą robiły za input z panelu włącznika na okapie
- Zrobienie schematu na kartce
- Wykonanie PCB i osadzenie tam wszystkich połączeń / elementów układu
- Zaprojektowanie i wydrukowanie obudowy / obudów na cały układ
- Faktyczne połączenie to z okapem
Zatem… do zobaczenia w części drugiej!