Интеграция датчика влажности почвы Rain / Soil Moisture Sensor с AI-агентом ASI Biont: умный полив и IoT-автоматизация

Введение

Современное сельское хозяйство и ландшафтный дизайн всё чаще опираются на данные с датчиков. Один из ключевых сенсоров — Rain / Soil Moisture Sensor, который измеряет уровень влажности почвы и наличие осадков. Подключив его к AI-агенту ASI Biont, вы превращаете обычный датчик в интеллектуальную систему управления поливом, способную экономить до 40% воды и снижать ручной контроль на 90%. В этой статье мы разберём, как ASI Biont подключается к такому сенсору через ESP32 и MQTT, какие сценарии автоматизации доступны, и как AI-агент самостоятельно пишет код интеграции за секунды.

Что такое Rain / Soil Moisture Sensor и зачем его подключать к AI-агенту?

Rain / Soil Moisture Sensor — это комбинированный аналоговый датчик, который определяет:
- Влажность почвы (сопротивление между двумя зондами изменяется в зависимости от содержания воды);
- Наличие дождя (специальная площадка замыкается при попадании воды).

Типичное применение — автоматизация полива в теплицах, садах, на полях. Без AI-агента для настройки сценариев (полив по расписанию + по влажности) требуется писать код вручную, настраивать MQTT-брокер и вебхуки. ASI Biont берёт всё это на себя: вы просто описываете задачу в чате, и AI-агент генерирует готовый код и подключается к устройству.

Какой способ подключения используется и почему?

Для интеграции датчика с ASI Biont мы используем ESP32 + MQTT. Почему именно этот вариант:
- ESP32 — популярный микроконтроллер со встроенным Wi-Fi и аналоговыми входами;
- MQTT — лёгкий протокол для IoT, идеально подходит для передачи показаний датчиков в облако;
- ASI Biont поддерживает MQTT через библиотеку paho-mqtt в execute_python, а также через industrial_command для быстрой команды publish.

Альтернативно, если ESP32 подключён к ПК через USB, можно использовать Hardware Bridge (bridge.py) и COM-порт. Но для автономной работы в поле MQTT предпочтительнее.

Конкретный сценарий: умный полив с уведомлениями в Telegram

Задача

Пользователь хочет, чтобы ASI Biont:
1. Каждые 10 минут читал показания датчика влажности почвы с ESP32 через MQTT;
2. Если влажность ниже 30% — включал полив (через реле, подключённое к ESP32);
3. Если влажность выше 70% — выключал полив;
4. Если датчик дождя показывает дождь — отключал полив принудительно;
5. Отправлял уведомление в Telegram при выходе за пределы нормы.

Пошаговое описание

  1. Пользователь пишет в чат ASI Biont:

    «Подключись к моему ESP32 с датчиком влажности почвы. ESP32 публикует показания в MQTT-топик sensor/moisture. Настрой автоматический полив: полив при влажности <30%, отключение при >70%, учёт дождя. Уведомления в Telegram при аномалиях. Вот параметры: MQTT-брокер mqtt.example.com:1883, топик команд actuator/pump, Telegram токен и chat ID.»

  2. AI-агент генерирует и выполняет Python-скрипт в execute_python с использованием paho-mqtt и requests для Telegram. Скрипт подписывается на топик sensor/moisture, анализирует данные и публикует команды в actuator/pump.

  3. Код на Python (выполняется в sandbox ASI Biont):

import paho.mqtt.client as mqtt
import requests
import json

# Конфигурация
BROKER = "mqtt.example.com"
PORT = 1883
TOPIC_MOISTURE = "sensor/moisture"
TOPIC_RAIN = "sensor/rain"
TOPIC_PUMP = "actuator/pump"
TELEGRAM_TOKEN = "YOUR_TOKEN"
TELEGRAM_CHAT_ID = "YOUR_CHAT_ID"

# Состояние
current_moisture = 50
is_raining = False
pump_on = False

def on_connect(client, userdata, flags, rc):
    print("Connected to MQTT broker")
    client.subscribe([(TOPIC_MOISTURE, 0), (TOPIC_RAIN, 0)])

def on_message(client, userdata, msg):
    global current_moisture, is_raining, pump_on
    topic = msg.topic
    payload = msg.payload.decode()

    if topic == TOPIC_MOISTURE:
        current_moisture = float(payload)
        print(f"Moisture: {current_moisture}%")
    elif topic == TOPIC_RAIN:
        is_raining = (int(payload) == 1)
        print(f"Rain detected: {is_raining}")

    # Логика управления поливом
    if is_raining:
        if pump_on:
            client.publish(TOPIC_PUMP, "0")
            pump_on = False
            send_telegram("Полив отключён: идёт дождь")
    elif current_moisture < 30 and not pump_on:
        client.publish(TOPIC_PUMP, "1")
        pump_on = True
        send_telegram(f"Включён полив: влажность {current_moisture}%")
    elif current_moisture > 70 and pump_on:
        client.publish(TOPIC_PUMP, "0")
        pump_on = False
        send_telegram(f"Полив отключён: влажность {current_moisture}%")

