Точное измерение температуры — основа тысяч задач: от контроля климата в теплицах до мониторинга серверных стоек. Цифровой датчик DS18B20 — один из самых популярных, благодаря точности ±0.5°C и интерфейсу 1-Wire. Но чтобы данные превратились в действия, нужен интеллектуальный слой. AI-агент ASI Biont подключается к DS18B20 через микроконтроллер (ESP32 или Arduino) и берёт на себя анализ, уведомления и автоматизацию — без единой строки кода со стороны пользователя.
Как ASI Biont подключается к датчику
ASI Biont поддерживает два основных канала для работы с DS18B20:
- MQTT — для ESP32 с Wi-Fi, данные публикуются в топик, AI подписывается через paho-mqtt.
- COM-порт (через Hardware Bridge) — для Arduino или ESP32, подключённых к ПК по USB. Пользователь запускает bridge.py на своём компьютере, который соединяется с ASI Biont через WebSocket. AI отправляет команды через industrial_command(protocol='serial', command='serial_write_and_read', data='...'), bridge читает/пишет в порт локально.
Схема подключения DS18B20 к ESP32
| Компонент | Пин ESP32 | Подключение |
|---|---|---|
| DS18B20 (VDD) | 3.3V | Питание |
| DS18B20 (GND) | GND | Земля |
| DS18B20 (DATA) | GPIO4 | Через резистор 4.7 кОм к 3.3V |
Сценарий: AI-мониторинг теплицы с уведомлениями в Telegram
Представьте: датчик DS18B20 измеряет температуру в теплице каждые 10 секунд. Если температура выходит за пределы 18–30°C, AI отправляет уведомление в Telegram и включает вентилятор через реле.
Шаг 1. Прошивка ESP32 (публикация в MQTT)
Пользователь загружает скетч на ESP32 через Arduino IDE. Вот код, который публикует температуру в топик home/teplica/temperature:
#include <OneWire.h>
#include <DallasTemperature.h>
#include <WiFi.h>
#include <PubSubClient.h>
#define ONE_WIRE_BUS 4
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
const char* ssid = "YOUR_SSID";
const char* password = "YOUR_PASSWORD";
const char* mqtt_server = "test.mosquitto.org";
WiFiClient espClient;
PubSubClient client(espClient);
void setup() {
Serial.begin(115200);
sensors.begin();
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) delay(500);
client.setServer(mqtt_server, 1883);
}
void loop() {
if (!client.connected()) client.connect("ESP32_DS18B20");
client.loop();
sensors.requestTemperatures();
float temp = sensors.getTempCByIndex(0);
client.publish("home/teplica/temperature", String(temp).c_str());
delay(10000);
}
Шаг 2. Подключение AI к MQTT через чат
Пользователь пишет в чате ASI Biont:
"Подключись к MQTT-брокеру test.mosquitto.org:1883, подпишись на топик home/teplica/temperature, каждые 10 секунд проверяй температуру. Если она меньше 18°C или больше 30°C, отправь сообщение в Telegram @my_chat_id и включи реле на GPIO2 через publish в топик home/teplica/rele со значением ON."
AI генерирует и выполняет Python-скрипт через execute_python:
import paho.mqtt.client as mqtt
import requests
import time
import json
TELEGRAM_TOKEN = "YOUR_TOKEN"
CHAT_ID = "@my_chat_id"
def on_message(client, userdata, msg):
temp = float(msg.payload.decode())
print(f"Температура: {temp}°C")
if temp < 18 or temp > 30:
text = f"⚠️ Температура {temp}°C вышла за пределы!"
requests.post(f"https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendMessage",
json={"chat_id": CHAT_ID, "text": text})
# Включаем реле
client.publish("home/teplica/rele", "ON")
client = mqtt.Client()
client.on_message = on_message
client.connect("test.mosquitto.org", 1883, 60)
client.subscribe("home/teplica/temperature")
client.loop_forever()
Скрипт запускается в sandbox-окружении ASI Biont, подключается к брокеру и начинает слушать топик. Всё — AI уже контролирует теплицу.
Альтернатива: COM-порт через Hardware Bridge
Если ESP32 подключён к ПК по USB (например, Arduino Nano), пользователь скачивает bridge.py из дашборда ASI Biont и запускает:
pip install pyserial requests websockets
python bridge.py --token=ВАШ_ТОКЕН --ports=COM3 --baud=115200
Затем AI отправляет команды через industrial_command:
{
"protocol": "serial",
"command": "serial_write_and_read",
"data": "read_temp\n"
}
Bridge получает команду, отправляет её в COM-порт, ESP32 отвечает строкой с температурой, и bridge возвращает ответ AI. Анализ и уведомления обрабатываются так же, как и в MQTT-сценарии.
Почему это выгодно
- Ноль кода: пользователь описывает задачу на русском, AI пишет и выполняет код.
- Гибкость: ASI Biont подключается к любому устройству через
execute_python— не нужно ждать обновлений платформы. - Скорость: интеграция занимает минуты, а не дни.
Заключение
DS18B20 в паре с AI-агентом ASI Biont превращает простой датчик в умную систему мониторинга. Подключение через MQTT или COM-порт — дело нескольких минут, а AI берёт на себя анализ, оповещения и управление исполнительными механизмами. Попробуйте интеграцию прямо сейчас на asibiont.com.
Комментарии