Inteligentny dom „eHouse 1” w wersji RS-485 Oprogramowanie Open Source dla Linuxa.
Obsługa urządzeń pracujących z interfejsem szeregowym RS-485 wymaga hosta nadrzędnego.
Z punktu widzenia sprzętowego może to być np dowolny sprzęt komputerowy wyposażony w port RS-485 (RS-232 z przejściówką na 485).
W tym rozdziale zajmiemy się programowaniem pod linuksa pod kątem systemu eHouse 1.
Jest to najbardziej popularnym systemem poza Windows.
Istnieje kilkadziesiąt dystrybucji Linuxa, najpopularniejsze z nich są:
- Linux Mint
- Ubuntu
- Fedora
- Debian
- openSUSE
- Arch Linux
- PCLinuxOS
- CentOS/Red Hat
- Mandriva
- Slackware
Rozmaitość tych dystrybucji pozwoliło na ich zastosowanie na dowolnym sprzęcie komputerowym lub posiadającym procesor sterujący:
- Komputery PC
- tablety
- smartfony
- PDA
- karty komputerowe
- panele sterujące
- dekodery satelitarne
- routery
Istnieje więc praktycznie możliwość napisania oprogramowania na dowolny sprzęt.
Wymaganiem jest możliwość podłączenia systemu „eHouse 1” tj port RS-232 lub USB. Konieczne jest także posiadanie jakiegoś zasobu dyskowego (np. karta pamięci flash).
Interfejs RS-485 nie jest standardowym wyposażeniem urządzeń komputerowych, konieczne jest zastosowanie konvertera RS-485/RS-232C.
W przypadku braku portu szeregowego RS-232C w sprzęcie komputerowym, konieczne jest podłączenie przez przejściówkę RS-232/USB. Konieczne jest dokładne przetestowanie transmisji przez przejściówkę gdyż większość przejściówek dostępnych na rynku jest kiepskiej jakości, zrywają połączenie, przegrzewają się, mają problemy z driverami na różne systemy.
Wymagany jest przeplot w stosunku do pozostałych urządzeń na magistrali RS-485. Linie TX zamienia się z liniami RX.
Ponieważ oryginalne oprogramowanie inteligentnego domu eHouse jest pisane w delphi, możliwe jest na jego podstawie utworzenie oprogramowania w Pascalu na inne platformy sprzętowe i systemowe posiadające pełną funkcjonalność systemu eHouse 1 pod nadzorem aplikacji eHouse.Exe (Poza konfiguracją sterowników, wgrywaniem firmwaru i innymi funkcjami administracyjnymi).
Istnieje darmowe środowisko programistyczne Lazarus pozwalające na tworzenie oprogramowania na linuxa, windows w języku Pascal. Rozwój kompletnego oprogramowania eHouse dla komputera PC mija się z celem gdyż jest udostępniony darmowy pakiet oprogramowania dla eHouse1.
Ma sens jednak tworzenie oprogramowania na małe płyty komputerowe, które zarządzają sterownikami eHouse 1, oraz wykonują własne zaawansowane algorytmy sterujące dla automatyki budynku eHouse nie zaimplementowane w sterownikach. Dodatkowo mogą realizować funkcje komunikacyjne z panelami do sterowania, zarządzania i wizualizacji przez różne media transmisji.
Port szeregowy dla transmisji z eHouse1 należy skonfigurować wybierając
- prędkość 115200
- parzystość „even”
- 1 stop bit
- brak kompresji
- brak kontroli przepływu
format ramki transmisji ze sterownika jest zależny od trybu pracy normalny i „rozszerzony adres – *”.
Znaczenie kolejnych bitów w ramce jest następująca:
1. rozmiar danych (rozmiar danych)
2. Adres H sterownika (Adres H docelowy *)
3. Adres L Sterownika (Adres L docelowy *)
4. Komenda sterująca (Adres H zwrotny sterownika *)
5 Dane 1 bajt (Adres L zwrotny sterownika *)
6. Dane 2 bajt (Komenda sterująca *)
7 Dane 3 bajt (Dane 1 bajt *)
8.. reszta danych ramki (dane n-2 *)
Dla systemu eHouse 1 najlepiej ograniczyć się do trybu rozszerzonego adresu.
Umożliwi to kompletne przesyłanie zdarzeń między sterownikami.
Przy odbieraniu ramki ze sterownika należy zwrócić uwagę na komendę sterującą:
's’ jest znacznikiem statusu
'l’ oznacza przesyłanie danych logów ze sterownika
Gotowy kod źródłowy znajduje się pod adresem Inteligentny Dom eHouse 1 – programowanie Linux Obsługa RS-485 w Pascalu dla eHouse1.
Więcej informacji: Inteligentny Dom eHouse – dekodowanie statusu