Added archritecture picture

This commit is contained in:
Eduard Iten 2025-06-30 16:23:24 +02:00
parent 97637a8315
commit c952b9f897
2 changed files with 88 additions and 2 deletions

View File

@ -10,7 +10,7 @@ Das System ist in drei logische Ebenen aufgeteilt, um eine hohe Flexibilität un
2. **Gateway-Ebene (ESP32):** Ein reiner Protokoll-Übersetzer, der als Brücke zwischen dem Heimnetzwerk (WLAN/Thread) und dem physischen Bus-System der Anlage fungiert. Er enthält keine eigene Steuerungslogik.
3. **Aktor-/Sensor-Ebene (Slave-Nodes):** Robuste, spezialisierte Baugruppen, die über einen Bus angesteuert werden und die eigentlichen Aufgaben ausführen (Ventile schalten, Sensoren auslesen).
![Systemarchitektur](https://i.imgur.com/8G0i5jV.png)
![Systemarchitektur](./architecture.svg)
## 2. Systemkomponenten

86
architecture.svg Normal file
View File

@ -0,0 +1,86 @@
<svg width="650" height="500" viewBox="0 0 650 500" xmlns="http://www.w3.org/2000/svg">
<defs>
<style>
.box {
fill: #f0f7ff;
stroke: #0d47a1;
stroke-width: 1.5;
rx: 8;
}
.label-main {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
font-size: 16px;
font-weight: 500;
text-anchor: middle;
fill: #111;
}
.label-sub {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
font-size: 12px;
text-anchor: middle;
fill: #444;
}
.label-arrow {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
font-size: 13px;
text-anchor: middle;
fill: #333;
}
.arrow-line {
stroke: #333;
stroke-width: 2;
}
.arrow-head {
fill: #333;
}
.bus-line {
stroke: #212121;
stroke-width: 4;
}
.bus-connector {
stroke: #212121;
stroke-width: 2;
}
</style>
<marker id="arrowhead" viewBox="0 0 10 10" refX="5" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse">
<path d="M 0 0 L 10 5 L 0 10 z" fill="#333" />
</marker>
</defs>
<text x="325" y="30" class="label-main" font-size="20">Systemarchitektur</text>
<rect x="225" y="60" width="200" height="70" class="box"/>
<text x="325" y="90" class="label-main">Home Assistant</text>
<text x="325" y="110" class="label-sub">(Logik &amp; UI)</text>
<line x1="325" y1="130" x2="325" y2="170" class="arrow-line" marker-end="url(#arrowhead)"/>
<text x="445" y="155" class="label-arrow">WLAN / Thread</text>
<text x="445" y="170" class="label-arrow" font-size="11">(MODBUS TCP/IP)</text>
<rect x="225" y="180" width="200" height="70" class="box"/>
<text x="325" y="210" class="label-main">Gateway (ESP32C6)</text>
<text x="325" y="230" class="label-sub">(Protokoll-Übersetzer)</text>
<line x1="325" y1="250" x2="325" y2="300" class="bus-line"/>
<line x1="50" y1="300" x2="600" y2="300" class="bus-line"/>
<text x="500" y="285" class="label-arrow">RS485 Bus (MODBUS RTU)</text>
<line x1="125" y1="300" x2="125" y2="340" class="bus-connector"/>
<rect x="50" y="340" width="150" height="60" class="box"/>
<text x="125" y="365" class="label-main">Slave-Node</text>
<text x="125" y="385" class="label-sub">(Ventil, Taster)</text>
<line x1="325" y1="300" x2="325" y2="340" class="bus-connector"/>
<rect x="250" y="340" width="150" height="60" class="box"/>
<text x="325" y="365" class="label-main">Slave-Node</text>
<text x="325" y="385" class="label-sub">(Pumpe, Sensoren)</text>
<line x1="525" y1="300" x2="525" y2="340" class="bus-connector"/>
<rect x="450" y="340" width="150" height="60" class="box"/>
<text x="525" y="365" class="label-main">Füllstandsensor</text>
<text x="525" y="385" class="label-sub">(QDY30A)</text>
<text x="325" y="440" class="label-sub" font-size="20">...</text>
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB