← All cases
Case 008 IoT / Animal Welfare

Reptile Welfare Monitor

Reptile keepers rely on spot-checking dial thermometers; a failed heat source or drifting probe can go unnoticed for hours, and there is no long-term record to show a vet. Off-the-shelf systems assume one enclosure and put software in charge of heating.

A multi-enclosure monitoring system — ESP32 sensor nodes publish over MQTT to a Raspberry Pi running a .NET ingestion service, SQLite store and live Blazor dashboard, with sensor auto-registration, server-side calibration and staleness flagging. By design it never controls heating: hardware thermostats stay the primary line of defence, software only watches and alerts.

Exhibit — IoT / Animal Welfare
Exhibit 008-A
Tests passing
118 xUnit
Live deployment
real ESP32 node with 5 DS18B20 probes on an occupied enclosure
Pipeline
ESP32 → Mosquitto MQTT → .NET → SQLite → Blazor, self-hosted on a Pi 3B
Care-sheet library
25 species with target ranges
Dead-sensor detection
stale flag within 5 minutes of silence
Safety rule
hardware thermostats remain primary control, enforced as an architectural constraint

C++/PlatformIO firmware plus .NET 10 Blazor Server with EF Core and MQTTnet, with the documentation deliberately split into per-agent ownership files so agents work the stack in parallel.

An unhandled error has occurred. Reload 🗙

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.