Bachelor's Thesis

Mobile Editor for Visual Programming of IoT Devices

Final Thesis 3.94 MB

Author of thesis: Bc. David Škrabal

Acad. year: 2024/2025

Supervisor: Ing. Petr John

Reviewer: Ing. Jiří Hynek, Ph.D.

Abstract:

With the development of Internet of things (IoT) technologies, users need a tool that allows them to configure these technologies without requiring programming knowledge. Current tools are often complex and unsuitable for mobile devices. They can discourage users from trying to interfere in any way with the settings of IoT systems. The aim of this work is to design a mobile-friendly tool that enables end users to program IoT technologies using visual programming. The solution should also support working with various types of IoT devices from different manufacturers. The outcome of this work is a library that implements an editor designed for mobile devices. Its output is a serialized program that can be converted into commands for IoT devices.

Keywords:

Internet of things, IoT, visual programming, End-User development, graphical editor, web application, Lit, TypeScript, JSON, web components

Date of defence

17.06.2025

Result of the defence

Defended (thesis was successfully defended)

znamkaBznamka

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ázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm B.

Topics for thesis defence

  1. Bylo by možné definovat typy příkazů uživatelsky?
  2. Uvažoval jste o použití knihovny Blockly, nebo slovního popisu programu a LLM?

Language of thesis

Czech

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

doc. Ing. Tomáš Martínek, Ph.D. (předseda)
Ing. Vladimír Bartík, Ph.D. (člen)
Ing. Jiří Hynek, Ph.D. (člen)
doc. Mgr. Adam Rogalewicz, Ph.D. (člen)
doc. Ing. Michal Španěl, Ph.D. (člen)

Supervisor’s report
Ing. Petr John

Bakalářskou práci hodnotím kladně. Student si osvojil potřebné technologie a prostudoval předchozí verze editoru, na jejichž základě vytvořil novou verzi zaměřenou na zlepšení uživatelské přívětivosti na mobilních telefonech. Nový editor zachovává původní princip programování koncových zařízení kombinací blokového a formulářového přístupu, zároveň však zahrnuje specifické interakce typické pro mobilní aplikace. Navrhuji hodnocení stupněm B.

Evaluation criteria Verbal classification
Informace k zadání

Cílem práce bylo vytvořit nový prototyp pro vizuální programování zaměřený primárně na mobilní telefony. Student proto musel nastudovat jak verze editorů vytvořené během inovačního voucheru a předešlé bakalářské práce, tak aktuálně používaný jazyk, principy vývoje na mobilních telefonech i klasických zařízeních a konkrétní doménu. Dále také musel prostudovat technologie pro implementaci samotného editoru, a to primárně jazyk TypeScript a minimalistickou knihovnu pro tvorbu webových komponent Lit.js. Zadání protohodnotím jako průměrně složité a považuji jej za splněné ve všech bodech.

Práce s literaturou

Student prostudoval doporučenou literaturu a sám aktivně vyhledával další relavatní zdroje.

Aktivita během řešení, konzultace, komunikace

Student během celého akademického roku aktivně komunikoval, a to jak prostřednictvím osobních konzultací, tak formou zpráv, ve kterých pravidelně informoval o svém pokroku od posledního setkání. Konzultace probíhaly ve dvoutýdenních intervalech po oba semestry. Student pracoval samostatně.

Aktivita při dokončování

Student dokončil práci včas, což umožnilo konzultaci finální verze jak technické zprávy, tak i softwaru.

Publikační činnost, ocenění

Student vycházel z předchozího výzkumu a poznatky z testování jeho řešení mohou posloužit jako podklad pro další úpravy editoru.

Points proposed by supervisor: 80

Grade proposed by supervisor: B

Reviewer’s report
Ing. Jiří Hynek, Ph.D.

Bakalářská práce obsahuje některé výše uvedené nedostatky spíše v praktické části práce. Výstupy jsou nicméně využitelné ve výzkumném projektu. Navrhuji hodnocení stupněm B.

Evaluation criteria Verbal classification Points
Náročnost zadání

Evaluation level: průměrně obtížné zadání

Cílem práce bylo navrhnout a implementovat nástroj pro vizuální programování IoT zařízení na mobilních zařízeních, který umožní běžným uživatelům konfigurovat zařízení bez znalosti programování. Student se seznámil s problematikou vizuálního programování, projektem Pocketix a navázal na návrh editoru bakalářské práce [1], který dále rozvinul – zejména o podporu proměnných a vylepšení ovládání pomocí funkcí jako drag and drop. Výsledkem je knihovna implementovaná v jazyce TypeScript s využitím knihovny Lit, použitelná v různých webových aplikacích. Zadání hodnotím jako průměrně obtížné.

[1] PODVOJSKÝ, Lukáš. Vizuální programování IoT zařízení. Brno, 2024. Bakalářská práce. Vysoké učení technické v Brně, Fakulta informačních technologií. Vedoucí práce Ing. Jiří Hynek, Ph.D.

Prezentační úroveň technické zprávy

Struktura dokumentu je dobrá. Nejprve je diskutována teorie (IoT, vizuální programování), poté praktická část. Kapitoly navazují. Některé pasáže by mohly být lépe členěné do odstavců (např. Shrnutí existujících nástrojů). Implementace částečně diskutuje návrh.

85
Formální úprava technické zprávy

Jazyková a typografická úroveň technické zprávy je kvalitní. Některé obrázky jsou rozmazané (např. 5.5 - 5.7).

90
Realizační výstup

Výstupem je responzivní webová aplikace reprezentující nový vizuální editor. Hodnotím jej průměrně. Splňuje zadání, nicméně po uživatelské stránce přináší spíše menší rozšíření oproti výše uvedené bakalářské práci, z které se vycházelo. Ruční generování kódu nepovažuji za moc šťastné. Oceňuji funkci drag and drop.

70
Využitelnost výsledků

Výstupy jsou využitelné v rámci výzkumného projektu Pocketix.

Rozsah splnění požadavků zadání

Evaluation level: zadání splněno

Rozsah technické zprávy

Evaluation level: je v obvyklém rozmezí

Práce s literaturou

Student provedl nadprůměrnou rešerši dostupných odborných zdrojů týkajících se IoT a vizuálního programování.

95
Topics for thesis defence:
  1. Bylo by možné definovat typy příkazů uživatelsky?
Points proposed by reviewer: 80

Grade proposed by reviewer: B

Responsibility: Mgr. et Mgr. Hana Odstrčilová