Фото — это глаза. Датчики — это «ощущения» хозяйства во времени: как падала температура ночью, как после полива вела себя влажность, что делало давление перед ясной ночью. Человек с опытом часть этого чувствует спиной. Но когда точек много — теплицы, контуры капли, несколько зон почвы — глаз устаёт. Тогда появляется смысл в моделях по временным рядам.
Эта статья — продолжение серии: зачем ИИ фермеру — во вводной, чем RNN отличается от CNN — в видах сетей. Железо данных у вас, скорее всего, уже близко: метеостанция, датчики влажности, MQTT, автополив.
Сначала честный вопрос: нейросеть вообще нужна?
Многие задачи закрываются без всякого LSTM.
- Температура у плёнки < 2 °C — алерт. Точка.
- После команды полива верхний датчик за 40 минут не вырос — проверь ленту/давление.
- Влажность ушла ниже порога культуры — поливать.
Такие правила надёжны, прозрачны и чинятся за пять минут. Если у вас до сих пор нет стабильных алертов, не начинайте с нейросети. Сначала доведите журнал и пороги. Иначе модель будет учиться на хаосе.
Модель (или даже «умная статистика») начинает иметь смысл, когда:
- риск зависит от сочетания факторов (падение давления + сухой воздух + ясная ночь);
- нужен прогноз на несколько часов вперёд, а не факт «уже холодно»;
- вы ловите редкие, но дорогие сбои, которые порогом описываются криво.
Аналогия с опытным сторожем
Сторож не смотрит одну цифру на градуснике. Он помнит: «после такого ветра и такой влажности у нас в низине подмораживало даже при +1 на столвом термометре». LSTM пытается выучить похожие сочетания из вашей истории. Но сторож сначала год ходил и записывал. Модели тоже нужна история — иначе нечему учиться.
Какие данные собирать
Минимум полезного набора:
- температура воздуха (лучше в типичной и в «холодной» точке);
- влажность воздуха;
- влажность почвы на 1–2 глубинах;
- факт полива: время, длительность/литры, зона;
- по возможности давление и простой флаг «небо ясное/пасмурное».
Шаг записи 5–15 минут обычно достаточен. История: чем длиннее, тем лучше; для пилота часто хватает 4–8 недель, для сезонных эффектов — лучше полный круг.
timestamp,temp_c,rh,soil_vwc_top,soil_vwc_deep,pressure,irrigation
2026-05-01T21:00:00,8.2,71,0.28,0.31,1012,0
2026-05-01T21:15:00,7.6,74,0.28,0.31,1011,0
Отдельно полезен журнал событий: «утро, подмёрзла рассада у двери», «засор линии 2», «ложный полив». Даже редкие метки сильно повышают ценность данных.
Две задачи, которые чаще всего окупаются
1. Риск заморозка / переохлаждения
Цель не «предсказать точную температуру до десятой», а заранее сказать: вероятность опасной ночи повышена. Тогда вы успеваете закрыть форточки, включить защиту, перенести полив, предупредить смену.
Даже простой подход: взять признаки за последние 24–48 часов (мин/макс/тренд температуры, влажность, давление) и обучить классификатор «будет ли за следующие 12 часов касание порога». LSTM — один из вариантов; иногда градиентный бустинг на агрегатах окна работает не хуже и проще в поддержке.
2. Аномалии полива
После команды «полив зоны А» ожидаете характерный подъём верхнего датчика, затем отклик глубже. Если год за годом кривая знакома, отклонение — сигнал:
- нет роста сверху — засор, давление, клапан, ошибка программы;
- резкий рост снизу и быстрый спад — возможна фильтрация вглубь и потеря воды/удобрений;
- разные зоны при одинаковой команде ведут себя по-разному — равномерность или почва.
Здесь часто хватает сравнения с медианой последних поливов. Нейросеть — следующий слой, когда эвристик стало слишком много.
Как выглядит обучение «на пальцах»
- Выгружаете историю из InfluxDB/Grafana/CSV.
- Чистите дыры: длинные пропуски лучше резать, короткие — аккуратно заполнять.
- Нормализуете шкалы (температура и влажность «живут» в разных мирах чисел).
- Делаете окна: «последние N часов → метка риска».
- Делите на train/val по времени (не мешайте будущее в прошлое случайным shuffle бездумно).
- Учите модель, проверяете на позднем куске сезона.
# идея LSTM (схема)
# X: (примеры, шаги_времени, признаки)
# y: 0/1 — риск в горизонте 12 часов
# Sequential([LSTM(64), Dense(32, relu), Dense(1, sigmoid)])
Не влюбляйтесь в архитектуру. Влюбляйтесь в качество меток и стабильность датчиков.
Как встроить в жизнь хозяйства без катастроф
- Оставьте аварийные пороги как есть — они главнее.
- Модель пишет в отдельный канал: «риск повышен (0.73)».
- Первые 2–4 недели — только наблюдение: сравниваете с фактом утром.
- Порог срабатывания бота подкручиваете так, чтобы не орать каждую ночь.
- Только потом разрешаете модели влиять на «мягкие» действия (например, напомнить закрыть форточку), но не на опасный автополив без человека.
Связка с текстом и облаком появится позже в мосте локальная сеть ↔ LLM. Исполнение через реле — в логике агентов, с подтверждением.
Типичные разочарования
- Учили на месяце без заморозков — модель «не видит» редкое зло.
- Датчик температуры висит у нагревателя — история лжёт.
- Полив в журнале не совпадает с фактом — метки мусорные.
- Ждут идеальный процент попаданий с первой недели.
Лечится дисциплиной данных, тем же качеством, что и учёт удобрений.
Сколько это стоит, если датчики уже стоят
Часто главный расход — не железо, а время: выгрузка, чистка, неделя наблюдений. Если MQTT/Influx уже крутятся на Pi, пилот может уложиться в несколько вечеров. Если датчиков нет — сначала их, по статьям про влажность и метеостанцию, иначе нечему учиться.
Как говорить с механизатором и агрономом на одном языке
Не приносите на планёрку «LSTM с F1-score». Приносите факты:
- «Три ночи подряд система предупреждала о риске — два раза у двери реально было на грани»;
- «Два раза после полива зоны Б влажность не выросла — нашли пережатую ленту»;
- «Ложных тревог было четыре — порог подкрутили».
Если польза измеряется сэкономленными выездами и вовремя найденными засорами — проект живой. Если измеряется только красотой графика — он умрёт после первой занятой недели.
Связка «датчики + глаза»
Самые ценные алерты часто комбинированные: «холодно + камера видит стресс на контрольном кусте» или «полив прошёл, а лист всё равно выглядит вялым на дневном кадре». К этому вы придёте, когда оба контура уже по отдельности не стыдно показать бригаде. Пока же держите их раздельными журналами — так проще понять, кто врёт.
Мини-план на 14 дней
- Дни 1–2: выгрузить CSV, проверить, что датчики не в «кривых» местах.
- Дни 3–5: включить простые пороги и писать факты утрами.
- Дни 6–10: набросать окно признаков и черновую модель/статистику риска.
- Дни 11–14: только наблюдение бота, без влияния на исполнительные устройства.
Если за две недели не набралось ни одного полезного совпадения — копайте данные и пороги, а не архитектуру сети.
Главное
Нейросеть по датчикам — это не замена здравому смыслу и порогам. Это способ раньше заметить дорогие сочетания условий и странности полива на фоне вашей собственной истории. Начните с чистого журнала и простых алертов. Когда накопится правда о поле — добавьте модель как «второго сторожа», который шепчет, а не командует.
Дальше логично связать глаза камеры с этими же алертами — ESP32-CAM + нейросеть. Карта серии — здесь.





