Create /docs + installer

This commit is contained in:
jomjol
2022-10-30 21:48:06 +01:00
parent d2b93a7110
commit 44afd138c5
42 changed files with 1534 additions and 0 deletions

25
docs/.gitignore vendored Normal file
View File

@@ -0,0 +1,25 @@
# Remove if certain files are committed on purpose
.pio/
.vscode/
.code-workspace
/sd-card/htm./.vscode/
/code/build
/code/.helper
/sd-card/html/debug/
/firmware/
version.txt
/dist/
/dist_release/
/dist_old_ota
CMakeLists.txt.user
CMakeCache.txt
CMakeFiles
CMakeScripts
Makefile
cmake_install.cmake
install_manifest.txt
compile_commands.json
CTestTestfile.cmake
_deps
code/edgeAI.code-workspace
.DS_Store

9
docs/.gitmodules vendored Normal file
View File

@@ -0,0 +1,9 @@
[submodule "code/components/esp32-camera"]
path = code/components/esp32-camera
url = https://github.com/espressif/esp32-camera.git
[submodule "code/components/esp-nn"]
path = code/components/esp-nn
url = https://github.com/espressif/esp-nn.git
[submodule "code/components/tflite-micro-esp-examples"]
path = code/components/tflite-micro-esp-examples
url = https://github.com/espressif/tflite-micro-esp-examples.git

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 438 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 164 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

BIN
docs/images/esp32-cam.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 682 KiB

570
docs/images/icon/.svg Normal file
View File

