\section{Návrh systému a použitá zařízení}

V této kapitole je popsán návrh systému a popis zařízení, která byla použita pro jeho vytvoření. Jak již bylo zmíněno v úvodní kapitole, cílem této práce je navrhnout komplexní systém pro detekci požáru, který je schopný dlouhodobého běhu a detekce a záznamu rizika požáru. Dalším požadavkem byla implementace možnosti připojení až 16 kamer, a to v možné konfiguraci s motorem.

Pro tento systém bylo tedy třeba zvolit průmyslové PC s parametry, které zvládnou jak náročnější prostředí, tak vhodně zvolit výkonnostní parametry. Dále bylo nutné zahrnout do systému PTZ motor s jeho řídicí jednotkou a samozřejmostí je termální kamera SAFETIS, která je v případě venkovní montáže umístěna v krytu. V neposlední řadě byl kvůli úspoře kabeláže, a také vzdálenostnímu omezení sériové linky, ještě použit převodník mezi ethernetem a sériovou linkou.

Všechna tato zařízení jsou popsána v následujících kapitolách a jejich schematické zapojení je znázorněno na obrázku č. \ref{fig:schema}.

\begin{figure} [h]
	\centering
	\includegraphics[width=0.7\linewidth]{fig/safetisschema.jpg}
	\caption{Schéma zapojení systému}
	\label{fig:schema}
\end{figure}


\subsection{Termokamera SAFETIS}
Termokamera SAFETIS \cite{produkty} (viz obrázek č. \ref{fig:safetis}) je zařízením společnosti Workswell s.r.o. Jedná se o kameru, která kromě senzoru obsahuje řídicí desku založenou na platformě RicoBoard, I/O kartu, která disponuje možností ovládání digitálních výstupů a v neposlední řadě také TCP/IP rozhraní. Taktéž je možné ji využít jako samostatné zařízení bez nutnosti externího ovládání díky zabudovanému web-serveru. 

Tato kamera má v sobě mikrobolometrický LWIR senzor, který pracuje ve spektrálním rozsahu $7.5 - 13.6 \mu m$, a je možné zvolit mezi rozlišením $336x256px$ nebo $640x512px$ při rychlostech snímaní 9Hz nebo 30Hz. S tímto zařízením je možné měřit na rozsahu od $-25 ^{\circ} C$ do $550  ^{\circ} C$ případně s útlumovým filtrem a speciální kalibrací až do $1500  ^{\circ} C$, a to s přesností $\pm 2 \%$, případně $\pm 2  ^{\circ} C$, a citlivostí až $50 mK$, což odpovídá změně o $0.05 ^{\circ} C$.

\begin{figure} [h]
	\centering
	\includegraphics[width=0.7\linewidth]{fig/safetis_indoor.png}
	\caption{Termokamera SAFETIS}
	\label{fig:safetis}
\end{figure}

V aplikaci, kterou se zabývá tato práce, je kamera připojena za pomocí TCP/IP komunikačního protokolu, a to konkrétně na daných IP adresách určených sériovým číslem zařízení a dvou portech a to 2251 a 2252. Na základě tohoto připojení je kamera ovládána definovanou sadou příkazů, které jsou uvedeny v tabulkách č. \ref{tab:prikazyGet} a č. \ref{tab:prikazySet} v příloze \ref{apendix:prikazy}. Těmito příkazy je ovládáno samotné měření a nastavení kamery, a to konkrétně sadou příkazů zaslaných na port 2251 a také radiometrický stream kamery, který je řízen implementovanou aplikací a probíhá na druhém portu 2252. Více o komunikaci se zařízením a jeho připojením do grafické aplikace je uvedeno v kapitole \ref{sec:aplikace}


\subsection{Průmyslové PC Vecow IVH9000} \label{sec:IVH}
Pro tuto aplikaci bylo nutné zvolit průmyslový počítač, který bude odolný vůči ztíženým okolním podmínkám, především prachu a teplotám. Taktéž bylo třeba zvolit takové zařízení, které bude svými parametry vyhovovat náročnosti aplikace a zpracování dat z několika zařízení zároveň. Proto bylo zvoleno průmyslové PC od společnosti Vecow \cite{vecow} a to konkrétně dvě možné varianty IVH9016 a IVH9008. Tyto varianty se liší pouze v počtu výstupních ethernetových portů a níže jsou popsány jejich parametry.

