Vědecká kompenzace dat IoT senzoru půdy na ESP32: od surových hodnot k přesným agrodoporučením
Všestranný senzor půdy JXCT 7-v-1 poskytuje surová data přes Modbus RTU, ale bez teplotní a vlhkostní kompenzace jsou údaje o elektrické vodivosti (EC), pH a obsahu NPK výrazně zkreslené. Open-source firmware pro ESP32 implementuje vědecky podložené algoritmy korekce, integraci s oblíbenými IoT platformami a systém doporučení pro 24 zemědělských plodin.
Architektura systému a připojení
Systém je postaven na mikrokontroléru ESP32, který komunikuje se senzorem přes rozhraní RS485 s využitím transceiveru SP3485E. Senzor vyžaduje samostatný zdroj napájení 12–24 V, zatímco ESP32 a SP3485E pracují na 3.3 V.
Klíčové komponenty připojení:
- ESP32 GPIO16 (RX) a GPIO17 (TX) pro sériovou komunikaci.
- GPIO4 a GPIO5 pro řízení vysílače/přijímače (DE/RE) transceiveru SP3485E.
- Povinné spojení zemních linek (GND) ESP32, SP3485E a napájecího bloku senzoru.
- Dodržování polarity linek RS485 (A+/B-) a instalace terminátoru 120 Ohm na dlouhých kabelech.
Vědecké základy kompenzace měření
Firmware implementuje dvoustupňové zpracování dat. První stupeň — základní SensorCorrection s aplikací multiplikátoru a posunu. Druhý, volitelný stupeň — SensorCompensationService, využívající publikované vědecké modely.
Realizované modely kompenzace:
- Elektrická vodivost (EC): Model Rhoades et al. (1989). Nárůst EC přibližně o 2.1% na každý stupeň Celsia nad 25°C.
EC_comp = EC_raw × (1 + 0.021 × (T - 25))
- Kyselost (pH): Rovnice Nernsta podle dat Ross et al. (2008). Snížení pH o 0.003 jednotky na každý stupeň nad 25°C.
pH_comp = pH_raw - 0.003 × (T - 25)
- Obsah NPK: Model Delgado et al. (2020) s ohledem na teplotu, vlhkost a typ půdy (13 variant, od písku po rašelinu).
N_comp = N_raw × e^(δ_N(T-20)) × (1 + ε_N(θ-30))
Dodatečná služba NutrientInteractionService bere v úvahu antagonistické (N↔K, P↔Zn) a synergické (N+S, Ca+B) interakce živin.
Doporučující systém pro zemědělství
CropRecommendationEngine obsahuje profily pro 24 plodin, včetně zeleniny (rajče, okurka), bobulovin (jahoda, malina), ovocných stromů (jabloň, réva) a polních plodin (pšenice, sója). Pro každou plodinu jsou definovány optimální rozsahy pro sedm parametrů senzoru.
Faktory ovlivňující doporučení:
- Typ půdy (13 klasifikací).
- Sezóna (jaro, léto, podzim, zima).
- Typ prostředí pěstování (otevřený terén, skleník, vnitřní prostor).
Systém poskytuje barevnou indikaci stavu: normální, pozor, varování, kritické.
Kalibrace a správa
Kalibrace podporuje dva přístupy: laboratorní, přes nahrání CSV souboru s páry hodnot (surová/opravená), a programová, přes REST API.
Hlavní koncové body API pro kalibraci:
POST /api/calibration/{parameter}— přidání kalibračního bodu pro konkrétní parametr.GET /api/calibration/export&POST /api/calibration/import— export a import kalibračních tabulek.GET /api/correction/factors— správa základních korekčních faktorů (slope/offset).
Integrace s IoT ekosystémy
Systém nabízí několik kanálů pro výstup dat a správu.
Podporované platformy a protokoly:
- Webové rozhraní: Vestavěný server s adaptivním designem pro nastavení WiFi, MQTT, prohlížení údajů v reálném čase a nahrávání aktualizací.
- REST API (v1): Programový přístup k datům senzoru (
/api/v1/sensor), diagnostice systému a správě konfigurace. - MQTT: Publikace dat do zadaných témat. Realizován delta-filtr pro publikaci pouze při významných změnách. Podpora automatického objevení (Auto-Discovery) pro Home Assistant.
- ThingSpeak: Odesílání dat na pole platformy s nastavitelným intervalem a vestavěnou validací.
Další funkce a nasazení
Firmware zahrnuje rozšířené funkce pro spolehlivý provoz: detektor události zálivky podle náhlé změny vlhkosti, sezónní úpravy založené na geolokaci, filtraci dat (Kalmanův filtr, mediánový), watchdog-timer a OTA-aktualizace přes vzduch s kontrolou integrity přes SHA256.
Rychlý start pro vývojáře:
- Naklonovat repozitář:
git clone https://github.com/Gfermoto/soil-sensor-7in1.git - Nainstalovat závislosti:
pip install -r requirements.txt - Zkompilovat a nahrát firmware pomocí PlatformIO:
pio run -t upload - Nahrát souborový systém:
pio run -t uploadfs - Připojit se k přístupovému bodu ESP32 pro počáteční nastavení sítě.
Technologický stack: C++17, PlatformIO, Arduino framework, Modbus RTU. Projekt je distribuován pod licencí AGPL-3.0.
Co je důležité
- Surová data senzoru půdy vyžadují teplotní a vlhkostní kompenzaci pro přesnost EC, pH a NPK.
- Firmware realizuje vědecké modely kompenzace (Rhoades, Nernst, Delgado) a bere v úvahu interakce živin.
- Systém nabízí doporučení pro 24 plodin s ohledem na typ půdy, sezónu a podmínky pěstování.
- Hotová integrace s Home Assistant, MQTT, ThingSpeak a REST API zjednodušuje začlenění do stávajících IoT systémů.
- Open-source kód a detailní dokumentace umožňují přizpůsobit řešení specifickým úkolům.
— Editorial Team
Zatím žádné komentáře.