Skocz do zawartości

Sterownik domu na Raspberry PI


Harnas

Pomocna odpowiedź

Chciałbym przedstawić wam projekt sterownika inteligentnego domu. Można dzięki niemu sterować przez przeglądarkę oświetleniem, grzejnikami, informowanie użytkownika o otwartych oknach lub drzwiach, sterowanie roletami w zależności od pory dnia lub natężenia światła, możliwość przeglądania wykresów temperatury w poszczególnych pokojach. System działa automatycznie, według ustalonej wcześniej konfiguracji. Jest możliwy do obsłużenia za pomocą każdego urządzenia podłączonego do sieci komputerowej (laptop, tablet, telefon). Istnieje możliwość wysyłania wiadomości email gdy będzie działo się coś podejrzanego. Oprócz tego służy mi jako mały NAS gdzie na dysku podłączonym przez USB i udostępnionym po SMB przechowuje zdjęcia i backupy.

Całość działa następująco:

• Użytkownik łączy się przez przeglądarkę z Raspberry PI, gdzie jest uruchomiony pakiet OpenHAB. Odpowiada on za bezpośrednią interakcje z użytkownikiem, przesyłaniem odpowiednich komunikatów do naszego programu pośredniczącego i archiwizowaniem wszystkich akcji w bazie danych MySQL.

• Następnie komunikaty trafiają za pomocą protokołu MQTT to specjalnie napisanego programu. Jego rolą jest odpowiednie przetworzenie pakietu i wysłanie go w do odpowiedniego urządzenia końcowego drogą radiową. Tutaj mieści się cała warstwa komunikacji z urządzeniami wykonawczymi. Komunikaty odebrane drogą radiową od urządzeń końcowych są tu również przetwarzane i wysyłane dalej po MQTT.

• Urządzenia końcowe mogą być zamontowane na przykład w puszcze podtynkowej. Każde z nich posiada 2 niezależne przekaźniki do sterowania . Oprócz tego na płytce znajduje się czujnik światła, złącza do podłączenia termometru czy czujnika halla oraz dodatkowe I/O ogólnego zastosowania. Użytkownik może zdefiniować ich nazwy oraz używane peryferia.

Oprogramowanie:

Program pośredniczący został napisany w języku C/C++. Zostały użyte następujące biblioteki: Mosquitto (obsługa MQTT), RF24 i RF24Network (obsługa nRF24L01).

W przyszłości sposób komunikacji radiowej zostanie oparty na sieci MESH, co pozwoli na podłączenie praktycznie nieograniczanej ilości czujników, oraz znacznie ułatwi konfiguracje całego systemu. Planujemy też przejście na OpenHAB2 w którym to całą konfigurację można wyklikać.

Elektronika:

Urządzenia końcowe są oparte na Arduino Pro Mini. Była to najtańsza i najłatwiejsza droga do stworzenia działających prototypów. Płytki PCB zostały wykonane w filmie Elecrow, z zamówionych 10 sztuk przyszło 13 🙂 Niedługo powstanie finalna wersja modułu końcowego oparta bezpośrednio na mikrokontrolerze STM32.

W opracowaniu jest też specjalny shield na Raspberry PI, zawierający oprócz modułu nRF24L01 dodatkowe interfejsy jak na przykład RS485 i GSM.

Główny serwer (Raspberry PI). Działa na Linuxie (Raspian).

Moduły końcowe. Program został napisany w Arduino IDE. Na zdjęciach widać że zrobiłem złego footprinta pod przekaźniki 🙂

Przykładowe screeny z OpenHABa.

Jedyny filmik jaki posiadam jest dość słabej jakości, po sesji postaram się nagrać coś ładniejszego 🙂

  • Lubię! 1
Link do komentarza
Share on other sites

Podoba Ci się ten projekt? Zostaw pozytywny komentarz i daj znać autorowi, że zbudował coś fajnego!

Masz uwagi? Napisz kulturalnie co warto zmienić. Doceń pracę autora nad konstrukcją oraz opisem.

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.