|
|
|
|
@@ -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
|
|
|
|
|
|
|
|
|
|
|