Rain / soil moisture sensor + ASI Biont: умный полив с AI-агентом через ESP32 и MQTT

Rain / soil moisture sensor + ASI Biont: превращаем теплицу в автономную систему с AI-агентом

Когда я впервые подключил датчик влажности почвы к ASI Biont, мой Telegram-бот начал сам писать: «Полив требуется через 2 часа, вероятность дождя 70%». Это не магия — это связка обычного ESP32, дешевого сенсора и AI-агента, который умеет не только читать данные, но и принимать решения. В этой статье я покажу, как интегрировать Rain / soil moisture sensor с ASI Biont, какие способы подключения использовать и как автоматизировать полив без единой строчки кода, написанной вручную — AI напишет всё сам.

Зачем подключать сенсор к AI-агенту?

Rain / soil moisture sensor — это устройство, которое измеряет влажность почвы и наличие осадков. Оно критично для умного полива: помогает избежать пересушивания или переувлажнения грунта. Но сам по себе датчик бесполезен, если данные не обрабатываются. ASI Biont — AI-агент, который подключается к устройствам через протоколы промышленного интернета вещей (IoT) и позволяет автоматизировать реакции: включить полив, отправить уведомление в Telegram, скорректировать график с учетом прогноза погоды.

В отличие от классических систем умного дома, ASI Biont не требует панелей управления и ручной настройки интеграций. Вы просто описываете в чате, какое устройство у вас есть и что хотите от него получить, — и AI агент сам пишет код на Python, используя подходящий протокол. Это революционный подход: вместо того чтобы ждать, пока производитель добавит поддержку вашего датчика, вы подключаете его «здесь и сейчас».

Как ASI Biont подключается к устройству?

Для датчика влажности почвы и ESP32 оптимальны два способа: MQTT и execute_python. Я рекомендую MQTT, так как он легковесен и идеален для ограниченных ресурсов микроконтроллера.

MQTT (paho-mqtt)

MQTT — это протокол обмена сообщениями по модели «издатель-подписчик» (publish/subscribe). Устройство отправляет данные в брокер (например, Mosquitto), а ASI Biont подписывается на топик и получает их. Этот способ надёжен при нестабильной сети и экономит трафик.

Почему MQTT, а не COM-порт? Датчик подключён к ESP32 через GPIO, а не к компьютеру. Использовать COM-порт напрямую можно, только если у вас Arduino с USB-кабелем, но в реальной теплице это неудобно. MQTT работает по Wi-Fi, что даёт мобильность.

execute_python: универсальный способ

ASI Biont поддерживает универсальную команду execute_python, которая выполняет Python-скрипт в песочнице (sandbox). Это означает, что вы можете интегрировать любое устройство, даже если для него нет готового протокола. Вы описываете в чате: «Подключи датчик по MQTT, топик soil_moisture, брокер 192.168.1.100», — и AI агент сам напишет скрипт, который прочитает данные и вернёт результат.

Пошаговая интеграция: ESP32 + датчик влажности почвы

Шаг 1. Подготовка оборудования

Для проекта понадобятся:
- ESP32 (или ESP8266)
- Датчик влажности почвы (например, FC-28 или capacitive soil moisture sensor)
- Резисторы и провода
- Брокер MQTT (можно установить на Raspberry Pi или использовать облачный, например, HiveMQ)
- Питание 3.3–5V

Схема подключения проста: VCC датчика к 3.3V, GND к GND, аналоговый выход (A0) к GPIO34 ESP32. Если датчик цифровой (DO), можно подключить к GPIO13.

Шаг 2. Настройка ESP32 на отправку данных в MQTT

В среде Arduino IDE установите библиотеки PubSubClient и WiFi.h. Пример кода для ESP32:

#include <WiFi.h>
#include <PubSubClient.h>

const char* ssid = "YOUR_WIFI";
const char* password = "YOUR_PASS";
const char* mqtt_server = "192.168.1.100";

WiFiClient espClient;
PubSubClient client(espClient);

void setup() {
  pinMode(34, INPUT);
  Serial.begin(115200);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.println("Connecting...");
  }
  client.setServer(mqtt_server, 1883);
}

void loop() {
  if (!client.connected()) {
    while (!client.connected()) {
      client.connect("ESP32_sensor");
      delay(2000);
    }
  }
  client.loop();
  int moisture = analogRead(34); // 0 = сухо, 4095 = влажно
  client.publish("soil_moisture", String(moisture).c_str());
  delay(60000); // раз в минуту
}

Этот код — база. Вы можете добавить калибровку: записать значения в сухой и влажной почве и пересчитать в проценты.

Шаг 3. Подключение ASI Biont к MQTT-брокеру

