Bachelor's Thesis

Tools for HAPCAN Communication Protocol Analysis

Final Thesis 2.12 MB Appendix 997.51 kB

Author of thesis: Bc. Tomáš Rosa

Acad. year: 2025/2026

Supervisor: Ing. Ondřej Kolář

Reviewer: Mgr. Ondřej Bleha

Abstract:

This bachelor thesis deals with the analysis of the communication protocol of the HAPCAN home automation system and the development of tools for its diagnostics and practical presentation. The software part of the thesis is focused on the implementation of a protocol dissector in the Lua programming language for the Wireshark network analyzer, which is supplemented by a supporting Python script ensuring data transmission from the bus via a USB interface. This combination enables detailed interpretation and visualization of data traffic in real time. The practical part of the thesis describes the design and physical construction of an interactive demonstration panel simulating a smart home. The device is equipped with logical modules of the HAPCAN system, sensors, and actuators. The demonstrator also includes a supplementary temperature display unit based on an Arduino microcontroller with a CAN controller, which allows the visualization of measured data on an OLED display. The functionality of the entire system was verified by analyzing the network communication generated by the demonstrator during the execution of automation scenarios. The result of the thesis is a comprehensive diagnostic and educational ecosystem comprising software analytical tools as well as a portable hardware demonstrator.

Keywords:

HAPCAN, CAN, Wireshark, dissector, Lua, Python, home automation, Arduino, demonstrator

Date of defence

16.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaBznamka

Grading

B

Process of defence

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á.

Language of thesis

Czech

Faculty

Department

Study programme

Electronics and Communication Technologies (BPC-ECT)

Composition of Committee

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)

Supervisor’s report
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ů. Points proposed by supervisor: 78

Reviewer’s report
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ě. Topics for thesis defence:
  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í?
Points proposed by reviewer: 81

Grade proposed by reviewer: B

File inserted by the reviewer Size
Posudek oponenta [.pdf] 57,82 kB

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