@@ -0,0 +1,570 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
version="1.1"
id="Layer_1"
x="0px"
y="0px"
viewBox="0 0 310.39999 310.39999"
xml:space="preserve"
sodipodi:docname=".svg"
width="310.39999"
height="310.39999"
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
id="metadata151"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
id="defs149"><inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 155.2 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="310.39999 : 155.2 : 1"
inkscape:persp3d-origin="155.2 : 103.46666 : 1"
id="perspective1295" /><linearGradient
id="linearGradient888"
inkscape:swatch="solid"><stop
style="stop-color:#ff0000;stop-opacity:1;"
offset="0"
id="stop886" /></linearGradient></defs><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1003"
id="namedview147"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:zoom="1.076712"
inkscape:cx="318.09805"
inkscape:cy="170.42625"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="Layer_1"
inkscape:pagecheckerboard="0"
showguides="true"
inkscape:guide-bbox="true" />
<circle
style="fill:#000000;fill-opacity:1"
cx="155.2"
cy="155.2"
r="155.2"
id="circle6" />
<circle
style="fill:#ffffff"
cx="155.2"
cy="155.2"
r="141.60001"
id="circle8" />
<path
style="fill:#ff0000;fill-opacity:1"
d="m 240.8,122 h -14 c -3.2,0 -5.6,-2.4 -5.6,-5.6 V 87.999997 c 0,-3.2 2.4,-5.6 5.6,-5.6 h 14 c 3.2,0 5.6,2.4 5.6,5.6 V 116.4 c -0.4,3.2 -2.8,5.6 -5.6,5.6 z"
id="path10"
inkscape:connector-curvature="0" />
<path
style="fill:#e6e9ee"
d="m 233.6,112.4 c -2.8,0 -4.8,-0.8 -6,-2.8 -1.2,-2 -2,-4.4 -2,-7.2 0,-3.200003 0.8,-5.600003 2,-7.200003 1.2,-2 3.2,-2.8 6,-2.8 2.8,0 4.8,0.8 6,2.8 1.2,2 2,4.4 2,7.200003 0,3.2 -0.8,5.6 -2,7.2 -1.2,2 -3.2,2.8 -6,2.8 z M 230.8,97.599997 C 230,98.799997 230,100.4 230,102.4 c 0,2 0.4,3.6 0.8,4.8 0.8,1.2 1.6,1.6 2.8,1.6 1.2,0 2.4,-0.4 2.8,-1.6 0.8,-1.2 0.8,-2.8 0.8,-4.8 0,-2 -0.4,-3.600003 -0.8,-4.800003 -0.8,-1.2 -1.6,-1.6 -2.8,-1.6 -1.2,-0.4 -2.4,0.4 -2.8,1.6 z"
id="path12"
inkscape:connector-curvature="0" />
<path
style="fill:#000000;fill-opacity:1"
d="m 209.2,122 h -14 c -3.2,0 -5.6,-2.4 -5.6,-5.6 V 87.999997 c 0,-3.2 2.4,-5.6 5.6,-5.6 h 14 c 3.2,0 5.6,2.4 5.6,5.6 V 116.4 c 0,3.2 -2.4,5.6 -5.6,5.6 z"
id="path14"
inkscape:connector-curvature="0" />
<path
style="fill:#e6e9ee"
d="m 202,112.4 c -2.8,0 -4.8,-0.8 -6,-2.8 -1.2,-2 -2,-4.4 -2,-7.2 0,-3.200003 0.8,-5.600003 2,-7.200003 1.2,-2 3.2,-2.8 6,-2.8 2.8,0 4.8,0.8 6,2.8 1.2,2 2,4.4 2,7.200003 0,3.2 -0.8,5.6 -2,7.2 -1.2,2 -3.2,2.8 -6,2.8 z m -2.8,-14.800003 c -0.8,1.2 -0.8,2.800003 -0.8,4.800003 0,2 0.4,3.6 0.8,4.8 0.8,1.2 1.6,1.6 2.8,1.6 1.2,0 2.4,-0.4 2.8,-1.6 0.8,-1.2 0.8,-2.8 0.8,-4.8 0,-2 -0.4,-3.600003 -0.8,-4.800003 -0.8,-1.2 -1.6,-1.6 -2.8,-1.6 -1.2,-0.4 -2,0.4 -2.8,1.6 z"
id="path16"
inkscape:connector-curvature="0" />
<path
style="fill:#000002;fill-opacity:1"
d="m 178,122 h -14 c -3.2,0 -5.6,-2.4 -5.6,-5.6 V 87.999997 c 0,-3.2 2.4,-5.6 5.6,-5.6 h 14 c 3.2,0 5.6,2.4 5.6,5.6 V 116.4 c -0.4,3.2 -2.8,5.6 -5.6,5.6 z"
id="path18"
inkscape:connector-curvature="0" />
<path
style="fill:#e6e9ee"
d="m 170.8,112.4 c -2.8,0 -4.8,-0.8 -6,-2.8 -1.2,-2 -2,-4.4 -2,-7.2 0,-3.200003 0.8,-5.600003 2,-7.200003 1.2,-2 3.2,-2.8 6,-2.8 2.8,0 4.8,0.8 6,2.8 1.2,2 2,4.4 2,7.200003 0,3.2 -0.8,5.6 -2,7.2 -1.2,2 -3.2,2.8 -6,2.8 z M 168,97.599997 c -0.8,1.2 -0.8,2.800003 -0.8,4.800003 0,2 0.4,3.6 0.8,4.8 0.8,1.2 1.6,1.6 2.8,1.6 1.2,0 2.4,-0.4 2.8,-1.6 0.8,-1.2 0.8,-2.8 0.8,-4.8 0,-2 -0.4,-3.600003 -0.8,-4.800003 -0.8,-1.2 -1.6,-1.6 -2.8,-1.6 -1.2,-0.4 -2.4,0.4 -2.8,1.6 z"
id="path20"
inkscape:connector-curvature="0" />
<path
style="fill:#000000;fill-opacity:1"
d="m 146.8,122 h -14 c -3.2,0 -5.6,-2.4 -5.6,-5.6 V 87.999997 c 0,-3.2 2.4,-5.6 5.6,-5.6 h 14 c 3.2,0 5.6,2.4 5.6,5.6 V 116.4 c -0.4,3.2 -2.8,5.6 -5.6,5.6 z"
id="path22"
inkscape:connector-curvature="0" />
<path
style="fill:#e6e9ee"
d="m 139.6,112.4 c -2.8,0 -4.8,-0.8 -6,-2.8 -1.2,-2 -2,-4.4 -2,-7.2 0,-3.200003 0.8,-5.600003 2,-7.200003 1.2,-2 3.2,-2.8 6,-2.8 2.8,0 4.8,0.8 6,2.8 1.2,2 2,4.4 2,7.200003 0,3.2 -0.8,5.6 -2,7.2 -1.2,2 -3.2,2.8 -6,2.8 z M 136.8,97.599997 C 136,98.799997 136,100.4 136,102.4 c 0,2 0.4,3.6 0.8,4.8 0.8,1.2 1.6,1.6 2.8,1.6 1.2,0 2.4,-0.4 2.8,-1.6 0.8,-1.2 0.8,-2.8 0.8,-4.8 0,-2 -0.4,-3.600003 -0.8,-4.800003 -0.8,-1.2 -1.6,-1.6 -2.8,-1.6 -1.2,-0.4 -2.4,0.4 -2.8,1.6 z"
id="path24"
inkscape:connector-curvature="0" />
<path
style="fill:#000003;fill-opacity:1"
d="m 115.2,122 h -14 c -3.2,0 -5.6,-2.4 -5.6,-5.6 V 87.999997 c 0,-3.2 2.4,-5.6 5.6,-5.6 h 14 c 3.2,0 5.6,2.4 5.6,5.6 V 116.4 c 0,3.2 -2.4,5.6 -5.6,5.6 z"
id="path26"
inkscape:connector-curvature="0" />
<path
style="fill:#e6e9ee"
d="m 108.4,112.4 c -2.8,0 -4.8,-0.8 -6,-2.8 -1.2,-2 -2,-4.4 -2,-7.2 0,-3.200003 0.8,-5.600003 2,-7.200003 1.2,-2 3.2,-2.8 6,-2.8 2.8,0 4.8,0.8 6,2.8 1.2,2 2,4.4 2,7.200003 0,3.2 -0.8,5.6 -2,7.2 -1.6,2 -3.6,2.8 -6,2.8 z m -3.2,-14.800003 c -0.8,1.2 -0.8,2.800003 -0.8,4.800003 0,2 0.4,3.6 0.8,4.8 0.8,1.2 1.6,1.6 2.8,1.6 1.2,0 2.4,-0.4 2.8,-1.6 0.8,-1.2 0.8,-2.8 0.8,-4.8 0,-2 -0.4,-3.600003 -0.8,-4.800003 -0.8,-1.2 -1.6,-1.6 -2.8,-1.6 -1.2,-0.4 -2,0.4 -2.8,1.6 z"
id="path28"
inkscape:connector-curvature="0" />
<path
style="fill:#000000;fill-opacity:1"
d="M 84,122 H 70 c -3.2,0 -5.6,-2.4 -5.6,-5.6 V 87.999997 c 0,-3.2 2.4,-5.6 5.6,-5.6 h 14 c 3.2,0 5.6,2.4 5.6,5.6 V 116.4 c -0.4,3.2 -2.8,5.6 -5.6,5.6 z"
id="path30"
inkscape:connector-curvature="0" />
<g
id="g38"
transform="translate(-98.8,-98.800003)">
<path
style="fill:#e6e9ee"
d="m 175.6,211.2 c -2.8,0 -4.8,-0.8 -6,-2.8 -1.2,-2 -2,-4.4 -2,-7.2 0,-3.2 0.8,-5.6 2,-7.2 1.2,-2 3.2,-2.8 6,-2.8 2.8,0 4.8,0.8 6,2.8 1.2,2 2,4.4 2,7.2 0,3.2 -0.8,5.6 -2,7.2 -1.2,2 -3.2,2.8 -6,2.8 z m -2.8,-14.8 c -0.8,1.2 -0.8,2.8 -0.8,4.8 0,2 0.4,3.6 0.8,4.8 0.8,1.2 1.6,1.6 2.8,1.6 1.2,0 2.4,-0.4 2.8,-1.6 0.8,-1.2 0.8,-2.8 0.8,-4.8 0,-2 -0.4,-3.6 -0.8,-4.8 -0.8,-1.2 -1.6,-1.6 -2.8,-1.6 -1.2,-0.4 -2.4,0.4 -2.8,1.6 z"
id="path32"
inkscape:connector-curvature="0" />
</g>
<g
id="g116"
transform="translate(-98.8,-98.800003)">
</g>
<g
id="g118"
transform="translate(-98.8,-98.800003)">
</g>
<g
id="g120"
transform="translate(-98.8,-98.800003)">
</g>
<g
id="g122"
transform="translate(-98.8,-98.800003)">
</g>
<g
id="g124"
transform="translate(-98.8,-98.800003)">
</g>
<g
id="g126"
transform="translate(-98.8,-98.800003)">
</g>
<g
id="g128"
transform="translate(-98.8,-98.800003)">
</g>
<g
id="g130"
transform="translate(-98.8,-98.800003)">
</g>
<g
id="g132"
transform="translate(-98.8,-98.800003)">
</g>
<g
id="g134"
transform="translate(-98.8,-98.800003)">
</g>
<g
id="g136"
transform="translate(-98.8,-98.800003)">
</g>
<g
id="g138"
transform="translate(-98.8,-98.800003)">
</g>
<g
id="g140"
transform="translate(-98.8,-98.800003)">
</g>
<g
id="g142"
transform="translate(-98.8,-98.800003)">
</g>
<g
id="g144"
transform="translate(-98.8,-98.800003)">
</g>
<rect
style="fill:none;fill-opacity:1;stroke:#0c0000;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill"
id="rect958"
width="222.78813"
height="51.122875"
x="44.665253"
y="76.849152"
rx="10"
ry="10" />
<g
id="g2493"
transform="matrix(-0.44400058,-1.0430452,1.0430452,-0.44400058,-85.63466,328.03956)"
style="stroke-width:0.882135"><path
style="fill:#e6e9ee;stroke-width:0.882135"
d="m 72.8,202.4 v 0 c -16,0 -29.2,-13.2 -29.2,-29.2 v 0 c 0,-16 13.2,-29.2 29.2,-29.2 v 0 c 16,0 29.2,13.2 29.2,29.2 v 0 c 0,16.4 -13.2,29.2 -29.2,29.2 z"
id="path44"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 72.8,198.4 c -0.8,0 -1.2,-0.4 -1.2,-1.2 v -6 c 0,-0.8 0.4,-1.2 1.2,-1.2 0.8,0 1.2,0.4 1.2,1.2 v 6 c 0,0.8 -0.4,1.2 -1.2,1.2 z"
id="path46"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 72.8,156.8 c -0.8,0 -1.2,-0.4 -1.2,-1.2 v -6 c 0,-0.8 0.4,-1.2 1.2,-1.2 0.8,0 1.2,0.4 1.2,1.2 v 5.6 c 0,0.8 -0.4,1.6 -1.2,1.6 z"
id="path48"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 54.8,174.8 h -6 c -0.8,0 -1.2,-0.4 -1.2,-1.2 0,-0.8 0.4,-1.2 1.2,-1.2 h 6 c 0.8,0 1.2,0.4 1.2,1.2 0,0.4 -0.4,1.2 -1.2,1.2 z"
id="path50"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 96.8,174.8 h -6 c -0.8,0 -1.2,-0.4 -1.2,-1.2 0,-0.8 0.4,-1.2 1.2,-1.2 h 6 c 0.8,0 1.2,0.4 1.2,1.2 0,0.4 -0.8,1.2 -1.2,1.2 z"
id="path52"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 56,191.6 c -0.4,0 -0.8,0 -0.8,-0.4 -0.4,-0.4 -0.4,-1.2 0,-1.6 l 4,-4 c 0.4,-0.4 1.2,-0.4 1.6,0 0.4,0.4 0.4,1.2 0,1.6 l -4,4 c -0.4,0 -0.4,0.4 -0.8,0.4 z"
id="path54"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 85.6,162 c -0.4,0 -0.8,0 -0.8,-0.4 -0.4,-0.4 -0.4,-1.2 0,-1.6 l 4,-4 c 0.4,-0.4 1.2,-0.4 1.6,0 0.4,0.4 0.4,1.2 0,1.6 l -4,4 c -0.4,0 -0.4,0.4 -0.8,0.4 z"
id="path56"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 60,162 c -0.4,0 -0.8,0 -0.8,-0.4 l -4,-4 c -0.4,-0.4 -0.4,-1.2 0,-1.6 0.4,-0.4 1.2,-0.4 1.6,0 l 4,4 c 0.4,0.4 0.4,1.2 0,1.6 0,0 -0.4,0.4 -0.8,0.4 z"
id="path58"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 89.6,191.6 c -0.4,0 -0.8,0 -0.8,-0.4 l -4,-4 c -0.4,-0.4 -0.4,-1.2 0,-1.6 0.4,-0.4 1.2,-0.4 1.6,0 l 4,4 c 0.4,0.4 0.4,1.2 0,1.6 0,0 -0.4,0.4 -0.8,0.4 z"
id="path60"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 82,196.8 c -0.4,0 -0.8,-0.4 -1.2,-0.8 l -2.4,-5.6 c -0.4,-0.8 0,-1.2 0.8,-1.6 0.8,-0.4 1.2,0 1.6,0.8 l 2.4,5.6 c 0.4,0.8 0,1.2 -0.8,1.6 0,0 -0.4,0 -0.4,0 z"
id="path62"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 66,158 c -0.4,0 -0.8,-0.4 -1.2,-0.8 l -2.4,-5.6 c -0.4,-0.8 0,-1.2 0.8,-1.6 0.8,-0.4 1.2,0 1.6,0.8 l 2.4,5.6 c 0.4,0.8 0,1.2 -0.8,1.6 0,0 -0.4,0 -0.4,0 z"
id="path64"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 50.8,183.6 c -0.4,0 -0.8,-0.4 -1.2,-0.8 -0.4,-0.8 0,-1.2 0.8,-1.6 l 5.6,-2.4 c 0.8,-0.4 1.2,0 1.6,0.8 0.4,0.8 0,1.2 -0.8,1.6 l -5.6,2.4 z"
id="path66"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 89.6,167.6 c -0.4,0 -0.8,-0.4 -1.2,-0.8 -0.4,-0.8 0,-1.2 0.8,-1.6 l 5.6,-2.4 c 0.8,-0.4 1.2,0 1.6,0.8 0.4,0.8 0,1.2 -0.8,1.6 l -5.6,2.4 c -0.4,0 -0.4,0 -0.4,0 z"
id="path68"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 63.6,196.8 h -0.4 c -0.8,-0.4 -0.8,-1.2 -0.8,-1.6 l 2.4,-5.6 c 0.4,-0.8 1.2,-0.8 1.6,-0.8 0.8,0.4 0.8,1.2 0.8,1.6 l -2.4,5.6 c 0,0.4 -0.8,0.8 -1.2,0.8 z"
id="path70"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 79.6,158 h -0.4 c -0.8,-0.4 -0.8,-1.2 -0.8,-1.6 l 2.4,-5.6 c 0.4,-0.8 1.2,-0.8 1.6,-0.8 0.8,0.4 0.8,1.2 0.8,1.6 l -2.4,5.6 c 0,0.4 -0.8,0.8 -1.2,0.8 z"
id="path72"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="M 56,167.6 H 55.6 L 50,165.2 c -0.8,-0.4 -0.8,-1.2 -0.8,-1.6 0.4,-0.8 1.2,-0.8 1.6,-0.8 l 5.6,2.4 c 0.8,0.4 0.8,1.2 0.8,1.6 0,0.8 -0.4,0.8 -1.2,0.8 z"
id="path74"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 94.8,183.6 h -0.4 l -5.6,-2.4 C 88,180.8 88,180 88,179.6 c 0.4,-0.8 1.2,-0.8 1.6,-0.8 l 5.6,2.4 c 0.8,0.4 0.8,1.2 0.8,1.6 0,0.8 -0.8,0.8 -1.2,0.8 z"
id="path76"
inkscape:connector-curvature="0" /><path
style="fill:#ff0000;fill-opacity:1;stroke-width:0.882135"
d="m 72.8,180.4 v 0 c -4,0 -6.8,-3.2 -6.8,-6.8 v 0 c 0,-4 3.2,-6.8 6.8,-6.8 v 0 c 4,0 6.8,3.2 6.8,6.8 v 0 c 0,3.6 -2.8,6.8 -6.8,6.8 z"
id="path78"
inkscape:connector-curvature="0" /><path
id="rect1441"
style="opacity:1;fill:#ff0000;stroke-width:2.21715"
d="m 72.801641,150.78759 v 0 l 5.635295,19.11133 h -11.27059 z"
sodipodi:nodetypes="ccccc" /></g><g
id="g2493-1"
transform="matrix(-1.0365525,-0.458954,0.458954,-1.0365525,191.69502,452.08902)"
inkscape:transform-center-x="-0.13984455"
inkscape:transform-center-y="1.3468756"
style="stroke-width:0.882135"><path
style="fill:#e6e9ee;stroke-width:0.882135"
d="m 72.8,202.4 v 0 c -16,0 -29.2,-13.2 -29.2,-29.2 v 0 c 0,-16 13.2,-29.2 29.2,-29.2 v 0 c 16,0 29.2,13.2 29.2,29.2 v 0 c 0,16.4 -13.2,29.2 -29.2,29.2 z"
id="path44-8"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 72.8,198.4 c -0.8,0 -1.2,-0.4 -1.2,-1.2 v -6 c 0,-0.8 0.4,-1.2 1.2,-1.2 0.8,0 1.2,0.4 1.2,1.2 v 6 c 0,0.8 -0.4,1.2 -1.2,1.2 z"
id="path46-79"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 72.8,156.8 c -0.8,0 -1.2,-0.4 -1.2,-1.2 v -6 c 0,-0.8 0.4,-1.2 1.2,-1.2 0.8,0 1.2,0.4 1.2,1.2 v 5.6 c 0,0.8 -0.4,1.6 -1.2,1.6 z"
id="path48-2"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 54.8,174.8 h -6 c -0.8,0 -1.2,-0.4 -1.2,-1.2 0,-0.8 0.4,-1.2 1.2,-1.2 h 6 c 0.8,0 1.2,0.4 1.2,1.2 0,0.4 -0.4,1.2 -1.2,1.2 z"
id="path50-0"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 96.8,174.8 h -6 c -0.8,0 -1.2,-0.4 -1.2,-1.2 0,-0.8 0.4,-1.2 1.2,-1.2 h 6 c 0.8,0 1.2,0.4 1.2,1.2 0,0.4 -0.8,1.2 -1.2,1.2 z"
id="path52-2"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 56,191.6 c -0.4,0 -0.8,0 -0.8,-0.4 -0.4,-0.4 -0.4,-1.2 0,-1.6 l 4,-4 c 0.4,-0.4 1.2,-0.4 1.6,0 0.4,0.4 0.4,1.2 0,1.6 l -4,4 c -0.4,0 -0.4,0.4 -0.8,0.4 z"
id="path54-3"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 85.6,162 c -0.4,0 -0.8,0 -0.8,-0.4 -0.4,-0.4 -0.4,-1.2 0,-1.6 l 4,-4 c 0.4,-0.4 1.2,-0.4 1.6,0 0.4,0.4 0.4,1.2 0,1.6 l -4,4 c -0.4,0 -0.4,0.4 -0.8,0.4 z"
id="path56-7"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 60,162 c -0.4,0 -0.8,0 -0.8,-0.4 l -4,-4 c -0.4,-0.4 -0.4,-1.2 0,-1.6 0.4,-0.4 1.2,-0.4 1.6,0 l 4,4 c 0.4,0.4 0.4,1.2 0,1.6 0,0 -0.4,0.4 -0.8,0.4 z"
id="path58-5"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 89.6,191.6 c -0.4,0 -0.8,0 -0.8,-0.4 l -4,-4 c -0.4,-0.4 -0.4,-1.2 0,-1.6 0.4,-0.4 1.2,-0.4 1.6,0 l 4,4 c 0.4,0.4 0.4,1.2 0,1.6 0,0 -0.4,0.4 -0.8,0.4 z"
id="path60-9"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 82,196.8 c -0.4,0 -0.8,-0.4 -1.2,-0.8 l -2.4,-5.6 c -0.4,-0.8 0,-1.2 0.8,-1.6 0.8,-0.4 1.2,0 1.6,0.8 l 2.4,5.6 c 0.4,0.8 0,1.2 -0.8,1.6 0,0 -0.4,0 -0.4,0 z"
id="path62-22"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 66,158 c -0.4,0 -0.8,-0.4 -1.2,-0.8 l -2.4,-5.6 c -0.4,-0.8 0,-1.2 0.8,-1.6 0.8,-0.4 1.2,0 1.6,0.8 l 2.4,5.6 c 0.4,0.8 0,1.2 -0.8,1.6 0,0 -0.4,0 -0.4,0 z"
id="path64-8"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 50.8,183.6 c -0.4,0 -0.8,-0.4 -1.2,-0.8 -0.4,-0.8 0,-1.2 0.8,-1.6 l 5.6,-2.4 c 0.8,-0.4 1.2,0 1.6,0.8 0.4,0.8 0,1.2 -0.8,1.6 l -5.6,2.4 z"
id="path66-9"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 89.6,167.6 c -0.4,0 -0.8,-0.4 -1.2,-0.8 -0.4,-0.8 0,-1.2 0.8,-1.6 l 5.6,-2.4 c 0.8,-0.4 1.2,0 1.6,0.8 0.4,0.8 0,1.2 -0.8,1.6 l -5.6,2.4 c -0.4,0 -0.4,0 -0.4,0 z"
id="path68-7"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 63.6,196.8 h -0.4 c -0.8,-0.4 -0.8,-1.2 -0.8,-1.6 l 2.4,-5.6 c 0.4,-0.8 1.2,-0.8 1.6,-0.8 0.8,0.4 0.8,1.2 0.8,1.6 l -2.4,5.6 c 0,0.4 -0.8,0.8 -1.2,0.8 z"
id="path70-36"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 79.6,158 h -0.4 c -0.8,-0.4 -0.8,-1.2 -0.8,-1.6 l 2.4,-5.6 c 0.4,-0.8 1.2,-0.8 1.6,-0.8 0.8,0.4 0.8,1.2 0.8,1.6 l -2.4,5.6 c 0,0.4 -0.8,0.8 -1.2,0.8 z"
id="path72-1"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="M 56,167.6 H 55.6 L 50,165.2 c -0.8,-0.4 -0.8,-1.2 -0.8,-1.6 0.4,-0.8 1.2,-0.8 1.6,-0.8 l 5.6,2.4 c 0.8,0.4 0.8,1.2 0.8,1.6 0,0.8 -0.4,0.8 -1.2,0.8 z"
id="path74-2"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 94.8,183.6 h -0.4 l -5.6,-2.4 C 88,180.8 88,180 88,179.6 c 0.4,-0.8 1.2,-0.8 1.6,-0.8 l 5.6,2.4 c 0.8,0.4 0.8,1.2 0.8,1.6 0,0.8 -0.8,0.8 -1.2,0.8 z"
id="path76-9"
inkscape:connector-curvature="0" /><path
style="fill:#ff0000;fill-opacity:1;stroke-width:0.882135"
d="m 72.8,180.4 v 0 c -4,0 -6.8,-3.2 -6.8,-6.8 v 0 c 0,-4 3.2,-6.8 6.8,-6.8 v 0 c 4,0 6.8,3.2 6.8,6.8 v 0 c 0,3.6 -2.8,6.8 -6.8,6.8 z"
id="path78-3"
inkscape:connector-curvature="0" /><path
id="rect1441-1"
style="opacity:1;fill:#ff0000;stroke-width:2.21715"
d="m 72.801641,150.78759 v 0 l 5.635295,19.11133 h -11.27059 z"
sodipodi:nodetypes="ccccc" /></g><g
id="g2493-9"
transform="matrix(1.1065407,0.24626723,-0.24626723,1.1065407,81.269684,28.240985)"
style="stroke-width:0.882135"><path
style="fill:#e6e9ee;stroke-width:0.882135"
d="m 72.8,202.4 v 0 c -16,0 -29.2,-13.2 -29.2,-29.2 v 0 c 0,-16 13.2,-29.2 29.2,-29.2 v 0 c 16,0 29.2,13.2 29.2,29.2 v 0 c 0,16.4 -13.2,29.2 -29.2,29.2 z"
id="path44-4"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 72.8,198.4 c -0.8,0 -1.2,-0.4 -1.2,-1.2 v -6 c 0,-0.8 0.4,-1.2 1.2,-1.2 0.8,0 1.2,0.4 1.2,1.2 v 6 c 0,0.8 -0.4,1.2 -1.2,1.2 z"
id="path46-78"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 72.8,156.8 c -0.8,0 -1.2,-0.4 -1.2,-1.2 v -6 c 0,-0.8 0.4,-1.2 1.2,-1.2 0.8,0 1.2,0.4 1.2,1.2 v 5.6 c 0,0.8 -0.4,1.6 -1.2,1.6 z"
id="path48-4"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 54.8,174.8 h -6 c -0.8,0 -1.2,-0.4 -1.2,-1.2 0,-0.8 0.4,-1.2 1.2,-1.2 h 6 c 0.8,0 1.2,0.4 1.2,1.2 0,0.4 -0.4,1.2 -1.2,1.2 z"
id="path50-5"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 96.8,174.8 h -6 c -0.8,0 -1.2,-0.4 -1.2,-1.2 0,-0.8 0.4,-1.2 1.2,-1.2 h 6 c 0.8,0 1.2,0.4 1.2,1.2 0,0.4 -0.8,1.2 -1.2,1.2 z"
id="path52-0"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 56,191.6 c -0.4,0 -0.8,0 -0.8,-0.4 -0.4,-0.4 -0.4,-1.2 0,-1.6 l 4,-4 c 0.4,-0.4 1.2,-0.4 1.6,0 0.4,0.4 0.4,1.2 0,1.6 l -4,4 c -0.4,0 -0.4,0.4 -0.8,0.4 z"
id="path54-36"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 85.6,162 c -0.4,0 -0.8,0 -0.8,-0.4 -0.4,-0.4 -0.4,-1.2 0,-1.6 l 4,-4 c 0.4,-0.4 1.2,-0.4 1.6,0 0.4,0.4 0.4,1.2 0,1.6 l -4,4 c -0.4,0 -0.4,0.4 -0.8,0.4 z"
id="path56-1"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 60,162 c -0.4,0 -0.8,0 -0.8,-0.4 l -4,-4 c -0.4,-0.4 -0.4,-1.2 0,-1.6 0.4,-0.4 1.2,-0.4 1.6,0 l 4,4 c 0.4,0.4 0.4,1.2 0,1.6 0,0 -0.4,0.4 -0.8,0.4 z"
id="path58-0"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 89.6,191.6 c -0.4,0 -0.8,0 -0.8,-0.4 l -4,-4 c -0.4,-0.4 -0.4,-1.2 0,-1.6 0.4,-0.4 1.2,-0.4 1.6,0 l 4,4 c 0.4,0.4 0.4,1.2 0,1.6 0,0 -0.4,0.4 -0.8,0.4 z"
id="path60-6"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 82,196.8 c -0.4,0 -0.8,-0.4 -1.2,-0.8 l -2.4,-5.6 c -0.4,-0.8 0,-1.2 0.8,-1.6 0.8,-0.4 1.2,0 1.6,0.8 l 2.4,5.6 c 0.4,0.8 0,1.2 -0.8,1.6 0,0 -0.4,0 -0.4,0 z"
id="path62-3"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 66,158 c -0.4,0 -0.8,-0.4 -1.2,-0.8 l -2.4,-5.6 c -0.4,-0.8 0,-1.2 0.8,-1.6 0.8,-0.4 1.2,0 1.6,0.8 l 2.4,5.6 c 0.4,0.8 0,1.2 -0.8,1.6 0,0 -0.4,0 -0.4,0 z"
id="path64-2"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 50.8,183.6 c -0.4,0 -0.8,-0.4 -1.2,-0.8 -0.4,-0.8 0,-1.2 0.8,-1.6 l 5.6,-2.4 c 0.8,-0.4 1.2,0 1.6,0.8 0.4,0.8 0,1.2 -0.8,1.6 l -5.6,2.4 z"
id="path66-06"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 89.6,167.6 c -0.4,0 -0.8,-0.4 -1.2,-0.8 -0.4,-0.8 0,-1.2 0.8,-1.6 l 5.6,-2.4 c 0.8,-0.4 1.2,0 1.6,0.8 0.4,0.8 0,1.2 -0.8,1.6 l -5.6,2.4 c -0.4,0 -0.4,0 -0.4,0 z"
id="path68-1"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 63.6,196.8 h -0.4 c -0.8,-0.4 -0.8,-1.2 -0.8,-1.6 l 2.4,-5.6 c 0.4,-0.8 1.2,-0.8 1.6,-0.8 0.8,0.4 0.8,1.2 0.8,1.6 l -2.4,5.6 c 0,0.4 -0.8,0.8 -1.2,0.8 z"
id="path70-5"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 79.6,158 h -0.4 c -0.8,-0.4 -0.8,-1.2 -0.8,-1.6 l 2.4,-5.6 c 0.4,-0.8 1.2,-0.8 1.6,-0.8 0.8,0.4 0.8,1.2 0.8,1.6 l -2.4,5.6 c 0,0.4 -0.8,0.8 -1.2,0.8 z"
id="path72-5"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="M 56,167.6 H 55.6 L 50,165.2 c -0.8,-0.4 -0.8,-1.2 -0.8,-1.6 0.4,-0.8 1.2,-0.8 1.6,-0.8 l 5.6,2.4 c 0.8,0.4 0.8,1.2 0.8,1.6 0,0.8 -0.4,0.8 -1.2,0.8 z"
id="path74-4"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 94.8,183.6 h -0.4 l -5.6,-2.4 C 88,180.8 88,180 88,179.6 c 0.4,-0.8 1.2,-0.8 1.6,-0.8 l 5.6,2.4 c 0.8,0.4 0.8,1.2 0.8,1.6 0,0.8 -0.8,0.8 -1.2,0.8 z"
id="path76-7"
inkscape:connector-curvature="0" /><path
style="fill:#ff0000;fill-opacity:1;stroke-width:0.882135"
d="m 72.8,180.4 v 0 c -4,0 -6.8,-3.2 -6.8,-6.8 v 0 c 0,-4 3.2,-6.8 6.8,-6.8 v 0 c 4,0 6.8,3.2 6.8,6.8 v 0 c 0,3.6 -2.8,6.8 -6.8,6.8 z"
id="path78-6"
inkscape:connector-curvature="0" /><path
id="rect1441-5"
style="opacity:1;fill:#ff0000;stroke-width:2.21715"
d="m 72.801641,150.78759 v 0 l 5.635295,19.11133 h -11.27059 z"
sodipodi:nodetypes="ccccc" /></g><g
id="g2493-3"
transform="matrix(0.81724208,0.78561769,-0.78561769,0.81724208,322.48101,-24.488096)"
style="stroke-width:0.882135"><path
style="fill:#e6e9ee;stroke-width:0.882135"
d="m 72.8,202.4 v 0 c -16,0 -29.2,-13.2 -29.2,-29.2 v 0 c 0,-16 13.2,-29.2 29.2,-29.2 v 0 c 16,0 29.2,13.2 29.2,29.2 v 0 c 0,16.4 -13.2,29.2 -29.2,29.2 z"
id="path44-6"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 72.8,198.4 c -0.8,0 -1.2,-0.4 -1.2,-1.2 v -6 c 0,-0.8 0.4,-1.2 1.2,-1.2 0.8,0 1.2,0.4 1.2,1.2 v 6 c 0,0.8 -0.4,1.2 -1.2,1.2 z"
id="path46-7"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 72.8,156.8 c -0.8,0 -1.2,-0.4 -1.2,-1.2 v -6 c 0,-0.8 0.4,-1.2 1.2,-1.2 0.8,0 1.2,0.4 1.2,1.2 v 5.6 c 0,0.8 -0.4,1.6 -1.2,1.6 z"
id="path48-5"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 54.8,174.8 h -6 c -0.8,0 -1.2,-0.4 -1.2,-1.2 0,-0.8 0.4,-1.2 1.2,-1.2 h 6 c 0.8,0 1.2,0.4 1.2,1.2 0,0.4 -0.4,1.2 -1.2,1.2 z"
id="path50-3"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 96.8,174.8 h -6 c -0.8,0 -1.2,-0.4 -1.2,-1.2 0,-0.8 0.4,-1.2 1.2,-1.2 h 6 c 0.8,0 1.2,0.4 1.2,1.2 0,0.4 -0.8,1.2 -1.2,1.2 z"
id="path52-5"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 56,191.6 c -0.4,0 -0.8,0 -0.8,-0.4 -0.4,-0.4 -0.4,-1.2 0,-1.6 l 4,-4 c 0.4,-0.4 1.2,-0.4 1.6,0 0.4,0.4 0.4,1.2 0,1.6 l -4,4 c -0.4,0 -0.4,0.4 -0.8,0.4 z"
id="path54-6"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 85.6,162 c -0.4,0 -0.8,0 -0.8,-0.4 -0.4,-0.4 -0.4,-1.2 0,-1.6 l 4,-4 c 0.4,-0.4 1.2,-0.4 1.6,0 0.4,0.4 0.4,1.2 0,1.6 l -4,4 c -0.4,0 -0.4,0.4 -0.8,0.4 z"
id="path56-2"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 60,162 c -0.4,0 -0.8,0 -0.8,-0.4 l -4,-4 c -0.4,-0.4 -0.4,-1.2 0,-1.6 0.4,-0.4 1.2,-0.4 1.6,0 l 4,4 c 0.4,0.4 0.4,1.2 0,1.6 0,0 -0.4,0.4 -0.8,0.4 z"
id="path58-9"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 89.6,191.6 c -0.4,0 -0.8,0 -0.8,-0.4 l -4,-4 c -0.4,-0.4 -0.4,-1.2 0,-1.6 0.4,-0.4 1.2,-0.4 1.6,0 l 4,4 c 0.4,0.4 0.4,1.2 0,1.6 0,0 -0.4,0.4 -0.8,0.4 z"
id="path60-1"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 82,196.8 c -0.4,0 -0.8,-0.4 -1.2,-0.8 l -2.4,-5.6 c -0.4,-0.8 0,-1.2 0.8,-1.6 0.8,-0.4 1.2,0 1.6,0.8 l 2.4,5.6 c 0.4,0.8 0,1.2 -0.8,1.6 0,0 -0.4,0 -0.4,0 z"
id="path62-2"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 66,158 c -0.4,0 -0.8,-0.4 -1.2,-0.8 l -2.4,-5.6 c -0.4,-0.8 0,-1.2 0.8,-1.6 0.8,-0.4 1.2,0 1.6,0.8 l 2.4,5.6 c 0.4,0.8 0,1.2 -0.8,1.6 0,0 -0.4,0 -0.4,0 z"
id="path64-7"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 50.8,183.6 c -0.4,0 -0.8,-0.4 -1.2,-0.8 -0.4,-0.8 0,-1.2 0.8,-1.6 l 5.6,-2.4 c 0.8,-0.4 1.2,0 1.6,0.8 0.4,0.8 0,1.2 -0.8,1.6 l -5.6,2.4 z"
id="path66-0"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 89.6,167.6 c -0.4,0 -0.8,-0.4 -1.2,-0.8 -0.4,-0.8 0,-1.2 0.8,-1.6 l 5.6,-2.4 c 0.8,-0.4 1.2,0 1.6,0.8 0.4,0.8 0,1.2 -0.8,1.6 l -5.6,2.4 c -0.4,0 -0.4,0 -0.4,0 z"
id="path68-9"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 63.6,196.8 h -0.4 c -0.8,-0.4 -0.8,-1.2 -0.8,-1.6 l 2.4,-5.6 c 0.4,-0.8 1.2,-0.8 1.6,-0.8 0.8,0.4 0.8,1.2 0.8,1.6 l -2.4,5.6 c 0,0.4 -0.8,0.8 -1.2,0.8 z"
id="path70-3"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 79.6,158 h -0.4 c -0.8,-0.4 -0.8,-1.2 -0.8,-1.6 l 2.4,-5.6 c 0.4,-0.8 1.2,-0.8 1.6,-0.8 0.8,0.4 0.8,1.2 0.8,1.6 l -2.4,5.6 c 0,0.4 -0.8,0.8 -1.2,0.8 z"
id="path72-6"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="M 56,167.6 H 55.6 L 50,165.2 c -0.8,-0.4 -0.8,-1.2 -0.8,-1.6 0.4,-0.8 1.2,-0.8 1.6,-0.8 l 5.6,2.4 c 0.8,0.4 0.8,1.2 0.8,1.6 0,0.8 -0.4,0.8 -1.2,0.8 z"
id="path74-0"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 94.8,183.6 h -0.4 l -5.6,-2.4 C 88,180.8 88,180 88,179.6 c 0.4,-0.8 1.2,-0.8 1.6,-0.8 l 5.6,2.4 c 0.8,0.4 0.8,1.2 0.8,1.6 0,0.8 -0.8,0.8 -1.2,0.8 z"
id="path76-6"
inkscape:connector-curvature="0" /><path
style="fill:#ff0000;fill-opacity:1;stroke-width:0.882135"
d="m 72.8,180.4 v 0 c -4,0 -6.8,-3.2 -6.8,-6.8 v 0 c 0,-4 3.2,-6.8 6.8,-6.8 v 0 c 4,0 6.8,3.2 6.8,6.8 v 0 c 0,3.6 -2.8,6.8 -6.8,6.8 z"
id="path78-2"
inkscape:connector-curvature="0" /><path
id="rect1441-6"
style="opacity:1;fill:#ff0000;stroke-width:2.21715"
d="m 72.801641,150.78759 v 0 l 5.635295,19.11133 h -11.27059 z"
sodipodi:nodetypes="ccccc" /></g></svg>

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

