Hardware
Der Hub
Der Hub bringt die Anlage ins Netzwerk, die Module brauchen keins. Er sitzt im Schaltkasten, regelt auch ohne Server und hält den Kasten selbst trocken und frostfrei.
Auf dieser Seite
Aufgaben
- Gateway zwischen Bus und MQTT über TLS. Puffert Messwerte, wenn die Verbindung zum Server fehlt, und liefert sie nach.
- Modulverwaltung: Erkennung, Adressvergabe, Ausfallüberwachung, Verteilung von Updates.
- Regler mit Sollwerten vom Server. Ein Regler darf Sensoren und Aktoren verschiedener Module verknüpfen.
- Sicherheitsschicht, vom Server nicht überstimmbar: Verriegelungen, Plausibilität der Messwerte, Wirkungsüberwachung, Watchdog, autonomer Betrieb.
- Updates mit Rückfall auf die alte Version, wenn die neue sich nicht meldet.
Board
- Controller
- ESP32-S3 mit PSRAM
- Empfohlenes Board
- ESP32-S3-DevKitC-1 N16R8
- Flash
- 16 MB, zwei App-Partitionen für Updates
- PSRAM
- 8 MB
- Netzwerk
- WLAN, dazu Ethernet über W5500
- Modulbus
- CAN über Transceiver, z. B. SN65HVD230
- Zusatzport
- RS485 für Modbus-Sensoren, z. B. MAX3485
- Strommessung
- INA226 für Gesamtstrom und die eigenen Ausgänge
- Speicher
- LittleFS
- Watchdog
- 10 s
- Statuslicht
- RGB-LED (WS2812) des DevKitC-1 an GPIO 48 oder 38
Warum mit PSRAM
Der Puffer für den Betrieb ohne Server braucht Platz. Mit PSRAM bekommt er 256 KB, das reicht weit über die geforderten 1000 Einträge hinaus. Ohne PSRAM sind es 24 KB, etwa 200 Einträge, und größere Anlagen passen nicht in den Speicher für die Konfiguration.
WLAN und Netzwerkkabel
Steckt ein Kabel, nutzt der Hub das Kabel, sonst WLAN. Beides spricht dieselbe Firmware. Mit passendem Board ist auch die Versorgung über das Netzwerkkabel möglich, für die Elektronik, nicht für Heizung und Antriebe.
Schneller Start
Seit 0.10.0 verbindet sich der Hub nach einem Neustart sofort per MQTT über TLS mit der Adresse,
unter der er den Server zuletzt gefunden hat, ohne sie vorher über HTTPS zu prüfen. Das Zertifikat
prüft MQTT genauso. Kommt in 20 Sekunden keine Verbindung zustande, prüft er die Adresse und sucht
sonst weiter. Das WLAN startet mit Kanal und Access Point der letzten Verbindung; klappt das in
6 Sekunden nicht, sucht es alle Kanäle ab. Die Konsole nennt die Zeiten der Schritte
(SB-BOOT … ms).
Statuslicht
Seit Firmware 0.10.0 zeigt die RGB-LED auf dem ESP32-S3-DevKitC-1 den Zustand des Hubs. Es gilt der erste zutreffende Zustand von oben:
| Farbe | Rhythmus | Bedeutung |
|---|---|---|
| Weiß | blinkt schnell | „Blinken“ am Hub, zum Finden |
| Blau | blinkt langsam | Einrichtungs-WLAN offen |
| Rot | dauernd | Störung an einem Ausgang oder Sensor |
| Violett | dauernd | autonom, kein Server |
| Gelb | blinkt | verbindet, oder wartet auf die Übernahme |
| Grün | dauernd | online |
Die LED sitzt an GPIO 48 (DevKitC-1 v1.0 und die meisten Nachbauten, Voreinstellung) oder an GPIO 38 (v1.1). Ein Admin stellt das in den Einstellungen des Hubs unter „LED“ um oder schaltet sie ab, ohne Neustart. „LED testen“ zeigt alle Farben nacheinander. Bleibt die LED dunkel, GPIO 38 wählen und noch einmal testen.
Der Hub ist zugleich das erste Modul
Ein kleines Projekt kommt ohne Zusatzmodule aus. Der Hub hat eigene Ein- und Ausgänge und beschreibt sich selbst wie jedes andere Modul.
| Kanal | Inhalt |
|---|---|
supply.u |
Versorgung gesamt |
supply.i |
Gesamtstrom |
case.temp |
Temperatur im Schaltkasten |
case.rh |
Feuchte im Schaltkasten |
in1, in2 |
zwei Kontakteingänge |
sens.i |
Strom der Sensorversorgung |
out1, out2 |
zwei Ausgänge 24 V, stufenlos, elektronische Sicherung 3 A |
Jeder Ausgang bringt seine Kanäle für Strom, Spannung und Zustand mit.
Klima im Schaltkasten
Elektronik im Freien leidet unter Kondenswasser, Frost und Hitze. Der Hub misst im Kasten Temperatur und Feuchte. An seinen zwei Ausgängen hängen, wenn gewünscht, eine Heizmatte und ein kleiner Lüfter. Beides ist optional und voreingestellt an.
| Merkmal | Heizmatte an Ausgang 1 | Lüfter an Ausgang 2 |
|---|---|---|
| Leistung | 10 W an 24 V | kleiner Lüfter, etwa 0,1 A |
| Temperatur | hält den Kasten über 5 °C | läuft ab 36 °C |
| Feuchte | heizt ab 75 % rF, bis 70 % erreicht sind | läuft ab gut 83 % rF |
| Überwachung | Strom und Erwärmung des Kastens | nur Strom, der Hub hat keinen Tacho-Eingang |
Wärme senkt die relative Feuchte. So schlägt sich an der Elektronik kein Wasser nieder. Über 25 °C heizt die Matte nicht mehr trocken, dann ist Heizen nicht der richtige Weg. Der Lüfter springt erst an, wenn Heizen allein die Feuchte nicht hält.
Frostwarnung, Hitzewarnung und Urlaubsmodus verschieben die Sollwerte des Kastens nicht. Sie sind für Pflanzen gedacht. Beim Lastabwurf werden Heizmatte und Lüfter zuletzt abgeschaltet.
Pinbelegung
Grundlage ist das ESP32-S3-DevKitC-1. Gemieden werden die Strapping-Pins 0, 3, 45 und 46, die USB-Pins 19 und 20, die Pins für Flash und PSRAM (26 bis 37) und die Konsole an 43 und 44.
| Funktion | GPIO |
|---|---|
| CAN TX, RX | 4, 5 |
| I²C SDA, SCL | 17, 18 |
| RS485 TX, RX, Richtung | 15, 16, 7 |
| Ethernet W5500: SCK, MOSI, MISO, CS, INT, RST | 12, 11, 13, 10, 9, 14 |
| 1-Wire | 6 |
| Ausgang 1, Ausgang 2 (PWM) | 39, 40 |
| Eingang 1, Eingang 2 | 41, 42 |
| Schaltbare Sensorversorgung | 47 |
| Status-LED, falls bestückt | 21 |
| RGB-LED des DevKitC-1 (Statuslicht) | 48 (v1.0) oder 38 (v1.1) |
| Taster für das Einrichtungs-WLAN | 1 |
| Analogeingänge, frei | 2, 8 |
| Baustein am I²C-Bus | Adresse |
|---|---|
| INA226 für Gesamtstrom und Versorgung | 0x40 |
| INA226 für Ausgang 1 | 0x41 |
| SHT4x im Schaltkasten | 0x44 |
| INA226 für Ausgang 2 | 0x45 |
Einrichten
Ein neuer Hub öffnet ein eigenes, offenes WLAN mit dem Namen „SmartBeet-Hub-…“, ohne Passwort.
Dort trägt man auf der Seite 192.168.4.1 das Heim-WLAN und den Einrichtungscode ein. Den Code
zeigt die Oberfläche unter „Geräte“, am Ende mit dem Server-Schlüssel, an dem der Hub seinen
Server erkennt. Die Server-Adresse bleibt im selben Netz leer, der Hub sucht den Server selbst.
Ein langer Druck auf den Taster öffnet das Einrichtungs-WLAN erneut. Online schließt es sich.
Der ganze Ablauf steht unter Erste Schritte.