Vue d'ensemble
Le module FFP3 permet la supervision et le pilotage d'une installation aquaponique : suivi des niveaux d'eau, des températures, de l'humidité, commande des pompes, du chauffage et de la lumière, et programmation du nourrissage. Le système fonctionne en offline-first : la configuration est stockée localement sur l'ESP32 et le système continue à fonctionner sans réseau.
Capteurs
Le module mesure :
- Niveaux d'eau (aquarium, réserve, potager) — capteur à ultrasons (HC-SR04) mesurant la hauteur en cm
- Température eau — sonde étanche (DS18B20) en °C
- Température air et humidité — capteur combiné (DHT22) en °C et %
- Luminosité — capteur lumière, en UA (échelle relative)
- Marée — différence de niveau pour l'analyse des cycles
Actionneurs
Les sorties pilotées par le module :
- Pompe aquarium et pompe réserve — circulation de l'eau
- Chauffage — maintien de la température
- Lumière UV
- Nourrissage — programmation par horaires et durées
Firmware (ESP32)
Le firmware (programme embarqué sur la carte ESP32) assure la lecture des capteurs, la commande des actionneurs et les échanges avec le serveur. Principales caractéristiques :
- Offline-first — fonctionnement sans réseau, configuration stockée localement
- Envoi périodique des données vers le serveur (environ toutes les 2 minutes)
- Réception des commandes — synchronisation des ordres environ toutes les 4 secondes
- Résilience réseau — les données sont rejouées au retour de la connexion en cas de coupure
- Mise à jour OTA — mise à jour du programme à distance sans câble
Serveur embarqué (ESP32)
La carte ESP32 héberge une interface locale sur le réseau de l'établissement, permettant de consulter et piloter le module sans dépendre d'internet.
Serveur distant
Le serveur web (iot.olution.info) agrège les données, conserve l'historique et permet le pilotage à distance. Flux :
- POST données capteurs + états des sorties (post-data)
- GET état des sorties (api/outputs/state) pour synchroniser les commandes
- Heartbeat pour le suivi de présence des modules
Environnements distincts (test, prod, S3) avec tables et pages dédiées. Les changements faits depuis l'interface web sont synchronisés avec l'ESP32 au prochain cycle.
