Raspberry iHome Controler

 
 
Raspberry iHome Controller to system sterowania oparty na Raspberry Pi.

Pozwala w prosty sposób sterować wyjściami oraz innymi urządzeniami do niego podpiętymi.

Instalacja polega na wgraniu plików do katalogu i uruchomieniu kliku usług. Nie wymagany jest obraz z zainstalowanym pełnym systemem. W pomocy dotyczącej instalacji i konfiguracji opisane jest krok po kroku jakie usługi należy uruchomić do poprawnego działania systemu.

Całość jest kompatybilna z systemem iHome.
Możliwości systemu:

System posiada wiele możliwości, które pozwalają na szeroki zakres sterowania różnymi urządzeniami i modułami. Oto kilka z tych możliwości:
  • Sterowanie pinami: System umożliwia odczyt stanów pinów, sterowanie nimi oraz generowanie sygnałów PWM (ang. pulse width modulation). Dzięki temu można kontrolować różnego rodzaju urządzenia elektroniczne, takie jak diody LED, silniki, czy też przekaźniki.
  • Obsługa czujników DS18B20: System jest w stanie odczytywać dane z czujników temperatury DS18B20, co pozwala na monitorowanie temperatury w różnych miejscach i sterowanie systemami grzewczymi, chłodzącymi czy wentylacyjnymi.
  • Współpraca z modułem RFLink: RFLink to moduł umożliwiający bezprzewodową komunikację z różnymi urządzeniami, takimi jak piloty do sterowania urządzeniami domowymi, czujniki ruchu czy też stacje pogodowe. Dzięki współpracy z tym modułem, system może kontrolować i odczytywać dane z różnych urządzeń bezprzewodowych.
  • Obsługa magistrali UART: System umożliwia komunikację z urządzeniami przez magistralę UART, co pozwala na kontrolowanie różnych urządzeń, takich jak drukarki, modemy czy też kamery.
  • Sterowanie urządzeniami zewnętrznymi w tej samej sieci lokalnej co Raspberry Pi: System może sterować różnymi urządzeniami, takimi jak sonoff, za pomocą protokołów takich jak MQTT czy HTTP. Dzięki temu można zdalnie kontrolować różnego rodzaju urządzenia z poziomu systemu.
  • Włączanie komputerów pakietem RDC i sprawdzenie czy są online (PING): System może kontrolować i włączać komputery w sieci lokalnej za pomocą pakietu RDC (ang. Remote Desktop Connection) oraz sprawdzać, czy są one online za pomocą polecenia PING.
  • Obsługa protokołu HTTP: System obsługuje protokół HTTP, co umożliwia zdalne sterowanie poszczególnymi modułami systemu poprzez wpisywanie komend w pasku adresu przeglądarki.
  • Obsługa protokołu MQTT: System jest w stanie komunikować się z innymi urządzeniami IoT za pomocą protokołu MQTT, co umożliwia integrację z różnymi systemami i aplikacjami.
       
Galeria zdjęć i krótki opis:
 
 
 
 
 
Opisany system jest napisany w dwóch językach programowania, Pythonie i PHP, oraz podzielony na moduły. Każdy moduł jest uruchamiany w osobnym skrypcie i na bieżąco monitorowany, co oznacza, że jego działanie jest śledzone i ewentualne problemy są szybko wykrywane i rozwiązywane.

System umożliwia sterowanie poszczególnymi elementami na kilka sposobów. Pierwszym z nich jest panel sterowania, który jest dostępny w ramach samego systemu. Panel ten pozwala na wygodne i intuicyjne sterowanie poszczególnymi modułami i elementami systemu.

Drugim sposobem sterowania jest połączenie systemu z serwerem MQTT.
MQTT (Message Queuing Telemetry Transport) to protokół komunikacyjny dla sieci IoT (Internet of Things), który umożliwia urządzeniom komunikację w czasie rzeczywistym. Dzięki połączeniu systemu z serwerem MQTT możliwe jest sterowanie elementami systemu z poziomu innych urządzeń, takich jak smartfony czy komputery.


Kolejnym sposobem sterowania elementami systemu jest używanie komend w pasku przeglądarki internetowej. Dzięki temu użytkownik może wydawać polecenia bezpośrednio z poziomu przeglądarki, bez potrzeby korzystania z panelu sterowania lub serwera MQTT.
przykład:
http://{IP_maliny}/ihome/index.php?a=write&name={nazwa_pola}&action={akcja}
gdzie akcja to: 1 - włączenie, 0 - wyłączenie, -1 - przełączenie


Warto zaznaczyć, że system jest elastyczny i może być łatwo dostosowany do różnych potrzeb. Dzięki modularnej architekturze, można dodawać nowe moduły i funkcjonalności, a także modyfikować istniejące. Dodatkowo, dzięki możliwości połączenia z serwerem MQTT, system może być integrowany z innymi systemami IoT, co zwiększa jego wartość i potencjał.


Raspberry iHome Controler / 2018