EnviroHub
An environmental monitoring platform consisting of an ESP measurement node, a local Edge Gateway, and a sanitized public site projection. This screen is intended for observation and engineering verification.
ENVIROHUB
SYSTEM INFORMATION / OPERATOR REFERENCE
Purpose, status logic, and explanations of EnviroHub service parameters.
An environmental monitoring platform consisting of an ESP measurement node, a local Edge Gateway, and a sanitized public site projection. This screen is intended for observation and engineering verification.
The active ESP32-S3 publishes only real data from two BMP38x/BMP58x barometers and the indoor SHT45. The faulty SCD41 unit is disconnected pending replacement, and its invalid history has been removed. The outdoor SHT45 and O2 channels are not replaced with synthetic values.
Only allowlisted environmental metrics and station-availability events reach the site. Internal device identifiers, Wi-Fi/RSSI, MQTT credentials, and complete local history remain on the Edge Gateway.
The dashboard requests a fresh state snapshot every 15 seconds. Selecting a chart period also loads the corresponding data range immediately.
The ESP obtains UTC through SNTP after every boot and resynchronizes daily. Raspberry Pi has independent NTP synchronization. Measurements continue with time_valid=false if trusted time is unavailable.
The panel sends a desired revision through the Raspberry Pi outbound HTTPS session and retained MQTT. A setting is considered applied only after the ESP stores it in NVS and returns it through config/reported.
Threshold and hardware alerts are calculated on the Edge Gateway after durable storage. Telegram receives messages on NORMAL → WARNING → CRITICAL transitions and on recovery.
Analytics includes minimum, maximum, P05/P50/P95, standard deviation, time in the target range, separate excursions, and comparison with the preceding period.
The ESP first maintains a human-readable FAT journal on microSD to survive a link outage. Raspberry Pi keeps the primary full history in Edge SQLite/WAL. The vlasovlab.ru adapter receives a separate allowlisted public projection for charts; it is neither the only nor a complete copy of the source data.
The active ESP32-S3 already publishes real readings from two physical barometers and the indoor SHT45. The faulty SCD41 unit is disconnected pending replacement; the outdoor SHT45 and O2 will be integrated sequentially. Unavailable channels remain explicit and are never filled with test values.
A digital temperature and relative-humidity sensor. The first unit measures indoor air; placement will be validated against ESP self-heating and enclosure influence.
The second SHT45 provides a separate outdoor channel pair. It will be placed outside the internal thermal zone in a protected but ventilated location.
BMP58x is the primary pressure channel and BMP38x is the comparison channel. Both sensors also report their real die temperature for pressure compensation; the console shows these values separately and does not present them as air temperature, which will later come from the SHT45 sensors.
A photoacoustic digital CO₂ sensor. The control path includes ASC, guarded FRC, pressure compensation, and retained calibration metadata.
An electrochemical sensor connected through a dedicated analog front end and external precision ADC. The panel will distinguish raw ADC data, the processed reading, and calibration state.
Builds versioned telemetry, preserves sequence identity, and publishes MQTT availability. Last Will reports a broken connection even when no new measurement packet is produced.
Validates data, commits it atomically to SQLite/WAL, returns an application acknowledgment, and maintains the outbound synchronization queue. Raspberry Pi is the hardware platform for this node.
Accepts exact batches, removes duplicates, stores an isolated public projection, and serves the operator panel. The home network accepts no inbound Internet connection.
The short line in the top status identifies the first unavailable segment: ESP, MQTT, or EDGE/UPLINK. The last label combines the Edge Gateway and its outbound Internet path, which the site cannot distinguish without an independent channel.
The top status shows used microSD space and its total FAT filesystem size, followed by the real disk footprint of the primary Edge SQLite/WAL database on Raspberry Pi. These service values travel only as current state and are not written into either database or measurement history; the site projection size is not shown here.
Freshness of the latest confirmed Edge Gateway → site delivery. This is separate from the ESP connection status.
Number of unique measurement records confirmed by the receiving site database.
Number of accepted HTTPS batches. One batch may contain multiple records; an identical retry does not increase the counter.
Number of confirmed online/offline transitions received from MQTT availability and Last Will.
The operator sets a desired interval from 1 to 20 minutes. The actual interval is read only from confirmed ESP config/reported data.
Shows whether the ESP has trusted UTC time and the age of its latest SNTP synchronization.
Every provider reports sample presence and quality. Missing, stale, invalid, or uncalibrated channels become explicit alerts.
Response time of the public read API for the latest dashboard request. This is not sensor measurement latency.
Aggregation step for points in the selected chart range. It limits drawing density without deleting source history.
An explicit MQTT availability online report was received and telemetry remains inside the freshness window.
No explicit offline event exists, but an expected telemetry packet is delayed. This is a warning, not a confirmed disconnect.
The Edge Gateway received MQTT Last Will/offline after losing the ESP, or the emergency freshness timeout was exceeded.
RECENT AVAILABILITY