View File

@@ -0,0 +1,2 @@
The icon is based on the work of SachaD, see https://freesvg.org/water-meter-for-hot-water
License: Public Domain

View File

@@ -0,0 +1,746 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
version="1.1"
id="Layer_1"
x="0px"
y="0px"
viewBox="0 0 310.39999 310.39999"
xml:space="preserve"
sodipodi:docname="watermeter.svg"
width="310.39999"
height="310.39999"
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
id="metadata151"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
id="defs149"><inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 155.2 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="310.39999 : 155.2 : 1"
inkscape:persp3d-origin="155.2 : 103.46666 : 1"
id="perspective1295" /><linearGradient
id="linearGradient888"
inkscape:swatch="solid"><stop
style="stop-color:#ff0000;stop-opacity:1;"
offset="0"
id="stop886" /></linearGradient></defs><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1003"
id="namedview147"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:zoom="0.31481804"
inkscape:cx="-1332.5158"
inkscape:cy="-481.23036"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="Layer_1"
inkscape:pagecheckerboard="0"
showguides="true"
inkscape:guide-bbox="true"
inkscape:snap-text-baseline="false" />
<circle
style="fill:#000000;fill-opacity:1"
cx="155.2"
cy="155.2"
r="155.2"
id="circle6"
inkscape:export-filename="/home/gruinelli/temp/AI-on-the-edge-device/images/icon/favicon.ico"
inkscape:export-xdpi="19.790001"
inkscape:export-ydpi="19.790001" />
<circle
style="fill:#999999"
cx="155.2"
cy="155.2"
id="circle8"
inkscape:export-filename="/home/gruinelli/temp/AI-on-the-edge-device/images/icon/favicon.ico"
inkscape:export-xdpi="19.790001"
inkscape:export-ydpi="19.790001"
r="141.60001" />
<path
style="fill:#ff0000;fill-opacity:1"
d="m 240.8,122 h -14 c -3.2,0 -5.6,-2.4 -5.6,-5.6 V 87.999997 c 0,-3.2 2.4,-5.6 5.6,-5.6 h 14 c 3.2,0 5.6,2.4 5.6,5.6 V 116.4 c -0.4,3.2 -2.8,5.6 -5.6,5.6 z"
id="path10"
inkscape:connector-curvature="0"
inkscape:export-filename="/home/gruinelli/temp/AI-on-the-edge-device/images/icon/favicon.ico"
inkscape:export-xdpi="19.790001"
inkscape:export-ydpi="19.790001" />
<path
style="fill:#000000;fill-opacity:1"
d="m 209.2,122 h -14 c -3.2,0 -5.6,-2.4 -5.6,-5.6 V 87.999997 c 0,-3.2 2.4,-5.6 5.6,-5.6 h 14 c 3.2,0 5.6,2.4 5.6,5.6 V 116.4 c 0,3.2 -2.4,5.6 -5.6,5.6 z"
id="path14"
inkscape:connector-curvature="0"
inkscape:export-filename="/home/gruinelli/temp/AI-on-the-edge-device/images/icon/favicon.ico"
inkscape:export-xdpi="19.790001"
inkscape:export-ydpi="19.790001" />
<path
style="fill:#000002;fill-opacity:1"
d="m 178,122 h -14 c -3.2,0 -5.6,-2.4 -5.6,-5.6 V 87.999997 c 0,-3.2 2.4,-5.6 5.6,-5.6 h 14 c 3.2,0 5.6,2.4 5.6,5.6 V 116.4 c -0.4,3.2 -2.8,5.6 -5.6,5.6 z"
id="path18"
inkscape:connector-curvature="0"
inkscape:export-filename="/home/gruinelli/temp/AI-on-the-edge-device/images/icon/favicon.ico"
inkscape:export-xdpi="19.790001"
inkscape:export-ydpi="19.790001" />
<path
style="fill:#000000;fill-opacity:1"
d="m 146.8,122 h -14 c -3.2,0 -5.6,-2.4 -5.6,-5.6 V 87.999997 c 0,-3.2 2.4,-5.6 5.6,-5.6 h 14 c 3.2,0 5.6,2.4 5.6,5.6 V 116.4 c -0.4,3.2 -2.8,5.6 -5.6,5.6 z"
id="path22"
inkscape:connector-curvature="0"
inkscape:export-filename="/home/gruinelli/temp/AI-on-the-edge-device/images/icon/favicon.ico"
inkscape:export-xdpi="19.790001"
inkscape:export-ydpi="19.790001" />
<path
style="fill:#000003;fill-opacity:1"
d="m 115.2,122 h -14 c -3.2,0 -5.6,-2.4 -5.6,-5.6 V 87.999997 c 0,-3.2 2.4,-5.6 5.6,-5.6 h 14 c 3.2,0 5.6,2.4 5.6,5.6 V 116.4 c 0,3.2 -2.4,5.6 -5.6,5.6 z"
id="path26"
inkscape:connector-curvature="0"
inkscape:export-filename="/home/gruinelli/temp/AI-on-the-edge-device/images/icon/favicon.ico"
inkscape:export-xdpi="19.790001"
inkscape:export-ydpi="19.790001" />
<path
style="fill:#000000;fill-opacity:1"
d="M 84,122 H 70 c -3.2,0 -5.6,-2.4 -5.6,-5.6 V 87.999997 c 0,-3.2 2.4,-5.6 5.6,-5.6 h 14 c 3.2,0 5.6,2.4 5.6,5.6 V 116.4 c -0.4,3.2 -2.8,5.6 -5.6,5.6 z"
id="path30"
inkscape:connector-curvature="0"
inkscape:export-filename="/home/gruinelli/temp/AI-on-the-edge-device/images/icon/favicon.ico"
inkscape:export-xdpi="19.790001"
inkscape:export-ydpi="19.790001" />
<g
id="g116"
transform="translate(-98.8,-98.800003)"
inkscape:export-filename="/home/gruinelli/temp/AI-on-the-edge-device/images/icon/favicon.ico"
inkscape:export-xdpi="19.790001"
inkscape:export-ydpi="19.790001">
</g>
<g
id="g118"
transform="translate(-98.8,-98.800003)"
inkscape:export-filename="/home/gruinelli/temp/AI-on-the-edge-device/images/icon/favicon.ico"
inkscape:export-xdpi="19.790001"
inkscape:export-ydpi="19.790001">
</g>
<g
id="g120"
transform="translate(-98.8,-98.800003)"
inkscape:export-filename="/home/gruinelli/temp/AI-on-the-edge-device/images/icon/favicon.ico"
inkscape:export-xdpi="19.790001"
inkscape:export-ydpi="19.790001">
</g>
<g
id="g122"
transform="translate(-98.8,-98.800003)"
inkscape:export-filename="/home/gruinelli/temp/AI-on-the-edge-device/images/icon/favicon.ico"
inkscape:export-xdpi="19.790001"
inkscape:export-ydpi="19.790001">
</g>
<g
id="g124"
transform="translate(-98.8,-98.800003)"
inkscape:export-filename="/home/gruinelli/temp/AI-on-the-edge-device/images/icon/favicon.ico"
inkscape:export-xdpi="19.790001"
inkscape:export-ydpi="19.790001">
</g>
<g
id="g126"
transform="translate(-98.8,-98.800003)"
inkscape:export-filename="/home/gruinelli/temp/AI-on-the-edge-device/images/icon/favicon.ico"
inkscape:export-xdpi="19.790001"
inkscape:export-ydpi="19.790001">
</g>
<g
id="g128"
transform="translate(-98.8,-98.800003)"
inkscape:export-filename="/home/gruinelli/temp/AI-on-the-edge-device/images/icon/favicon.ico"
inkscape:export-xdpi="19.790001"
inkscape:export-ydpi="19.790001">
</g>
<g
id="g130"
transform="translate(-98.8,-98.800003)"
inkscape:export-filename="/home/gruinelli/temp/AI-on-the-edge-device/images/icon/favicon.ico"
inkscape:export-xdpi="19.790001"
inkscape:export-ydpi="19.790001">
</g>
<g
id="g132"
transform="translate(-98.8,-98.800003)"
inkscape:export-filename="/home/gruinelli/temp/AI-on-the-edge-device/images/icon/favicon.ico"
inkscape:export-xdpi="19.790001"
inkscape:export-ydpi="19.790001">
</g>
<g
id="g134"
transform="translate(-98.8,-98.800003)"
inkscape:export-filename="/home/gruinelli/temp/AI-on-the-edge-device/images/icon/favicon.ico"
inkscape:export-xdpi="19.790001"
inkscape:export-ydpi="19.790001">
</g>
<g
id="g136"
transform="translate(-98.8,-98.800003)"
inkscape:export-filename="/home/gruinelli/temp/AI-on-the-edge-device/images/icon/favicon.ico"
inkscape:export-xdpi="19.790001"
inkscape:export-ydpi="19.790001">
</g>
<g
id="g138"
transform="translate(-98.8,-98.800003)"
inkscape:export-filename="/home/gruinelli/temp/AI-on-the-edge-device/images/icon/favicon.ico"
inkscape:export-xdpi="19.790001"
inkscape:export-ydpi="19.790001">
</g>
<g
id="g140"
transform="translate(-98.8,-98.800003)"
inkscape:export-filename="/home/gruinelli/temp/AI-on-the-edge-device/images/icon/favicon.ico"
inkscape:export-xdpi="19.790001"
inkscape:export-ydpi="19.790001">
</g>
<g
id="g142"
transform="translate(-98.8,-98.800003)"
inkscape:export-filename="/home/gruinelli/temp/AI-on-the-edge-device/images/icon/favicon.ico"
inkscape:export-xdpi="19.790001"
inkscape:export-ydpi="19.790001">
</g>
<g
id="g144"
transform="translate(-98.8,-98.800003)"
inkscape:export-filename="/home/gruinelli/temp/AI-on-the-edge-device/images/icon/favicon.ico"
inkscape:export-xdpi="19.790001"
inkscape:export-ydpi="19.790001">
</g>
<rect
style="fill:none;fill-opacity:1;stroke:#0c0000;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill"
id="rect958"
width="222.78813"
height="51.122875"
x="44.665253"
y="76.849152"
rx="10"
ry="10"
inkscape:export-filename="/home/gruinelli/temp/AI-on-the-edge-device/images/icon/favicon.ico"
inkscape:export-xdpi="19.790001"
inkscape:export-ydpi="19.790001" />
<g
id="g2493"
transform="matrix(-0.44400058,-1.0430452,1.0430452,-0.44400058,-85.63466,328.03956)"
style="stroke-width:0.882135"
inkscape:export-filename="/home/gruinelli/temp/AI-on-the-edge-device/images/icon/favicon.ico"
inkscape:export-xdpi="19.790001"
inkscape:export-ydpi="19.790001"><path
style="fill:#e6e9ee;stroke-width:0.882135"
d="m 72.8,202.4 v 0 c -16,0 -29.2,-13.2 -29.2,-29.2 v 0 c 0,-16 13.2,-29.2 29.2,-29.2 v 0 c 16,0 29.2,13.2 29.2,29.2 v 0 c 0,16.4 -13.2,29.2 -29.2,29.2 z"
id="path44"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 72.8,198.4 c -0.8,0 -1.2,-0.4 -1.2,-1.2 v -6 c 0,-0.8 0.4,-1.2 1.2,-1.2 0.8,0 1.2,0.4 1.2,1.2 v 6 c 0,0.8 -0.4,1.2 -1.2,1.2 z"
id="path46"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 72.8,156.8 c -0.8,0 -1.2,-0.4 -1.2,-1.2 v -6 c 0,-0.8 0.4,-1.2 1.2,-1.2 0.8,0 1.2,0.4 1.2,1.2 v 5.6 c 0,0.8 -0.4,1.6 -1.2,1.6 z"
id="path48"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 54.8,174.8 h -6 c -0.8,0 -1.2,-0.4 -1.2,-1.2 0,-0.8 0.4,-1.2 1.2,-1.2 h 6 c 0.8,0 1.2,0.4 1.2,1.2 0,0.4 -0.4,1.2 -1.2,1.2 z"
id="path50"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 96.8,174.8 h -6 c -0.8,0 -1.2,-0.4 -1.2,-1.2 0,-0.8 0.4,-1.2 1.2,-1.2 h 6 c 0.8,0 1.2,0.4 1.2,1.2 0,0.4 -0.8,1.2 -1.2,1.2 z"
id="path52"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 56,191.6 c -0.4,0 -0.8,0 -0.8,-0.4 -0.4,-0.4 -0.4,-1.2 0,-1.6 l 4,-4 c 0.4,-0.4 1.2,-0.4 1.6,0 0.4,0.4 0.4,1.2 0,1.6 l -4,4 c -0.4,0 -0.4,0.4 -0.8,0.4 z"
id="path54"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 85.6,162 c -0.4,0 -0.8,0 -0.8,-0.4 -0.4,-0.4 -0.4,-1.2 0,-1.6 l 4,-4 c 0.4,-0.4 1.2,-0.4 1.6,0 0.4,0.4 0.4,1.2 0,1.6 l -4,4 c -0.4,0 -0.4,0.4 -0.8,0.4 z"
id="path56"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 60,162 c -0.4,0 -0.8,0 -0.8,-0.4 l -4,-4 c -0.4,-0.4 -0.4,-1.2 0,-1.6 0.4,-0.4 1.2,-0.4 1.6,0 l 4,4 c 0.4,0.4 0.4,1.2 0,1.6 0,0 -0.4,0.4 -0.8,0.4 z"
id="path58"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 89.6,191.6 c -0.4,0 -0.8,0 -0.8,-0.4 l -4,-4 c -0.4,-0.4 -0.4,-1.2 0,-1.6 0.4,-0.4 1.2,-0.4 1.6,0 l 4,4 c 0.4,0.4 0.4,1.2 0,1.6 0,0 -0.4,0.4 -0.8,0.4 z"
id="path60"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 82,196.8 c -0.4,0 -0.8,-0.4 -1.2,-0.8 l -2.4,-5.6 c -0.4,-0.8 0,-1.2 0.8,-1.6 0.8,-0.4 1.2,0 1.6,0.8 l 2.4,5.6 c 0.4,0.8 0,1.2 -0.8,1.6 0,0 -0.4,0 -0.4,0 z"
id="path62"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 66,158 c -0.4,0 -0.8,-0.4 -1.2,-0.8 l -2.4,-5.6 c -0.4,-0.8 0,-1.2 0.8,-1.6 0.8,-0.4 1.2,0 1.6,0.8 l 2.4,5.6 c 0.4,0.8 0,1.2 -0.8,1.6 0,0 -0.4,0 -0.4,0 z"
id="path64"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 50.8,183.6 c -0.4,0 -0.8,-0.4 -1.2,-0.8 -0.4,-0.8 0,-1.2 0.8,-1.6 l 5.6,-2.4 c 0.8,-0.4 1.2,0 1.6,0.8 0.4,0.8 0,1.2 -0.8,1.6 l -5.6,2.4 z"
id="path66"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 89.6,167.6 c -0.4,0 -0.8,-0.4 -1.2,-0.8 -0.4,-0.8 0,-1.2 0.8,-1.6 l 5.6,-2.4 c 0.8,-0.4 1.2,0 1.6,0.8 0.4,0.8 0,1.2 -0.8,1.6 l -5.6,2.4 c -0.4,0 -0.4,0 -0.4,0 z"
id="path68"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 63.6,196.8 h -0.4 c -0.8,-0.4 -0.8,-1.2 -0.8,-1.6 l 2.4,-5.6 c 0.4,-0.8 1.2,-0.8 1.6,-0.8 0.8,0.4 0.8,1.2 0.8,1.6 l -2.4,5.6 c 0,0.4 -0.8,0.8 -1.2,0.8 z"
id="path70"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 79.6,158 h -0.4 c -0.8,-0.4 -0.8,-1.2 -0.8,-1.6 l 2.4,-5.6 c 0.4,-0.8 1.2,-0.8 1.6,-0.8 0.8,0.4 0.8,1.2 0.8,1.6 l -2.4,5.6 c 0,0.4 -0.8,0.8 -1.2,0.8 z"
id="path72"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="M 56,167.6 H 55.6 L 50,165.2 c -0.8,-0.4 -0.8,-1.2 -0.8,-1.6 0.4,-0.8 1.2,-0.8 1.6,-0.8 l 5.6,2.4 c 0.8,0.4 0.8,1.2 0.8,1.6 0,0.8 -0.4,0.8 -1.2,0.8 z"
id="path74"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 94.8,183.6 h -0.4 l -5.6,-2.4 C 88,180.8 88,180 88,179.6 c 0.4,-0.8 1.2,-0.8 1.6,-0.8 l 5.6,2.4 c 0.8,0.4 0.8,1.2 0.8,1.6 0,0.8 -0.8,0.8 -1.2,0.8 z"
id="path76"
inkscape:connector-curvature="0" /><path
style="fill:#ff0000;fill-opacity:1;stroke-width:0.882135"
d="m 72.8,180.4 v 0 c -4,0 -6.8,-3.2 -6.8,-6.8 v 0 c 0,-4 3.2,-6.8 6.8,-6.8 v 0 c 4,0 6.8,3.2 6.8,6.8 v 0 c 0,3.6 -2.8,6.8 -6.8,6.8 z"
id="path78"
inkscape:connector-curvature="0" /><path
id="rect1441"
style="opacity:1;fill:#ff0000;stroke-width:2.21715"
d="m 72.801641,150.78759 v 0 l 5.635295,19.11133 h -11.27059 z"
sodipodi:nodetypes="ccccc" /></g><g
id="g2493-1"
transform="matrix(-1.0365525,-0.458954,0.458954,-1.0365525,191.69502,452.08902)"
inkscape:transform-center-x="-0.13984455"
inkscape:transform-center-y="1.3468756"
style="stroke-width:0.882135"
inkscape:export-filename="/home/gruinelli/temp/AI-on-the-edge-device/images/icon/favicon.ico"
inkscape:export-xdpi="19.790001"
inkscape:export-ydpi="19.790001"><path
style="fill:#e6e9ee;stroke-width:0.882135"
d="m 72.8,202.4 v 0 c -16,0 -29.2,-13.2 -29.2,-29.2 v 0 c 0,-16 13.2,-29.2 29.2,-29.2 v 0 c 16,0 29.2,13.2 29.2,29.2 v 0 c 0,16.4 -13.2,29.2 -29.2,29.2 z"
id="path44-8"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 72.8,198.4 c -0.8,0 -1.2,-0.4 -1.2,-1.2 v -6 c 0,-0.8 0.4,-1.2 1.2,-1.2 0.8,0 1.2,0.4 1.2,1.2 v 6 c 0,0.8 -0.4,1.2 -1.2,1.2 z"
id="path46-79"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 72.8,156.8 c -0.8,0 -1.2,-0.4 -1.2,-1.2 v -6 c 0,-0.8 0.4,-1.2 1.2,-1.2 0.8,0 1.2,0.4 1.2,1.2 v 5.6 c 0,0.8 -0.4,1.6 -1.2,1.6 z"
id="path48-2"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 54.8,174.8 h -6 c -0.8,0 -1.2,-0.4 -1.2,-1.2 0,-0.8 0.4,-1.2 1.2,-1.2 h 6 c 0.8,0 1.2,0.4 1.2,1.2 0,0.4 -0.4,1.2 -1.2,1.2 z"
id="path50-0"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 96.8,174.8 h -6 c -0.8,0 -1.2,-0.4 -1.2,-1.2 0,-0.8 0.4,-1.2 1.2,-1.2 h 6 c 0.8,0 1.2,0.4 1.2,1.2 0,0.4 -0.8,1.2 -1.2,1.2 z"
id="path52-2"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 56,191.6 c -0.4,0 -0.8,0 -0.8,-0.4 -0.4,-0.4 -0.4,-1.2 0,-1.6 l 4,-4 c 0.4,-0.4 1.2,-0.4 1.6,0 0.4,0.4 0.4,1.2 0,1.6 l -4,4 c -0.4,0 -0.4,0.4 -0.8,0.4 z"
id="path54-3"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 85.6,162 c -0.4,0 -0.8,0 -0.8,-0.4 -0.4,-0.4 -0.4,-1.2 0,-1.6 l 4,-4 c 0.4,-0.4 1.2,-0.4 1.6,0 0.4,0.4 0.4,1.2 0,1.6 l -4,4 c -0.4,0 -0.4,0.4 -0.8,0.4 z"
id="path56-7"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 60,162 c -0.4,0 -0.8,0 -0.8,-0.4 l -4,-4 c -0.4,-0.4 -0.4,-1.2 0,-1.6 0.4,-0.4 1.2,-0.4 1.6,0 l 4,4 c 0.4,0.4 0.4,1.2 0,1.6 0,0 -0.4,0.4 -0.8,0.4 z"
id="path58-5"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 89.6,191.6 c -0.4,0 -0.8,0 -0.8,-0.4 l -4,-4 c -0.4,-0.4 -0.4,-1.2 0,-1.6 0.4,-0.4 1.2,-0.4 1.6,0 l 4,4 c 0.4,0.4 0.4,1.2 0,1.6 0,0 -0.4,0.4 -0.8,0.4 z"
id="path60-9"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 82,196.8 c -0.4,0 -0.8,-0.4 -1.2,-0.8 l -2.4,-5.6 c -0.4,-0.8 0,-1.2 0.8,-1.6 0.8,-0.4 1.2,0 1.6,0.8 l 2.4,5.6 c 0.4,0.8 0,1.2 -0.8,1.6 0,0 -0.4,0 -0.4,0 z"
id="path62-22"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 66,158 c -0.4,0 -0.8,-0.4 -1.2,-0.8 l -2.4,-5.6 c -0.4,-0.8 0,-1.2 0.8,-1.6 0.8,-0.4 1.2,0 1.6,0.8 l 2.4,5.6 c 0.4,0.8 0,1.2 -0.8,1.6 0,0 -0.4,0 -0.4,0 z"
id="path64-8"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 50.8,183.6 c -0.4,0 -0.8,-0.4 -1.2,-0.8 -0.4,-0.8 0,-1.2 0.8,-1.6 l 5.6,-2.4 c 0.8,-0.4 1.2,0 1.6,0.8 0.4,0.8 0,1.2 -0.8,1.6 l -5.6,2.4 z"
id="path66-9"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 89.6,167.6 c -0.4,0 -0.8,-0.4 -1.2,-0.8 -0.4,-0.8 0,-1.2 0.8,-1.6 l 5.6,-2.4 c 0.8,-0.4 1.2,0 1.6,0.8 0.4,0.8 0,1.2 -0.8,1.6 l -5.6,2.4 c -0.4,0 -0.4,0 -0.4,0 z"
id="path68-7"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 63.6,196.8 h -0.4 c -0.8,-0.4 -0.8,-1.2 -0.8,-1.6 l 2.4,-5.6 c 0.4,-0.8 1.2,-0.8 1.6,-0.8 0.8,0.4 0.8,1.2 0.8,1.6 l -2.4,5.6 c 0,0.4 -0.8,0.8 -1.2,0.8 z"
id="path70-36"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 79.6,158 h -0.4 c -0.8,-0.4 -0.8,-1.2 -0.8,-1.6 l 2.4,-5.6 c 0.4,-0.8 1.2,-0.8 1.6,-0.8 0.8,0.4 0.8,1.2 0.8,1.6 l -2.4,5.6 c 0,0.4 -0.8,0.8 -1.2,0.8 z"
id="path72-1"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="M 56,167.6 H 55.6 L 50,165.2 c -0.8,-0.4 -0.8,-1.2 -0.8,-1.6 0.4,-0.8 1.2,-0.8 1.6,-0.8 l 5.6,2.4 c 0.8,0.4 0.8,1.2 0.8,1.6 0,0.8 -0.4,0.8 -1.2,0.8 z"
id="path74-2"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 94.8,183.6 h -0.4 l -5.6,-2.4 C 88,180.8 88,180 88,179.6 c 0.4,-0.8 1.2,-0.8 1.6,-0.8 l 5.6,2.4 c 0.8,0.4 0.8,1.2 0.8,1.6 0,0.8 -0.8,0.8 -1.2,0.8 z"
id="path76-9"
inkscape:connector-curvature="0" /><path
style="fill:#ff0000;fill-opacity:1;stroke-width:0.882135"
d="m 72.8,180.4 v 0 c -4,0 -6.8,-3.2 -6.8,-6.8 v 0 c 0,-4 3.2,-6.8 6.8,-6.8 v 0 c 4,0 6.8,3.2 6.8,6.8 v 0 c 0,3.6 -2.8,6.8 -6.8,6.8 z"
id="path78-3"
inkscape:connector-curvature="0" /><path
id="rect1441-1"
style="opacity:1;fill:#ff0000;stroke-width:2.21715"
d="m 72.801641,150.78759 v 0 l 5.635295,19.11133 h -11.27059 z"
sodipodi:nodetypes="ccccc" /></g><g
id="g2493-9"
transform="matrix(1.1065407,0.24626723,-0.24626723,1.1065407,81.269684,28.240985)"
style="stroke-width:0.882135"
inkscape:export-filename="/home/gruinelli/temp/AI-on-the-edge-device/images/icon/favicon.ico"
inkscape:export-xdpi="19.790001"
inkscape:export-ydpi="19.790001"><path
style="fill:#e6e9ee;stroke-width:0.882135"
d="m 72.8,202.4 v 0 c -16,0 -29.2,-13.2 -29.2,-29.2 v 0 c 0,-16 13.2,-29.2 29.2,-29.2 v 0 c 16,0 29.2,13.2 29.2,29.2 v 0 c 0,16.4 -13.2,29.2 -29.2,29.2 z"
id="path44-4"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 72.8,198.4 c -0.8,0 -1.2,-0.4 -1.2,-1.2 v -6 c 0,-0.8 0.4,-1.2 1.2,-1.2 0.8,0 1.2,0.4 1.2,1.2 v 6 c 0,0.8 -0.4,1.2 -1.2,1.2 z"
id="path46-78"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 72.8,156.8 c -0.8,0 -1.2,-0.4 -1.2,-1.2 v -6 c 0,-0.8 0.4,-1.2 1.2,-1.2 0.8,0 1.2,0.4 1.2,1.2 v 5.6 c 0,0.8 -0.4,1.6 -1.2,1.6 z"
id="path48-4"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 54.8,174.8 h -6 c -0.8,0 -1.2,-0.4 -1.2,-1.2 0,-0.8 0.4,-1.2 1.2,-1.2 h 6 c 0.8,0 1.2,0.4 1.2,1.2 0,0.4 -0.4,1.2 -1.2,1.2 z"
id="path50-5"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 96.8,174.8 h -6 c -0.8,0 -1.2,-0.4 -1.2,-1.2 0,-0.8 0.4,-1.2 1.2,-1.2 h 6 c 0.8,0 1.2,0.4 1.2,1.2 0,0.4 -0.8,1.2 -1.2,1.2 z"
id="path52-0"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 56,191.6 c -0.4,0 -0.8,0 -0.8,-0.4 -0.4,-0.4 -0.4,-1.2 0,-1.6 l 4,-4 c 0.4,-0.4 1.2,-0.4 1.6,0 0.4,0.4 0.4,1.2 0,1.6 l -4,4 c -0.4,0 -0.4,0.4 -0.8,0.4 z"
id="path54-36"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 85.6,162 c -0.4,0 -0.8,0 -0.8,-0.4 -0.4,-0.4 -0.4,-1.2 0,-1.6 l 4,-4 c 0.4,-0.4 1.2,-0.4 1.6,0 0.4,0.4 0.4,1.2 0,1.6 l -4,4 c -0.4,0 -0.4,0.4 -0.8,0.4 z"
id="path56-1"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 60,162 c -0.4,0 -0.8,0 -0.8,-0.4 l -4,-4 c -0.4,-0.4 -0.4,-1.2 0,-1.6 0.4,-0.4 1.2,-0.4 1.6,0 l 4,4 c 0.4,0.4 0.4,1.2 0,1.6 0,0 -0.4,0.4 -0.8,0.4 z"
id="path58-0"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 89.6,191.6 c -0.4,0 -0.8,0 -0.8,-0.4 l -4,-4 c -0.4,-0.4 -0.4,-1.2 0,-1.6 0.4,-0.4 1.2,-0.4 1.6,0 l 4,4 c 0.4,0.4 0.4,1.2 0,1.6 0,0 -0.4,0.4 -0.8,0.4 z"
id="path60-6"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 82,196.8 c -0.4,0 -0.8,-0.4 -1.2,-0.8 l -2.4,-5.6 c -0.4,-0.8 0,-1.2 0.8,-1.6 0.8,-0.4 1.2,0 1.6,0.8 l 2.4,5.6 c 0.4,0.8 0,1.2 -0.8,1.6 0,0 -0.4,0 -0.4,0 z"
id="path62-3"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 66,158 c -0.4,0 -0.8,-0.4 -1.2,-0.8 l -2.4,-5.6 c -0.4,-0.8 0,-1.2 0.8,-1.6 0.8,-0.4 1.2,0 1.6,0.8 l 2.4,5.6 c 0.4,0.8 0,1.2 -0.8,1.6 0,0 -0.4,0 -0.4,0 z"
id="path64-2"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 50.8,183.6 c -0.4,0 -0.8,-0.4 -1.2,-0.8 -0.4,-0.8 0,-1.2 0.8,-1.6 l 5.6,-2.4 c 0.8,-0.4 1.2,0 1.6,0.8 0.4,0.8 0,1.2 -0.8,1.6 l -5.6,2.4 z"
id="path66-06"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 89.6,167.6 c -0.4,0 -0.8,-0.4 -1.2,-0.8 -0.4,-0.8 0,-1.2 0.8,-1.6 l 5.6,-2.4 c 0.8,-0.4 1.2,0 1.6,0.8 0.4,0.8 0,1.2 -0.8,1.6 l -5.6,2.4 c -0.4,0 -0.4,0 -0.4,0 z"
id="path68-1"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 63.6,196.8 h -0.4 c -0.8,-0.4 -0.8,-1.2 -0.8,-1.6 l 2.4,-5.6 c 0.4,-0.8 1.2,-0.8 1.6,-0.8 0.8,0.4 0.8,1.2 0.8,1.6 l -2.4,5.6 c 0,0.4 -0.8,0.8 -1.2,0.8 z"
id="path70-5"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 79.6,158 h -0.4 c -0.8,-0.4 -0.8,-1.2 -0.8,-1.6 l 2.4,-5.6 c 0.4,-0.8 1.2,-0.8 1.6,-0.8 0.8,0.4 0.8,1.2 0.8,1.6 l -2.4,5.6 c 0,0.4 -0.8,0.8 -1.2,0.8 z"
id="path72-5"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="M 56,167.6 H 55.6 L 50,165.2 c -0.8,-0.4 -0.8,-1.2 -0.8,-1.6 0.4,-0.8 1.2,-0.8 1.6,-0.8 l 5.6,2.4 c 0.8,0.4 0.8,1.2 0.8,1.6 0,0.8 -0.4,0.8 -1.2,0.8 z"
id="path74-4"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 94.8,183.6 h -0.4 l -5.6,-2.4 C 88,180.8 88,180 88,179.6 c 0.4,-0.8 1.2,-0.8 1.6,-0.8 l 5.6,2.4 c 0.8,0.4 0.8,1.2 0.8,1.6 0,0.8 -0.8,0.8 -1.2,0.8 z"
id="path76-7"
inkscape:connector-curvature="0" /><path
style="fill:#ff0000;fill-opacity:1;stroke-width:0.882135"
d="m 72.8,180.4 v 0 c -4,0 -6.8,-3.2 -6.8,-6.8 v 0 c 0,-4 3.2,-6.8 6.8,-6.8 v 0 c 4,0 6.8,3.2 6.8,6.8 v 0 c 0,3.6 -2.8,6.8 -6.8,6.8 z"
id="path78-6"
inkscape:connector-curvature="0" /><path
id="rect1441-5"
style="opacity:1;fill:#ff0000;stroke-width:2.21715"
d="m 72.801641,150.78759 v 0 l 5.635295,19.11133 h -11.27059 z"
sodipodi:nodetypes="ccccc" /></g><g
id="g2493-3"
transform="matrix(0.81724208,0.78561769,-0.78561769,0.81724208,322.48101,-24.488096)"
style="stroke-width:0.882135"
inkscape:export-filename="/home/gruinelli/temp/AI-on-the-edge-device/images/icon/favicon.ico"
inkscape:export-xdpi="19.790001"
inkscape:export-ydpi="19.790001"><path
style="fill:#e6e9ee;stroke-width:0.882135"
d="m 72.8,202.4 v 0 c -16,0 -29.2,-13.2 -29.2,-29.2 v 0 c 0,-16 13.2,-29.2 29.2,-29.2 v 0 c 16,0 29.2,13.2 29.2,29.2 v 0 c 0,16.4 -13.2,29.2 -29.2,29.2 z"
id="path44-6"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 72.8,198.4 c -0.8,0 -1.2,-0.4 -1.2,-1.2 v -6 c 0,-0.8 0.4,-1.2 1.2,-1.2 0.8,0 1.2,0.4 1.2,1.2 v 6 c 0,0.8 -0.4,1.2 -1.2,1.2 z"
id="path46-7"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 72.8,156.8 c -0.8,0 -1.2,-0.4 -1.2,-1.2 v -6 c 0,-0.8 0.4,-1.2 1.2,-1.2 0.8,0 1.2,0.4 1.2,1.2 v 5.6 c 0,0.8 -0.4,1.6 -1.2,1.6 z"
id="path48-5"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 54.8,174.8 h -6 c -0.8,0 -1.2,-0.4 -1.2,-1.2 0,-0.8 0.4,-1.2 1.2,-1.2 h 6 c 0.8,0 1.2,0.4 1.2,1.2 0,0.4 -0.4,1.2 -1.2,1.2 z"
id="path50-3"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 96.8,174.8 h -6 c -0.8,0 -1.2,-0.4 -1.2,-1.2 0,-0.8 0.4,-1.2 1.2,-1.2 h 6 c 0.8,0 1.2,0.4 1.2,1.2 0,0.4 -0.8,1.2 -1.2,1.2 z"
id="path52-5"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 56,191.6 c -0.4,0 -0.8,0 -0.8,-0.4 -0.4,-0.4 -0.4,-1.2 0,-1.6 l 4,-4 c 0.4,-0.4 1.2,-0.4 1.6,0 0.4,0.4 0.4,1.2 0,1.6 l -4,4 c -0.4,0 -0.4,0.4 -0.8,0.4 z"
id="path54-6"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 85.6,162 c -0.4,0 -0.8,0 -0.8,-0.4 -0.4,-0.4 -0.4,-1.2 0,-1.6 l 4,-4 c 0.4,-0.4 1.2,-0.4 1.6,0 0.4,0.4 0.4,1.2 0,1.6 l -4,4 c -0.4,0 -0.4,0.4 -0.8,0.4 z"
id="path56-2"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 60,162 c -0.4,0 -0.8,0 -0.8,-0.4 l -4,-4 c -0.4,-0.4 -0.4,-1.2 0,-1.6 0.4,-0.4 1.2,-0.4 1.6,0 l 4,4 c 0.4,0.4 0.4,1.2 0,1.6 0,0 -0.4,0.4 -0.8,0.4 z"
id="path58-9"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 89.6,191.6 c -0.4,0 -0.8,0 -0.8,-0.4 l -4,-4 c -0.4,-0.4 -0.4,-1.2 0,-1.6 0.4,-0.4 1.2,-0.4 1.6,0 l 4,4 c 0.4,0.4 0.4,1.2 0,1.6 0,0 -0.4,0.4 -0.8,0.4 z"
id="path60-1"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 82,196.8 c -0.4,0 -0.8,-0.4 -1.2,-0.8 l -2.4,-5.6 c -0.4,-0.8 0,-1.2 0.8,-1.6 0.8,-0.4 1.2,0 1.6,0.8 l 2.4,5.6 c 0.4,0.8 0,1.2 -0.8,1.6 0,0 -0.4,0 -0.4,0 z"
id="path62-2"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 66,158 c -0.4,0 -0.8,-0.4 -1.2,-0.8 l -2.4,-5.6 c -0.4,-0.8 0,-1.2 0.8,-1.6 0.8,-0.4 1.2,0 1.6,0.8 l 2.4,5.6 c 0.4,0.8 0,1.2 -0.8,1.6 0,0 -0.4,0 -0.4,0 z"
id="path64-7"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 50.8,183.6 c -0.4,0 -0.8,-0.4 -1.2,-0.8 -0.4,-0.8 0,-1.2 0.8,-1.6 l 5.6,-2.4 c 0.8,-0.4 1.2,0 1.6,0.8 0.4,0.8 0,1.2 -0.8,1.6 l -5.6,2.4 z"
id="path66-0"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 89.6,167.6 c -0.4,0 -0.8,-0.4 -1.2,-0.8 -0.4,-0.8 0,-1.2 0.8,-1.6 l 5.6,-2.4 c 0.8,-0.4 1.2,0 1.6,0.8 0.4,0.8 0,1.2 -0.8,1.6 l -5.6,2.4 c -0.4,0 -0.4,0 -0.4,0 z"
id="path68-9"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 63.6,196.8 h -0.4 c -0.8,-0.4 -0.8,-1.2 -0.8,-1.6 l 2.4,-5.6 c 0.4,-0.8 1.2,-0.8 1.6,-0.8 0.8,0.4 0.8,1.2 0.8,1.6 l -2.4,5.6 c 0,0.4 -0.8,0.8 -1.2,0.8 z"
id="path70-3"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 79.6,158 h -0.4 c -0.8,-0.4 -0.8,-1.2 -0.8,-1.6 l 2.4,-5.6 c 0.4,-0.8 1.2,-0.8 1.6,-0.8 0.8,0.4 0.8,1.2 0.8,1.6 l -2.4,5.6 c 0,0.4 -0.8,0.8 -1.2,0.8 z"
id="path72-6"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="M 56,167.6 H 55.6 L 50,165.2 c -0.8,-0.4 -0.8,-1.2 -0.8,-1.6 0.4,-0.8 1.2,-0.8 1.6,-0.8 l 5.6,2.4 c 0.8,0.4 0.8,1.2 0.8,1.6 0,0.8 -0.4,0.8 -1.2,0.8 z"
id="path74-0"
inkscape:connector-curvature="0" /><path
style="fill:#000000;fill-opacity:1;stroke-width:0.882135"
d="m 94.8,183.6 h -0.4 l -5.6,-2.4 C 88,180.8 88,180 88,179.6 c 0.4,-0.8 1.2,-0.8 1.6,-0.8 l 5.6,2.4 c 0.8,0.4 0.8,1.2 0.8,1.6 0,0.8 -0.8,0.8 -1.2,0.8 z"
id="path76-6"
inkscape:connector-curvature="0" /><path
style="fill:#ff0000;fill-opacity:1;stroke-width:0.882135"
d="m 72.8,180.4 v 0 c -4,0 -6.8,-3.2 -6.8,-6.8 v 0 c 0,-4 3.2,-6.8 6.8,-6.8 v 0 c 4,0 6.8,3.2 6.8,6.8 v 0 c 0,3.6 -2.8,6.8 -6.8,6.8 z"
id="path78-2"
inkscape:connector-curvature="0" /><path
id="rect1441-6"
style="opacity:1;fill:#ff0000;stroke-width:2.21715"
d="m 72.801641,150.78759 v 0 l 5.635295,19.11133 h -11.27059 z"
sodipodi:nodetypes="ccccc" /></g><text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:33.3333px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="67.090721"
y="114.12241"
id="text1475"
inkscape:export-filename="/home/gruinelli/temp/AI-on-the-edge-device/images/icon/favicon.ico"
inkscape:export-xdpi="19.790001"
inkscape:export-ydpi="19.790001"><tspan
sodipodi:role="line"
id="tspan1473"
x="67.090721"
y="114.12241"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:33.3333px;font-family:Sans;-inkscape-font-specification:'Sans Bold';fill:#ffffff">5</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:33.3333px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="99.090721"
y="114.12241"
id="text7150"
inkscape:export-filename="/home/gruinelli/temp/AI-on-the-edge-device/images/icon/favicon.ico"
inkscape:export-xdpi="19.790001"
inkscape:export-ydpi="19.790001"><tspan
sodipodi:role="line"
id="tspan7148"
x="99.090721"
y="114.12241"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:33.3333px;font-family:Sans;-inkscape-font-specification:'Sans Bold';fill:#ffffff">2</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:33.3333px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="131.09073"
y="114.12241"
id="text7154"
inkscape:export-filename="/home/gruinelli/temp/AI-on-the-edge-device/images/icon/favicon.ico"
inkscape:export-xdpi="19.790001"
inkscape:export-ydpi="19.790001"><tspan
sodipodi:role="line"
id="tspan7152"
x="131.09073"
y="114.12241"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:33.3333px;font-family:Sans;-inkscape-font-specification:'Sans Bold';fill:#ffffff">0</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:33.3333px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="161.09073"
y="114.12241"
id="text7158"
inkscape:export-filename="/home/gruinelli/temp/AI-on-the-edge-device/images/icon/favicon.ico"
inkscape:export-xdpi="19.790001"
inkscape:export-ydpi="19.790001"><tspan
sodipodi:role="line"
id="tspan7156"
x="161.09073"
y="114.12241"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:33.3333px;font-family:Sans;-inkscape-font-specification:'Sans Bold';fill:#ffffff">3</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:33.3333px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="193.09073"
y="114.12241"
id="text7400"
inkscape:export-filename="/home/gruinelli/temp/AI-on-the-edge-device/images/icon/favicon.ico"
inkscape:export-xdpi="19.790001"
inkscape:export-ydpi="19.790001"><tspan
sodipodi:role="line"
id="tspan7398"
x="193.09073"
y="114.12241"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:33.3333px;font-family:Sans;-inkscape-font-specification:'Sans Bold';fill:#ffffff">0</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:33.3333px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="225.09073"
y="114.12241"
id="text7404"
inkscape:export-filename="/home/gruinelli/temp/AI-on-the-edge-device/images/icon/favicon.ico"
inkscape:export-xdpi="19.790001"
inkscape:export-ydpi="19.790001"><tspan
sodipodi:role="line"
id="tspan7402"
x="225.09073"
y="114.12241"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:33.3333px;font-family:Sans;-inkscape-font-specification:'Sans Bold';fill:#ffffff">1</tspan></text><rect
style="fill:none;stroke:#1f00ea;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect18406"
width="23.916084"
height="39.886673"
x="222.59164"
y="81.731308"
inkscape:export-filename="/home/gruinelli/temp/AI-on-the-edge-device/images/icon/favicon.ico"
inkscape:export-xdpi="19.790001"
inkscape:export-ydpi="19.790001" /><rect
style="fill:none;stroke:#1f00ea;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect20467"
width="23.916084"
height="39.886673"
x="190.59164"
y="81.731308"
inkscape:export-filename="/home/gruinelli/temp/AI-on-the-edge-device/images/icon/favicon.ico"
inkscape:export-xdpi="19.790001"
inkscape:export-ydpi="19.790001" /><rect
style="fill:none;stroke:#1f00ea;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect20469"
width="23.916084"
height="39.886673"
x="158.59164"
y="81.731308"
inkscape:export-filename="/home/gruinelli/temp/AI-on-the-edge-device/images/icon/favicon.ico"
inkscape:export-xdpi="19.790001"
inkscape:export-ydpi="19.790001" /><circle
style="fill:none;stroke:#02ea00;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path20619"
cx="245.87659"
cy="173.6358"
r="35.34029"
inkscape:export-filename="/home/gruinelli/temp/AI-on-the-edge-device/images/icon/favicon.ico"
inkscape:export-xdpi="19.790001"
inkscape:export-ydpi="19.790001" /><circle
style="fill:none;stroke:#02ea00;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path20619-5"
cx="195.75063"
cy="239.26401"
r="35.34029"
inkscape:export-filename="/home/gruinelli/temp/AI-on-the-edge-device/images/icon/favicon.ico"
inkscape:export-xdpi="19.790001"
inkscape:export-ydpi="19.790001" /></svg>

