Firmware-Start¶
Das Projekt-Gerüst wiederholt vollständig das Kapitel aus dem Gehäuse-Beispiel: PlatformIO, secrets.h, idryer-core in lib/, gleiches platformio.ini (ersetzen Sie nur die Umgebung auf filter). Hier – nur das, was anders ist.
Config: Gerät unbekannten Typs¶
Der Filter hat weder einen Heizer noch einen Klima-Sensor aus dem Ökosystem-Wörterbuch. Von „Wörterbuch"-Fähigkeiten hat er nur einen Lüfter. In src/main.cpp:
#include <iDryer.h>
static const iDryer::Config CFG = {
.deviceType = iDryer::DeviceType::Unknown, // Gerät unbekannten Typs
.unitsCount = 1,
// Peripherie: vom Ökosystem-Wörterbuch haben wir nur einen Lüfter.
.hasFan = true,
// Telemetrie-Veröffentlichungs-Perioden:
.telemetryPeriodMs = 5000,
.statusPeriodMs = 10000,
// Identifikation im Portal:
.hardwareVersion = "1.0",
.firmwareVersion = "0.1.0",
.model = "DIY Air Filter",
};
static iDryer::Link s_link(CFG);
void setup() {
Serial.begin(115200);
s_link.begin();
}
void loop() {
s_link.loop();
}
DeviceType::Unknown – das ist normal
Der Typ Unknown bedeutet „das Portal kennt diese Geräteart nicht". Früher war das ein Problem: Das Portal hatte keine Karte für unbekannte Typen. Jetzt ist das der Standardweg: Das gesamte Gerät-Interface wird vom Card-Manifest beschrieben (Kapitel 6), und das Portal baut die Karte danach. Der Typ wird nur für iDryer-eigene Geräte benötigt, die fertige Karten haben.
Das Flag hasFan = true gibt uns kostenlos: das Feld fanStatus in der Telemetrie, die „Lüfter"-Zelle auf der Karte und die Entity im Manifest – alles aus dem Ökosystem-Wörterbuch.
VOC-Sensor ist nicht in Config – und sollte nicht sein¶
Achten Sie darauf: In Config gibt es kein Flag „hasVoc". Das Wörterbuch has* beschreibt Peripherie, die das Ökosystem kennt. Ihren eigenen Sensor fügen Sie nicht über das Wörterbuch hinzu, sondern durch zwei andere Mechanismen: Sie schreiben seine Messwerte in die Telemetrie mit eigenem Feld und deklarieren ihn im Card-Manifest – das sind die nächsten zwei Kapitel. Das ist die Essenz des Ansatzes: Das Wörterbuch muss nicht für jedes neue Gerät erweitert werden.
Erste Inbetriebnahme und Bindung¶
Das Verfahren unterscheidet sich nicht vom Gehäuse-Beispiel:
- Programmieren Sie die Platine, öffnen Sie den Serial Monitor.
- Das Gerät hebt Wi-Fi auf (Daten aus
secrets.h), registriert sich und druckt die PIN: - Auf dem Portal – „Gerät hinzufügen" → PIN eingeben.
- Nach der Bindung erscheint
Device claimed!im Log, das Gerät wechselt zuOnline.
Detaillierte Analyse der Bindung, Wi-Fi-Fehler und Neu-Bindung – im Kapitel des Gehäuse-Beispiels.
Das Gerät ist bereits im Portal sichtbar, aber die Karte ist noch fast leer – wir haben ja noch keine Daten. Gehen wir den Sensor anschließen.