Temperature (°C)
Pressure (hPa)
How it works
An ESP32 microcontroller paired with a barometric pressure and temperature sensor sits on the home
network and takes a reading every minute. The firmware tracks the current time via an onboard RTC
module and the lunar cycle age in software, then POSTs a small JSON payload over HTTPS to
ingest.php — a PHP endpoint running on Apache2 on an Ubuntu 26.04 server.
Each reading is written to a MariaDB table by a dedicated low-privilege database user
(weather_writer) that only has INSERT and SELECT access to the weather
database. The display page fetches history through latest.php, a thin JSON API that
accepts a configurable time window, and renders the temperature and pressure trends as interactive
line charts using Chart.js.