# Project Context This project implements a data acquisition (DAQ) system for an aquaponic farm: the *Ferme Aquaponique du Pays de Gex*, located in the Pays de Gex, France. Website: https://www.lafermeaquaponique.com/ ## Users - Customers are aquaponic farmers. - Assume no higher IT sophistication than the average person. - Assume deep expertise in aquaponic farm design and operation. ## Architecture All hosts are on the same farm LAN. - 4 DAQ nodes: Raspberry Pi 2W units, each with 1 Atlas Scientific USB EZO carrier board + 1 probe - 1 DAQ hub: Raspberry Pi 5 (MQTT broker) - 1 DAQ recorder: remote VPS (persists MQTT messages to SQLite) - 1 Dashboard: same VPS (Mojolicious web app) Probes: pH, EC, Dissolved Oxygen, ORP (all Atlas Scientific). ## Messaging - DAQ nodes publish readings over MQTT. - DAQ hub acts as MQTT broker. - DAQ recorder persists all MQTT messages to a relational database. - Topics: `fapg/daq///reading` - Schema: `fapg.daq.reading.v1` - Probe keys are always lowercase: `ph`, `do`, `orp`, `ec`. ## OS Versions | Host | OS | Version | |--------------|----------------------|----------| | DAQ nodes | Raspberry Pi OS Lite | Trixie | | DAQ hub | Raspberry Pi OS Lite | Trixie | | DAQ recorder | Debian 11 | Bullseye | | Dev machine | Gentoo | latest |