Tworzenie Oprogramowania dla Paneli sterujących pokojami dla Tabletów Windows

Inteligentny Dom, Inteligentny Budynek eHouse. Omówienie oprogramowania (kodu źródłowego) z biblioteki programistycznej Windows.
Tworzenie dedykowanych paneli sterujących pomieszczeniem z Tableta Windows XP..7

Ze względu na coraz niższą cenę tabletów i paneli naściennych można pokusić się o zastosowanie takiego panelu jako „włączników wirtualnych”. Tablety te są znacznie bardziej mobilne niż standardowe włączniki elektryczne i panele naścienne.
W porównaniu z dedykowanymi panelami naściennymi dla typowych systemów automatyka domu są blisko dziesięciokrotnie tańsze co pozwala na znaczne ograniczenie kosztów finalnych systemu umożliwiającego  sterowanie domem, sterowanie budynkiem.
W przypadku zastosowań hotelowych, w pensjonatach, biurach, gdzie liczba ta jest bardzo duża (kilkadziesiąt / kilkaset) zyski z takiego rozwiązania są bardzo konkretne (z rzędu 3000€ na panelu przy cenie paneli dedykowanych dla automatyki budynku w różnych standardach, liczonych na poziome 4000€).

Projekt ten oparto na założeniu osiągnięcia jak najprostszego panelu sterującego pomieszczeniem (pokojem) z jednego RoomManagera (sterowniki mikroprocesorowe eHouse), uzyskując pełną funkcjonalność i łatwość obsługi, bez przedzierania się przez niezliczoną liczbę elementów menu co szczególnie może być utrudnione dla dzieci czy osób ze słabszym wzrokiem.

Jest to bardziej projekt instruktażowy i minimalistyczny niż docelowy panel sterujący dla VIP’ów.

Kod źródłowy oprogramowania może stanowić szablon aplikacji bardziej eleganckiego i „wypasionego” panelu tworzonego przez firmy i inwestorów rozwijające system eHouse lub swoje indywidualne instalacje.

Prostota panelu sterującego automatyka , nie poraża zaawansowaną grafiką i mnogością dodatkowych, umiarkowanie potrzebnych funkcji, jednak chodzi o maksymalne odchudzenie z gadżetów, w celu zrozumienia samej idei panelu i nie zaśmiecania kodu źródłowego niepotrzebnymi elementami.

Kolejny argument, który przemawia za prostotą jest znaczna oszczędność energii (co jest szczególnie ważne przy panelach mobilnych zasilanych z baterii) i małe zużycie mocy obliczeniowej procesora w stosunku do tych samych aplikacji, znacznie bardziej utylizujących grafikę.

Czyni to także takie panele, znacznie bardziej czytelne i umożliwia odczytywanie wartości pomiarów oraz statusu systemu, ze znacznie większej odległości, bez potrzeby podejścia bezpośrednio do panela

Zrzuty ekranów dla różnych stanów sterownika mikroprocesorowego (dla Salonu) obrazujące włączone/wyłączone wyjścia oraz pomiary wartości analogowych.

Softwarowy Panel sterujący systemem eHouse na Tablety i panele dotykowe Windows XP, Vista, Windows 7
Softwarowy Panel sterujący systemem eHouse na Tablety i panele dotykowe Windows XP, Vista, Windows 7
Softwarowy Panel sterujący systemem eHouse na Tablety i panele dotykowe Windows XP, Vista, Windows 7

Wstępny opis projektu znajduje się na stronie:
Tworzenie Oprogramowania pokojowego panelu sterującego Windows dla inteligentnego domu eHouse

Aplikacja jest oparta na bibliotece API (oprogramowaniu z udostępnianym kodem źródłowym) eHouseLogAnalizer, które realizuje automatyczne odczytanie nazw sterowników, wejść, wyjść i synchronizuje statusy sterowników poprzez tworzące się logi systemowe na serwerze PC systemu eHouse.

Biblioteka Oprogramowania API dla inteligentnego budynku eHouse dla Windows – eHouseLogAnalizer

Wstępna konfiguracja główna jest przeprowadzona z linii poleceń aplikacji:

Jako parametry w linii poleceń lub dla skrótu uruchamiającego aplikację stosuje się:
/x:szerokość_panela – szerokość panela w pikselach /x:800
/y:wysokość_panela – wysokość panela w pikselach /y:600
/a:adres_sterownika_mikroprocesorowego – np „/a:55-1″ dla roommangera 1 alternatywnie do /r
/r:nazwa_sterownika_mikroprocesorowego – np „/r:salon” alternatywnie do /a
/p:ścieżka_zdalna_ehouse – przy uruchomieniu oprogramowania znajdującego się na panelu nie na serwerze PC systemu eHouse a dane sczytywane są z podanej ścieżki a nie katalogu lokalnego – np: /p://ehousesrv/ehouse/

Ustawienia nazw wyjść są pobierane z konfiguracji na komputerze PC (serwerze eHouse).

Reszta ustawień znajduje się w zmiennych globalnych docelowo mogą być pobierane z plików tekstowych konfiguracyjnych.

 

var path:string;   //local path
remotepath:string;//zdalna sciezka – remote path to ehouse server
oncolor:tcolor=clwhite; //button color for output ON – kolor przycisku dla włączonego wyjścia
offcolor:tcolor=clgray; //button color for output OFF – kolor przycisku dla wyłączonego wyjścia
deviceindex:integer;  //index of RM table to display – indeks aktualnie wyświetlanego roommangera
rows:integer=4;  //number of buttons per row to display – liczba przycisków w jednej linii

labelrows:integer=2;    // number of buttons per row to display – liczba etykiet tekstowych w jednej linii

//all units in pixels for current screen – wymiary podane w pikselach ekranu

fontsize:integer=10; //size of font for buttons – rozmiar czcionki dla przycisków
labelfontsize:integer=12;   //size of font for text labels – rozmiar czcionki dla etykiet tekstowych
yoffsetlabel:integer=10; //offset for labels block in y axis from the top – przesuniecie bloku etykiet w osi x
Buttonwidth:integer=180; //all buttons width – szerokość przycisków wirtualnych
Buttonheight:integer=30; //all buttons height – wysokość przycisków wirtualnych
LabelHeight:integer=20;  //all labels height – wysokość etykiet tekstowych
yoffsetouts:integer=100; //offset for outputbuttons block in y axis – przesunięcie w dol dla przycisków wejściowych
yoffsetprograms:integer=350; //offset for programbuttons block in y axis – przesuniecie w dol dla przycisków programu
xspace:integer=3; //space between buttons in x axis – odstęp miedzy przyciskami w osi x
yspace:integer=5; //space between button in y axis – odstęp miedzy przyciskami w osi y
labelwidth:integer=250; //width  for all labels – szerokość wszystkich etykiet tekstowych
labelresultsize:integer=100; //dynamic result for labels size – rozmiar pola zmiennego w etykiecie zastępowanego przez wyniki pomiarow
computername:string; //computername for unique name of panel – nazwa komputera dla unifikacji wielu paneli pracujących jednocześnie
devicestoupdatestatus:string=’*’;     //* for all devices otherwise addressh-addresslow – * gwiazdka sprawdzane wszystkie sterowniki lub „adresh-adresl” tylko dla jednego (np „55-1”)

Jeden komentarz do “Tworzenie Oprogramowania dla Paneli sterujących pokojami dla Tabletów Windows”

Możliwość komentowania została wyłączona.