Своими рукамипрактическая инструкция

Нейросеть по данным датчиков: прогноз заморозка и аномалий полива

Редакция Фермозавра·25 июля 2026 г.·6 мин чтения

Если метеостанция и датчики влажности уже пишут историю, можно научить систему заранее шептать о риске заморозка и странностях полива. Разбираем простым языком: когда хватит порогов, а когда нужна модель по рядам данных.

Нейросеть по данным датчиков: прогноз заморозка и аномалий полива

Фото — это глаза. Датчики — это «ощущения» хозяйства во времени: как падала температура ночью, как после полива вела себя влажность, что делало давление перед ясной ночью. Человек с опытом часть этого чувствует спиной. Но когда точек много — теплицы, контуры капли, несколько зон почвы — глаз устаёт. Тогда появляется смысл в моделях по временным рядам.

Эта статья — продолжение серии: зачем ИИ фермеру — во вводной, чем 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. Аномалии полива

После команды «полив зоны А» ожидаете характерный подъём верхнего датчика, затем отклик глубже. Если год за годом кривая знакома, отклонение — сигнал:

  • нет роста сверху — засор, давление, клапан, ошибка программы;
  • резкий рост снизу и быстрый спад — возможна фильтрация вглубь и потеря воды/удобрений;
  • разные зоны при одинаковой команде ведут себя по-разному — равномерность или почва.

Здесь часто хватает сравнения с медианой последних поливов. Нейросеть — следующий слой, когда эвристик стало слишком много.

Как выглядит обучение «на пальцах»

  1. Выгружаете историю из InfluxDB/Grafana/CSV.
  2. Чистите дыры: длинные пропуски лучше резать, короткие — аккуратно заполнять.
  3. Нормализуете шкалы (температура и влажность «живут» в разных мирах чисел).
  4. Делаете окна: «последние N часов → метка риска».
  5. Делите на train/val по времени (не мешайте будущее в прошлое случайным shuffle бездумно).
  6. Учите модель, проверяете на позднем куске сезона.
# идея LSTM (схема)
# X: (примеры, шаги_времени, признаки)
# y: 0/1 — риск в горизонте 12 часов
# Sequential([LSTM(64), Dense(32, relu), Dense(1, sigmoid)])

Не влюбляйтесь в архитектуру. Влюбляйтесь в качество меток и стабильность датчиков.

Как встроить в жизнь хозяйства без катастроф

  1. Оставьте аварийные пороги как есть — они главнее.
  2. Модель пишет в отдельный канал: «риск повышен (0.73)».
  3. Первые 2–4 недели — только наблюдение: сравниваете с фактом утром.
  4. Порог срабатывания бота подкручиваете так, чтобы не орать каждую ночь.
  5. Только потом разрешаете модели влиять на «мягкие» действия (например, напомнить закрыть форточку), но не на опасный автополив без человека.

Связка с текстом и облаком появится позже в мосте локальная сеть ↔ LLM. Исполнение через реле — в логике агентов, с подтверждением.

Типичные разочарования

  • Учили на месяце без заморозков — модель «не видит» редкое зло.
  • Датчик температуры висит у нагревателя — история лжёт.
  • Полив в журнале не совпадает с фактом — метки мусорные.
  • Ждут идеальный процент попаданий с первой недели.

Лечится дисциплиной данных, тем же качеством, что и учёт удобрений.

Сколько это стоит, если датчики уже стоят

Часто главный расход — не железо, а время: выгрузка, чистка, неделя наблюдений. Если MQTT/Influx уже крутятся на Pi, пилот может уложиться в несколько вечеров. Если датчиков нет — сначала их, по статьям про влажность и метеостанцию, иначе нечему учиться.

Как говорить с механизатором и агрономом на одном языке

Не приносите на планёрку «LSTM с F1-score». Приносите факты:

  • «Три ночи подряд система предупреждала о риске — два раза у двери реально было на грани»;
  • «Два раза после полива зоны Б влажность не выросла — нашли пережатую ленту»;
  • «Ложных тревог было четыре — порог подкрутили».

Если польза измеряется сэкономленными выездами и вовремя найденными засорами — проект живой. Если измеряется только красотой графика — он умрёт после первой занятой недели.

Связка «датчики + глаза»

Самые ценные алерты часто комбинированные: «холодно + камера видит стресс на контрольном кусте» или «полив прошёл, а лист всё равно выглядит вялым на дневном кадре». К этому вы придёте, когда оба контура уже по отдельности не стыдно показать бригаде. Пока же держите их раздельными журналами — так проще понять, кто врёт.

Мини-план на 14 дней

  1. Дни 1–2: выгрузить CSV, проверить, что датчики не в «кривых» местах.
  2. Дни 3–5: включить простые пороги и писать факты утрами.
  3. Дни 6–10: набросать окно признаков и черновую модель/статистику риска.
  4. Дни 11–14: только наблюдение бота, без влияния на исполнительные устройства.

Если за две недели не набралось ни одного полезного совпадения — копайте данные и пороги, а не архитектуру сети.

Главное

Нейросеть по датчикам — это не замена здравому смыслу и порогам. Это способ раньше заметить дорогие сочетания условий и странности полива на фоне вашей собственной истории. Начните с чистого журнала и простых алертов. Когда накопится правда о поле — добавьте модель как «второго сторожа», который шепчет, а не командует.

Дальше логично связать глаза камеры с этими же алертами — ESP32-CAM + нейросеть. Карта серии — здесь.

💬 Комментарии

Чтобы оставить комментарий, войдите или зарегистрируйтесь

Загрузка комментариев...

Похожие статьи