Výhodami použití tohoto zařízení, a tedy i parametry díky, kterým byl tento systém vybrán, jsou pasivní chlazení, a tedy eliminace zatížení systému prachem, operační teplota od $-25^{\circ}C$ do $70^{\circ}C$, možnost vzdáleného startu celého systému, vestavěný SSD disk a možnost zapojení čtyř vyjímatelných pevných disků a také 16 ethernetových portů s technologií PoE (power over ethernet), čtyři sériové porty a 16 DIO pinů.

Výkonově byla zvolena varianta zařízení s procesorem Intel Core i7 šesté generace, 16 GB paměti RAM DDR4 s frekvencí 2133MHz, vnitřním 128GB SSD diskem pro operační systém Windows 7 a vlastní aplikaci a čtyřmi 2TB disky pro ukládání zaznamenaných dat.

Dle uživatelského manuálu je z 16 I/O pinů zařízení využito osm výstupních pro možné spínání ostatních periferií. Důvodem je fixní konfigurace pinů výrobcem na 8 vstupních a~8 výstupních. Pro ovládání byla použita interní knihovna dodaná společností Vecow, která povoluje přímé nastavení logické úrovně této periferii.

\begin{figure} [h]
	\centering
	\includegraphics[width=0.6\linewidth]{fig/vecow.jpg}
	\caption{Průmyslové PC Vecow IVH 9016 \cite{InfraredCarosena}}
	\label{fig:vecow}
\end{figure}


\subsection{Převodník Edgar} \label{sec:Edgar}
Převodník Edgar je zařízeni od společnosti Papouch s.r.o \cite{papouch}. Toto zařízení umožňuje převod sériové komunikace RS232 nebo RS485 na komunikace Ethernetovou. V původním konceptu celého měřicího zařízení, navrženého pro tuto práci, bylo počítáno s propojením průmyslového PC \ref{sec:IVH} a řídicí jednotky ovládání motoru \ref{sec:PTZmotor} za pomocí sériového rozhraní, avšak sériová komunikace má dle specifikací omezení na délku propojení 5m. Z tohoto důvodu jsme přistoupili na převod komunikace na ethernetovou. Díky tomuto kroku lze prodloužit délku propojení těchto dvou elementů. Další výhodou tohoto převodníku je možnost napájení pomocí PoE (Power over Ethernet). Přičemž Vecow IVH9000 má tuto technologii přímo podporovanou, a tedy došlo i k redukci počtu propojení mezi počítačem a měřicím systémem. V~původní verzi implementované aplikace bylo využito možnosti vytvoření virtuálního portu COM, který odesílal sériová data na statickou IP adresu daného převodníku. Z důvodu možnosti připojení až 16 měřicích modulů, a možnosti zjednodušení prvotní konfigurace, jsme dle specifikací zařízení Edgar přistoupili k revizi a využili možnosti definovat IP adresu převodníku a reimplemetovat připojení z virtuálního sériového připojení na protokol TCP.

\begin{figure} [h]
	\centering
	\includegraphics[width=0.3\linewidth]{fig/edgar.jpg}
	\caption{Převodník Edgar \cite{InfraredCarosena}}
	\label{fig:edgar}
\end{figure}

\subsection{PT motor s řídicí jednotkou}\label{sec:PTZmotor}
Pro virtuální zvětšení zorného úhlu kamery, či možnosti nahradit více zařízení jedním, byl do systému implementován takzvaný PT (Pan,Tilt) motor PTH300 \cite{PTZ} od společnosti Videotec S.P.A. Na tento motor (viz obrázek č. \ref{fig:PTZmotor}) je umístěna kamera SAFETIS, a je tedy možné její natáčení ve dvou osách, a to na základě fyzických limitů motoru. Motor PTH300 byl taktéž zvolen z důvodu možnosti rotace o $330^{\circ}$ horizontálně a $360^{\circ}$ vertikálně, a to na základě nastavených limitů rotace a také díky stupni krytí IP66, což znamená krytí před nebezpečným dotykem jakoukoliv pomůckou, úplnému krytí proti prachu a ochraně proti intenzivně tryskající vodě.

