bakalářská práce

Nástroje pro analýzu komunikačního protokolu HAPCAN

Text práce 2.12 MB Příloha 997.51 kB

Autor práce: Bc. Tomáš Rosa

Ak. rok: 2025/2026

Vedoucí: Ing. Ondřej Kolář

Oponent: Mgr. Ondřej Bleha

Abstrakt:

Bakalářská práce se zabývá analýzou komunikačního protokolu systému domácí automatizace HAPCAN a vývojem nástrojů pro jeho diagnostiku a praktickou prezentaci. Softwarová část práce je zaměřena na implementaci protokolového disektoru v jazyce Lua pro síťový analyzátor Wireshark, který je doplněn o obslužný Python skript zajišťující přenos dat ze sběrnice přes USB rozhraní. Tato kombinace umožňuje detailní interpretaci a vizualizaci datového provozu v reálném čase. Praktická část práce popisuje návrh a fyzickou stavbu interaktivního demonstračního panelu simulujícího inteligentní domácnost. Zařízení je osazeno logickými moduly systému HAPCAN, senzory a akčními členy. Součástí demonstrátoru je rovněž doplňková zobrazovací jednotka teploty postavená na mikrokontroléru Arduino s CAN řadičem, která umožňuje vizualizaci měřených dat na OLED displeji. Funkčnost celého systému byla verifikována analýzou síťové komunikace generované demonstrátorem při realizaci automatizačních scénářů. Výsledkem práce je ucelený diagnostický a výukový ekosystém zahrnující softwarové analytické nástroje i přenosný hardwarový demonstrátor.

Klíčová slova:

HAPCAN, CAN, Wireshark, disektor, Lua, Python, domácí automatizace, Arduino, demonstrátor

Termín obhajoby

16.06.2026

Výsledek obhajoby

obhájeno (práce byla úspěšně obhájena)

znamkaBznamka

Klasifikace

B

Průběh obhajoby

Student prezentuje postupy a výsledky řešení své závěrečné práce. Následně odpovídá na dotazy oponenta práce a na dotazy členů zkušební komise. Ing. Fedra, Ph.D. HAPCAN projekt je opensource, budete také zveřejňovat výsledky vaší práce? Student odpovídá. Prof. Brančík Jak byste srovnal HAPCAN s jinými systémy domácí automatizace? Student odpovídá. Prof. Grmela Pokud byste srovnal HAPCAN s WiFi z pohledu bezpečnosti? Student odpovídá.

Jazyk práce

čeština

Fakulta

Ústav

Studijní program

Elektronika a komunikační technologie (BPC-EKT)

Složení komise

prof. Ing. Lubomír Brančík, CSc. (předseda)
prof. Dr. Ing. Zdeněk Kolka (místopředseda)
Ing. Michal Mrnka, Ph.D. (člen)
prof. Ing. Lubomír Grmela, CSc. (člen)
Ing. Zbyněk Fedra, Ph.D. (člen)

Posudek vedoucího
Ing. Ondřej Kolář

Předložená bakalářská práce se zabývá analýzou protokolu systému domácí automatizace HAPCAN, implementací disektoru pro Wireshark a fyzickou realizací demonstrátoru vzorové domácnosti. Teoretická část práce je stručná, avšak výstižně shrnuje znalosti potřebné pro splnění všech praktických cílů. Dále práce chronologicky popisuje průběh a dosažení jednotlivých bodů zadání.

Stěžejním výstupem práce je Lua disektor pro Wireshark, který pokrývá kompletní sadu jednotlivých typů zpráv systému HAPCAN, je v základní funkčnosti zdařilý a jehož zdrojový kód je dostatečně strukturovaný a přehledný. V detailech vykazuje některé drobné nedostatky, jako jsou například neoptimální zpracování polí společných pro různé typy zpráv, místy nesprávná práce s datovými typy či registrace disektoru pro TCP port 80, k čemuž student přistoupil na základě mého požadavku při konzultaci, avšak bez hlubšího zamyšlení nad důsledky. Tyto nedostatky nicméně vyvažuje skutečnost, že výsledný disektor naplňuje požadovaná očekávání, a to i přes studentovy předchozí nulové znalosti v této oblasti.

Druhým praktickým výstupem práce je demonstrátor vzorové domácnosti osazený systémem HAPCAN. Vytvořený návrh zohledňuje především rozložení uživatelské části panelu a kompletní zapojení celého systému. Z mechanického hlediska student přistoupil spíše k jednoduchému řešení pomocí dvojice pevně spojených panelů bez možnosti složení do kompaktnější podoby. Musím však ocenit, že student nad rámec zadání vytvořil také jednoduchý prototyp vlastního modulu pro zobrazení teploty, který se při testování demonstrátoru ukázal jako užitečné doplnění systému HAPCAN, jenž obdobnou funkci nenabízí.

