Введение
Датчики температуры и влажности DHT22 и DHT11 — одни из самых популярных в DIY-проектах и системах умного дома. Однако их истинная ценность раскрывается, когда данные не просто отображаются на экране, а обрабатываются AI-агентом, способным анализировать тренды, управлять климатом и отправлять уведомления. В этой статье мы разберём, как подключить DHT22 к ASI Biont — AI-агенту для автоматизации, который сам пишет код интеграции под ваше оборудование. Никаких сложных панелей — достаточно описать задачу в чате.
Почему именно DHT22 и ASI Biont?
DHT22 обеспечивает точность ±0.5°C и ±2% RH, что подходит для теплиц, серверных и складских помещений (DHT11 — бюджетный вариант с погрешностью ±2°C). ASI Biont, в свою очередь, умеет подключаться к устройствам через MQTT, COM-порт (через Hardware Bridge), SSH и другие протоколы. Вместо того чтобы вручную писать парсеры и логику уведомлений, вы просто описываете сценарий AI, и он генерирует и выполняет код на Python прямо в облаке.
Способы интеграции DHT22 с ASI Biont
1. ESP32 + DHT22 → ASI Biont по MQTT (рекомендуемый)
ESP32 считывает данные с DHT22 и публикует их в MQTT-топик. ASI Biont подписывается через скрипт execute_python с библиотекой paho-mqtt. Этот способ не требует постоянного ПК рядом — bridge не нужен, скрипт выполняется на сервере.
Прошивка для ESP32 (MicroPython):
import machine
import dht
import time
from umqtt.simple import MQTTClient
# Настройка датчика
sensor = dht.DHT22(machine.Pin(2))
# MQTT
CLIENT_ID = "esp32_dht22"
BROKER = "192.168.1.100" # замените на IP брокера
TOPIC = "sensors/temp_humidity"
def connect_mqtt():
client = MQTTClient(CLIENT_ID, BROKER)
client.connect()
return client
client = connect_mqtt()
while True:
sensor.measure()
temp = sensor.temperature()
hum = sensor.humidity()
payload = f"{{\"temp\": {temp}, \"hum\": {hum}}}"
client.publish(TOPIC, payload)
print(f"Sent: {payload}")
time.sleep(10)
Скрипт для ASI Biont (выполняется в sandbox):
import paho.mqtt.client as mqtt
import json
import requests
# Настройки
BROKER = "192.168.1.100" # IP брокера
TOPIC = "sensors/temp_humidity"
TELEGRAM_TOKEN = "ваш_токен"
CHAT_ID = "ваш_chat_id"
TEMP_LIMIT = 30.0 # порог температуры
def on_message(client, userdata, msg):
data = json.loads(msg.payload.decode())
temp = data["temp"]
hum = data["hum"]
print(f"Получено: t={temp}°C, h={hum}%")
if temp > TEMP_LIMIT:
text = f"⚠️ Превышение температуры! {temp}°C"
requests.post(f"https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendMessage",
json={"chat_id": CHAT_ID, "text": text})
client = mqtt.Client()
client.on_message = on_message
client.connect(BROKER)
client.subscribe(TOPIC)
client.loop_forever() # работает до таймаута 30 сек, для постоянного мониторинга используйте industrial_command
Важно: В sandbox нет
loop_forever— у скрипта таймаут 30 секунд. Для непрерывного мониторинга используйтеindustrial_commandс MQTT, который AI может настроить на подписку. Пример команды:
industrial_command(protocol='mqtt', command='subscribe', topic='sensors/temp_humidity', broker='192.168.1.100')
2. Arduino + DHT22 через Hardware Bridge (COM-порт)
Если у вас Arduino, подключённый к ПК, данные можно передавать через Serial. ASI Biont подключается через bridge.py, который устанавливает WebSocket-соединение с облаком.
Скетч для Arduino:
#include <DHT.h>
#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(115200);
dht.begin();
}
void loop() {
float t = dht.readTemperature();
float h = dht.readHumidity();
if (!isnan(t) && !isnan(h)) {
Serial.print("TEMP:"); Serial.print(t);
Serial.print(",HUM:"); Serial.println(h);
}
delay(5000);
}
Настройка bridge.py:
1. Скачайте bridge.py из дашборда ASI Biont (Devices → Create API Key → Скачать bridge).
2. Установите зависимости: pip install pyserial requests websockets
3. Запустите: python bridge.py --token=ВАШ_ТОКЕН --ports=COM3 --baud 115200
Команда AI в чате:
industrial_command(
protocol='serial',
command='serial_write_and_read',
data='', # пустая строка — просто читаем
port='COM3',
baud=115200
)
AI прочитает последние показания и может настроить регулярный опрос или анализ.
3. Raspberry Pi + DHT22 по SSH
Если датчик подключён к Raspberry Pi, AI может подключиться по SSH и запустить скрипт сбора данных на самом устройстве.
Скрипт для выполнения на Raspberry Pi:
import Adafruit_DHT
import json
sensor = Adafruit_DHT.DHT22
pin = 4
humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
print(json.dumps({"temp": temperature, "hum": humidity}))
Команда AI в чате:
industrial_command(
protocol='ssh',
command='execute',
host='192.168.1.50',
username='pi',
password='raspberry',
command='python3 /home/pi/read_dht22.py'
)
Реальные сценарии использования
Сценарий 1: Управление климатом в теплице
DHT22 в теплице измеряет температуру и влажность. ASI Biont анализирует данные за 24 часа и при превышении 35°C отправляет команду на открытие форточки (через сервопривод по MQTT).
AI-сценарий:
«Если температура выше 35°C и влажность ниже 60%, отправь команду „open“ на топик actuators/window и уведоми меня в Telegram»
Сценарий 2: Мониторинг серверной
Датчик установлен в стойке серверной. ASI Biont логирует показания в базу данных InfluxDB (через HTTP API) и строит график температурного тренда. При резком скачке температуры отправляет SMS через Twilio.
Пример скрипта для записи в InfluxDB (выполняется в sandbox):
import requests
INFLUX_URL = "http://influxdb:8086/write?db=server_room"
data = f"temperature,host=rack1 value=28.5"
requests.post(INFLUX_URL, data=data)
Сценарий 3: Контроль склада с уведомлениями
На складе с продуктами поддерживается температурный режим. DHT22 публикует данные в MQTT. ASI Biont подписывается и при выходе за пределы 2–8°C отправляет тревогу в Telegram и включает звуковой сигнал через HTTP-реле.
Сравнение DHT22 vs DHT11
| Параметр | DHT22 | DHT11 |
|---|---|---|
| Температура | -40…80°C, ±0.5°C | 0…50°C, ±2°C |
| Влажность | 0…100%, ±2% | 20…90%, ±5% |
| Частота опроса | ≤0.5 Гц | ≤1 Гц |
| Цена (ориентир) | ~$5 | ~$2 |
Источник: datasheet производителя Aosong (Guangzhou) Electronics Co., Ltd.
Преимущества интеграции через AI-агента
- Ноль кода вручную — AI пишет и выполняет скрипты под ваш сценарий.
- Любой протокол — MQTT, Modbus, COM, SSH, HTTP — всё поддерживается из коробки.
- Быстрая настройка — вместо дней разработки получаете готовую интеграцию за минуты.
- Масштабирование — от одного датчика до сотен устройств без изменения архитектуры.
Как начать?
- Подключите DHT22 к ESP32, Arduino или Raspberry Pi по типовой схеме (питание 3.3-5В, Data на пин 2 с подтяжкой 10кОм к VCC).
- Загрузите прошивку, которая передаёт данные по MQTT или Serial.
- Перейдите в ASI Biont, опишите в чате: «Подключись к MQTT брокеру 192.168.1.100, читай топик sensors/temp_humidity, если температура выше 30°C — отправь мне Telegram».
- AI выполнит скрипт и начнёт мониторинг.
Заключение
Интеграция DHT22 с ASI Biont — это быстрый путь к автоматизации климат-контроля без традиционного программирования. Вы получаете готовую систему с возможностью кастомизации через диалог. Попробуйте прямо сейчас на asibiont.com — подключите свой первый датчик и оцените возможности AI-агента.
Комментарии