Теперь самое интересное. В ASI Biont вы открываете чат и пишете:

«Подключись к MQTT-брокеру 192.168.1.100, порт 1883, подпишись на топик soil_moisture, читай данные и отправь мне в Telegram, если влажность ниже 30%».

ASI Biont использует библиотеку paho-mqtt и сам напишет код для подписки на топик. Через несколько секунд агент подтвердит подключение и начнёт мониторинг. Результат вы увидите в чате: «Текущая влажность: 25%. Рекомендую полить».

Шаг 4. Автоматизация полива через Telegram

Чтобы управлять поливом, нужно добавить реле или электромагнитный клапан к ESP32. Например, подключите реле к GPIO12. В коде ESP32 добавьте подписку на топик pump:

client.subscribe("pump");

void callback(char* topic, byte* payload, unsigned int length) {
  if (strcmp(topic, "pump") == 0) {
    if (payload[0] == '1') {
      digitalWrite(12, HIGH); // включить насос
    } else {
      digitalWrite(12, LOW);
    }
  }
}

Теперь вы можете написать в ASI Biont: «Включи полив на 5 минут» или «Полей, если влажность низкая» — AI-агент отправит команду в MQTT-топик pump, и реле включится.

Сценарии автоматизации без кода

С помощью ASI Biont вы можете создавать сложные сценарии, не открывая IDE:

  1. Умный полив с учётом прогноза погоды: AI-агент получает данные с датчика и запрашивает прогноз с OpenWeatherMap. Если ближайшие 6 часов ожидается дождь, полив откладывается.
  2. Аварийные уведомления: если влажность падает ниже 20%, ASI Biont отправляет уведомление в Telegram с просьбой вмешаться.
  3. Статистика и аналитика: данные с датчика накапливаются в базе, AI-агент строит графики и прогнозирует, когда потребуется полив.

Например, в чате вы пишете:

«Каждый день в 8 утра отправляй мне отчёт о влажности почвы и прогноз дождя на день».

AI-агент напишет Python-скрипт, который будет запускаться по расписанию, собирать данные и отправлять их вам.

Почему это выгодно?

Скорость интеграции. ASI Biont — это AI-агент, который пишет код интеграции за секунды. Не нужно ждать обновлений прошивки или писать сложные парсеры — просто опишите задачу. Это экономит часы и даже дни разработки.

Гибкость. Благодаря execute_python вы можете подключить не только ESP32, но и Raspberry Pi, промышленные контроллеры, GPS-трекеры и любые другие устройства, работающие по протоколам RS-485, Modbus, HTTP API и пр. Всё ограничено только вашей фантазией.

Цена ошибки снижается. AI-агент тестирует код в sandbox и может исправить ошибки до того, как вы запустите его на реальном оборудовании. Это безопасно для теплицы.

Подводные камни

Из личного опыта: при использовании MQTT важно правильно настроить QoS (качество обслуживания). Для датчика влажности достаточно QoS 0. Для команд полива используйте QoS 1, чтобы не потерять сообщение. Также учтите, что ESP32 и брокер должны находиться в одной сети или иметь статический IP — иначе будете ловить ошибки соединения.

Ещё один нюанс: в execute_python запрещён бесконечный цикл while True из-за таймаута 30 секунд. Для длительного мониторинга используйте периодический запуск скрипта или MQTT-подписку.

Как подключить что угодно через execute_python

Если у вас необычное устройство, ASI Biont всё равно справится. Например, у вас промышленный контроллер с COM-портом. Вы скачиваете Hardware Bridge (bridge.py) из дашборда ASI Biont и запускаете его на компьютере, подключённом к контроллеру:

python bridge.py --token=YOUR_TOKEN --ports=COM3 --baud 115200 --rate=10

После этого в чате с ASI Biont пишете: «Используй bridge.py для чтения данных с COM3 и отправь мне, если значение регистра 40001 больше 100». AI-агент сам напишет код с использованием industrial_command() и прочитает данные через Modbus.

Для MQTT-устройств не нужен bridge. Всё происходит через стандартную библиотеку paho-mqtt.

Заключение

Интеграция Rain / soil moisture sensor с ASI Biont — это не просто игрушка для гиков, а рабочий инструмент для агрономов и садоводов. Вы получаете умную систему полива, которая анализирует данные и принимает решения с учётом погоды. Главное — не нужно программировать самостоятельно: опишите задачу, и AI сделает всё.

Попробуйте сами: зайдите на asibiont.com, создайте проект и подключите свой датчик. Уверен, вы удивитесь, насколько это просто.

Статья носит информационный характер. Все названия продуктов и компаний принадлежат их владельцам.

← Все статьи

Комментарии

Читайте также