Formální zpracování je spíše průměrné. Většina obrázků v práci je dostatečně čitelná, ale jejich zpracování postrádá preciznost. Text práce se v některých částech obsahově opakuje, místy jsou zřetelné překlepy, netechnické výrazy či chybný křížový odkaz. Některé dlouhé webové odkazy v seznamu literatury, které zhoršují jeho čitelnost, mohly být zkráceny.

Student pracoval průběžně a využíval konzultací. Text práce i praktické výstupy revidoval na základě mých četných připomínek, ani přesto se však nepodařilo práci zpracovat zcela perfektně. Proto doporučuji práci k obhajobě s hodnocením 78 bodů. Výsledný počet bodů navržený vedoucím: 78

Posudek oponenta
Mgr. Ondřej Bleha

Předložená bakalářská práce se zabývá analýzou komunikačního protokolu systému domácí automatizace HAPCAN a vývojem softwarových i hardwarových nástrojů pro jeho diagnostiku a prezentaci. Všechny body zadání považuji za splněné.
Zvolený postup řešení je logický: student nejprve analyzoval teoretické základy (architekturu HAPCAN, CAN sběrnici, prostředí Wireshark) a následně přistoupil k softwarové implementaci a hardwarové realizaci. Konkrétní přínos studenta spatřuji zejména v implementaci protokolového disektoru v jazyce Lua, který rozpoznává typ modulu dle identifikátoru rámce a správně interpretuje jednotlivá datová pole specificky pro každý typ zařízení. Za zdařilý považuji také návrh a fyzickou realizaci interaktivního demonstračního panelu simulujícího inteligentní domácnost, včetně doplňkové zobrazovací jednotky teploty na bázi Arduino Nano s CAN řadičem a OLED displejem, která kompenzuje absenci nativního modulu v ekosystému HAPCAN.
K textu práce mám však několik výhrad. Závěrečná kapitola postrádá hlubší kritické zhodnocení dosažených výsledků a spíše shrnuje provedené činnosti bez reflexe limitací či návrhů na budoucí vylepšení. Popis zdrojových kódů v kapitolách 2.3.1 a 2.3.2 je zbytečně podrobný a místy sklouzává k prostému komentování řádek po řádce. Zejména problematická je však práce s informačními zdroji. Z celkových 29 položek v seznamu literatury tvoří podstatnou část odkazy na e-shopy s elektronickými součástkami, které sice dokumentují použitý hardware, avšak neslouží jako odborná literatura. Přes tyto výhrady však práce prokazuje schopnost studenta samostatně řešit inženýrský problém od analýzy přes návrh až po realizaci a testování.
Praktická využitelnost výsledků je naopak vysoká. Vytvořený demonstrátor představuje plně funkční platformu pro prezentaci a výuku možností inteligentních elektroinstalací a v kombinaci se softwarovým disektorem tvoří ucelený diagnostický a edukační ekosystém. Celkově práce splňuje požadavky standardně kladené na bakalářskou práci v daném oboru, byť s výhradami k práci
s literaturou.
Na základě výše uvedeného hodnocení navrhuji klasifikační stupeň B (81 bodů) a práci doporučuji k obhajobě. Otázky k obhajobě:
  1. V kapitole 2.1.1 popisujete, že jste se rozhodl pro přenos zpráv do Wiresharku použít protokol UDP. Jak zdůvodňujete toto rozhodnutí?
  2. Všechny HAPCAN moduly mají stejný bootloader a liší se pouze firmwarem specifickým pro daný modul. V práci implementujete dekódování zpráv pro jednotlivé moduly (normal messages). V disektoru však nejsou implementovány všechny zprávy podporované bootloaderem (system messages) viz. tabulka 2 v dokumentu https://hapcan.com/devices/universal/univ_3/univ_3_cpu/boot_3-4b.pdf. Byl pro to nějaký specifický důvod?
  3. Mimo modulu seriového USB rozhraní obsahuje systém HAPCAN také modul ethernetového rozhraní. Jak složité by bylo systém adaptovat tak, aby byl s tímto modulem kompatibilní?
Výsledný počet bodů navržený oponentem: 81

Známka navržená oponentem: B

Soubor vložený oponentem Velikost
Posudek oponenta [.pdf] 57,82 kB

Odpovědnost: Mgr. et Mgr. Hana Odstrčilová