diff --git a/src/content/appendices.tex b/src/content/appendices.tex index d401e5e..956c4b9 100644 --- a/src/content/appendices.tex +++ b/src/content/appendices.tex @@ -22,15 +22,13 @@ \end{itemize} -\section{Madárhang felismerő rendszer előzetes munka részletezése} +\clearpage\section{Madárhang felismerő rendszer és előzetes munka rövid ismertetése} \label{appendix:birbnetes} Éves szinten komoly károkat tudnak okozni a szőlőtermő vidékeken a termést előszeretettel fogyasztó seregély madarak \cite{seregelykar}. Jelenleg kevés hatékony megoldás van arra, hogy a szőlősgazdák meg tudják védeni a termést ezen kártevőktől \cite{nk}. A kártevő madarak hangalapú azonosítására dolgozott ki egy mesterséges intelligenciát alkalmazó megoldást diplomamunkája során Nagy Kristóf. Az ő munkájára alapoztunk ezt követően egy éves projekt munkát Torma Kristóffal jelen diplomamunkát megelőző évben, így itt csak rövid áttekintést szeretnék adni róla. -Ez a projekt alkalmas arra, hogy jól szemléltesse a peremhálózaton történő adat aggregációs képességeket a felhő szoftver számára. A projekt jól szemlélteti egy ilyen architektúra átültetésének kihívásait perem és felhő számítástechnikai rendszerre. - A Nagy Kristóf által megalkotott detekciós algoritmus felhasználást olyan megoldásban láttuk, ahol termőföldekre kihelyezett, nagy mennyiségben telepített \acrfull{iot} eszközök gyűjtik a hangmintákat és továbbítják a központi feldolgozó egység felé, amely a hangminták intelligens felismerését végzi. A kártékony madarak hangjának azonosítása után pedig valamilyen beavatkozást tudnak tenni a madarak elriasztásának érdekében (Például: a természetes ellenségeinek hangját lejátszani) A rendszert amelyet fejlesztettünk hagyományos felhő architektúrára terveztük. Az \acrshort{iot} eszközök közvetlenül a felhőben futó szolgáltatásokkal kommunikálnak. diff --git a/src/content/birbnetes_impl.tex b/src/content/birbnetes_impl.tex index 3c9730c..bed0880 100644 --- a/src/content/birbnetes_impl.tex +++ b/src/content/birbnetes_impl.tex @@ -4,14 +4,20 @@ \label{chapter:birbnetes} %---------------------------------------------------------------------------- -Éves szinten komoly károkat okoznak a szőlőtermő vidékeken a seregély madarak, amelyek előszeretettel csipegetik le a megtermelt szőlőt. A seregély védett madár és a jelenlegi vadkár elleni megoldások vagy drágák vagy nem túl hatékonyak. % TODO +Éves szinten komoly károkat okoznak a szőlőtermő vidékeken a seregély madarak, amelyek előszeretettel csipegetik le a megtermelt szőlőt. A seregély védett madár és a jelenlegi vadkár elleni megoldások vagy drágák vagy nem túl hatékonyak \cite{nk}. A probléma innovatív megoldására irányult az a tanszéki projekt, -- amelyen én is részt vettem -- amely olyan rendszer kidolgozását tűzte ki célul, amely a madarakat képes hangjuk alapján azonosítani, illetve szükség esetén elriasztani őket. -% Van ez a birbnetes és tök jó példa erre a rendszerre +A rendszer eredetileg a szőlővidékre telepített \acrfull{iot} eszközökből és a felhőben futó szoftverből áll. Kétszintű mesterséges intelligencia segítségével mind az eszközök, mind a felhő szoftver végez intelligens felismerést. Az eszköz maga egy egyszerűbb algoritmussal próbálja megállapítani, hogy a rögzített hangminta tartalmaz-e madárcsiripelést. Ha igen, továbbítja a mintát a felhőbe ahol egy komolyabb számítási igényű mesterséges intelligencia osztályozza a mintát aszerint, hogy milyen madár hangját tartalmazza a minta. Ha a felismerés eredménye arra utal, hogy a cél madár hangját sikerült rögzíteni, akkor a rendszer megpróbálkozik a kérdéses madár elriasztásával hangminták lejátszásával a területen telepített eszközön. + +A rendszer belső működéséről egy rövid összefoglaló található \aref{appendix:birbnetes}.\ függelékben. A fejezeten belül csak a permhálózati alkalmazásra való átalakítás szempontjából érintett részleteket vázolom. + +Ez az alkalmazás a peremhálózati rendszerek adat aggregációs lehetőségeit hivatott kiaknázni. Azzal, hogy bevonjuk a peremhálózati rendszereket a működésbe, jelentős adatforgalmi és számítási kapacitásbeli megtakarításokat érhetünk el. -A rendszer belső működéséről egy rövid összefoglaló található \aref{appendix:birbnetes}.\ függelékben. A fejezeten belül csak a permhálózati alkalmazásra való átalakítás szempontjából érintett komponenseket vázolom. \section{Felépítés} +A rendszer felépítése két rétegű. Az egyik réteg a felhőben futó szoftver a másik magukon az \acrshort{iot} eszközökön fut. A két rendszer magas szintű működésének funkcionális vázlatát \aref{fig:nagyon_simple_birbnetes}.\ ábra szemlélteti. + + \begin{figure}[h!] \centering \includegraphics[width=0.9\textwidth]{figures/nagyon_simple_birbnetes} @@ -20,10 +26,20 @@ A rendszer belső működéséről egy rövid összefoglaló található \aref{a \end{figure} +A felhős szoftver felépítése mikroszolgáltatás architektúrára épül. Az egyes funkcionalitásokat különálló mikroszolgáltatások valósítják meg. A futtatókörnyezet \textit{Kubernetes}. A hangminta feldolgozására szolgáló intelligens felismerésen kívül ez a komponens megvalósít számos egyéb funkcionalitást is, mint a hangminták hosszútávú tárolása, a használt \acrshort{mi} modellek kezelése vagy az észlelésekről statisztikai adatok készítése és azok vizualizálása. + +Az \acrshort{iot} eszközön futó komponens egy moduláris monolit szoftver. Két részből áll: üzleti logika és platform illesztő. A platform illesztő egy absztrakciós réteget húz a konkrét hardver belső működése fölé és egy egységes interfészt szolgáltat az üzleti logika számára. + +A két réteg kommunikációja két külön csatornán történik. Az egyik csatorna a vezérlő és állapot üzenetek kétirányú továbbítására szolgál. Ez egy \textit{MQTT} alapú üzenetsor. A másik csatorna a rögzített hangminták feltöltésére szolgál, ez \acrshort{http} kapcsolaton keresztül történik. + +Működés közben az \acrshort{iot} eszközök folyamatosan rögzítik a hangmintákat egy másodperces darabokban. Minden egyes mintára lefuttatják a helyi mesterséges intelligencia alapú felismerő algoritmusukat. Ha annak az eredménye arra enged következtetni, hogy a hangmintán madárcsiripelés hallható, akkor a minta felküldésre kerül a felhőbe. Az felküldött \acrshort{http} üzenetben a hangminta maga és néhány információ utazik az eszközről és a rögzítés körülményeiről. + \section{Felkészítés peremhálózati alkalmazásra} +% Azzal, hogy beraktuk az edge-be megtakarítunk egy csomó számítási kapacitást, mert nem lesz idle a birbox -% Itt leírom az átalakítást a három rétegű pörgő lófaszra + +% Itt leírom az átalakítást a három rétegű rendszerre % Itt még nem írok szerintem a kubefedről diff --git a/src/content/measurements.tex b/src/content/measurements.tex index dc4a5be..5b5b9cf 100644 --- a/src/content/measurements.tex +++ b/src/content/measurements.tex @@ -3,4 +3,20 @@ \chapter{Alkalmazások tesztelése} %---------------------------------------------------------------------------- -% Ez érdekes lesz \ No newline at end of file +% Ez érdekes lesz + + +\begin{figure}[h!] + \centering + \includegraphics[width=0.8\textwidth]{figures/enhanced} + \caption{asd} + \label{fig:enhanced} +\end{figure} + + +\begin{figure}[h!] + \centering + \includegraphics[width=1\textwidth]{figures/latency_feliratos_jo} + \caption{asd} + \label{fig:latency} +\end{figure} \ No newline at end of file diff --git a/src/content/scheduling.tex b/src/content/scheduling.tex index 85551bc..e8b8bfb 100644 --- a/src/content/scheduling.tex +++ b/src/content/scheduling.tex @@ -4,6 +4,7 @@ \label{chapter:dynamic_scheduling} %---------------------------------------------------------------------------- +% A robotkaroknál menet közbeni átütemezés nem jó ötlet, ezért csak a biztonságos állásban ütemezi át % Futtató környezet tervezése % Vázolni a futtató környezetet amit elkészítettem @@ -51,4 +52,12 @@ % Itt leírom, hogy az összes egy nagy kula, és a kubefedet is csak azért választom, hogy legyen egységes controlplane -\section{Komponensek dinamikus ütemezése} \ No newline at end of file +\section{Komponensek dinamikus ütemezése} + + +\begin{figure}[h!] + \centering + \includegraphics[width=0.5\textwidth]{figures/turbomemer-legit} + \caption{asd} + \label{fig:turbomemer} +\end{figure} \ No newline at end of file diff --git a/src/figures/enhanced.png b/src/figures/enhanced.png new file mode 100644 index 0000000..ed4f37f Binary files /dev/null and b/src/figures/enhanced.png differ diff --git a/src/figures/latency_feliratos_jo.png b/src/figures/latency_feliratos_jo.png new file mode 100644 index 0000000..3f167cd Binary files /dev/null and b/src/figures/latency_feliratos_jo.png differ diff --git a/src/figures/turbomemer-legit.pdf b/src/figures/turbomemer-legit.pdf new file mode 100644 index 0000000..cbcc203 Binary files /dev/null and b/src/figures/turbomemer-legit.pdf differ