
1. Funkcja.
Sterownik kotła gazowego do ogrzewania domu odtwarzający radio ze strumieni internetowych, z wyświetlaczem dotykowym. (Takie funkcje ma obecnie).
2. Sprzęt
Sercem sterownika jest Raspberry Pi 3 Model B wyposażony w wyświetlacz dotykowy Waveshare 5" HDMI / USB, oraz płytkę wejść/wyjść mojego projektu.
Raspberry łączy się z domową siecią Wifi, do której są podłączone czujniki temperatury oparte na modułach ESP 8266 z dopiętymi termometrami DS18B20.
Moduły ESP generują prostą stronę www z bieżącymi pomiarami.
Czujniki zasilane są z przetwornic AC/DC 230/3.3V (HLK-PM03) i schowane w puszkach domowej instalacji elektrycznej. Dodatkowo do Raspberry podłączyłem barometr BME280.


Diagram obrazujący pracę całości:

3. Oprogramowanie.
Program sterujący pracą ("sterownik") oraz interfejs graficzny napisałem w C z użyciem GTK i programu GLADE.
Dodatkowo pracuje skrypt w Pythonie (zbierający dane z czujników), oraz skrypty Gnuplota do generowania wykresów.
Poniżej schemat blokowy oprogramowania:

GUI.
Okno główne

Okno Piec

Okno Pomiar

PYTHON
Zadaniem skryptu jest czytanie sensorów i tworzenie plików raportowych dla sterownika i gnuplota.
Za pomocą pycurl wydobywam interesujące mnie informacje ze stron www generowanych przez Esp.
Czytam także barometr po spi i termometry po 1-wire.
GNUPLOT
Jego zadanie jest proste: generuje obrazy wykresów z określonych przedziałów czasu. Obrazki są używane w Gui.
STEROWNIK
Pracuje jak zwyky sterownik modulujący do kotła gazowego. Zwiera styk gdy jest rządanie grzania.
Czyta dane z pomiarowe z pliku, analizuje je i decyduje o załączniu, lub zgaszeniu kotła.
Sterownik pozwala wybrać sensor (miejsce pomiaru), który ma porównywać z temperaturą zadaną. Jest wyposażony w zabezpieczenia w razie awarii termometru (przełącza się na odczyt średniej temeratury z pozostałych działających termometrów. Gdy wszystkie uległy awarii – wyłącza automatykę pieca).
Dodatkowo pozwala na odtwarzanie stacji radiowych transmitowanych przez internet.
Funkcje planowane :
- Harmonogram pracy kotła (wybór okresów grzania, tryb nocny, tryb weekendowy itp.)
- Odtwarzacz muzyki
WSAD DO ESP
Program do ESP jest napisany w C w środowisku Arduino IDE z wtyczką do ESP.
Próbowałem z Neodemcu i językiem LUA oraz ESPlorer , ale LUA nie jest dla mnie

Programowanie w Arduino IDE jest proste, a wsparcie dla ESP kompletne.
Każdy z modułów ESP ma przypisane stale IP i komunikuje się z routerem domowym.
4. Audio.
Sprzętowo poszedem po najmniejszej linii oporu. Gośniki do komputera z wzmacniaczem.
Jakość dźwięku z wyjścia audio z RPI jest marna, ale chodzi jedynie o nagłośnienie łazienki, gdzie jest zamontowany cay sprzęt.
5. Opcje na przyszłość
Rpi ma spore możliwości, więc pomysłów mam sporo:
- Moduly ESP wyposażyłem w obsługę wejścia dwustanowego, co daje możliwość wykorzystania ich jako czujników otwarcia drzwi lub okien.
- dostęp do sterownika przez internet, możliwość zmiany ustawień i podgląd statusu.
- wysyłanie SMS lub maili w razie wyzwolenia czujnika otwarcia drzwi.
- użycie czujnika zalania
6. Koszty
Przestałem liczyć po 500 PLN, ale to w końcu hobby. Liczy się frajda. Nauczyłem się GTK, doszlifowałem C i Pythona, a to jest cenne.
7. Kody i projekt płytki w załącznikach.
Cool? Ranking DIY