Pro ovládání chodu motoru PTH300 byla použita řídicí jednotka DTMRX2 (na obrázku č. \ref{fig:PTZcontroller}) od stejného výrobce tedy Videotec S.P.A. Toto zařízení umožňuje propojení PT motoru s~dalším zařízením, v našem případě průmyslovým PC \ref{sec:IVH} pomocí rozhraní RS232 nebo RS485. V případě této práce je využito rozhraní RS232, které je z důvodu možnosti potřeby větších komunikačních vzdáleností transformováno převodníkem Edgar \ref{sec:Edgar} na posílání sériových příkazů přes ethernetové zapojení. Struktura těchto příkazů je definována podporovaným Pelco-D protokolem, který je popsán v následující sekci \ref{sec:PelcoD}. Pro využití tohoto protokolu byla jednotka konfigurována pomocí fyzických přepínačů na základní desce, dle uživatelského manuálu. Taktéž byly nastaveny parametry sériové komunikace a zvolena varianta napájení jak samotné jednotky, tak i připojeného motoru. Výhodami této řídicí jednotky je stupeň krytí IP56, tedy oproti motoru je rozdíl pouze v částečném krytí proti prachu a dále možností jak manuálního nastavení pozic, tak nastavením přednastavených pozic. Hlavní nevýhodou je chybějící zpětná komunikace, a to hlavně z pohledu chybějící informace o aktuálním natočení motoru a informaci zda se motor aktuálně pohybuje.

\begin{figure} [h]
\centering
\begin{subfigure}{.5\textwidth}
  \centering
  \includegraphics[width=.5\linewidth]{fig/PTZmotor.jpg}
  \caption{PTZ motor PTH300 \cite{PTZ}}
\label{fig:PTZmotor}
\end{subfigure}%
\begin{subfigure}{.5\textwidth}
  \centering
  \includegraphics[width=.5\linewidth]{fig/PTZcontroller.jpg}
  \caption{Řídicí jednotka DTMRX2 \cite{PTZController}}
\label{fig:PTZcontroller}
\end{subfigure}
  \caption{PTZ motor s řídicí jednotkou}
\end{figure}

\subsubsection{Pelco-D}\label{sec:PelcoD}
Protokol Pelco-D je jeden z řady protokolů vyvinutý převážně pro komunikaci s PTZ motory a v CCTV průmyslu. Jedná se o protokol používaný v sériové komunikaci a definuje formát a sadu příkazů včetně parametrů. Pro nastavení tohoto protokolu je třeba v sériové komunikaci nastavit osm datových bitů, jeden stop bit a žádnou paritu. Volba rychlosti sériové komunikace musí být zvolena dle zařízení, se kterým se komunikuje, což je v našem případě $2400Bd$ pro komunikaci s řídicí jednotkou DTMRX2, dle uživatelského manuálu. Samotná Pelco-D zpráva obsahuje 7 bajtů jejichž význam je:


\begin{itemize}
\item První bajt je synchronizační a vždy nabývá hodnoty $FF$ v hexadecimálním kódu.
\item Druhý bajt obsahuje adresu řídicí jednotky pro PTZ motor, který je zpravidla uveden v uživatelském manuálu.
\item Třetí a čtvrtý bajt obsahuje data o ovládání (směr otáčení motoru, řízení PTZ bezpečnostní kamery a podobně).
\item Pátý bajt je datový a nastavuje rychlost otáčení kolem svislé osy PTZ motoru.
\item Šestý bajt je datový a udává rychlost otáčení kolem vertikální osy PTZ motoru.
\item Sedmý bajt ma podobu kontrolního součtu a je to zbytek po dělení 100 ze sumy zaslaných bajtů vyjma synchronizačního.
\end{itemize}

Na bajty tři a čtyři lze pohlížet jako na příkazy. Každý bit ovládá jinou funkci kamery, například pokud je třetí bit čtvrtého bajtu nastaven na hodnotu 1 a je nastavena nenulová hodnota dat pro vertikální rychlost, motor se začne pohybovat danou rychlostí vertikálně vzhůru, a to do doby, dokud nezašleme příkaz na zastavení pohybu \cite{PelcoD}.


