diff --git a/main.pdf b/main.pdf index 06e2c49..e6a3601 100644 Binary files a/main.pdf and b/main.pdf differ diff --git a/main.tex b/main.tex index 4ccd76e..652c17b 100644 --- a/main.tex +++ b/main.tex @@ -1,129 +1,144 @@ \documentclass[a2paper, landscape]{tikzposter} - \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{graphicx} -\usepackage{amssymb} +\usepackage{multicol} -\usetheme{Simple} -\usecolorstyle{Denmark} +% Farba +\definecolor{friyellow}{RGB}{245, 166, 35} + +% Biely background +\definebackgroundstyle{PlainBackground}{ + \fill[white] (bottomleft) rectangle (topright); +} + +% Bloky - len čiara pod nadpisom, bez rámčeka +\defineblockstyle{PlainBlock}{ + titlewidthscale=1, bodywidthscale=1, titleleft, + titleoffsetx=0pt, titleoffsety=0pt, + bodyoffsetx=0pt, bodyoffsety=0pt, + bodyverticalshift=0pt, roundedcorners=0, linewidth=0pt, + titleinnersep=2mm, bodyinnersep=2mm +}{ + \ifBlockHasTitle + \draw[line width=0.5pt, color=black] + (blocktitle.south west) -- (blocktitle.south east); + \fi +} + +% Hlavička (custom layout) +\definetitlestyle{PosterTitle}{ + width=\textwidth, roundedcorners=0, linewidth=0pt, innersep=0pt, + titletotopverticalspace=8mm, titletoblockverticalspace=14mm +}{} + +\usetheme{Default} +\usebackgroundstyle{PlainBackground} +\useblockstyle{PlainBlock} +\usetitlestyle{PosterTitle} \tikzposterlatexaffectionproofoff -\definecolor{HeaderLine}{RGB}{240,180,0} -\definetitlestyle{HeaderLineStyle}{ - width=750mm, roundedcorners=0, linewidth=0pt, innersep=4mm, - titletotopverticalspace=5mm, titletoblockverticalspace=8mm, - titlegraphictotitledistance=6pt, titletextscale=0.85 -}{ - \draw[HeaderLine, line width=2.5pt] (\titleposleft,\titleposbottom) -- (\titleposright,\titleposbottom); -} -\usetitlestyle{HeaderLineStyle} - -\title{Modernizácia priemyselného riadenia: Náhrada PLC modulárnou IoT bránou} -\author{Riešiteľ: Bc. Filip Rieč \hspace{2cm} Garant: Ing. Meno Priezvisko, PhD.} +\title{} +\author{} \institute{} -\titlegraphic{\includegraphics[height=3cm]{logo.png}} + +\begin{settitle}{ + \begin{minipage}[t]{\linewidth} + \begin{minipage}[t]{0.82\linewidth} + \vspace{0pt} + {\fontsize{38}{42}\selectfont\bfseries ESP32 ako master control pripojené na internet v jazyku Rust}\\[3mm] + {\fontsize{26}{22}\selectfont Riešiteľ: Bc. Filip Priečinský \hspace{2cm} Školiteľ: doc. Ing. Peter Ševčík, PhD.} + \end{minipage}% + \hfill + \begin{minipage}[t]{0.16\linewidth} + \vspace{0pt} + \raggedleft + \includegraphics[height=3.8cm]{logo.png} + \end{minipage} + + \vspace{6mm} + \color{friyellow}\rule{\linewidth}{4mm}\par\normalcolor + \end{minipage} +} +\end{settitle} \begin{document} \maketitle +% === HORNÝ BLOK === \begin{columns} +\column{1} +\block{}{ +\begin{multicols}{3} -\column{0.33} +\textbf{Úvod} -\block{Motivácia}{ -Mnoho priemyselných prevádzok využíva \textbf{zastarané PLC systémy} (20+ rokov), ktoré nepodporujú vzdialenú správu, neumožňujú integráciu s cloudovými službami, majú obmedzené možnosti rozšírenia a vyžadujú nákladnú údržbu. +IoT zariadenia sa pripájajú na internet, čím sú viac vystavené bezpečnostným hrozbám ako kedykoľvek predtým. Preto embedded zariadenia ďalšej generácie majú potenciál implementovať memory safe jazyk Rust. -\textbf{Cieľ projektu:} Navrhnúť modulárnu IoT bránu na báze ESP32, ktorá umožní postupnú modernizáciu existujúcej infraštruktúry bez nutnosti úplnej výmeny zariadení. +\columnbreak + +\textbf{Hardvér} + +\begin{itemize} + \item Dual-core procesor s frekvenciou 240 MHz. + \item CAN a integrované WiFi a Bluetooth + \item Lokálny display + \item Flexibilné napájanie USB-C a low-power módy +\end{itemize} + +\columnbreak + +\textbf{Prečo Rust?} + +\begin{itemize} + \item Pamäťová bezpečnosť bez garbage collectora + \item Predvídateľný výkon v reálnom čase + \item Async/await neblokujúce programovanie + \item Comptime checking zabraňuje runtime errorom +\end{itemize} + +\end{multicols} } +\end{columns} -\block{Použité technológie}{ -\textbf{Hardvér:} -ESP32 dual-core mikrokontrolér s WiFi, IMU senzor MPU6050, I2C zbernica, OLED displej. +% === DOLNÝ BLOK === +\begin{columns} +\column{1} +\block{}{ +\begin{multicols}{3} -\textbf{Softvér:} -Rust -- pamäťová bezpečnosť, -Embassy -- async embedded framework, -MQTT v5 -- IoT komunikácia, -no\_std prostredie. +\textbf{Spôsoby komunikácie systému} -\begin{tabular}{ll} -CPU frekvencia & 240 MHz \\ -RAM (heap) & 72 KB \\ -WiFi & 802.11 b/g/n \\ -I2C rýchlosť & 400 kHz \\ -\end{tabular} +\begin{itemize} + \item MQTTv5 a TLS: Zabezpečená komunikácia s brokerom. + \item CAN bus: Komunikácia v priemyselných aplikáciách pre zariadenia bez konektivity na internet. + \item ESP-NOW: Komunikácia medzi ESP zariadeniami. + \item OTA(Over-the-Air): vzdialená aktualizáciu firmvéru. +\end{itemize} + +\columnbreak + +\textbf{Vlastný PCB dizajn} + +\begin{itemize} + \item Kompatibilita s legacy systémom. + \item Optimalizácia pre vlastné riešenie a bezpečnosť. + \item Nákladovo efektívne a ľahko škálovateľné riešenie. + \item Možnosť integrácie špecifických funkcií a externých periférií. +\end{itemize} +\textbf{Záver} + +\begin{itemize} + \item Vytvorenie funkčného prototypu master control jednotky pre kritickú IoT aplikáciu. + \item Overenie konceptu integrácie bezpečného softvéru v Ruste s vlastným hardvérovým dizajnom. + \item Praktická demonštrácia riadenia vysoko-napäťových systémov. + \item Vzor pre vývoj spoľahlivých a cenovo efektívnych embedded riešení. +\end{itemize} + +\end{multicols} } - -\column{0.34} - -\block{Architektúra systému}{ -Systém využíva \textbf{dual-core architektúru} ESP32: - -\textbf{Core 0 -- Aplikačná logika:} -Displej/TUI, MPU6050 driver, spracovanie tlačidiel. - -\textbf{Core 1 -- Sieťový stack:} -WiFi/DHCP, MQTT Client, TCP/IP Stack. - -\textbf{Externé služby:} -MQTT Broker, Databáza. - -\textbf{Kľúčové vlastnosti:} -Asynchrónne spracovanie pomocou Embassy executora, medzijadová komunikácia cez lock-free signály, automatické znovupripojenie pri výpadku siete, QoS garantované doručenie MQTT správ. -} - -\block{Dátový tok}{ -Senzor $\rightarrow$ Driver $\rightarrow$ Channel $\rightarrow$ MQTT $\rightarrow$ Broker - -Telemetria v JSON každé 3 sekundy: - -\texttt{\{"ax":0.12,"ay":-0.98,"az":0.05,"gx":1.2,"t":25.4\}} -} - -\column{0.33} - -\block{Výsledky}{ -\textbf{Dosiahnuté parametre:} - -\begin{tabular}{ll} -Latencia WiFi & $<$ 5 s \\ -MQTT keepalive & 60 s \\ -Vzorkovanie IMU & 100 Hz \\ -Interval publikovania & 3 s \\ -Úspešnosť QoS1 & $>$ 99\% \\ -Znovupripojenie & $<$ 10 s \\ -\end{tabular} - -\textbf{Porovnanie s PLC:} - -\begin{tabular}{lcc} - & PLC & ESP32 \\ -Vzdialený prístup & -- & $\checkmark$ \\ -Cloud integrácia & -- & $\checkmark$ \\ -Cena & vysoká & nízka \\ -Spotreba & vysoká & $<$ 0.5 W \\ -\end{tabular} -} - -\block{Záver}{ -\textbf{Hlavné prínosy:} -Vzdialený monitoring v reálnom čase, integrácia s cloud DB, nízke náklady, pamäťovo bezpečný firmware (Rust). - -\textbf{Ďalší vývoj:} -TLS šifrovanie, CAN zbernica, rozšírenie senzorov. -} - -\block{Literatúra}{ -[1] ESP-RS. \textit{esp-hal: Rust HAL for ESP32}. 2024. - -[2] Embassy Project. \textit{Async embedded framework}. 2024. - -[3] OASIS. \textit{MQTT Version 5.0}. 2019. -} - \end{columns} \end{document}