Датчик почвенной влажности 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".
This commit is contained in:
@@ -14,8 +14,14 @@
|
||||
// --- Зона и устройства ---
|
||||
// zone_id — id зоны "Гроубокс" в Postgres (laravel-app, таблица zones).
|
||||
// device_id должны совпадать с devices.external_id, засеянными в Laravel.
|
||||
// soil-1 — новое устройство, в Laravel/Postgres платформы ещё не заведено
|
||||
// (device_type "sensor_soil_moisture" + строка в devices нужно добавить
|
||||
// отдельно, это в this репозитории не трогаем) — до тех пор его телеметрия
|
||||
// просто не будет ни к чему привязана на стороне платформы, ingest-service
|
||||
// это переживёт (zone_id едет прямо в payload).
|
||||
#define ZONE_ID "1"
|
||||
#define DEVICE_ID_SENSOR "sensor-1"
|
||||
#define DEVICE_ID_SOIL "soil-1"
|
||||
#define DEVICE_ID_LIGHT "light-1"
|
||||
#define DEVICE_ID_PUMP "pump-1"
|
||||
#define DEVICE_ID_FAN "fan-1"
|
||||
@@ -23,14 +29,22 @@
|
||||
// --- Пины (ESP32 DevKitC) ---
|
||||
// На 30-контактных платах GPIO16/17 часто подписаны на шёлкографии как
|
||||
// RX2/TX2 (пины UART2), а не номерами — это те же GPIO, см. README.md.
|
||||
#define PIN_DHT22 4
|
||||
#define PIN_RELAY_LIGHT 16
|
||||
#define PIN_RELAY_PUMP 17
|
||||
#define PIN_RELAY_FAN 18
|
||||
#define PIN_DHT22 4
|
||||
#define PIN_SOIL_MOISTURE 34 // ADC1_CH6, input-only — годится для чистого аналогового чтения
|
||||
#define PIN_RELAY_LIGHT 16
|
||||
#define PIN_RELAY_PUMP 17
|
||||
#define PIN_RELAY_FAN 18
|
||||
|
||||
// Большинство дешёвых реле-модулей активны по LOW (сигнал LOW = реле включено).
|
||||
#define RELAY_ACTIVE_LOW true
|
||||
|
||||
// Калибровка компараторного модуля почвенной влажности (analogRead 0-4095):
|
||||
// значение на воздухе (сухо) и в воде (максимально мокро). Заводские числа
|
||||
// ниже — грубая оценка, откалибровать по месту и подставить свои — иначе
|
||||
// проценты будут врать. Смотреть Serial-лог telemetryTick() (печатает raw).
|
||||
#define SOIL_RAW_DRY 3200
|
||||
#define SOIL_RAW_WET 1300
|
||||
|
||||
// --- Телеметрия ---
|
||||
#define TELEMETRY_INTERVAL_MS 30000UL
|
||||
|
||||
|
||||
Reference in New Issue
Block a user