czareqpl wrote: A jak dokładnie będziesz sterował tymi przekaźnikami? Jakieś schematy?
Banana Pi M3 posiada piny GPIO którymi można sterować za pomocą biblioteki WiringPi. Wystarczy podpiąć przekaźnik sterowany 5V po pin i już można nim sterować. Oczywiście sam komputer posiada tych złącz dosyć mało więc przy bardziej rozbudowanym systemie trzeba zaprojektować płytkę rozszerzającą ilość pinów lub komunikować się np. z arduino za pomocą pinów rx, tx.
Dodano po 25 [minuty]:
JacekCz wrote: 1. co do architektury, baza nie jest jedynym medium "łączącym". Jeśli jest oczekiwana wysoka dynamika, a żeby programy nie męczyły bazy w nieustających pętlach, można pomyśleć o message queue
Tu masz "ewangelizację", nie patrz na produkt Kafka, nie rekomenduję go dla Twojego projektu, ale na treść ogólną.
https://www.youtube.com/watch?v=7Xjy2ewPJFA
Ewentualnie sugerowanie rozwiązanie to MQTT, ale nie znalazłem materiału "dydaktycznego"
2. C++ jest dość rozwlekłym (np w ilości linii) językiem, i o pewnych ryzykach (UB). Np nie ma zestandaryzowanego interfejsu z bazami danych.
Ale pytasz, więc pewnie go znasz.
Znam tylko podstawy programowania a projekt inteligentnego domu który chcę wykonać ma być projektem przy którym nauczę się wielu rzeczy o których do tej pory nie miałem pojęcia. Programowanie w C++ znam tylko na poziomie tego czego nauczyli mnie w szkole (Technikum Informatyczne) + trochę więcej(ale nie dużo).
Puki co chcę zebrać informacje na jakiej architekturze mam oprzeć swój projekt. I czego mam się nauczyć.
Poczytałem trochę o MQTT i będzie to lepsze rozwiązanie niż baza danych.
Może przedstawie ten projekt trochę szerzej:
Sterownik ma być finalnie dość rozbudowany:
- Sterowanie oświetleniem (230V - wł/wył 12V - ściemnianie i zmiana koloru)
- Sterowanie gniazdami zasilania (gniazda 230V oraz gniazda USB)
- Sterowanie roletami zewnętrznymi
- System alarmowy (czujniki ruchu, dymu, gazu, czadu, czujniki otwarcia okien i drzwi, czujniki zalania, kamery, czujnik poziomu szamba, czujnik deszczu(po informuje o otwartym oknie i zamknie roletę zewnętrzną).
- Sterowanie zamkami elektronicznymi i automatyką bram
- Sterowanie ogrzewaniem podłogowym lub grzejnikowym
- Sterowanie kotłem na pellet
- Sterowanie rekuperacją, klimatyzacją i wentylacją
- Sterowanie domofonem i skrzynką na listy
- Sterowanie domem poprzez „sceny”
Całość ma opierać się na sterowniku postawionym na Banana Pi M3 który połączony jest z płytką wykonawczą (wejścia/wyjścia) oraz stronie internetowej (lub aplikacji) komunikującej się z sterownikiem.
System chcę zaprojektować w sposób uniwersalny, czyli strona lub aplikacja ma pozwolić mi na konfiguracje całego systemu (w trybie serwisowym). Konfiguracja ma pozwolić mi korzystać z jednej wersji programu i płytki do sterowanie różnymi domami.
Oczywiście wiem że rzucam się na głęboką wodę ale myślę że krok po kroku dam rade zbudować taki system. Potrzebuje tylko nakierować się w jakich technologiach powinienem to wykonać.