After

Width:  |  Height:  |  Size: 38 KiB

BIN
docs/images/idea.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

BIN
docs/images/index.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 822 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

BIN
docs/images/mail.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

BIN
docs/images/main.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 716 KiB

BIN
docs/images/numbers.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

BIN
docs/images/powermeter.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

BIN
docs/images/size.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 557 KiB

BIN
docs/images/watermeter.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 219 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 KiB

BIN
docs/images/wiring.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 167 KiB

95
docs/index.html Normal file
View File

@@ -0,0 +1,95 @@
<html>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.3.1/dist/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<script
type="module"
src="https://unpkg.com/esp-web-tools@9.0.3/dist/web/install-button.js?module"
></script>
<body style="
padding: 20px;
padding-left: 60px;
padding-right: 60px;
">
<h1 id="welcome-to-the-ai-on-the-edge-device">Welcome to the AI-on-the-edge-device</h1>
<p>Artificial intelligence based systems have been established in our every days live. Just think of speech or image recognition. Most of the systems relay on either powerful processors or a direct connection to the cloud for doing the calculations up there. With the increasing power of modern processors the AI systems are coming closer to the end user - which is usually called <strong>edge computing</strong>.
Here this edge computing is brought into a practical oriented example, where a AI network is implemented on a ESP32 device so: <strong>AI on the edge</strong>.
</p>
<p>This projects allows you to digitalize your <strong>analoge</strong> water, gas, power and other meters using cheap and easily available hardware.</p>
<p>All you need is an <a href="https://github.com/jomjol/AI-on-the-edge-device/wiki/Hardware-Compatibility">ESP32 board with a supported camera</a> and a bit of a practical hand.</p>
<p><img src="images/esp32-cam.png" width="200"></p>
<h2 id="key-features">Key features</h2>
<ul>
<li><strong>Small</strong> and <strong>cheap</strong> device (3x4.5x2 cm³, &lt; 10 EUR)</li>
<li>camera and illumination integrated</li>
<li>Web surface for administration and control</li>
<li>OTA-Interface to update directly through the web interface</li>
<li>API for easy integration</li>
<li>Inline Image processing (feature detection, alignment, ROI extraction)</li>
<li>Tensorflow Lite (TFlite) integration - including easy to use wrapper</li>
</ul>
<h2 id="workflow">Workflow</h2>
<p>The device takes a photo of your meter at a defined interval. It then extracts the Regions of Interest (ROI&#39;s) out of it and runs them through an artificial inteligence. As a result, you get the digitalized value of your meter.</p>
<p>There are several options what to do with that value. Either send it to a MQTT broker, write it to an InfluxDb or simply provide it throug a REST API.</p>
<p><img src="https://raw.githubusercontent.com/jomjol/AI-on-the-edge-device/master/images/idea.jpg" width="600"> </p>
<h2 id="impressions">Impressions</h2>
<h3 id="ai-on-the-edge-device-on-a-water-meter">AI-on-the-edge-device on a Water Meter</h3>
<p><img src="https://raw.githubusercontent.com/jomjol/AI-on-the-edge-device/master/images/watermeter_all.jpg" width="200"><img src="https://raw.githubusercontent.com/jomjol/AI-on-the-edge-device/master/images/main.jpg" width="200"><img src="https://raw.githubusercontent.com/jomjol/AI-on-the-edge-device/master/images/size.png" width="200"> </p>
<h3 id="web-interface-water-meter-">Web Interface (Water Meter)</h3>
<p><img src="https://raw.githubusercontent.com/jomjol/AI-on-the-edge-device/master/images/watermeter.jpg" width="600"> </p>
<h3 id="ai-on-the-edge-device-on-a-electrical-power-meter">AI-on-the-edge-device on a Electrical Power Meter</h3>
<p><img src="https://raw.githubusercontent.com/jomjol/AI-on-the-edge-device/master/images/powermeter.jpg" width="600"> </p>
<h2 id="setup">Setup</h2>
<p>There is a growing <a href="https://github.com/jomjol/AI-on-the-edge-device/wiki">wiki</a> which provides you with a lot of information.
Head there to get a start, set it up and configure it.
</p>
<p>There are also a articles in the German Heise magazine &quot;make:&quot; about the setup and the technical background (behind a paywall) : <a href="https://www.heise.de/select/make/2021/2/2103513300897420296">DIY - Setup</a></p>
<p>For further background information, head to <a href="https://www.heise.de/select/make/2021/6/2126410443385102621">Neural Networks</a>, <a href="https://www.heise.de/select/make/2022/1/2134114065999161585">Training Neural Networks</a> and <a href="https://www.heise.de/select/make/2022/2/2204010051597422030">Programming on the ESP32</a> </p>
<h2 id="download">Download</h2>
<p>The latest available version is available on the <a href="https://github.com/jomjol/AI-on-the-edge-device/releases">Releases page</a>.</p>
<p>Initially you will have to flash it through an USB connection. Later an update is possible directly over the Air (OTA).<br><br>... or use the </p>
<h2 id="install">Webinstaller and Console</h2>
<p>
<esp-web-install-button
manifest="manifest.json"
></esp-web-install-button>
</p>
<p style="font-size: small;">(AI-on-the-edge-device Installer powered by ESP Web Tools)</p>
<h2 id="casing">Casing</h2>
<p>A 3d-printable housing can be found here:</p>
<ul>
<li><a href="https://www.thingiverse.com/thing:4573481">https://www.thingiverse.com/thing:4573481</a> (Water Meter)</li>
<li><a href="https://www.thingiverse.com/thing:5028229">https://www.thingiverse.com/thing:5028229</a> (Power Meter)</li>
<li><a href="https://www.thingiverse.com/thing:4571627">https://www.thingiverse.com/thing:4571627</a> (ESP32-Cam housing only)</li>
</ul>
<h2 id="build-it-yourself">Build it yourself</h2>
<p>See <a href="code/README.md">Build Instructions</a>.</p>
<h2 id="donate">Donate</h2>
<p>If you would like to support the developer with a cup of coffee you can do that via <a href="https://www.paypal.com/donate?hosted_button_id=8TRSVYNYKDSWL">Paypal</a>.</p>
<p>
<form action="https://www.paypal.com/donate" method="post" target="_top">
</p>
<p><input type="hidden" name="hosted_button_id" value="8TRSVYNYKDSWL" /></p>
<p><input type="image" src="https://www.paypalobjects.com/en_US/DK/i/btn/btn_donateCC_LG.gif" border="0" name="submit" title="PayPal - The safer, easier way to pay online!" alt="Donate with PayPal button" />
<img alt="" border="0" src="https://www.paypal.com/en_DE/i/scr/pixel.gif" width="1" height="1" />
</form>
If you have any technical topics, you can create an <a href="https://github.com/jomjol/AI-on-the-edge-device/issues">Issue</a>. </p>
<p>In other cases you can contact the developer via email: <img src="https://raw.githubusercontent.com/jomjol/AI-on-the-edge-device/master/images/mail.jpg" height="25"> </p>
<h2 id="changes-and-history">Changes and History</h2>
<p>See <a href="Changelog.md">Changelog</a></p>
<h2 id="tools">Tools</h2>
<ul>
<li>
Logfile downloader and combiner (Thx to <a href="https://github.com/reserve85">reserve85</a>)
<ul>
<li>Files see <a href="tbd">&#39;/tools/logfile-tool&#39;</a>, How-to see <a href="https://github.com/jomjol/AI-on-the-edge-device/wiki/Gasmeter-Log-Downloader">wiki</a></li>
</ul>
</li>
</ul>
<h2 id="additional-ideas">Additional Ideas</h2>
<p>There are some ideas and feature requests which are not followed currently - mainly due to capacity reasons on side of the developer. They are collected here: <a href="FeatureRequest.md">FeatureRequest.md</a></p>
</body>
</html>

25
docs/manifest.json Normal file
View File

@@ -0,0 +1,25 @@
{
"name": "AI-on-the-edge",
"version": "12.0.1",
"funding_url": "https://www.paypal.com/donate?hosted_button_id=8TRSVYNYKDSWL",
"new_install_prompt_erase": false,
"builds": [
{
"chipFamily": "ESP32",
"parts": [
{
"path": "docs/releases/download/v11.2.0/bootloader.bin",
"offset": 4096
},
{
"path": "docs/releases/download/v11.2.0/partitions.bin",
"offset": 32768
},
{
"path": "docs/releases/download/v12.0.1/firmware.bin",
"offset": 65536
}
]
}
]
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,62 @@
<html>
<head>
<script src='https://cdn.plot.ly/plotly-2.14.0.min.js'></script>
<style>
textarea {
width: 600px;
height: 300px;
}
</style>
<script>
function run() {
var el = document.getElementById('cnsl');
el && eval(el.value);
}
</script>
</head>
<body>
<div id='chart'></div>
<button onclick="document.getElementById('editor').hidden = false; this.hidden = true;" >Editor</button>
<div id='editor' hidden='true'>
<textarea id="cnsl">
const d = new Date();
var date = d.getFullYear() + "-" + (d.getMonth()+1) + "-" + d.getDate();
fetch('/fileserver/log/message/log_'+date+'.txt')
.then(response => {
// handle the response
response.text()
.then( result => {
var lines = result.split("\n");
var trace = {
x: [],
y: [],
type: 'scatter'
};
var timex = 1;
for (let line of lines) {
if (line.includes("PostProcessing - Raw")) {
console.log(line);
var value = line.split(" ")[6];
var time = line.split(" ")[0];
console.log("> "+time+" "+value+"\n");
trace.x.push(timex);
timex += 1;
trace.y.push(value);
}
}
console.log(trace);
var data = [trace];
Plotly.newPlot('chart', data);
});
})
.catch(error => {
// handle the error
out.value = "error";
});
</textarea><br />
<button onclick="run();">run</button>
</div>
<script>run();</script>
</body>
</html>