Přístupnostní navigace
E-přihláška
Vyhledávání Vyhledat Zavřít
diplomová práce
Autor práce: Ing. Daniel Paul
Ak. rok: 2023/2024
Vedoucí: Ing. Václav Šimek
Oponent: Ing. Vojtěch Mrázek, Ph.D.
Táto diplomová práca predstavuje vývoj Vizuálneho Programovacieho Nástroja určeného na programovanie platformy ESP32 pomocou MicroPythonu. Nástroj využíva intuitívnu povahu paradigmy vizuálneho programovania na zjednodušenie procesu programovania mikrokontrolérov pre používateľov bez rozsiahlych skúseností s programovaním. Jadro programovacieho nástroju je postavené na webovom rozhraní, ktoré využíva knižnicu ReactFlow na umožnenie funkcie "tahaj a pusť" s diagramami založenými na toku, čo umožňuje používateľom zostavovať kód prostredníctvom vizuálnych blokov, ktoré predstavujú príkazy a štruktúry jazyka MicroPython. Ďalej pokrýva backend umiestnený na samotnom zariadení ESP32, ktorý umožňuje komunikáciu s frontendovým klientom.
Vizuálne programovanie, ESP32, MicroPython, Programovanie založené na toku, Programovanie Hardvéru, Webové aplikácie, React
Termín obhajoby
18.06.2024
Výsledek obhajoby
obhájeno (práce byla úspěšně obhájena)
Klasifikace
B
Průběh obhajoby
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.
Otázky k obhajobě
Jazyk práce
angličtina
Fakulta
Fakulta informačních technologií
Ústav
Ústav počítačových systémů
Studijní program
Informační technologie a umělá inteligence (MITAI)
Specializace
Informační systémy a databáze (NISD)
Složení komise
prof. Ing. Tomáš Hruška, CSc. (předseda) doc. Ing. Radek Burget, Ph.D. (člen) doc. Mgr. Adam Rogalewicz, Ph.D. (člen) Ing. Vladimír Bartík, Ph.D. (člen) RNDr. Marek Rychlý, Ph.D. (člen) Ing. Libor Polčák, Ph.D. (člen)
Posudek vedoucíhoIng. Václav Šimek
Bráno pohledem vedoucího této práce, tak jsem s dosaženými výsledky velice spokojen. Podařilo se vytvořit funkční prostředí pro vizuální programování platformy ESP32 v jazyce MicroPython. K celému projektu je k dispozici podrobná dokumentace. Předpokládá se i zpřístupnění projektu formou open-source. Kromě toho při zpracování projektu student prokázal schopnost samostatné práce a řešení vzniknuvších problémů. S ohledem na tyto skutečnosti navrhuji souhrnné hodnocení stupněm A - výborně, 90 bodů.
Cílem této bakalářské práce je návrh a implementace nástroje pro vizuální programování platformy ESP32, jehož výstupem je zdrojový kód v jazyce MicroPython. Tento nástroj by měl být zrealizován coby webová aplikace. V současné době sice existuje pro jazyk MicroPython vizuální prostředí MPY Blockly, nicméně se jedná o klasicky instalovanou aplikaci.
V případě tohoto projektu se jedná o tzv. firemní zadání, které bylo připraveno ve spolupráci s brněnskou pobočkou společnosti Espressif. Osobně považuji za poměrně náročnou část projektu vytvoření reálně použitelného vizuálního rozhraní na bázi webové aplikace. Nedílnou součástí řešení však je i generování výstupního kódu v jazyce MicroPython interakce s cílovou platformou.
Na základě realizačního výstupu, technické zprávy a demonstrace funkcionality realizačního výstupu lze říci, že došlo ke splnění všech bodů zadání. V tomto směru jsem tedy s dosaženým výsledkem velmi spokojen.
Dokončení realizačního výstupu i technické zprávy proběhlo ve stanoveném termínu, i když časová rezerva nebyla příliš velká. Nicméně bylo možno provést několik revizí technické zprávy, přičemž do její výsledné podoby byly zapracovány prakticky všechny připomínky.
V souvislosti s tímto projektem mi nejsou známy žádné další publikační výstupy či zisk případných ocenění.
Potřebné informační prameny si student zajišťoval sám. S jejich výběrem a způsobem použití jsem byl seznámen v rámci revize technické zprávy. Z pozice vedoucího se domnívám, že jednotlivé reference jsou tematicky relevantní a při zpracování projektu vhodně použité.
V průběhu celého období připadajícího na řešení projektu jsem byl ze strany studenta průběžně informován o postupu prací a plánu činnosti na nejbližší období. Tím pádem nebylo prakticky nutné svolávat osobní konzultace.
Známka navržená vedoucím: A
Posudek oponentaIng. Vojtěch Mrázek, Ph.D.
Student splnil zadání a přišel s novým přístupem pro programování mikrokontrolerů na bázi čipu ESP32. Ačkoliv existují limity vytvořených aplikací a jejich efektivita nemusí být vysoká, jedná se o velmi zajímavý přístup, který by bylo velmi zajímavé odzkoušet v praxi a nabídnout uživatelům. Proto, i přes drobné problémy v kódu, navrhuji hodnocení B - velmi dobře.
Stupeň hodnocení: zadání splněno
Student vytvořil funkční prototyp programovacího rozhraní, které mi bylo předvedeno a je plně funkční. Všechny body zadání jsou z mého pohledu splněné.
Stupeň hodnocení: je v obvyklém rozmezí
Práce obsahuje všechny potřebné informace požadované zadáním. V některých případech se však text posouvá k výčtu jednotlivých komponent, součástí a modulů bez výraznějšího spojení. Celkově je však práce pro čtenáře pochopitelná, kapitoly jsou vyvážené a obsahově úplné.
Práce je psaná v anglickém jazyce a neobsahuje závažnější nedostatky. Po typografické stránce je také na vysoké úrovni.
Práce vychází z 60 zdrojů relevantních k práci. Většina využitých zdrojů jsou dokumentace a aplikační poznámky k jednotlivým použitým technologiím, což je u takovéto kategorie zadání očekávatelné. Zdroje jsou řádně v textu odkazovány, nicméně poměrně často je v referenci špatně uveden autor – zejména u firemních zdrojů (např. zdroje 45 až 55, 59 a 60). Tento fakt však významně nezhoršuje možnost dohledání původního zdroje.
Navržená aplikace mi byla autorem předvedena a jeví se jako funkční. Výsledný program pro ESP vzhledem k použití jazyka MicroPython je samozřejmě limitovaný a nemůže dosáhnout takové výkonnosti, jako je přímé použití nativních knihoven, jako je Arduino či ESP-IDF. Vzhledem k zacílení na skupinu informovaných amatérů však může zpřístupnit tuto platformu většímu okruhu uživatelů.
V realizačním výstupu je možné najít několik prvků, které by bylo možné ještě vylepšit, ale už v tomto stavu je aplikace použitelná. Je teď ve fázi, kdy by bylo nutné spustit testování uživatelského prostředí a reflektovat připomínky uživatelů či se pokusit eliminovat nejčastější chyby (jako může být např. zapomenutí označení počátečního uzlu a podobně).
Drobnou připomínku mám však ke zdrojovým kódům. Ty obsahují minimum komentářů (jak frontend, tak i kód pro ESP). Podobně může být problém v přehlednosti souboru models.py, který obsahuje definici přibližně 47 tříd na téměř 1 500 řádcích. Před zvěřejněním této aplikace by byl nutný významný refactoring zdrojových souborů.
Tato práce má potenciál zjednodušit programování zařízení ESP32 zejména pro lidi, kteří nemají hlubší znalost programování. Z mého pohledu je práce kvalitní a po doladění některých menších problémů by byla nasaditelná v praxi.
Stupeň hodnocení: obtížnější zadání
Zadání hodnotím jako obtížnější, jelikož se jedná o vytvoření poměrně nového rozhraní pro programování mikrokontrolerů ESP32 na bázi webové aplikace a flow diagramů.
Známka navržená oponentem: B
Odpovědnost: Mgr. et Mgr. Hana Odstrčilová