Inteligentny Budynek eHouse Tworzenie Oprogramowania dla Windows – Podstawy

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.

 
Inteligentny Budynek