Inicio del firmware¶
La estructura del proyecto repite completamente el capítulo del ejemplo del gabinete: PlatformIO, secrets.h, idryer-core en lib/, el mismo platformio.ini (solo reemplaza el nombre del entorno por filter). Aquí — solo lo que difiere.
Config: dispositivo de tipo no estándar¶
El filtro no tiene ni calefactor ni sensor climático del diccionario del ecosistema. De las habilidades "del diccionario" solo tiene ventilador. En src/main.cpp:
#include <iDryer.h>
static const iDryer::Config CFG = {
.deviceType = iDryer::DeviceType::Unknown, // dispositivo no estándar
.unitsCount = 1,
// Periféricos: del diccionario del ecosistema solo tenemos ventilador.
.hasFan = true,
// Períodos de publicación automática:
.telemetryPeriodMs = 5000,
.statusPeriodMs = 10000,
// Identificación en el 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 — está bien
El tipo Unknown significa "el portal no conoce este producto". Antes esto era un problema: el portal no tenía tarjeta para un tipo desconocido. Ahora es el camino estándar: el interface del dispositivo lo describir completamente el card manifest (capítulo 6), y el portal construirá la tarjeta según él. El tipo es necesario solo para los "propios" productos de iDryer, que tienen tarjetas de marca.
La bandera hasFan = true nos da de forma gratuita: el campo fanStatus en telemetría, la celda "Ventilador" en la tarjeta y una entidad en el manifest — todo del diccionario del ecosistema.
No hay un sensor VOC en Config — y no debería haberlo¶
Fíjate: no hay una bandera "hasVoc" en Config. El diccionario has* describe la periféria que conoce el ecosistema. Tu sensor propio lo agregarás no a través del diccionario, sino a través de dos mecanismos diferentes: escribirás tus lecturas en la telemetría con tu propio campo y lo declararás en el card manifest — estos son los dos capítulos siguientes. En eso está la esencia del enfoque: el diccionario no necesita expandirse para cada dispositivo nuevo.
Primer inicio y vinculación¶
El procedimiento no difiere del ejemplo del gabinete:
- Carga el firmware en la placa, abre Serial Monitor.
- El dispositivo levantará Wi-Fi (datos de
secrets.h), se registrará e imprimirá el PIN: - En el portal — "Agregar dispositivo" → ingresa el PIN.
- Después de la vinculación aparecerá
Device claimed!en el registro, el dispositivo pasará aEn línea.
Análisis detallado de la vinculación, errores Wi-Fi y re-vinculación — en el capítulo del ejemplo del gabinete.
El dispositivo ya es visible en el portal, pero la tarjeta sigue casi vacía — aún no hay datos. Vamos a conectar el sensor.