Guía ESP-NOW de CO2 Gadget: Comunicación de Largo Alcance

Modificado por última vez hace 5 días

ESP-NOW es el protocolo peer-to-peer de Espressif que permite a tus medidores CO2 Gadget comunicarse entre sí sin router, sin WiFi y con un alcance de cientos de metros en campo abierto. Útil para redes de sensores en aulas, oficinas o grandes espacios donde no quieres saturar la WiFi.

Documentacion en actualizacion. Estamos revisando y mejorando todas las paginas. Es posible que encuentres algun enlace roto o contenido pendiente. Si ves algo que falla, ayudanos a arreglarlo en GitHub.

Qué es ESP-NOW

ESP-NOW es un protocolo de comunicaciones vía radio de largo alcance y bajo consumo desarrollado por Espressif. Comparte la radio Wi-Fi pero no necesita router ni punto de acceso — los dispositivos se comunican directamente entre sí (peer-to-peer) usando sus direcciones MAC.

Habilitar ESP-NOW

ESP-NOW no está habilitado por defecto en los binarios precompilados. Para usarlo hay que activar SUPPORT_ESPNOW en la sección [features] del platformio.ini y compilar desde el código fuente:

[features]
SUPPORT_ESPNOW = ON

Tras compilar y flashear, el firmware muestra un menú ESP-NOW Config en el puerto serie y en /preferences.html.

Configuración

Parámetro NVSDefaultDescripción
`activeESPNow``false`Activa/desactiva ESP-NOW
`tToPubESPNow`60 sTiempo entre publicaciones
`tKeepAlESPNow`300 sIntervalo de keepalive
`boardID`MAC del dispositivoIdentificador único de la placa
Peer MAC`FF:FF:FF:FF:FF:FF` (broadcast)MAC destino (broadcast por defecto)

ESP-NOW comparte la radio Wi-Fi; funciona en paralelo si tu AP está en el mismo canal (o se usa `ESPNOW_WIFI_CH = 1`). Si el router cambia de canal, ESP-NOW deja de recibir hasta que se re-sincronice. Cuidado con el channel switch dinámico de routers modernos.

Comandos remotos (killer feature)

ESP-NOW permite enviar comandos remotos entre dispositivos. El set de comandos soportados es:

ComandoValorFunción
`cmdCO2GadgetNone`0No-op
`cmdCO2GadgetCalibration`1Calibración forzada (parámetro: ppm 400–2000)
`cmdCO2GadgetDeepSleepPeriod`2Cambio del periodo de deep sleep (parámetro: segundos)
`cmdCO2GadgetTest`10Test/debug

Por ejemplo, puedes calibrar remotamente otro medidor CO₂ Gadget sin necesidad de tocarlo físicamente.

Tipos de mensaje

TipoValorPayload
`MSG_JSON`0JSON genérico
`MSG_RESERVED`1Reservado
`MSG_CO2GADGET`2Telemetría CO2 Gadget (boardID, temp, hum, co2, battery, readingId, command, parameter)
`MSG_PULSECOUNTER`3Contador de pulsos
`WS_OTHER`128Otros protocolos

Threshold gating

Las publicaciones ESP-NOW también pasan por el ThresholdManager (canal ESPNOW_SEND). Se publican solo cuando el valor cruza el umbral configurado, evitando saturar la red con mensajes innecesarios.

Casos de uso

  • Medidores en múltiples habitaciones sin WiFi dedicado
  • Gateway ESP-NOW → MQTT para enviar telemetría a Home Assistant sin WiFi en el medidor original
  • Monitorización exterior (garaje, taller, invernadero)
  • Calibración remota de medidores en campo

Notas

  • ESP-NOW y BTHome pueden coexistir (BLE y Wi-Fi comparten banda pero ESP-NOW solo transmite en tx slots cortos)
  • El alcance depende de antena y entorno; típico 100–200 m en interior y hasta ~200 m en abierto con peer en el mismo canal
  • CO2 Gadget con ESP-NOW supera cualquier medidor comercial en alcance y versatilidad

¿Te ha sido útil? Comparte este artículo. ¿Tambien consulta la Guía del Menú. Tienes dudas? Pregunta en el grupo de Telegram.

Deja un comentario