What had to be solved
Build a complete indoor-climate monitoring system: from physical sensors and a resilient telemetry path to a live web console, statistics and voice access to measurements.

Projects / IoT, telemetry and measurement systems
A VlasovLab measurement platform built around ESP32-S3: physical sensors, MQTT 5/TLS, a local Edge Gateway, durable data delivery, a live operator console and Home with Alice integration.
Build a complete indoor-climate monitoring system: from physical sensors and a resilient telemetry path to a live web console, statistics and voice access to measurements.
The complete ESP32-S3 → MQTT 5/TLS → EnviroHub Edge Gateway → outbound HTTPS Public Bridge → website path is operational. The console shows real temperature, humidity and atmospheric pressure together with path diagnostics, history and statistics; the same values are available in Home with Alice and by voice. Channels that are faulty or not yet commissioned are shown as unavailable instead of being filled with synthetic data.
Project materials
Engineering context
The home network remains closed to inbound connections: the Edge Gateway sends an approved public projection to the website over outbound HTTPS.
Every aggregated record is written to a standard FAT microSD card before MQTT publication and is removed from the delivery queue only after an application-level acknowledgement.
The operator console, analytics and Alice reuse one sanitized website read model without a second MQTT broker or a separate telemetry copy.
The system distinguishes a normal reading, a sensor fault, stale data and a lost connection; missing channels are never replaced with invented values.
Work done
ESP-IDF firmware for ESP32-S3, I2C sensors, SNTP, microSD and MQTT 5/TLS.
Versioned telemetry contract, ACLs, Last Will, application acknowledgements and store-and-forward delivery.
An isolated Raspberry Pi-based EnviroHub Edge Gateway with Mosquitto, SQLite/WAL and systemd supervision.
An outbound HTTPS Public Bridge with idempotent delivery and a separate public projection.
A bilingual operator console with live values, charts, statistics, diagnostics and PIN-protected commands.
A read-only Yandex Smart Home integration for temperature, humidity and atmospheric pressure.
Repeatable broker-outage, Edge Gateway reboot, microSD buffering and replay tests.
Details
The ESP32-S3 polls physical sensors, builds aggregated telemetry and sends it to the local MQTT broker over TLS. EnviroHub Edge Gateway validates the contract, commits the data to SQLite and only then returns an application acknowledgement to the device.
The public surface is separated from the home-side path. The Edge Gateway initiates outbound HTTPS requests to vlasovlab.ru, while the website stores only the approved projection required by the console and external integrations. The Raspberry Pi does not need an inbound internet port.
The ESP uses write-before-send: a record containing UTC time, sequence and CRC32 is appended to human-readable NDJSON and CSV files on a standard FAT microSD card before publication. After a link outage, the queue is replayed oldest-first when MQTT returns.
The interface does not present a last-known number as a current measurement. Health, freshness and availability are gated separately, so a faulty or not-yet-connected sensor appears as unavailable with an explicit status.
The public RU/EN console shows end-to-end path state, current channels, time series, a daily summary and engineering diagnostics. Viewing is separated from control: changing settings or sending commands requires the operator PIN.
The same read-only layer is reused by the Yandex Smart Home integration. Temperature, humidity and atmospheric pressure are already available in the app and through voice questions; CO2 will be added after a verified replacement sensor is commissioned.
The active physical path currently includes the indoor SHT45 and two BMP38x/BMP58x-family barometric channels. Synthetic telemetry is disabled.
The outdoor SHT45, O2 path and replacement CO2 sensor are being added to the station in sequence. Until they are connected, the corresponding channels are explicitly marked as unavailable.
Contact
Contact us by email. We discuss custom electronics and automation tasks remotely with companies, labs, small businesses and individual customers worldwide.