MQTT-Display-LaserCutter/doc/Front.svg
MaPaLo76 1ef0464be9 fix(mqtt): FR-011 Heap-Korruption bei TLS-Verbindungsabbruch
- _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()
2026-03-01 17:50:18 +01:00

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>