feat: structures globales config.h + main.cpp initial

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-23 16:20:50 +02:00
parent 75938b9956
commit 9aac0f1b94
2 changed files with 85 additions and 0 deletions
+64
View File
@@ -0,0 +1,64 @@
#pragma once
#include <Arduino.h>
// ── Constantes matérielles ──────────────────────────────────────────
#define ONE_WIRE_BUS 4 // GPIO 4 — bus OneWire DS18B20
#define NB_SONDES 3
#define HIST_TAILLE 288 // 24h × (3600/10/300 × 60) = 288 pts
#define MESURE_INTERVALLE 10000 // ms entre deux acquisitions
// ── Constantes réseau ───────────────────────────────────────────────
#define WIFI_SSID "Mon_Reseau_WiFi"
#define WIFI_PASS "Mon_Mot_De_Passe_Securise"
#define AP_SSID "ESP_CHEF_JARDIN"
#define AP_PASS "Jardin2026"
#define WIFI_TIMEOUT_MS 30000 // timeout avant bascule AP
#define WIFI_RETRY_MS 30000 // délai entre retries STA
#define MDNS_NOM "esp_jardin"
#define OTA_PASS "Jardin2026"
// ── Constantes MQTT ─────────────────────────────────────────────────
#define MQTT_BROKER "10.0.0.3"
#define MQTT_PORT 1883
#define MQTT_USER ""
#define MQTT_PASS_STR ""
#define MQTT_CLIENT_ID "esp_jardin"
#define MQTT_RETRY_MS 5000
// ── Structure : configuration d'une sonde (immuable) ────────────────
struct SondeConfig {
const char* nom;
const char* topic;
uint32_t intervalleMs;
float deadband;
};
// ── Structure : état runtime d'une sonde ───────────────────────────
struct SondeEtat {
float tempActuelle; // NAN si erreur
float dernierPublie; // dernière valeur publiée MQTT
uint32_t dernierPubliMs; // timestamp dernière publication
bool erreur;
};
// ── Structure : point d'historique ─────────────────────────────────
struct PointHistorique {
uint32_t timestamp;
float temps[NB_SONDES]; // NAN si sonde en erreur
};
// ── Structure : état réseau ─────────────────────────────────────────
struct NetworkStatus {
bool wifiConnecte;
bool modeAP;
bool mqttConnecte;
int8_t rssi;
uint32_t uptimeDemarrage; // millis() au moment de la connexion STA
};
// ── Déclarations extern (définies dans main.cpp) ────────────────────
extern SondeConfig sondesConfig[NB_SONDES];
extern SondeEtat sondesEtat[NB_SONDES];
extern PointHistorique historique[HIST_TAILLE];
extern uint16_t histIdx;
extern NetworkStatus netStatus;