Přístupnostní navigace
E-application
Search Search Close
Master's Thesis
Author of thesis: Ing. Ivan Halomi
Acad. year: 2023/2024
Supervisor: Ing. Petr John
Reviewer: Ing. Jiří Hynek, Ph.D.
The devices communicate using messages, which can be in different formats. Therefore, to get data from a device, it is necessary to understand its messages and know their structure in order to convert the data into models used in the application. In the original version of the application, the process of adding new supported device models was unsustainable in the long term as it required programmer intervention and application recompilation each time a new model was added. This situation required the development of a solution that would allow new models to be easily added without requiring programmer intervention and re-compilation of the application. The proposed and implemented solution successfully eliminated this problem. Currently, the user is able to independently add a new device model and define its data processing functions according to his own needs. This solution extracts the functions needed to process and encode messages from the database and then executes them in an isolated environment, eliminating the possibility of unwanted operations that the user might try to perform.
smart devices, internet of things, cloud, data processing, Chirpstack, Zigbee2Mqtt, isolated environment in JS
Date of defence
28.08.2024
Result of the defence
Defended (thesis was successfully defended)
Grading
B
Process of defence
Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázku oponenta. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na otázku položenou oponentem rozhodla práci hodnotit stupněm B - velmi dobře.
Topics for thesis defence
Language of thesis
Slovak
Faculty
Fakulta informačních technologií
Department
Department of Information Systems
Study programme
Information Technology and Artificial Intelligence (MITAI)
Specialization
Software Engineering (NSEN)
Composition of Committee
doc. Ing. Richard Růžička, Ph.D., MBA (předseda) prof. Ing. Tomáš Vojnar, Ph.D. (člen) Ing. Tomáš Milet, Ph.D. (člen) doc. Ing. František Zbořil, CSc. (člen) Ing. Jaroslav Dytrych, Ph.D. (člen) doc. Ing. Lukáš Burget, Ph.D. (člen)
Supervisor’s reportIng. Petr John
Student pracoval velmi samostatně a pečlivě. Výstupem práce je rozšíření platformy společnosti Logimic, které dovoluje uživatelům i vývojářům přidávat funkce odpovědné za transformaci mezi datovými modely. Uživatelé mohou tyto funkce přidávat pomocí grafického uživatelského rozhraní a jejich běh je virtualizován, což redukuje možnost zneužití tohoto nástroje útočníkem. Díky tomuto rozšíření je možné přidávat podporu pro nová zařízení bez nutnosti překladu aplikace či přístupu ke zdrojovému kódu aplikace.
Navrhuji hodnocení stupněm B.
Cílem této diplomové práce bylo vylepšení aktuální architektury backendového zpracování příchozích a odchozích dat z různých typů chytrých zařízení v aplikaci zaměřené na správu chytrých měst vyvíjenou pro společnost Logimic. Proces zpracování dat zahrnuje mimo jiné i jejich převod do interní reprezentace společnosti. Za tímto účelem se využívají enkodéry pro odchozí a dekodéry pro příchozí data do aplikace. Původní řešení umožňovalo přidání nových typů zařízení do aplikace vytvořením podpory pro tato zařízení v rámci zdrojového kódu aplikace a následným překladem. Kvůli tomuto přístupu obsahovalo původní řešení více vstupních bodů, které poskytovaly podporu pro podobné typy zařízení, a neumožňovalo úpravy koncovým uživatelem. Diplomová práce měla tři primární cíle, a to navrhnout a implementovat řešení, které umožní jak vývojářům, tak uživatelům přidat podporu pro nové typy zařízení, sjednotit vstupní body a otestovat vytvořený přístup na zařízeních kompatibilních s Open-Source nástrojem Zigbee2MQTT. Za tímto účelem musel student nastudovat širokou škálu technologií, a to od přenosových technologií (Zigbee, LoRaWAN, interní formáty firmy Logimic), přes technologie spojené s aktuálně používanými prostředími (Node.js, Express.js a cloudové prostředí AWS) a možnostmi spouštění potencionálně nebezpečného kódu, až po technologie používané ve frontendové části aplikace (Angular.js, PrimeNG). Student navrhl a implementoval řešení, které využívá relační databázi PostgeSQL pro ukládání uživatelem definovaných funkcí určených k práci s daty od zařízení, vytvořil abstrakci umožňující virtualizaci spouštěného kódu, sjednotil vstupní body pro zpracování dat a vyvinul uživatelské rozhraní pro správu funkcí pro práci s daty. Vytvořené řešení je integrováno v současné verzi aplikace společnosti Logimic. Zadání hodnotím jako průměrné složité. Bylo splněno ve všech jeho bodech.
Práce byla dokončena v dostatečném předstihu a mohla tak být řádně konzultována a prezentována ve společnosti Logimic.
Student prostudoval doporučenou literaturu a aktivně si vyhledával další zdroje.
Student komunikoval během celého akademického roku. Konzultace probíhaly online přibližně každé dva týdny v zimním semestru a každé tři týdny v letním semestru. Student také aktivně diskutoval dílčí kroky se zástupci společnosti Logimic.
Grade proposed by supervisor: B
Reviewer’s reportIng. Jiří Hynek, Ph.D.
Student řešil netriviální zadání. Až na některé výše uvedené nedostatky (zejména v technické zprávě) se jedná o kvalitní práci. Navrhuji hodnocení stupněm B.
Evaluation level: zadání splněno
Evaluation level: je v obvyklém rozmezí
Prezentační úroveň technické zprávy je na průměrné úrovni. Práce je rozumně členěna na teoretickou a praktickou část. Implementační část je místy chaotická. Testování je popsáno spíše stručně.
Formální stránka práce je slabší. Obsahuje různé typografické chyby (např. špatné pomlčky). Obrázky jsou v rastrové podobě, mnohdy méně kvalitní. Místy chybí čárky.
Student prostudoval nadprůměrné množství odborných zdrojů. Ocenil bych pouze, kdyby bylo více zkoumáno, zda-li někdo řešil podobný problém.
Praktické řešení hodnotím kladně. Pomocí implementovaného rozšíření je možné definovat nový model zařízení bez nutnosti kompilovat back-end část platformy. Řešení podporuje tři formáty zpráv: LoRa Chirpstack, Zigbee2MQTT a Logimic Dev5. Řešení je funkční jak s verzí běžící na AWS využívající funkce Lamda, tak s tzv. řešením on-premise.
Výsledky jsou potenciálně využitelné ve firmě Logimic.
Evaluation level: obtížnější zadání
Cílem studenta bylo navrhnout a implementovat do stávající platformy pro správu chytrých zařízení firmy Logimic podporu pro dynamické přidávání nových modelů chytrých zařízení. V praxi to znamená, že uživatel platformy prostřednictvím studentem implementovaného uživatelského rozhraní zadá funkce pro kódování a dekódování zpráv ze zařízení a funkci pro práci s dekódovanými daty. Aby tohoto student dosáhl, musel se důkladně seznámit s problematikou IoT, principem zasílání zpráv a jejich formáty z jednotlivých gateway serverů (LoRa, Zigbee2MQTT), platformou firmy Logimic a vývojem informačních systémů (TypeScript, Express, Angular, PostgreSQL). Zadání hodnotím jako obtížnější.
Grade proposed by reviewer: B
Responsibility: Mgr. et Mgr. Hana Odstrčilová