Files
home_automatization_control…/growbox/telemetry.h
cacto 6a7d512b22 Датчик почвенной влажности soil-1 + второй релейный модуль под fan-1
По фото: у нас два одинаковых 2-канальных релейных модуля (не один) —
второй закрывает fan-1 по-настоящему (GPIO18), больше не "пока не куплено".

Добавлен soil-1: компараторный модуль почвенной влажности, читаем A0 через
ADC (GPIO34, input-only), публикуем sensor_type=soil_moisture в процентах.
Raw->% калибруется через SOIL_RAW_DRY/SOIL_RAW_WET в config.h — заводские
значения приблизительные, точную калибровку раньше сделать было нельзя (не
было физического доступа к датчику), нужно измерить на месте.

soil-1 в Postgres/Laravel платформы ещё не заведён (не трогаем
home_automatization) — телеметрия будет идти в ClickHouse, но в Laravel UI
устройство не появится до отдельной регистрации device_type/devices-записи.

Веб-интерфейс и /api/state дополнены полем "soil".
2026-08-18 12:57:49 +05:00

17 lines
872 B
C

#pragma once
// Инициализация DHT22.
void telemetryBegin();
// Вызывать на каждой итерации loop(): сама решает, пора ли публиковать
// очередное показание (см. TELEMETRY_INTERVAL_MS в config.h).
void telemetryTick();
// Последнее успешно прочитанное показание DHT22 (для веб-интерфейса —
// показывать данные не дожидаясь следующего цикла публикации).
// Возвращает false, если ни одного успешного чтения ещё не было.
bool telemetryGetLast(float& temperature, float& humidity);
// Последнее показание почвенной влажности в процентах (0-100).
bool telemetryGetLastSoil(float& percent);