Inteligentny Dom eHouse. Wysokopoziomowe Programowanie Windows wykorzystując pakiet oprogramowania eHouse.
Automatyka eHouse może zostać dodatkowo oprogramowana, stosując programy „nakładki” pracujące równolegle do oprogramowanie inteligentnego domu eHouse w niekolidujący z nim sposób.
Przykłady będą w języku programowania Delphi 5.0 (Pascal), aby można było użyć darmowych już wersji tego oprogramowania dla amatorów i do zastosowań domowych.
Profesjonaliści i programiści, szczególnie posiadający licencje na nowsze wersje Delphi mogą oczywiście użyć nowszych i bogatszych wersji, lub przerobić przykłady na inne języki programowania jak C++, C# itd.
Wysokopoziomowe programowanie dla systemu eHouse polega na tworzeniu oprogramowania sterującego domem bez ingerencji w protokoły transmisyjne i komunikacje sterowników wykorzystując istniejące oprogramowanie eHouse. Zapewni to poprawną pracę takiego rozwiązania, nawet w przypadku poważnych zmian protokółów transmisyjnych czy medium transmisyjnego.
Pakiet oprogramowania eHouse (aplikacja eHouse.exe) umożliwia między innymi:
- Monitorowanie zewnętrznych aplikacji współpracujących z systemem (konfiguracja w katalogu „%EHOUSE_DIR\exec\”) szczególnie KillEhouse.exe
- Aktualizuje dane i statusy wyjść, wejść, wejść pomiarowych wszystkich sterowników elektronicznych
- Tworzy logi tekstowe w katalogu” %EHOUSE_DIR%\logs\”
- Tworzy znaczniki plikowe włączonych wejść i wyjść zgodnie z nadanymi nazwami przy konfiguracji dla sterowników, wyjść, wejść, itd
- Cyklicznie sprawdza kolejkę zdarzeń do wysłania do sterowników „%EHOUSE_DIR%\emails\” w formacie pliku tekstowego
Aplikacja (KillEhouse.exe) umożliwia:
- monitorowanie innych aplikacji systemu eHouse (konfiguracja w katalogu „%EHOUSE_DIR\killexec\”)
- Wymuszenie zamknięcia aplikacji w przypadku timeoutu, zawieszenia, braku odpowiedzi przez zaprogramowany czas
- Aplikacja KillEhouse może być monitorowana przez „eHouse.Exe”, dla zapewnienia ciągłej pracy systemu eHouse pod nadzorem komputera PC
Monitorowanie aplikacji, stabilności i utrzymanie ciągłości pracy oprogramowania
W pakiet oprogramowania eHouse wbudowany jest programowy Watch Dog Timer (WDT) do monitorowania pracy wszystkich aplikacji i ciągłości komunikacji ze sterownikami.
Pliki konfiguracyjne dla Watch Dog Timerów (WDT) muszą mieć rozszerzenie „.runs” aby były czytane przez aplikacje eHouse.
Format pliku konfiugracyjnego „*.runs” dla aplikacji eHouse.Exe i KillEhouse.exe jest następujący:
Przykład dla eHouse.exe ze sprawdzeniem aktualizacji danych – sterownik mikroprocesorowy o nazwie „Salon”:
—————————————————————————————————-
e-House Manager Nazwa aplikacji w Managerze zadań windows (TaskManagerze)
ehouse.exe Nazwa pliku programu. Musi on znajdować się w katalogu „%EHOUSE_DIR\bin\”
/ne /nr /nt /nd Parametry w wierszu poleceń dla aplikacji
100000 Maksymalny czas pracy
120 Maksymalny czas nieaktywności aplikacji
e:\e-Comm\e-House\logs\salon.txt Nazwa pliku sprawdzanego (zmiana daty zapisu – oznaczającą poprawną pracę danej aplikacji)
Puste – przyszłe zastosowania
Puste – przyszłe zastosowania
Puste – przyszłe zastosowania
Puste – przyszłe zastosowania
Puste – przyszłe zastosowania
Puste – przyszłe zastosowania
Puste – przyszłe zastosowania
Puste – przyszłe zastosowania
Puste – przyszłe zastosowania
Wysyłanie zdarzeń systemu eHouse do sterowników mikroprocesorowych – uruchamianie komend
Główne zdarzenia systemowe dla każdego sterownika są wyeksportowane do katalogu „%EHOUSE_DIR\AllEvents\” w formacie plików tekstowych.
Zdarzenie do uruchomienia zapisane w pliku tekstowym należy po prostu przekopiować do kolejki zdarzeń systemu eHouse, czyli katalogu „%EHOUSE_DIR\emails\”.
Nazwa pliku zdarzenia w tym katalogu dla informacji zawiera nazwę sterownika mikroprocesorowego lub urządzenia oraz nazwę zdarzenia. Nazwa ta jest generowana przy zastąpieniu polskich znaków regionalnych podstawowymi ASCII i ma znaczenie tylko informacyjne.
Rozszerzenie pliku musi być „.run” aby było ono przechwycone z kolejki zdarzeń po skopiowaniu. Zawartości pliku nie wolno zmieniać, gdyż ma on określony format i w przypadku błędnego zapisu zdarzeń, będą one usuwane lub powodowały niestabilną pracę systemu. Najlepiej jest kopiować plik zdarzeń a nie tworzyć go samemu w katalogu kolejki zdarzeń.
Zawartość pliku jest następująca:
Salon; Oświetlenie Centralne 2
Gdzie Salon – nazwa sterownika RoomManagera – do Sterowanie Oświetleniem i Sterowanie Ogrzewaniem w pomieszczeniu
Oświetlenie Centralne 2
Separatorem między nazwą urządzenia a nazwą zdarzenia jest średnik i spacja „; ”
Inne przykłady zawartości plików:
Salon; IR (Video – REW)
//uruchomienie zdarzenia podczerwieni wysłanie nauczonego kodu do magnetowidu dla przewijania wstecz
Salon; Program 2
//uruchomienie programu numer 2 dla sterownika salonu
Jest to bardzo prosta metoda uruchamiania podstawowych zdarzeń dla sterowników przez proste kopiowanie.
Uruchomienie bardziej skomplikowanych zdarzeń polega na utworzeniu pliku o następującym formacie (zdarzenia bezpośredniego):
Secu; W domu (Dzień) Nazwa jak powyżej jednak tylko dla informacji wyświetlenia w logach
puste linie
puste linie
puste linie
puste linie
puste linie
puste linie
puste linie
puste linie
Direct Event Dont change this file Znacznik zdarzenia bezpośredniego
2 adres h sterownika
1 puste l sterownika
252 kod zdarzenia
99 argument 1 zdarzenia
255 argument 2 zdarzenia
255 argument 3 zdarzenia
255 argument 4 zdarzenia
255 argument 5 zdarzenia
255 argument 6 zdarzenia
255 argument 7 zdarzenia
Cyfry zapisane są w kodzie decymalnym. Kolorem czerwonym oznaczono opisy.
Lista Zdarzeń w trybie „Direct Event” znajduje się np w katalogu „%EHOUSE_DIR%\Mobile\”. W plikach z rozszerzeniem „.TXT” znajduje się nazwa zdarzenia, a w „.DXT” kod zdarzenia bezpośredniego w kodzie heksadecymalnym.
Tworzenie zdarzeń w kolejce powinno odbywać się w jak najkrótszym czasie, aby nie zakłócać normalnej pracy aplikacji eHouse i prób odczytu nie do końca zapisanego pliku.