Vizualizációs program fejlesztése KNX rendszerhez

OData támogatás
Konzulens:
Dr. Iváncsy Tamás
Villamos Energetika Tanszék

A különféle intelligens épületinformatikai rendszerek alkalmazásával arra törekszünk, hogy otthonainkat és épületeinket kényelmessé, autonómmá és biztonságosabbá tegyük. Manapság a kényelem és az egyszerűen kezelhető eszközök használata mellett, egyre sürgetőbb kérdéssé válik az energiatakarékosság és a költséghatékonyság. Az említett követelmények, az energiagazdálkodással együtt, csak úgy érhetőek el, ha intelligens vezérlő és állapotfigyelő rendszereket alkalmazunk. Számtalan rendszert és szabványt fejlesztettek ki e célból. Vannak amik elterjedtebbek és szélesebb körben alkalmazottak. Ilyen például a KNX/EIB rendszer, mely Európában az épületinformatikai rendszerek között az egyik legelterjedtebb.

A szakdolgozatom témájának egy KNX buszrendszer számítógépes megjelenítését és vezérlését végző program elkészítését választottam. Ennek megvalósítását és működését mutatom be az alábbi fejezetekben. A vezérlésért felelős webalkalmazást az MVC felosztás szerint terveztem meg és építettem fel, amely a Model View Controller hármas röviditése. Manapság a legtöbb modern, adatokat kezelő alkalmazás ezt a három rétegre osztott felépítést használja. Ezek a rétegek az adattartalom, a megjelenítés és a működés, melyek körkörösen hivatkoznak egymásra.

A vizualizációs program alsó, backend rétegének megvalósításához a Java programnyelvet választottam. A modulok kezelésére a Spring keretrendszert használtam, a backend és a frontend rétegek összeköttetése pedig REST interfészeken keresztül történik. Azért döntöttem ezen technológiák mellett, mert együttes használatuk webalkalmazások készítésére lett kifejlesztve, így teljes mértékben megfelelnek a projekt követelményeinek. Emellett dolgoztam már hasonló környezetben ezekkel az eszközökkel. Az adattároló réteget egy adatbázis valósítja meg, amit JPA-n keresztül ér el a controller. Az adattartalmat a view réteg jeleníti meg internetes felületen egy AngularJs alkalmazás formájában. A program tartalmaz felhasználó azonosítást és többszintű hozzáférést kezel.

A kommunikációt a KNX buszrendszer felé a Calimero Java API segítségével valósítottam meg, ami egy nyílt forráskódú interfész KNX hálózatokhoz. A webalkalmazás felülete lehetővé teszi a KNX hálózatra való csatlakozás után a rendszerben található eszközök állapotának megjelenítését és változtatását, emellett az állapotváltozásról valós idejű visszajelzést ad a felhasználónak. A Calimero lehetővé teszi a KNX eszközök felderítését és a hálózat monitorozását is, de ezen funckciók megbízható működéséhez még további kísérletezgetésre és fejlesztésre van szükség.

A megvalósított programot a Budapesti Műszaki Egyetem V1 épületének 4. emeleti laborjában felállított KNX hálózaton tudtam tesztelni, ahol meggyőződhettem róla, hogy az elvárt funkciókat megbízhatóan képes teljesíteni az adott környezetben. Az egyes funkciók egységeit külön-külön teszteltem, illetve az alkalmazás sebezhetőségeinek felderítését is elvégeztem egy erre alkalmas eszközzel.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.