diff --git a/src/contents.tex b/src/contents.tex index b27ebe389a6b711a416d3df3bb02ebbd19062bfa..236d2584dc414ae64bd51fb77066a164d69af718 100644 --- a/src/contents.tex +++ b/src/contents.tex @@ -5,7 +5,47 @@ \def\nev{Nádudvari Ákos} \def\kepzes{Mérnökinformatikus BSc} \def\cim{ESP32 alapú biztonsági rendszer tervezése és megvalósítása Rust nyelv használatával, okosotthon-integrációval} -\def\temavezetok{Témavezető: Tihanyi Attila Kálmán} +\def\temavezetok{Témavezető:\\Tihanyi Attila Kálmán} + +\def\bevezetesintro{ +\paragraph{} Manapság az informatika mindenhol jelen van. Nem túlzás, ha azt +mondjuk, hogy ma már elkerülhetetlen a számítógépek jelenléte, bármely iparágról +is legyen szó. Az informatika erre rendezkedett be, illetve az a célja, hogy +kisegítse és támogassa a világban zajló események folyását. Az informatika +a biztonságtechika világában is jelentősen számottevő, mely egy szerteágazó, +multidiszciplináris témakör. Ilyen rendszerek különböző kategóriákba +sorolhatóak, mint például: távfelügyeleti rendszerek, megfigyelőrendszerek +(kamerarendszerek), beléptetőrendszerek és behatolásjelző rendszerek. +\cite{bizt-rendszerek} Sok háztartásban találkozhatunk ilyen rendszerekkel, +melyeket bizonyára egy beépített célszámítógép vezérel. A dolgozatom egy ilyen +rendszer tervezésével és megvalósításával foglalkozik. +} + +\def\elozmenyekintro{ +\paragraph{} Mielőtt a saját rendszer megvalósításával foglalkoznánk, szeretnék +beszélni az iparág állapotáról; a már elérhető megoldásokról írni. Szeretném +felmérni azok képességeit. Fontosnak tartom, hogy egy ilyen biztonságtechnikai +szempontból kritikus rendszer tervezése előtt legyen egy megértésem mások +korábbi tapasztalatairól a témakörben. Továbbá, ismerkedem a projekthez +illő technológiákkal, keresek a megvalósításhoz használható eszközöket és +megválasztom azokat az arra vetett megkötéseinket figyelembe véve. A kutatás +eredményeit, az elméleti kérdéseket és a projekt lehetőségeit dokumentálom. +} + +\def\tervezesintro{ +\paragraph{} Miután konkretizáltam a projekt kereteit, a megvalósítandó +rendszer tervezésével foglalkozom. A mikrokontroller az ESP32 hardver platfomon, +Rust szoftveres környezetben valósul meg. Az okosotthon integrációhoz a +rendszer vezetékes hálózaton MQTT protokollon fog kommunikálni. A választott +technológiákkal ismerkedem, megindoklom a választásaimat helyesség, biztonság és +a fejlesztés kényelmessége (későbbi bővíthetőség) alapján. +} + +\def\eredmenyekintro{ +\paragraph{} Végül a kész rendszer megvalósításán végigjárok. Bemutatom +a hardver felépítését, a firmware működését és az okosotthon integrációt. +Értékelem, hogy a rendszer hogyan felel meg a feladatnak és a megkötéseinknek. +} % címlap generálása \cimlap diff --git a/src/contents/2-kivonat.tex b/src/contents/2-kivonat.tex index e59f938e1fffdb5c1f9d04d2483245f515883e1b..eb038f6d0b3f8f062ea6c5999c0de3471a48ded6 100644 --- a/src/contents/2-kivonat.tex +++ b/src/contents/2-kivonat.tex @@ -1,20 +1,25 @@ \chapter*{Kivonat} % Minimum 2000 karakter, maximum két oldalas tartalmi összefoglaló a dolgozat nyelve szerinti nyelven -\paragraph{} -% a fejezetek elején az első pár mondat összesítése itt -% TODO: 2000 karakter fölé bővíteni -A dolgozat célja egy mikrokontroller által vezérelt biztonsági rendszer tervezése és megvalósítása. -A teljes objektumvédelmi rendszer -felépítése: Központi egység (ESP32), PIR mozgásérzékelők, IoT integrációs lehetőség biztosítása vezetékes/WiFi hálózatok felhasználásával. -A rendszer feladata az érzékelt események kezelése és a felhasználók értesítése SMS-en vagy e-mail-en. -Kiemelt cél a rendszer okosotthon-megoldásokkal való integrálása. A dolgozat során a hallgató irodalmi adatok alapján ismerkedjen meg a hardveres és szoftveres -biztonsági megoldásokkal. +% Neptun kivonat: +% \paragraph{} +% A dolgozat célja egy mikrokontroller által vezérelt biztonsági rendszer tervezése és megvalósítása. +% A teljes objektumvédelmi rendszer +% felépítése: Központi egység (ESP32), PIR mozgásérzékelők, IoT integrációs lehetőség biztosítása vezetékes/WiFi hálózatok felhasználásával. +% A rendszer feladata az érzékelt események kezelése és a felhasználók értesítése SMS-en vagy e-mail-en. +% Kiemelt cél a rendszer okosotthon-megoldásokkal való integrálása. A dolgozat során a hallgató irodalmi adatok alapján ismerkedjen meg a hardveres és szoftveres +% biztonsági megoldásokkal. + +% Válassza ki a feladat +% megoldásához illeszkedő programozási környezetet és nyelvet. Válassza ki +% az ESP32 és az okosotthon által támogatott közös kommunikációs +% protokollt. Készítse el az eszköz, szoftver és az okosotthon-integráció +% gyakorlati megvalósítását. Értékelje a megvalósított rendszert, keresse +% meg annak továbbfejlesztési lehetőségeit és adjon javaslatot ezek megvalósítására. + +\bevezetesintro +\elozmenyekintro +\tervezesintro +\eredmenyekintro -Válassza ki a feladat -megoldásához illeszkedő programozási környezetet és nyelvet. Válassza ki -az ESP32 és az okosotthon által támogatott közös kommunikációs -protokollt. Készítse el az eszköz, szoftver és az okosotthon-integráció -gyakorlati megvalósítását. Értékelje a megvalósított rendszert, keresse -meg annak továbbfejlesztési lehetőségeit és adjon javaslatot ezek megvalósítására. \clearpage diff --git a/src/contents/4-bevezetes.tex b/src/contents/4-bevezetes.tex index 741b20a8c07e31251e87c847410422e46ce88b1a..7715c4ade56f48b0f3df8a4fc07f7708b2755b83 100644 --- a/src/contents/4-bevezetes.tex +++ b/src/contents/4-bevezetes.tex @@ -1,17 +1,6 @@ \chapter{Bevezetés} -\paragraph{} Manapság az informatika mindenhol jelen van. Nem túlzás, ha -azt mondjuk, hogy ma már elkerülhetetlen a számítógépek jelenléte, bármely -iparágról is legyen szó. Az informatika erre rendezkedett be, illetve az -a célja, hogy kisegítse és támogassa a világban zajló események folyását. -Az informatika a biztonságtechika világában is jelentősen számottevő, mely -egy szerteágazó, multidiszciplináris témakör. Ilyen rendszerek különböző -kategóriákba sorolhatóak, mint például: távfelügyeleti rendszerek, -megfigyelőrendszerek (kamerarendszerek), beléptetőrendszerek és behatolásjelző -rendszerek. \cite{bizt-rendszerek} Sok háztartásban találkozhatunk -ilyen rendszerekkel, melyeket bizonyára egy beépített célszámítógép -vezérel. A dolgozatom egy ilyen rendszer tervezésével és megvalósításával -foglalkozik. +\bevezetesintro \section{Feladat} % Az elvégzett munka kontextusa, szakmai indoklása, motivációk, célkitűzés és az elvégzett feladatok összefoglalása. diff --git a/src/contents/5-elozmenyek.tex b/src/contents/5-elozmenyek.tex index 7eff8b1fb057d6ad116347483c7bd92dea127ccc..d5b1979a9cbba3a62bbc720c0429d349e06a3725 100644 --- a/src/contents/5-elozmenyek.tex +++ b/src/contents/5-elozmenyek.tex @@ -1,49 +1,48 @@ \chapter{Előzmények} -% \paragraph{} irodalomkutatás, hasonló alkotások bemutatása, az ezekből a dolgozat készítője által levonható következtetések. A szakirodalom önálló, kritikai elemzése. - -\section{Elterjedten használt megoldások} -% Itt kutatnék már létező, hasonló rendszerekről. Ismertetném, hogy miben hoztak más döntéseket, hogyan oldottak meg -% biztonsági kérdéseket. Következtetések levonása, hogy mire érdemes figyelni itt, miben lehet javítani/máshogy megvalósítani. - -\subsection{Komplett ipari megoldások elemzése} - -Számos cég foglalkozik biztonságtechnikával, közöttük sok évnyi tapasztalattal, -de viszonylag új versenytásak is jelen vannak a térben. -Hazánkban a legelterjedtebbek közül megemlítendő ilyen cégek: Paradox, DSC. - - +% \paragraph{} irodalomkutatás, hasonló alkotások bemutatása, az ezekből a +% dolgozat készítője által levonható következtetések. A szakirodalom önálló, +% kritikai elemzése. + +\elozmenyekintro + +\section{Kereskedelmi megoldások elemzése} + +\paragraph{} Számos cég foglalkozik biztonságtechnikával, közöttük sok évnyi +tapasztalattal, de viszonylag új versenytásak is jelen vannak a térben. Az +általuk kínált megoldásokat az alábbi két nagy kategóriába tudom sorolni: +\begin{enumerate} + \item "Hagyományos", komplett, telepített ipari rendszerek + \item Úgynevezett "DIY", szakember nélkül, házilag be- vagy összeszerelhető +rendszerek. +\end{enumerate} +Az előbbi kategória esetében szükséges egy szakember ismerete, aki a felmért +igények alapján ad ajánlatot, illetve hoz döntést, hogy a rendszer mely +elemeket fogja tartalmazni. A telepítés szintúgy egy szakember feladata. Az +ilyen termékeknél nem szempont az "onboarding" élmény a végfelhasználó számára, +ellenben az utóbbi kategóriával. A DIY rendszereknél a beszerelés kezdetétől +fogva a végfelhasználóra van bízva a rendszer. + +Ezt a megkülönböztetést azért tartom fontosnak, mert - megfigyelésem szerint +- az általam nevezett hagyományos rendszerek sok esetben nem adnak lehetőséget +bármiféle integrációs lehetőségre, illetve elavult megoldásokat kínálnak arra. +Egy ilyen rendszerrel potenciálisan nehezebb interfészelni egy modern okosotthon +megoldás keretében, mint az újabb DIY rendszerek esetében, melyek előtérbe +helyezik annak fontosságát. + +Ennek ellenére a DIY rendszereknek is megvannak a hátrányai. A legtöbb +rendszerben minden hardver elem saját akkumulátorral van ellátva, ahol fenn +áll az üzemkimaradás veszélye akkor, ha nem rendelkeznek bármilyen újratöltési +lehetőséggel. Sok rendszer lényegében egy házon belül fejlesztett IoT hub és +a hozzá tartozó IoT kiegészítőkből áll. Ebből kifolyólag a szoftver legtöbb +esetben zárt, és a rendszer teljeskörű funkcionalitása egy digitális előfizetés +keretében elérhető. \section{Biztonságtechnikai kérdések} -% Kutatás a biztonságtechnikáról. Mire kell figyelni egy ilyen rendszer tervezésekor. -% hardveres és szoftveres biztonság. - \subsection{Mechnanikai biztonság} \subsection{Informatikai biztonság} - -% \section{Első dolog} -% \subsection{Valami} -% \paragraph{} -% \lipsum[7] % 1 random bekezdés - töröld ki -% \paragraph{} -% \lipsum[8] % 1 random bekezdés - töröld ki - -% \section{Második dolog} -% \paragraph{} -% \lipsum[9] % 1 random bekezdés - töröld ki - -% \section{Harmadik dolog} -% \subsection{Valami2} -% \paragraph{} -% \lipsum[10] % 1 random bekezdés - töröld ki -% \paragraph{} -% \lipsum[11] % 1 random bekezdés - töröld ki -% \subsection{Valami3} -% \paragraph{} -% \lipsum[12] % 1 random bekezdés - töröld ki -% \paragraph{} -% \lipsum[13] % 1 random bekezdés - töröld ki +\section{Integrációs lehetőségek} \clearpage % Ez azért kell, hogy nehogy képek átcsússzanak a következő fejezethez diff --git a/src/contents/6-tervezes.tex b/src/contents/6-tervezes.tex index f59b0a99ccaf7434ae61d136fd7c6c82e2a73769..001eab0be5d2e38c1372743aaf120541357bab2c 100644 --- a/src/contents/6-tervezes.tex +++ b/src/contents/6-tervezes.tex @@ -7,6 +7,8 @@ % Kimondjuk, hogy miből áll a teljes rendszer, mit tervezünk megvalósítani. % Megfogalmazom a biztonsági elvásárokat, kényelmi szempontokat (+okosotthon-integráció). +\tervezesintro + \section{Döntések} % A korábban kutatottak alapján kiértékelem, hogy a létező megoldások milyen minőségben felelnek meg a célunknak. diff --git a/src/contents/7-eredmenyek.tex b/src/contents/7-eredmenyek.tex index d8d32cdb532b24da24d4080c1d3e11dbeb054fcf..2915af15038435166b3aaa16d391d3fe9c4d166c 100644 --- a/src/contents/7-eredmenyek.tex +++ b/src/contents/7-eredmenyek.tex @@ -9,5 +9,21 @@ % Tapasztalt hibák bemutatása (esetleges tervezési hibák), fejlődési lehetőségek. % Mit lehetett volna másképp csinálni, illetve miben lehet bővíteni. +\eredmenyekintro + +\section{Hardware} + +\begin{figure}[htbp!] + \includesvg[width=\columnwidth]{images/rendszer.drawio.svg} + \caption{A teljes rendszer magas szintű vázlata} + \label{diag:rendszer} +\end{figure} + +\begin{figure}[htbp!] + \includesvg[width=\columnwidth,inkscapelatex=false]{images/hardware.drawio.svg} + \caption{A megvalósított rendszer kapcsolási rajza} + \label{diag:hardware} +\end{figure} + \clearpage % Ez azért kell, hogy nehogy képek átcsússzanak a következő fejezethez diff --git a/src/contents/melleklet.tex b/src/contents/melleklet.tex index 5c0b34ad391b64c9591f05cb9e317490d96b55fb..d87374cd232ce0db08fa683eff13b89e453573b0 100644 --- a/src/contents/melleklet.tex +++ b/src/contents/melleklet.tex @@ -11,10 +11,10 @@ A dolgozat mindenkori legújabb változata \href{https://dev.itk.ppke.hu/api/v4/ \section{A dolgozat írásához használt eszközök és technológiák} -Ebben a mellékelt fejezetben csupán az érdekesség kedvéért ismertetem a dolgozat -írásához felhasznált technológiákat. Itt azok számára adom ajánlásomat, akik -szeretnének hasonló dokumentumokat előállítani és publikálni, illetve belátást -nyerhetnek az általam használt környezetre. +\paragraph{} Ebben a mellékelt fejezetben csupán az érdekesség kedvéért +ismertetem a dolgozat írásához felhasznált technológiákat. Itt azok számára adom +ajánlásomat, akik szeretnének hasonló dokumentumokat előállítani és publikálni, +illetve belátást nyerhetnek az általam használt környezetre. % \chapter{Melléklet} diff --git a/src/images/hardware.drawio.svg b/src/images/hardware.drawio.svg new file mode 100644 index 0000000000000000000000000000000000000000..f4e69a8c9ef3d3bfe258afe367f689d61eeb39a1 --- /dev/null +++ b/src/images/hardware.drawio.svg @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Do not edit this file with editors other than draw.io --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg xmlns="http://www.w3.org/2000/svg" style="background: transparent; background-color: transparent; color-scheme: light dark;" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="760px" height="492px" viewBox="-0.5 -0.5 760 492" content="<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36 Edg/134.0.0.0" version="26.2.12"> <diagram id="gMwi-X9aCbqHRI8O1z25" name="Page-1"> <mxGraphModel dx="845" dy="1365" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0"> <root> <mxCell id="0" /> <mxCell id="1" parent="0" /> <mxCell id="0eKAarTLSlS_2LZKTG6j-115" value="" style="edgeStyle=none;orthogonalLoop=1;jettySize=auto;html=1;rounded=0;endArrow=none;startFill=0;entryX=0;entryY=0.446;entryDx=0;entryDy=0;entryPerimeter=0;fontFamily=monospace;jumpStyle=none;" edge="1" parent="1" target="0eKAarTLSlS_2LZKTG6j-50"> <mxGeometry width="100" relative="1" as="geometry"> <mxPoint x="530" y="640" as="sourcePoint" /> <mxPoint x="650" y="400" as="targetPoint" /> <Array as="points"> <mxPoint x="530" y="400" /> </Array> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-116" value="COM" style="edgeLabel;html=1;align=right;verticalAlign=middle;resizable=0;points=[];fontFamily=monospace;" vertex="1" connectable="0" parent="0eKAarTLSlS_2LZKTG6j-115"> <mxGeometry x="0.7903" relative="1" as="geometry"> <mxPoint x="37" y="-10" as="offset" /> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-1" value="ESP32" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=monospace;" vertex="1" parent="1"> <mxGeometry x="280" y="480" width="120" height="180" as="geometry" /> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;startFill=0;fontFamily=monospace;" edge="1" parent="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="130" y="519.76" as="sourcePoint" /> <mxPoint x="280" y="519.76" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-10" value="MISO" style="edgeLabel;html=1;align=left;verticalAlign=middle;resizable=0;points=[];fontFamily=monospace;" vertex="1" connectable="0" parent="0eKAarTLSlS_2LZKTG6j-9"> <mxGeometry x="0.0736" relative="1" as="geometry"> <mxPoint x="-78" y="-10" as="offset" /> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-8" value="W5500" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=monospace;" vertex="1" parent="1"> <mxGeometry x="10" y="480" width="120" height="170" as="geometry" /> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-11" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;entryX=0;entryY=0.25;entryDx=0;entryDy=0;endArrow=none;startFill=0;fontFamily=monospace;" edge="1" parent="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="130" y="539.76" as="sourcePoint" /> <mxPoint x="280" y="539.76" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-12" value="MOSI" style="edgeLabel;html=1;align=left;verticalAlign=middle;resizable=0;points=[];fontFamily=monospace;" vertex="1" connectable="0" parent="0eKAarTLSlS_2LZKTG6j-11"> <mxGeometry x="0.0736" relative="1" as="geometry"> <mxPoint x="-78" y="-10" as="offset" /> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-13" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;entryX=0;entryY=0.25;entryDx=0;entryDy=0;endArrow=none;startFill=0;fontFamily=monospace;" edge="1" parent="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="130" y="558.76" as="sourcePoint" /> <mxPoint x="280" y="558.76" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-14" value="SCLK" style="edgeLabel;html=1;align=left;verticalAlign=middle;resizable=0;points=[];fontFamily=monospace;" vertex="1" connectable="0" parent="0eKAarTLSlS_2LZKTG6j-13"> <mxGeometry x="0.0736" relative="1" as="geometry"> <mxPoint x="-78" y="-10" as="offset" /> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-15" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;entryX=0;entryY=0.25;entryDx=0;entryDy=0;endArrow=none;startFill=0;fontFamily=monospace;" edge="1" parent="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="130" y="579.76" as="sourcePoint" /> <mxPoint x="280" y="579.76" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-16" value="SCS" style="edgeLabel;html=1;align=left;verticalAlign=middle;resizable=0;points=[];fontFamily=monospace;" vertex="1" connectable="0" parent="0eKAarTLSlS_2LZKTG6j-15"> <mxGeometry x="0.0736" relative="1" as="geometry"> <mxPoint x="-78" y="-10" as="offset" /> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;entryX=0;entryY=0.25;entryDx=0;entryDy=0;endArrow=none;startFill=0;fontFamily=monospace;" edge="1" parent="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="130" y="599.76" as="sourcePoint" /> <mxPoint x="280" y="599.76" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-18" value="RST" style="edgeLabel;html=1;align=left;verticalAlign=middle;resizable=0;points=[];fontFamily=monospace;" vertex="1" connectable="0" parent="0eKAarTLSlS_2LZKTG6j-17"> <mxGeometry x="0.0736" relative="1" as="geometry"> <mxPoint x="-78" y="-10" as="offset" /> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;entryX=0;entryY=0.25;entryDx=0;entryDy=0;endArrow=none;startFill=0;fontFamily=monospace;" edge="1" parent="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="130" y="619.76" as="sourcePoint" /> <mxPoint x="280" y="619.76" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-20" value="INT" style="edgeLabel;html=1;align=left;verticalAlign=middle;resizable=0;points=[];fontFamily=monospace;" vertex="1" connectable="0" parent="0eKAarTLSlS_2LZKTG6j-19"> <mxGeometry x="0.0736" relative="1" as="geometry"> <mxPoint x="-78" y="-10" as="offset" /> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-23" value="GPIO23" style="edgeLabel;html=1;align=right;verticalAlign=middle;resizable=0;points=[];fontFamily=monospace;" vertex="1" connectable="0" parent="1"> <mxGeometry x="276.99619047619046" y="509.76" as="geometry" /> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-24" value="GPIO19" style="edgeLabel;html=1;align=right;verticalAlign=middle;resizable=0;points=[];fontFamily=monospace;" vertex="1" connectable="0" parent="1"> <mxGeometry x="276.99619047619046" y="529.76" as="geometry" /> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-25" value="GPIO18" style="edgeLabel;html=1;align=right;verticalAlign=middle;resizable=0;points=[];fontFamily=monospace;" vertex="1" connectable="0" parent="1"> <mxGeometry x="276.99619047619046" y="548.76" as="geometry" /> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-26" value="GPIO5" style="edgeLabel;html=1;align=right;verticalAlign=middle;resizable=0;points=[];fontFamily=monospace;" vertex="1" connectable="0" parent="1"> <mxGeometry x="276.99619047619046" y="569.76" as="geometry" /> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-27" value="GPIO33" style="edgeLabel;html=1;align=right;verticalAlign=middle;resizable=0;points=[];fontFamily=monospace;" vertex="1" connectable="0" parent="1"> <mxGeometry x="276.99619047619046" y="589.76" as="geometry" /> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-28" value="GPIO26" style="edgeLabel;html=1;align=right;verticalAlign=middle;resizable=0;points=[];fontFamily=monospace;" vertex="1" connectable="0" parent="1"> <mxGeometry x="276.99619047619046" y="609.76" as="geometry" /> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-36" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=baseDash;startFill=0;endFill=0;fontFamily=monospace;" edge="1" parent="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="130" y="500" as="sourcePoint" /> <mxPoint x="170" y="480" as="targetPoint" /> <Array as="points"> <mxPoint x="170" y="500" /> </Array> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-37" value="3V3" style="edgeLabel;html=1;align=left;verticalAlign=middle;resizable=0;points=[];fontFamily=monospace;" vertex="1" connectable="0" parent="0eKAarTLSlS_2LZKTG6j-36"> <mxGeometry x="0.0736" relative="1" as="geometry"> <mxPoint x="-28" y="-10" as="offset" /> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-41" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=baseDash;startFill=0;endFill=0;fontFamily=monospace;" edge="1" parent="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="400" y="500" as="sourcePoint" /> <mxPoint x="440" y="480" as="targetPoint" /> <Array as="points"> <mxPoint x="440" y="500" /> </Array> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-42" value="3V3" style="edgeLabel;html=1;align=left;verticalAlign=middle;resizable=0;points=[];fontFamily=monospace;" vertex="1" connectable="0" parent="0eKAarTLSlS_2LZKTG6j-41"> <mxGeometry x="0.0736" relative="1" as="geometry"> <mxPoint x="-28" y="-10" as="offset" /> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-43" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=ERmandOne;startFill=0;endFill=0;fontFamily=monospace;" edge="1" parent="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="128" y="640" as="sourcePoint" /> <mxPoint x="170" y="660" as="targetPoint" /> <Array as="points"> <mxPoint x="170" y="640" /> </Array> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-44" value="GND" style="edgeLabel;html=1;align=left;verticalAlign=middle;resizable=0;points=[];fontFamily=monospace;" vertex="1" connectable="0" parent="0eKAarTLSlS_2LZKTG6j-43"> <mxGeometry x="0.0736" relative="1" as="geometry"> <mxPoint x="-28" y="-10" as="offset" /> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-47" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=ERmandOne;startFill=0;endFill=0;fontFamily=monospace;" edge="1" parent="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="400" y="645" as="sourcePoint" /> <mxPoint x="442" y="665" as="targetPoint" /> <Array as="points"> <mxPoint x="442" y="645" /> </Array> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-48" value="GND" style="edgeLabel;html=1;align=left;verticalAlign=middle;resizable=0;points=[];fontFamily=monospace;" vertex="1" connectable="0" parent="0eKAarTLSlS_2LZKTG6j-47"> <mxGeometry x="0.0736" relative="1" as="geometry"> <mxPoint x="-28" y="-10" as="offset" /> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-50" value="PIR" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=monospace;" vertex="1" parent="1"> <mxGeometry x="660" y="359.76" width="60" height="90.24" as="geometry" /> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-51" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=baseDash;startFill=0;endFill=0;fontFamily=monospace;" edge="1" parent="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="720" y="370" as="sourcePoint" /> <mxPoint x="760" y="350" as="targetPoint" /> <Array as="points"> <mxPoint x="760" y="370" /> </Array> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-52" value="12V" style="edgeLabel;html=1;align=left;verticalAlign=middle;resizable=0;points=[];fontFamily=monospace;" vertex="1" connectable="0" parent="0eKAarTLSlS_2LZKTG6j-51"> <mxGeometry x="0.0736" relative="1" as="geometry"> <mxPoint x="-28" y="-10" as="offset" /> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-53" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=ERmandOne;startFill=0;endFill=0;fontFamily=monospace;" edge="1" parent="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="720" y="438.52" as="sourcePoint" /> <mxPoint x="760" y="458.76" as="targetPoint" /> <Array as="points"> <mxPoint x="760" y="438.76" /> </Array> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-54" value="GND" style="edgeLabel;html=1;align=left;verticalAlign=middle;resizable=0;points=[];fontFamily=monospace;" vertex="1" connectable="0" parent="0eKAarTLSlS_2LZKTG6j-53"> <mxGeometry x="0.0736" relative="1" as="geometry"> <mxPoint x="-28" y="-10" as="offset" /> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-57" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;startFill=0;fontFamily=monospace;" edge="1" parent="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="400" y="520" as="sourcePoint" /> <mxPoint x="660" y="380" as="targetPoint" /> <Array as="points"> <mxPoint x="400" y="521" /> <mxPoint x="510" y="521" /> <mxPoint x="510" y="380" /> </Array> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-58" value="NC" style="edgeLabel;html=1;align=right;verticalAlign=middle;resizable=0;points=[];fontFamily=monospace;" vertex="1" connectable="0" parent="0eKAarTLSlS_2LZKTG6j-57"> <mxGeometry x="0.0736" relative="1" as="geometry"> <mxPoint x="149" y="-44" as="offset" /> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-59" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;startFill=0;fontFamily=monospace;endFill=1;startArrow=box;" edge="1" parent="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="530" y="810" as="sourcePoint" /> <mxPoint x="530" y="670" as="targetPoint" /> <Array as="points"> <mxPoint x="530" y="670" /> </Array> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-61" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;startFill=0;endFill=1;startArrow=cross;fontFamily=monospace;" edge="1" parent="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="580" y="419.43" as="sourcePoint" /> <mxPoint x="660" y="419.43" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-62" value="TAMPER" style="edgeLabel;html=1;align=right;verticalAlign=middle;resizable=0;points=[];fontFamily=monospace;" vertex="1" connectable="0" parent="0eKAarTLSlS_2LZKTG6j-61"> <mxGeometry x="0.0736" relative="1" as="geometry"> <mxPoint x="35" y="-8" as="offset" /> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-63" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;startFill=0;startArrow=cross;fontFamily=monospace;" edge="1" parent="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="580" y="439.42999999999995" as="sourcePoint" /> <mxPoint x="660" y="439.42999999999995" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-64" value="TAMPER" style="edgeLabel;html=1;align=right;verticalAlign=middle;resizable=0;points=[];fontFamily=monospace;" vertex="1" connectable="0" parent="0eKAarTLSlS_2LZKTG6j-63"> <mxGeometry x="0.0736" relative="1" as="geometry"> <mxPoint x="36" y="-8" as="offset" /> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-65" value="PIR" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=monospace;" vertex="1" parent="1"> <mxGeometry x="660" y="515.5" width="60" height="90.24" as="geometry" /> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-66" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=baseDash;startFill=0;endFill=0;fontFamily=monospace;" edge="1" parent="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="720" y="521" as="sourcePoint" /> <mxPoint x="760" y="501" as="targetPoint" /> <Array as="points"> <mxPoint x="760" y="521" /> </Array> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-67" value="12V" style="edgeLabel;html=1;align=left;verticalAlign=middle;resizable=0;points=[];fontFamily=monospace;" vertex="1" connectable="0" parent="0eKAarTLSlS_2LZKTG6j-66"> <mxGeometry x="0.0736" relative="1" as="geometry"> <mxPoint x="-29" y="-10" as="offset" /> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-68" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=ERmandOne;startFill=0;endFill=0;fontFamily=monospace;" edge="1" parent="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="720" y="594.26" as="sourcePoint" /> <mxPoint x="760" y="614.5" as="targetPoint" /> <Array as="points"> <mxPoint x="760" y="594.5" /> </Array> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-69" value="GND" style="edgeLabel;html=1;align=left;verticalAlign=middle;resizable=0;points=[];fontFamily=monospace;" vertex="1" connectable="0" parent="0eKAarTLSlS_2LZKTG6j-68"> <mxGeometry x="0.0736" relative="1" as="geometry"> <mxPoint x="-28" y="-10" as="offset" /> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-74" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;startFill=0;endFill=1;startArrow=cross;fontFamily=monospace;" edge="1" parent="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="580" y="575.1700000000001" as="sourcePoint" /> <mxPoint x="660" y="575.1700000000001" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-75" value="TAMPER" style="edgeLabel;html=1;align=right;verticalAlign=middle;resizable=0;points=[];fontFamily=monospace;" vertex="1" connectable="0" parent="0eKAarTLSlS_2LZKTG6j-74"> <mxGeometry x="0.0736" relative="1" as="geometry"> <mxPoint x="35" y="-8" as="offset" /> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-76" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;startFill=0;startArrow=cross;fontFamily=monospace;" edge="1" parent="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="580" y="595.17" as="sourcePoint" /> <mxPoint x="660" y="595.17" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-77" value="TAMPER" style="edgeLabel;html=1;align=right;verticalAlign=middle;resizable=0;points=[];fontFamily=monospace;" vertex="1" connectable="0" parent="0eKAarTLSlS_2LZKTG6j-76"> <mxGeometry x="0.0736" relative="1" as="geometry"> <mxPoint x="36" y="-8" as="offset" /> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-80" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;startFill=0;fontFamily=monospace;jumpStyle=arc;jumpSize=10;" edge="1" parent="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="400" y="540" as="sourcePoint" /> <mxPoint x="660" y="528.97" as="targetPoint" /> <Array as="points"> <mxPoint x="660" y="540" /> </Array> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-82" value="PIR" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=monospace;" vertex="1" parent="1"> <mxGeometry x="660" y="680" width="60" height="90.24" as="geometry" /> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-85" value="..." style="text;html=1;align=center;verticalAlign=top;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;rotation=0;horizontal=0;fontFamily=monospace;" vertex="1" parent="1"> <mxGeometry x="670" y="630" width="40" height="40" as="geometry" /> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-86" value="NC" style="edgeLabel;html=1;align=right;verticalAlign=middle;resizable=0;points=[];fontFamily=monospace;" vertex="1" connectable="0" parent="1"> <mxGeometry x="659" y="531.9978260869566" as="geometry" /> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-87" value="GPIO0" style="edgeLabel;html=1;align=left;verticalAlign=middle;resizable=0;points=[];fontFamily=monospace;" vertex="1" connectable="0" parent="1"> <mxGeometry x="403.0033333333333" y="510.76" as="geometry" /> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-88" value="GPIO4" style="edgeLabel;html=1;align=left;verticalAlign=middle;resizable=0;points=[];fontFamily=monospace;" vertex="1" connectable="0" parent="1"> <mxGeometry x="403.0033333333333" y="529.76" as="geometry" /> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-89" value="..." style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;horizontal=0;fontFamily=monospace;" vertex="1" parent="1"> <mxGeometry x="390" y="534.76" width="40" height="40" as="geometry" /> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-90" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=baseDash;startFill=0;endFill=0;fontFamily=monospace;" edge="1" parent="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="720" y="690.74" as="sourcePoint" /> <mxPoint x="760" y="670.74" as="targetPoint" /> <Array as="points"> <mxPoint x="760" y="690.74" /> </Array> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-91" value="12V" style="edgeLabel;html=1;align=left;verticalAlign=middle;resizable=0;points=[];fontFamily=monospace;" vertex="1" connectable="0" parent="0eKAarTLSlS_2LZKTG6j-90"> <mxGeometry x="0.0736" relative="1" as="geometry"> <mxPoint x="-28" y="-10" as="offset" /> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-92" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=ERmandOne;startFill=0;endFill=0;fontFamily=monospace;" edge="1" parent="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="720" y="759.26" as="sourcePoint" /> <mxPoint x="760" y="779.5" as="targetPoint" /> <Array as="points"> <mxPoint x="760" y="759.5" /> </Array> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-93" value="GND" style="edgeLabel;html=1;align=left;verticalAlign=middle;resizable=0;points=[];fontFamily=monospace;" vertex="1" connectable="0" parent="0eKAarTLSlS_2LZKTG6j-92"> <mxGeometry x="0.0736" relative="1" as="geometry"> <mxPoint x="-28" y="-10" as="offset" /> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-94" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;startFill=0;fontFamily=monospace;jumpStyle=arc;jumpSize=10;" edge="1" parent="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="400" y="580" as="sourcePoint" /> <mxPoint x="660" y="700" as="targetPoint" /> <Array as="points"> <mxPoint x="510" y="580" /> <mxPoint x="510" y="700" /> </Array> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-95" value="NC" style="edgeLabel;html=1;align=right;verticalAlign=middle;resizable=0;points=[];fontFamily=monospace;" vertex="1" connectable="0" parent="1"> <mxGeometry x="660" y="688.9978260869566" as="geometry"> <mxPoint x="-1" y="3" as="offset" /> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-96" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;startFill=0;fontFamily=monospace;" edge="1" parent="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="530" y="720" as="sourcePoint" /> <mxPoint x="660" y="720" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-97" value="COM" style="edgeLabel;html=1;align=right;verticalAlign=middle;resizable=0;points=[];fontFamily=monospace;" vertex="1" connectable="0" parent="0eKAarTLSlS_2LZKTG6j-96"> <mxGeometry x="0.0736" relative="1" as="geometry"> <mxPoint x="59" y="-8" as="offset" /> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-98" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;startFill=0;endFill=1;startArrow=cross;fontFamily=monospace;" edge="1" parent="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="580" y="739.4300000000001" as="sourcePoint" /> <mxPoint x="660" y="739.4300000000001" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-99" value="TAMPER" style="edgeLabel;html=1;align=right;verticalAlign=middle;resizable=0;points=[];fontFamily=monospace;" vertex="1" connectable="0" parent="0eKAarTLSlS_2LZKTG6j-98"> <mxGeometry x="0.0736" relative="1" as="geometry"> <mxPoint x="35" y="-8" as="offset" /> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-100" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;startFill=0;startArrow=cross;fontFamily=monospace;" edge="1" parent="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="580" y="759.43" as="sourcePoint" /> <mxPoint x="660" y="759.43" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-101" value="TAMPER" style="edgeLabel;html=1;align=right;verticalAlign=middle;resizable=0;points=[];fontFamily=monospace;" vertex="1" connectable="0" parent="0eKAarTLSlS_2LZKTG6j-100"> <mxGeometry x="0.0736" relative="1" as="geometry"> <mxPoint x="36" y="-8" as="offset" /> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-102" value="GPIO32" style="edgeLabel;html=1;align=left;verticalAlign=middle;resizable=0;points=[];fontFamily=monospace;" vertex="1" connectable="0" parent="1"> <mxGeometry x="403.0033333333333" y="570.88" as="geometry" /> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-103" value="PIR_COM" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontFamily=monospace;" vertex="1" parent="1"> <mxGeometry x="460" y="780" width="70" height="30" as="geometry" /> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-109" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;startFill=0;fontFamily=monospace;" edge="1" parent="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="310" y="750" as="sourcePoint" /> <mxPoint x="310" y="660" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-104" value="SIREN" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=monospace;" vertex="1" parent="1"> <mxGeometry x="300" y="750" width="63" height="60" as="geometry" /> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-105" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=baseDash;startFill=0;endFill=0;fontFamily=monospace;" edge="1" parent="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="363" y="760" as="sourcePoint" /> <mxPoint x="403" y="740" as="targetPoint" /> <Array as="points"> <mxPoint x="403" y="760" /> </Array> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-106" value="12V" style="edgeLabel;html=1;align=left;verticalAlign=middle;resizable=0;points=[];fontFamily=monospace;" vertex="1" connectable="0" parent="0eKAarTLSlS_2LZKTG6j-105"> <mxGeometry x="0.0736" relative="1" as="geometry"> <mxPoint x="-28" y="-10" as="offset" /> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-107" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=ERmandOne;startFill=0;endFill=0;fontFamily=monospace;" edge="1" parent="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="363" y="804.89" as="sourcePoint" /> <mxPoint x="403" y="825.13" as="targetPoint" /> <Array as="points"> <mxPoint x="403" y="805.13" /> </Array> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-108" value="GND" style="edgeLabel;html=1;align=left;verticalAlign=middle;resizable=0;points=[];fontFamily=monospace;" vertex="1" connectable="0" parent="0eKAarTLSlS_2LZKTG6j-107"> <mxGeometry x="0.0736" relative="1" as="geometry"> <mxPoint x="-28" y="-10" as="offset" /> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-111" value="&lt;font&gt;S&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;horizontal=1;rotation=90;fontFamily=monospace;" vertex="1" parent="1"> <mxGeometry x="303" y="728" width="30" height="30" as="geometry" /> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-113" value="GPIO27" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontFamily=monospace;rotation=90;" vertex="1" parent="1"> <mxGeometry x="283" y="669" width="70" height="30" as="geometry" /> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-118" value="" style="edgeStyle=none;orthogonalLoop=1;jettySize=auto;html=1;rounded=0;dashed=1;endArrow=none;startFill=0;fontFamily=monospace;" edge="1" parent="1"> <mxGeometry width="100" relative="1" as="geometry"> <mxPoint x="530" y="640" as="sourcePoint" /> <mxPoint x="530" y="670" as="targetPoint" /> <Array as="points" /> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-121" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;startFill=0;fontFamily=monospace;" edge="1" parent="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="530" y="557" as="sourcePoint" /> <mxPoint x="660" y="557" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="0eKAarTLSlS_2LZKTG6j-122" value="COM" style="edgeLabel;html=1;align=right;verticalAlign=middle;resizable=0;points=[];fontFamily=monospace;" vertex="1" connectable="0" parent="0eKAarTLSlS_2LZKTG6j-121"> <mxGeometry x="0.0736" relative="1" as="geometry"> <mxPoint x="59" y="-8" as="offset" /> </mxGeometry> </mxCell> </root> </mxGraphModel> </diagram> </mxfile> "><defs/><g><g data-cell-id="0"><g data-cell-id="1"><g data-cell-id="0eKAarTLSlS_2LZKTG6j-115"><g><path d="M 520 297 L 520 57 L 650 57.01" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-116"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-end; width: 1px; height: 1px; padding-top: 48px; margin-left: 648px;"><div style="box-sizing: border-box; font-size: 0; text-align: right; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">COM</div></div></div></foreignObject><text x="648" y="51" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="11px" text-anchor="end">COM</text></switch></g></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-1"><g><rect x="270" y="137" width="120" height="180" rx="18" ry="18" fill="#ffffff" stroke="#000000" pointer-events="all" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 227px; margin-left: 271px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">ESP32</div></div></div></foreignObject><text x="330" y="231" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="12px" text-anchor="middle">ESP32</text></switch></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-9"><g><path d="M 120 176.76 L 270 176.76" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-10"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 1px; height: 1px; padding-top: 167px; margin-left: 124px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">MISO</div></div></div></foreignObject><text x="124" y="171" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="11px">MISO</text></switch></g></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-8"><g><rect x="0" y="137" width="120" height="170" rx="18" ry="18" fill="#ffffff" stroke="#000000" pointer-events="all" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 222px; margin-left: 1px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">W5500</div></div></div></foreignObject><text x="60" y="226" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="12px" text-anchor="middle">W5500</text></switch></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-11"><g><path d="M 120 196.76 L 270 196.76" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-12"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 1px; height: 1px; padding-top: 187px; margin-left: 124px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">MOSI</div></div></div></foreignObject><text x="124" y="191" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="11px">MOSI</text></switch></g></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-13"><g><path d="M 120 215.76 L 270 215.76" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-14"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 1px; height: 1px; padding-top: 206px; margin-left: 124px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">SCLK</div></div></div></foreignObject><text x="124" y="210" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="11px">SCLK</text></switch></g></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-15"><g><path d="M 120 236.76 L 270 236.76" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-16"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 1px; height: 1px; padding-top: 227px; margin-left: 124px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">SCS</div></div></div></foreignObject><text x="124" y="231" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="11px">SCS</text></switch></g></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-17"><g><path d="M 120 256.76 L 270 256.76" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-18"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 1px; height: 1px; padding-top: 247px; margin-left: 124px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">RST</div></div></div></foreignObject><text x="124" y="251" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="11px">RST</text></switch></g></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-19"><g><path d="M 120 276.76 L 270 276.76" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-20"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 1px; height: 1px; padding-top: 267px; margin-left: 124px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">INT</div></div></div></foreignObject><text x="124" y="271" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="11px">INT</text></switch></g></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-23"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-end; width: 1px; height: 1px; padding-top: 167px; margin-left: 266px;"><div style="box-sizing: border-box; font-size: 0; text-align: right; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">GPIO23</div></div></div></foreignObject><text x="266" y="171" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="11px" text-anchor="end">GPIO23</text></switch></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-24"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-end; width: 1px; height: 1px; padding-top: 187px; margin-left: 266px;"><div style="box-sizing: border-box; font-size: 0; text-align: right; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">GPIO19</div></div></div></foreignObject><text x="266" y="191" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="11px" text-anchor="end">GPIO19</text></switch></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-25"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-end; width: 1px; height: 1px; padding-top: 206px; margin-left: 266px;"><div style="box-sizing: border-box; font-size: 0; text-align: right; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">GPIO18</div></div></div></foreignObject><text x="266" y="210" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="11px" text-anchor="end">GPIO18</text></switch></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-26"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-end; width: 1px; height: 1px; padding-top: 227px; margin-left: 266px;"><div style="box-sizing: border-box; font-size: 0; text-align: right; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">GPIO5</div></div></div></foreignObject><text x="266" y="231" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="11px" text-anchor="end">GPIO5</text></switch></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-27"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-end; width: 1px; height: 1px; padding-top: 247px; margin-left: 266px;"><div style="box-sizing: border-box; font-size: 0; text-align: right; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">GPIO33</div></div></div></foreignObject><text x="266" y="251" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="11px" text-anchor="end">GPIO33</text></switch></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-28"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-end; width: 1px; height: 1px; padding-top: 267px; margin-left: 266px;"><div style="box-sizing: border-box; font-size: 0; text-align: right; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">GPIO26</div></div></div></foreignObject><text x="266" y="271" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="11px" text-anchor="end">GPIO26</text></switch></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-36"><g><path d="M 120 157 L 160.06 157.06 L 160 137" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 164 136.99 L 156 137.01" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-37"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 1px; height: 1px; padding-top: 148px; margin-left: 126px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">3V3</div></div></div></foreignObject><text x="126" y="151" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="11px">3V3</text></switch></g></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-41"><g><path d="M 390 157 L 430.06 157.06 L 430 137" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 434 136.99 L 426 137.01" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-42"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 1px; height: 1px; padding-top: 148px; margin-left: 396px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">3V3</div></div></div></foreignObject><text x="396" y="151" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="11px">3V3</text></switch></g></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-43"><g><path d="M 118 297 L 160.06 297.06 L 160 317" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 156.01 312.99 L 164.01 313.01 M 156.02 308.99 L 164.02 309.01" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-44"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 1px; height: 1px; padding-top: 288px; margin-left: 125px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">GND</div></div></div></foreignObject><text x="125" y="291" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="11px">GND</text></switch></g></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-47"><g><path d="M 390 302 L 432.06 302 L 432 322" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 428.01 317.99 L 436.01 318.01 M 428.02 313.99 L 436.02 314.01" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-48"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 1px; height: 1px; padding-top: 293px; margin-left: 397px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">GND</div></div></div></foreignObject><text x="397" y="296" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="11px">GND</text></switch></g></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-50"><g><rect x="650" y="16.76" width="60" height="90.24" rx="9" ry="9" fill="#ffffff" stroke="#000000" pointer-events="all" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 62px; margin-left: 651px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">PIR</div></div></div></foreignObject><text x="680" y="65" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="12px" text-anchor="middle">PIR</text></switch></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-51"><g><path d="M 710 27 L 750.06 27.06 L 750 7" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 754 6.99 L 746 7.01" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-52"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 1px; height: 1px; padding-top: 18px; margin-left: 716px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">12V</div></div></div></foreignObject><text x="716" y="21" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="11px">12V</text></switch></g></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-53"><g><path d="M 710 95.52 L 750.06 95.53 L 750 115.76" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 746.01 111.75 L 754.01 111.77 M 746.02 107.75 L 754.02 107.77" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-54"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 1px; height: 1px; padding-top: 86px; margin-left: 717px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">GND</div></div></div></foreignObject><text x="717" y="89" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="11px">GND</text></switch></g></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-57"><g><path d="M 390 177 L 500.06 178 L 500.06 37.06 L 650 37" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-58"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-end; width: 1px; height: 1px; padding-top: 29px; margin-left: 648px;"><div style="box-sizing: border-box; font-size: 0; text-align: right; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">NC</div></div></div></foreignObject><text x="648" y="33" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="11px" text-anchor="end">NC</text></switch></g></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-59"><g><path d="M 520 459 L 520.06 327.06" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 516 467 L 524 467 L 524 459 L 516 459 Z" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-61"><g><path d="M 570 76.43 L 650 76.43" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 574 72.43 L 582 80.43 M 574 80.43 L 582 72.43" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-62"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-end; width: 1px; height: 1px; padding-top: 69px; margin-left: 648px;"><div style="box-sizing: border-box; font-size: 0; text-align: right; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">TAMPER</div></div></div></foreignObject><text x="648" y="72" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="11px" text-anchor="end">TAMPER</text></switch></g></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-63"><g><path d="M 570 96.43 L 650 96.43" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 574 92.43 L 582 100.43 M 574 100.43 L 582 92.43" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-64"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-end; width: 1px; height: 1px; padding-top: 89px; margin-left: 649px;"><div style="box-sizing: border-box; font-size: 0; text-align: right; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">TAMPER</div></div></div></foreignObject><text x="649" y="92" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="11px" text-anchor="end">TAMPER</text></switch></g></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-65"><g><rect x="650" y="172.5" width="60" height="90.24" rx="9" ry="9" fill="#ffffff" stroke="#000000" pointer-events="all" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 218px; margin-left: 651px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">PIR</div></div></div></foreignObject><text x="680" y="221" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="12px" text-anchor="middle">PIR</text></switch></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-66"><g><path d="M 710 178 L 750.06 178 L 750 158" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 754 157.99 L 746 158.01" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-67"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 1px; height: 1px; padding-top: 169px; margin-left: 715px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">12V</div></div></div></foreignObject><text x="715" y="172" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="11px">12V</text></switch></g></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-68"><g><path d="M 710 251.26 L 750.06 251.29 L 750 271.5" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 746.01 267.49 L 754.01 267.51 M 746.02 263.49 L 754.02 263.51" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-69"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 1px; height: 1px; padding-top: 242px; margin-left: 716px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">GND</div></div></div></foreignObject><text x="716" y="245" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="11px">GND</text></switch></g></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-74"><g><path d="M 570 232.17 L 650 232.17" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 574 228.17 L 582 236.17 M 574 236.17 L 582 228.17" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-75"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-end; width: 1px; height: 1px; padding-top: 225px; margin-left: 648px;"><div style="box-sizing: border-box; font-size: 0; text-align: right; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">TAMPER</div></div></div></foreignObject><text x="648" y="228" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="11px" text-anchor="end">TAMPER</text></switch></g></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-76"><g><path d="M 570 252.17 L 650 252.17" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 574 248.17 L 582 256.17 M 574 256.17 L 582 248.17" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-77"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-end; width: 1px; height: 1px; padding-top: 245px; margin-left: 649px;"><div style="box-sizing: border-box; font-size: 0; text-align: right; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">TAMPER</div></div></div></foreignObject><text x="649" y="248" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="11px" text-anchor="end">TAMPER</text></switch></g></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-80"><g><path d="M 390 197 L 515 197.03 C 515 190.53 525 190.53 525 197.03 L 525 197.03 L 650.06 197.06 L 650 185.97" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-82"><g><rect x="650" y="337" width="60" height="90.24" rx="9" ry="9" fill="#ffffff" stroke="#000000" pointer-events="all" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 382px; margin-left: 651px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">PIR</div></div></div></foreignObject><text x="680" y="386" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="12px" text-anchor="middle">PIR</text></switch></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-85"><g><rect x="660" y="287" width="40" height="40" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)rotate(-90 667 307)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 307px; margin-left: 667px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; ">...</div></div></div></foreignObject><text x="667" y="319" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="12px" text-anchor="middle">...</text></switch></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-86"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-end; width: 1px; height: 1px; padding-top: 190px; margin-left: 648px;"><div style="box-sizing: border-box; font-size: 0; text-align: right; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">NC</div></div></div></foreignObject><text x="648" y="193" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="11px" text-anchor="end">NC</text></switch></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-87"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 1px; height: 1px; padding-top: 168px; margin-left: 395px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">GPIO0</div></div></div></foreignObject><text x="395" y="172" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="11px">GPIO0</text></switch></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-88"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 1px; height: 1px; padding-top: 187px; margin-left: 395px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">GPIO4</div></div></div></foreignObject><text x="395" y="191" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="11px">GPIO4</text></switch></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-89"><g><rect x="380" y="191.76" width="40" height="40" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)rotate(-90 400 211.76000000000022)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 212px; margin-left: 400px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; ">...</div></div></div></foreignObject><text x="400" y="215" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="12px" text-anchor="middle">...</text></switch></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-90"><g><path d="M 710 347.74 L 750.06 347.65 L 750 327.74" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 754 327.73 L 746 327.75" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-91"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 1px; height: 1px; padding-top: 338px; margin-left: 716px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">12V</div></div></div></foreignObject><text x="716" y="342" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="11px">12V</text></switch></g></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-92"><g><path d="M 710 416.26 L 750.06 416.35 L 750 436.5" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 746.01 432.49 L 754.01 432.51 M 746.02 428.49 L 754.02 428.51" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-93"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 1px; height: 1px; padding-top: 407px; margin-left: 716px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">GND</div></div></div></foreignObject><text x="716" y="410" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="11px">GND</text></switch></g></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-94"><g><path d="M 390 237 L 500.06 237.06 L 500.06 357.06 L 515 357.05 C 515 350.55 525 350.55 525 357.05 L 525 357.05 L 650 357" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-95"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-end; width: 1px; height: 1px; padding-top: 350px; margin-left: 648px;"><div style="box-sizing: border-box; font-size: 0; text-align: right; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">NC</div></div></div></foreignObject><text x="648" y="353" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="11px" text-anchor="end">NC</text></switch></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-96"><g><path d="M 520 377 L 650 377" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-97"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-end; width: 1px; height: 1px; padding-top: 370px; margin-left: 648px;"><div style="box-sizing: border-box; font-size: 0; text-align: right; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">COM</div></div></div></foreignObject><text x="648" y="373" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="11px" text-anchor="end">COM</text></switch></g></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-98"><g><path d="M 570 396.43 L 650 396.43" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 574 392.43 L 582 400.43 M 574 400.43 L 582 392.43" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-99"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-end; width: 1px; height: 1px; padding-top: 389px; margin-left: 648px;"><div style="box-sizing: border-box; font-size: 0; text-align: right; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">TAMPER</div></div></div></foreignObject><text x="648" y="392" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="11px" text-anchor="end">TAMPER</text></switch></g></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-100"><g><path d="M 570 416.43 L 650 416.43" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 574 412.43 L 582 420.43 M 574 420.43 L 582 412.43" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-101"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-end; width: 1px; height: 1px; padding-top: 409px; margin-left: 649px;"><div style="box-sizing: border-box; font-size: 0; text-align: right; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">TAMPER</div></div></div></foreignObject><text x="649" y="412" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="11px" text-anchor="end">TAMPER</text></switch></g></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-102"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 1px; height: 1px; padding-top: 228px; margin-left: 395px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">GPIO32</div></div></div></foreignObject><text x="395" y="232" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="11px">GPIO32</text></switch></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-103"><g><rect x="450" y="437" width="70" height="30" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 452px; margin-left: 485px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; ">PIR_COM</div></div></div></foreignObject><text x="485" y="456" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="12px" text-anchor="middle">PIR_COM</text></switch></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-109"><g><path d="M 300 407 L 300 317" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-104"><g><rect x="290" y="407" width="63" height="60" rx="9" ry="9" fill="#ffffff" stroke="#000000" pointer-events="all" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 61px; height: 1px; padding-top: 437px; margin-left: 291px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">SIREN</div></div></div></foreignObject><text x="322" y="441" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="12px" text-anchor="middle">SIREN</text></switch></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-105"><g><path d="M 353 417 L 393 417.06 L 393 397" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 397 397 L 389 397" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-106"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 1px; height: 1px; padding-top: 408px; margin-left: 359px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">12V</div></div></div></foreignObject><text x="359" y="411" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="11px">12V</text></switch></g></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-107"><g><path d="M 353 461.89 L 393 461.88 L 393 482.13" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 389 478.13 L 397 478.13 M 389 474.13 L 397 474.13" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-108"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 1px; height: 1px; padding-top: 452px; margin-left: 359px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">GND</div></div></div></foreignObject><text x="359" y="456" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="11px">GND</text></switch></g></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-111"><g><rect x="293" y="385" width="30" height="30" fill="none" stroke="none" transform="rotate(90,308,400)" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)rotate(90 308 400)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 400px; margin-left: 308px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; "><font>S</font></div></div></div></foreignObject><text x="308" y="404" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="12px" text-anchor="middle">S</text></switch></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-113"><g><rect x="273" y="326" width="70" height="30" fill="none" stroke="none" transform="rotate(90,308,341)" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)rotate(90 308 341)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 341px; margin-left: 308px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; ">GPIO27</div></div></div></foreignObject><text x="308" y="345" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="12px" text-anchor="middle">GPIO27</text></switch></g></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-118"><g><path d="M 520 297 L 520 327" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-121"><g><path d="M 520 214 L 650 214" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g data-cell-id="0eKAarTLSlS_2LZKTG6j-122"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-end; width: 1px; height: 1px; padding-top: 207px; margin-left: 648px;"><div style="box-sizing: border-box; font-size: 0; text-align: right; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">COM</div></div></div></foreignObject><text x="648" y="210" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="11px" text-anchor="end">COM</text></switch></g></g></g></g></g></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.drawio.com/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg> \ No newline at end of file diff --git a/src/images/rendszer.drawio.svg b/src/images/rendszer.drawio.svg new file mode 100644 index 0000000000000000000000000000000000000000..f7e97ab0d5d3ad3ef318105cfb281005349ce260 --- /dev/null +++ b/src/images/rendszer.drawio.svg @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Do not edit this file with editors other than draw.io --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg xmlns="http://www.w3.org/2000/svg" style="background: transparent; background-color: transparent; color-scheme: light dark;" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="432px" height="267px" viewBox="-0.5 -0.5 432 267" content="<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36 Edg/134.0.0.0" version="26.2.12"> <diagram name="Page-1" id="lOt5DuucHZqO-FceC0Nk"> <mxGraphModel dx="598" dy="967" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0"> <root> <mxCell id="0" /> <mxCell id="1" parent="0" /> <mxCell id="fKnSCGM_49d5ayVgUhBN-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;endArrow=none;startFill=0;dashed=1;startArrow=none;shadow=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;fontFamily=monospace;" edge="1" parent="1" source="fKnSCGM_49d5ayVgUhBN-2" target="fKnSCGM_49d5ayVgUhBN-12"> <mxGeometry relative="1" as="geometry"> <mxPoint x="170" y="560" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="fKnSCGM_49d5ayVgUhBN-7" value="Ethernet, MQTT" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontFamily=monospace;" vertex="1" connectable="0" parent="fKnSCGM_49d5ayVgUhBN-6"> <mxGeometry x="-0.2238" y="-2" relative="1" as="geometry"> <mxPoint x="-16" y="-8" as="offset" /> </mxGeometry> </mxCell> <mxCell id="fKnSCGM_49d5ayVgUhBN-9" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;startFill=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;fontFamily=monospace;" edge="1" parent="1" source="fKnSCGM_49d5ayVgUhBN-2" target="fKnSCGM_49d5ayVgUhBN-8"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="fKnSCGM_49d5ayVgUhBN-2" value="Központi egység" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=monospace;" vertex="1" parent="1"> <mxGeometry x="280" y="515" width="180" height="90" as="geometry" /> </mxCell> <mxCell id="fKnSCGM_49d5ayVgUhBN-8" value="PIR mozgásérzékelők" style="ellipse;whiteSpace=wrap;html=1;rounded=1;fontFamily=monospace;" vertex="1" parent="1"> <mxGeometry x="291.09" y="340" width="157.81" height="70" as="geometry" /> </mxCell> <mxCell id="fKnSCGM_49d5ayVgUhBN-12" value="Home Assistant" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=monospace;" vertex="1" parent="1"> <mxGeometry x="30" y="530" width="120" height="60" as="geometry" /> </mxCell> <mxCell id="fKnSCGM_49d5ayVgUhBN-18" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;startFill=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;fontFamily=monospace;" edge="1" parent="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="390" y="515" as="sourcePoint" /> <mxPoint x="390" y="409" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="fKnSCGM_49d5ayVgUhBN-19" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;startFill=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;fontFamily=monospace;" edge="1" parent="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="355" y="515" as="sourcePoint" /> <mxPoint x="355" y="410" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="fKnSCGM_49d5ayVgUhBN-20" value="..." style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1"> <mxGeometry x="365" y="448" width="30" height="30" as="geometry" /> </mxCell> <mxCell id="fKnSCGM_49d5ayVgUhBN-21" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;startFill=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;fontFamily=monospace;" edge="1" parent="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="340" y="515" as="sourcePoint" /> <mxPoint x="340" y="408" as="targetPoint" /> </mxGeometry> </mxCell> </root> </mxGraphModel> </diagram> </mxfile> "><defs/><g><g data-cell-id="0"><g data-cell-id="1"><g data-cell-id="fKnSCGM_49d5ayVgUhBN-6"><g><path d="M 250 220 L 120 220" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g data-cell-id="fKnSCGM_49d5ayVgUhBN-7"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 210px; margin-left: 184px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">Ethernet, MQTT</div></div></div></foreignObject><text x="184" y="214" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="11px" text-anchor="middle">Ethernet, MQTT</text></switch></g></g></g></g><g data-cell-id="fKnSCGM_49d5ayVgUhBN-9"><g><path d="M 340 175 L 339.99 70" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g></g><g data-cell-id="fKnSCGM_49d5ayVgUhBN-2"><g><rect x="250" y="175" width="180" height="90" rx="13.5" ry="13.5" fill="#ffffff" stroke="#000000" pointer-events="all" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 178px; height: 1px; padding-top: 220px; margin-left: 251px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Központi egység</div></div></div></foreignObject><text x="340" y="224" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="12px" text-anchor="middle">Központi egység</text></switch></g></g></g><g data-cell-id="fKnSCGM_49d5ayVgUhBN-8"><g><ellipse cx="339.99" cy="35" rx="78.905" ry="35" fill="#ffffff" stroke="#000000" pointer-events="all" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 156px; height: 1px; padding-top: 35px; margin-left: 262px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">PIR mozgásérzékelők</div></div></div></foreignObject><text x="340" y="39" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="12px" text-anchor="middle">PIR mozgásérzékelők</text></switch></g></g></g><g data-cell-id="fKnSCGM_49d5ayVgUhBN-12"><g><rect x="0" y="190" width="120" height="60" rx="9" ry="9" fill="#ffffff" stroke="#000000" pointer-events="all" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 220px; margin-left: 1px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "monospace"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Home Assistant</div></div></div></foreignObject><text x="60" y="224" fill="light-dark(#000000, #ffffff)" font-family=""monospace"" font-size="12px" text-anchor="middle">Home Assistant</text></switch></g></g></g><g data-cell-id="fKnSCGM_49d5ayVgUhBN-18"><g><path d="M 360 175 L 360 69" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g></g><g data-cell-id="fKnSCGM_49d5ayVgUhBN-19"><g><path d="M 325 175 L 325 70" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g></g><g data-cell-id="fKnSCGM_49d5ayVgUhBN-20"><g><rect x="335" y="108" width="30" height="30" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 123px; margin-left: 350px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Helvetica"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; ">...</div></div></div></foreignObject><text x="350" y="127" fill="light-dark(#000000, #ffffff)" font-family=""Helvetica"" font-size="12px" text-anchor="middle">...</text></switch></g></g></g><g data-cell-id="fKnSCGM_49d5ayVgUhBN-21"><g><path d="M 310 175 L 310 68" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g></g></g></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.drawio.com/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg> \ No newline at end of file