- _rebuildClient(): WiFiClientSecure + PubSubClient vor jedem Reconnect-Versuch sauber delete + new auf Core 0 - mbedTLS startet damit immer mit sauberem Heap-Kontext - Verhindert CORRUPT HEAP / PANIC wenn Broker die TLS-Session unerwartet abbricht (MBEDTLS_ERR_NET_CONN_RESET) - _broker/_port als Members gecacht fuer _rebuildClient()
320 lines
14 KiB
XML
320 lines
14 KiB
XML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
|
|
|
<svg
|
|
width="297mm"
|
|
height="420mm"
|
|
viewBox="0 0 297 420"
|
|
version="1.1"
|
|
id="svg1"
|
|
inkscape:version="1.4.2 (f4327f4, 2025-05-13)"
|
|
sodipodi:docname="Front.svg"
|
|
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">
|
|
<sodipodi:namedview
|
|
id="namedview1"
|
|
pagecolor="#ffffff"
|
|
bordercolor="#000000"
|
|
borderopacity="0.25"
|
|
inkscape:showpageshadow="2"
|
|
inkscape:pageopacity="0.0"
|
|
inkscape:pagecheckerboard="0"
|
|
inkscape:deskcolor="#d1d1d1"
|
|
inkscape:document-units="mm"
|
|
inkscape:zoom="0.71891835"
|
|
inkscape:cx="634.98171"
|
|
inkscape:cy="835.28262"
|
|
inkscape:window-width="1920"
|
|
inkscape:window-height="1009"
|
|
inkscape:window-x="1912"
|
|
inkscape:window-y="-8"
|
|
inkscape:window-maximized="1"
|
|
inkscape:current-layer="layer3"
|
|
showgrid="true">
|
|
<inkscape:grid
|
|
id="grid8"
|
|
units="mm"
|
|
originx="0"
|
|
originy="0"
|
|
spacingx="1"
|
|
spacingy="1"
|
|
empcolor="#0099e5"
|
|
empopacity="0.30196078"
|
|
color="#0099e5"
|
|
opacity="0.14901961"
|
|
empspacing="5"
|
|
enabled="true"
|
|
visible="false"
|
|
dotted="true" />
|
|
</sodipodi:namedview>
|
|
<defs
|
|
id="defs1">
|
|
<rect
|
|
x="570.3012"
|
|
y="984.81281"
|
|
width="239.24831"
|
|
height="91.804584"
|
|
id="rect4" />
|
|
</defs>
|
|
<g
|
|
inkscape:label="Rahmen"
|
|
inkscape:groupmode="layer"
|
|
id="layer1"
|
|
sodipodi:insensitive="true">
|
|
<rect
|
|
style="fill:#000000;stroke:#ff0000;stroke-width:0.2;stroke-linejoin:bevel"
|
|
id="rect1"
|
|
width="253"
|
|
height="253"
|
|
x="22"
|
|
y="83.5" />
|
|
<rect
|
|
style="fill:#ffffff;stroke:#ff0000;stroke-width:0.2;stroke-linejoin:bevel"
|
|
id="rect2"
|
|
width="217"
|
|
height="217"
|
|
x="40"
|
|
y="101.5" />
|
|
</g>
|
|
<g
|
|
inkscape:groupmode="layer"
|
|
id="layer2"
|
|
inkscape:label="DotMatrixDisplay"
|
|
transform="translate(5.921936,55.427505)"
|
|
sodipodi:insensitive="true">
|
|
<rect
|
|
style="fill:#cccccc;stroke:#241212;stroke-width:0.2;stroke-linejoin:bevel;stroke-opacity:1"
|
|
id="rect3"
|
|
width="33.75"
|
|
height="33.5"
|
|
x="75.078072"
|
|
y="154.57249" />
|
|
<rect
|
|
style="fill:#cccccc;stroke:#241212;stroke-width:0.2;stroke-linejoin:bevel;stroke-opacity:1"
|
|
id="rect3-8"
|
|
width="33.75"
|
|
height="33.5"
|
|
x="75.078072"
|
|
y="121.07249" />
|
|
<rect
|
|
style="fill:#cccccc;stroke:#241212;stroke-width:0.2;stroke-linejoin:bevel;stroke-opacity:1"
|
|
id="rect3-1"
|
|
width="33.75"
|
|
height="33.5"
|
|
x="108.82807"
|
|
y="121.07248" />
|
|
<rect
|
|
style="fill:#cccccc;stroke:#241212;stroke-width:0.2;stroke-linejoin:bevel;stroke-opacity:1"
|
|
id="rect3-1-2"
|
|
width="33.75"
|
|
height="33.5"
|
|
x="108.82807"
|
|
y="154.57249" />
|
|
<rect
|
|
style="fill:#cccccc;stroke:#241212;stroke-width:0.2;stroke-linejoin:bevel;stroke-opacity:1"
|
|
id="rect3-2"
|
|
width="33.75"
|
|
height="33.5"
|
|
x="142.57806"
|
|
y="154.57249" />
|
|
<rect
|
|
style="fill:#cccccc;stroke:#241212;stroke-width:0.2;stroke-linejoin:bevel;stroke-opacity:1"
|
|
id="rect3-8-3"
|
|
width="33.75"
|
|
height="33.5"
|
|
x="142.57806"
|
|
y="121.07248" />
|
|
<rect
|
|
style="fill:#cccccc;stroke:#241212;stroke-width:0.2;stroke-linejoin:bevel;stroke-opacity:1"
|
|
id="rect3-1-22"
|
|
width="33.75"
|
|
height="33.5"
|
|
x="176.32806"
|
|
y="121.07246" />
|
|
<rect
|
|
style="fill:#cccccc;stroke:#241212;stroke-width:0.2;stroke-linejoin:bevel;stroke-opacity:1"
|
|
id="rect3-1-2-1"
|
|
width="33.75"
|
|
height="33.5"
|
|
x="176.32806"
|
|
y="154.57249" />
|
|
</g>
|
|
<g
|
|
inkscape:groupmode="layer"
|
|
id="layer3"
|
|
inkscape:label="Beschriftung">
|
|
<text
|
|
xml:space="preserve"
|
|
style="font-weight:600;font-size:7.40833px;line-height:0;font-family:'Open Sans';-inkscape-font-specification:'Open Sans, Semi-Bold';text-align:end;writing-mode:lr-tb;direction:ltr;text-anchor:end;fill:#000000;stroke:#241212;stroke-width:0.2;stroke-linejoin:bevel;stroke-opacity:1"
|
|
x="204.76865"
|
|
y="262.22452"
|
|
id="text4"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan4"
|
|
style="fill:#000000;stroke-width:0.2"
|
|
x="204.76865"
|
|
y="262.22452">Freie Testzeit</tspan><tspan
|
|
sodipodi:role="line"
|
|
style="fill:#000000;stroke-width:0.2"
|
|
x="204.76865"
|
|
y="262.22452"
|
|
id="tspan5" /></text>
|
|
<text
|
|
xml:space="preserve"
|
|
style="font-weight:600;font-size:7.40833px;line-height:0;font-family:'Open Sans';-inkscape-font-specification:'Open Sans, Semi-Bold';text-align:end;writing-mode:lr-tb;direction:ltr;text-anchor:end;fill:#000000;stroke:#241212;stroke-width:0.2;stroke-linejoin:bevel;stroke-opacity:1"
|
|
x="203.7793"
|
|
y="271.33279"
|
|
id="text6"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan6"
|
|
style="fill:#000000;stroke-width:0.2"
|
|
x="203.7793"
|
|
y="271.33279">in Sekunden</tspan></text>
|
|
<text
|
|
xml:space="preserve"
|
|
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:5.29167px;line-height:0;font-family:'Open Sans';-inkscape-font-specification:'Open Sans, Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:end;writing-mode:lr-tb;direction:ltr;text-anchor:end;fill:#000000;stroke:#422020;stroke-width:0.2;stroke-linejoin:bevel;stroke-opacity:1"
|
|
x="226.37459"
|
|
y="252.96211"
|
|
id="text4-0"><tspan
|
|
id="tspan4-6"
|
|
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:5.29167px;font-family:'Open Sans';-inkscape-font-specification:'Open Sans, Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;stroke-width:0.2;stroke:#422020;stroke-opacity:1"
|
|
x="226.37459"
|
|
y="252.96211"
|
|
sodipodi:role="line">€ Laserzeit in Sekunden </tspan><tspan
|
|
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:5.29167px;font-family:'Open Sans';-inkscape-font-specification:'Open Sans, Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;stroke-width:0.2;stroke:#422020;stroke-opacity:1"
|
|
x="226.37459"
|
|
y="252.96211"
|
|
id="tspan5-1"
|
|
sodipodi:role="line" /></text>
|
|
<text
|
|
xml:space="preserve"
|
|
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:5.29167px;line-height:0;font-family:'Open Sans';-inkscape-font-specification:'Open Sans, Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:end;writing-mode:lr-tb;direction:ltr;text-anchor:end;fill:#000000;stroke:#241212;stroke-width:0.2;stroke-linejoin:bevel;stroke-opacity:1"
|
|
x="-218.73421"
|
|
y="225.72589"
|
|
id="text4-0-7"
|
|
transform="rotate(-89.846243)"><tspan
|
|
id="tspan4-6-6"
|
|
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:5.29167px;font-family:'Open Sans';-inkscape-font-specification:'Open Sans, Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;stroke-width:0.2"
|
|
x="-218.73421"
|
|
y="225.72589"
|
|
sodipodi:role="line">umlaufend</tspan><tspan
|
|
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:5.29167px;font-family:'Open Sans';-inkscape-font-specification:'Open Sans, Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;stroke-width:0.2"
|
|
x="-218.73421"
|
|
y="225.72589"
|
|
id="tspan5-1-1"
|
|
sodipodi:role="line" /></text>
|
|
<text
|
|
xml:space="preserve"
|
|
style="font-weight:600;font-size:7.40833px;line-height:0;font-family:'Open Sans';-inkscape-font-specification:'Open Sans, Semi-Bold';text-align:end;writing-mode:lr-tb;direction:ltr;text-anchor:end;fill:#000000;stroke:#241212;stroke-width:0.2;stroke-linejoin:bevel;stroke-opacity:1"
|
|
x="191.73494"
|
|
y="162.06888"
|
|
id="text4-6"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan4-1"
|
|
style="fill:#000000;stroke-width:0.2"
|
|
x="191.73494"
|
|
y="162.06888">kostenpflichtige</tspan><tspan
|
|
sodipodi:role="line"
|
|
style="fill:#000000;stroke-width:0.2"
|
|
x="191.73494"
|
|
y="162.06888"
|
|
id="tspan5-8" /></text>
|
|
<text
|
|
xml:space="preserve"
|
|
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:14.8167px;line-height:0;font-family:'Open Sans';-inkscape-font-specification:'Open Sans, Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:end;writing-mode:lr-tb;direction:ltr;text-anchor:end;fill:#000000;stroke:#241212;stroke-width:0.2;stroke-linejoin:bevel;stroke-opacity:1"
|
|
x="241.88585"
|
|
y="126.91018"
|
|
id="text4-6-2"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan7"
|
|
x="241.88585"
|
|
y="126.91018">Laser Cutter Zeiterfassung</tspan><tspan
|
|
sodipodi:role="line"
|
|
id="tspan8"
|
|
x="241.88585"
|
|
y="126.91018" /></text>
|
|
<text
|
|
xml:space="preserve"
|
|
style="font-weight:600;font-size:7.40833px;line-height:0;font-family:'Open Sans';-inkscape-font-specification:'Open Sans, Semi-Bold';text-align:end;writing-mode:lr-tb;direction:ltr;text-anchor:end;fill:#000000;stroke:#241212;stroke-width:0.2;stroke-linejoin:bevel;stroke-opacity:1"
|
|
x="199.64789"
|
|
y="171.17715"
|
|
id="text6-9"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan6-2"
|
|
style="fill:#000000;stroke-width:0.2"
|
|
x="199.64789"
|
|
y="171.17715">Laserzeit in Minuten</tspan></text>
|
|
<text
|
|
xml:space="preserve"
|
|
style="font-weight:600;font-size:7.40833px;line-height:0;font-family:'Open Sans';-inkscape-font-specification:'Open Sans, Semi-Bold';text-align:end;writing-mode:lr-tb;direction:ltr;text-anchor:end;fill:#ff0000;stroke:#ff0000;stroke-width:0.2;stroke-linejoin:bevel;stroke-opacity:1"
|
|
x="103.04314"
|
|
y="163.84862"
|
|
id="text4-6-4"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan4-1-1"
|
|
style="fill:#ff0000;stroke:#ff0000;stroke-width:0.2"
|
|
x="103.04314"
|
|
y="163.84862">Wifi</tspan><tspan
|
|
sodipodi:role="line"
|
|
style="fill:#ff0000;stroke:#ff0000;stroke-width:0.2"
|
|
x="103.04314"
|
|
y="163.84862"
|
|
id="tspan5-8-1" /></text>
|
|
<text
|
|
xml:space="preserve"
|
|
style="font-weight:600;font-size:7.40833px;line-height:0;font-family:'Open Sans';-inkscape-font-specification:'Open Sans, Semi-Bold';text-align:end;writing-mode:lr-tb;direction:ltr;text-anchor:end;fill:#ff0000;stroke:#ff0000;stroke-width:0.2;stroke-linejoin:bevel;stroke-opacity:1"
|
|
x="104.63658"
|
|
y="171.17715"
|
|
id="text6-9-3"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan6-2-8"
|
|
style="fill:#ff0000;stroke:#ff0000;stroke-width:0.2"
|
|
x="104.63658"
|
|
y="171.17715">Error</tspan></text>
|
|
<text
|
|
xml:space="preserve"
|
|
style="font-weight:600;font-size:7.40833px;line-height:0;font-family:'Open Sans';-inkscape-font-specification:'Open Sans, Semi-Bold';text-align:end;writing-mode:lr-tb;direction:ltr;text-anchor:end;fill:#ff0000;stroke:#ff0000;stroke-width:0.2;stroke-linejoin:bevel;stroke-opacity:1"
|
|
x="106.06905"
|
|
y="255.2171"
|
|
id="text4-6-4-7"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan4-1-1-9"
|
|
style="fill:#ff0000;stroke:#ff0000;stroke-width:0.2"
|
|
x="106.06905"
|
|
y="255.2171">MQTT</tspan><tspan
|
|
sodipodi:role="line"
|
|
style="fill:#ff0000;stroke:#ff0000;stroke-width:0.2"
|
|
x="106.06905"
|
|
y="255.2171"
|
|
id="tspan5-8-1-3" /></text>
|
|
<text
|
|
xml:space="preserve"
|
|
style="font-weight:600;font-size:7.40833px;line-height:0;font-family:'Open Sans';-inkscape-font-specification:'Open Sans, Semi-Bold';text-align:end;writing-mode:lr-tb;direction:ltr;text-anchor:end;fill:#ff0000;stroke:#ff0000;stroke-width:0.2;stroke-linejoin:bevel;stroke-opacity:1"
|
|
x="104.63658"
|
|
y="265.51187"
|
|
id="text6-9-3-1"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan6-2-8-9"
|
|
style="fill:#ff0000;stroke:#ff0000;stroke-width:0.2"
|
|
x="104.63658"
|
|
y="265.51187">Error</tspan></text>
|
|
<path
|
|
style="fill:none;stroke:#241212;stroke-width:0.6;stroke-linejoin:bevel;stroke-dasharray:none;stroke-opacity:1"
|
|
d="m 148,255.82088 v 20 h 66.99999 v -20"
|
|
id="path6"
|
|
sodipodi:nodetypes="cccc" />
|
|
<path
|
|
style="fill:none;stroke:#241212;stroke-width:0.6;stroke-linejoin:bevel;stroke-dasharray:none;stroke-opacity:1"
|
|
d="m 216,172.81966 -0.13385,-22.4101 -101.04619,-0.15132 0.11406,22.56145"
|
|
id="path6-3"
|
|
sodipodi:nodetypes="cccc" />
|
|
<path
|
|
style="fill:none;stroke:#422020;stroke-width:0.6;stroke-linejoin:bevel;stroke-dasharray:none;stroke-opacity:1"
|
|
d="m 115,244.00001 v 3 h 104.99999 c -0.0471,0.12248 0,-37.00001 0,-37.00001 h -3"
|
|
id="path6-3-7"
|
|
sodipodi:nodetypes="ccccc" />
|
|
</g>
|
|
</svg>
|