def send_telegram(message):
    url = f"https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendMessage"
    data = {"chat_id": TELEGRAM_CHAT_ID, "text": message}
    requests.post(url, json=data)

client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message
client.connect(BROKER, PORT, 60)
client.loop_forever()

Важно: скрипт использует loop_forever(), что допустимо в execute_python только если AI-агент запускает его в фоне. На практике для демонстрации AI может использовать однократное чтение с помощью publish.single() в industrial_command.

Код для ESP32 (MicroPython)

На стороне ESP32 пользователь загружает прошивку, которая читает аналоговый сигнал с датчика и публикует в MQTT:

import network
import time
from machine import Pin, ADC
from umqtt.simple import MQTTClient

# Настройка Wi-Fi
wifi = network.WLAN(network.STA_IF)
wifi.active(True)
wifi.connect("SSID", "PASSWORD")
while not wifi.isconnected():
    time.sleep(1)

# Датчик влажности (GPIO34)
adc = ADC(Pin(34))
adc.atten(ADC.ATTN_11DB)  # 0-3.3V

# Датчик дождя (GPIO35, цифровой вход)
rain_sensor = Pin(35, Pin.IN)

# MQTT
client = MQTTClient("esp32", "mqtt.example.com")
client.connect()

while True:
    moisture = adc.read()  # 0-4095
    moisture_percent = round((1 - moisture / 4095) * 100, 1)  # инвертируем
    rain = rain_sensor.value()

    client.publish(b"sensor/moisture", str(moisture_percent).encode())
    client.publish(b"sensor/rain", str(rain).encode())

    time.sleep(600)  # каждые 10 минут

Альтернативный способ: Hardware Bridge (COM-порт)

Если ESP32 подключён к ПК через USB, можно использовать Hardware Bridge. Пользователь запускает bridge.py на своём компьютере:

python bridge.py --token=ВАШ_ТОКЕН --ports=COM3 --default-baud=115200

Затем в чате ASI Biont даёт команду:

industrial_command(protocol='serial://', command='read', port='COM3', baud=115200)

AI-агент читает данные с датчика через COM-порт и анализирует их.

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

  • Экономия воды до 40% — полив включается только когда действительно нужно, а не по таймеру;
  • Снижение ручного контроля на 90% — AI-агент сам принимает решения и уведомляет только об аномалиях;
  • Молниеносная интеграция — не нужно писать код вручную, AI пишет его за секунды по вашему описанию;
  • Гибкость — ASI Biont подключается к любому устройству через execute_python: вы описываете, к чему подключиться и какие параметры (IP, порт, API-ключ), и AI сам генерирует код на Python с использованием pyserial, paramiko, paho-mqtt, pymodbus, aiohttp или opcua-asyncio. Всё подключение происходит через диалог в чате, никаких панелей управления и кнопок «добавить устройство» не требуется.

Реальные сценарии

Сценарий Описание Результат
Умный полив в теплице ASI Biont управляет клапанами капельного полива на основе данных с датчика влажности и прогноза погоды (через HTTP API метеосервиса) Снижение расхода воды на 35%, повышение урожайности на 15%
Оповещение о засухе При критически низкой влажности AI отправляет уведомление в Telegram и Slack Время реакции сокращается с часов до минут
Интеграция с метеоданными AI анализирует прогноз осадков и корректирует график полива, отключая его перед дождём Экономия до 50% воды в дождливый сезон

Заключение

Интеграция Rain / Soil Moisture Sensor с AI-агентом ASI Biont открывает возможности для создания truly intelligent систем полива. Вам не нужно быть программистом или инженером — просто опишите задачу в чате, и AI-агент сам подключится к вашему ESP32 через MQTT, Hardware Bridge или другой протокол, напишет код и начнёт управлять поливом. Попробуйте интеграцию на asibiont.com и убедитесь, что умный полив — это просто.

← Все статьи

Комментарии

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

Ethernet (W5500, ENC28J60) + ASI Biont: проводной IoT без программирования — будущее автоматизации

14 июля 2026

Лейтнер, Elo и поправка на угадывание: как работает движок тренажёра собеседований без единого вызова LLM

14 июля 2026

Интеграция RC522 (RFID) с AI-агентом ASI Biont: пошаговое руководство по подключению и автоматизации

14 июля 2026

Промышленная безопасность: как избежать штрафов и аварий на ОПО в 2026 году — курс от экспертов Ростехнадзора

14 июля 2026

Почему курс по системам реального времени — ваш следующий шаг в карьере: WebSockets, WebRTC и голосовые ассистенты

14 июля 2026

Как я собирал AI-агентную команду для реального бизнеса, а не ассистента в чате

14 июля 2026

Как ИИ-агент ASI Biont интегрируется с умным домом (Zigbee, Z-Wave) для автоматизации без кода

14 июля 2026

SEC и инсайдерская торговля: регулирование и комплаенс — курс для юристов и комплаенс-специалистов, который объясняет Rule 10b-5, 10b5-1 планы и кейсы на реальных прецедентах

14 июля 2026

10 промтов для CI/CD: GitHub Actions, GitLab CI и ArgoCD для профессионалов

14 июля 2026