Контроль температуры и влажности — базовая потребность для сотен бизнес-процессов: от серверных и складов до теплиц и фармацевтических лабораторий. Датчики DHT22 и DHT11 — самые популярные и недорогие сенсоры для этой задачи. Однако их настоящая ценность раскрывается только при подключении к интеллектуальной системе, способной не просто собирать данные, но и анализировать их, прогнозировать тренды и принимать решения. AI-агент ASI Biont превращает обычный датчик в полноценный узел автоматизации за счёт прямого диалога: вы описываете задачу, а AI сам пишет код интеграции и подключается к устройству. В этой статье — конкретный сценарий: DHT22 + ESP32 + MQTT → ASI Biont с уведомлениями в Telegram.
Почему именно DHT22 / DHT11?
DHT22 (AM2302) и DHT11 — цифровые датчики температуры и влажности с однопроводным интерфейсом (Single Wire). Основные отличия:
| Параметр | DHT11 | DHT22 |
|---|---|---|
| Диапазон температуры | 0..+50 °C | -40..+80 °C |
| Погрешность температуры | ±2 °C | ±0.5 °C |
| Диапазон влажности | 20..80 % | 0..100 % |
| Погрешность влажности | ±5 % | ±2 % |
| Частота опроса | 1 раз в сек | 2 раза в сек |
| Цена | ~$2 | ~$5 |
Для большинства промышленных и бытовых сценариев точность DHT22 достаточна, а DHT11 — бюджетное решение для ознакомительных проектов.
Как AI-агент подключается к датчику?
ASI Biont поддерживает несколько протоколов интеграции. Для DHT22 / ESP32 оптимальным является MQTT — лёгкий, асинхронный, идеально подходит для IoT. AI использует библиотеку paho-mqtt, которая доступна в sandbox-окружении ASI Biont (через execute_python).
Альтернативные варианты:
- Hardware Bridge (COM-порт) — если датчик подключён к Arduino на ПК.
- SSH — если датчик подключён к Raspberry Pi, и AI управляет GPIO через paramiko.
- HTTP API — если датчик опрашивается через REST-эндпоинт.
Сценарий: умный склад с уведомлениями в Telegram
Представьте склад, где хранятся лекарства или электроника. Температура не должна выходить за пределы 18–24 °C, влажность — 40–60 %. При нарушении нужно немедленно оповестить ответственного.
Аппаратная часть
- ESP32 (например, NodeMCU или ESP32 DevKit)
- DHT22 (или DHT11)
- Подключение: VCC → 3.3V, GND → GND, DATA → GPIO4 (или любой свободный пин)
- Питание — через USB или внешний блок 5V
Прошивка ESP32 (MicroPython)
import network
import time
import machine
import dht
from umqtt.simple import MQTTClient
# Настройки Wi-Fi
WIFI_SSID = "YourWiFi"
WIFI_PASS = "YourPassword"
# Настройки MQTT-брокера
MQTT_BROKER = "broker.hivemq.com" # Публичный брокер для теста
MQTT_TOPIC = "warehouse/temp_humidity"
# Инициализация датчика DHT22 на GPIO4
dht_pin = machine.Pin(4)
sensor = dht.DHT22(dht_pin)
# Подключение к Wi-Fi
def connect_wifi():
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect(WIFI_SSID, WIFI_PASS)
while not wlan.isconnected():
time.sleep(1)
print("Connected to Wi-Fi:", wlan.ifconfig())
connect_wifi()
# Основной цикл: каждые 10 секунд читаем датчик и публикуем в MQTT
client = MQTTClient("esp32_dht", MQTT_BROKER)
client.connect()
while True:
try:
sensor.measure()
temp = sensor.temperature()
hum = sensor.humidity()
payload = f"{{\"temperature\": {temp}, \"humidity\": {hum}}}"
client.publish(MQTT_TOPIC, payload)
print("Published:", payload)
except Exception as e:
print("Error:", e)
time.sleep(10)
Интеграция с ASI Biont
Теперь нужно, чтобы AI-агент подписался на топик warehouse/temp_humidity, анализировал данные и отправлял уведомления при выходе за пределы.
Пользователь пишет в чат ASI Biont:
«Подключись к MQTT-брокеру broker.hivemq.com, подпишись на топик warehouse/temp_humidity. Если температура выходит за 18–24 °C или влажность за 40–60 %, отправь уведомление в Telegram на мой чат ID 123456789 через бота с токеном BOT_TOKEN.»
AI-агент генерирует и выполняет следующий код в sandbox:
import paho.mqtt.client as mqtt
import requests
import json
import time
BOT_TOKEN = "YOUR_BOT_TOKEN"
CHAT_ID = "123456789"
TOPIC = "warehouse/temp_humidity"
BROKER = "broker.hivemq.com"
def send_telegram(message):
url = f"https://api.telegram.org/bot{BOT_TOKEN}/sendMessage"
payload = {"chat_id": CHAT_ID, "text": message}
requests.post(url, json=payload)
def on_message(client, userdata, msg):
try:
data = json.loads(msg.payload.decode())
temp = data["temperature"]
hum = data["humidity"]
print(f"Received: temp={temp}, hum={hum}")
alerts = []
if temp < 18 or temp > 24:
alerts.append(f"Температура {temp}°C вне нормы (18-24)")
if hum < 40 or hum > 60:
alerts.append(f"Влажность {hum}% вне нормы (40-60)")
if alerts:
send_telegram("⚠️ Тревога на складе!\n" + "\n".join(alerts))
except Exception as e:
print("Parse error:", e)
client = mqtt.Client()
client.on_message = on_message
client.connect(BROKER, 1883, 60)
client.subscribe(TOPIC)
print("Listening for messages...")
client.loop_start()
time.sleep(30) # sandbox timeout
AI выполняет код в защищённом sandbox-окружении с таймаутом 30 секунд. За это время он успевает получить несколько сообщений и среагировать. Для постоянного мониторинга используется периодический запуск (например, каждые 5 минут через cron) или длительный сеанс с Hardware Bridge на ПК пользователя.
Результат
- Данные с датчика поступают в AI-агент каждые 10 секунд.
- При нарушении границ температуры или влажности — мгновенное уведомление в Telegram.
- Все данные можно сохранять в PostgreSQL, DuckDB или Google Sheets для последующего анализа.
Другие сценарии с DHT22 и ASI Biont
1. Автоматическое управление климатом
Если к ESP32 подключено реле, AI может включать вентилятор или обогреватель через MQTT-команду:
# Пример publish команды на ESP32
client.publish("warehouse/fan", "on")
2. Прогнозирование трендов
AI может собирать историю температуры и влажности, строить графики с помощью matplotlib и предсказывать, когда система охлаждения должна включиться:
import matplotlib.pyplot as plt
import numpy as np
# Предположим, history — список словарей с temp и timestamp
# Строим график тренда
times = [entry["timestamp"] for entry in history]
temps = [entry["temperature"] for entry in history]
plt.plot(times, temps)
plt.savefig("trend.png")
3. Интеграция с календарём техобслуживания
AI может сопоставлять показания датчика с графиком обслуживания HVAC-системы и отправлять напоминания в Slack или email.
Почему ASI Biont, а не готовая платформа?
Готовые IoT-платформы (ThingsBoard, Home Assistant, Node-RED) требуют ручной настройки, написания скриптов, создания дашбордов. ASI Biont работает по-другому: вы описываете задачу на естественном языке, AI сам пишет код и выполняет его. Это даёт:
- Гибкость — можно подключить любое устройство с любым протоколом (MQTT, Modbus, HTTP, COM-порт, OPC UA).
- Скорость — интеграция занимает минуты, а не дни.
- Интеллект — AI не просто собирает данные, но анализирует их, находит аномалии и принимает решения.
Как начать?
- Соберите схему: ESP32 + DHT22, загрузите прошивку.
- Зарегистрируйтесь на asibiont.com.
- В чате напишите: «Подключись к MQTT-брокеру таким-то, подпишись на топик такой-то, анализируй данные и уведомляй меня в Telegram при выходе за пределы».
- AI сгенерирует код и выполнит его — готово.
Никаких панелей управления, кнопок «добавить устройство» или долгого ожидания. Всё через диалог.
Заключение
DHT22 / DHT11 — простой и надёжный датчик, который в связке с AI-агентом ASI Biont превращается в мощный инструмент для мониторинга и автоматизации. Благодаря поддержке MQTT, Modbus, SSH, COM-порта и других протоколов, ASI Biont подключается к любому устройству за минуты. Попробуйте сами — опишите задачу в чате на asibiont.com и увидите, как AI берёт на себя всю работу по интеграции.
Комментарии