Введение
Представьте: на вашем объекте — десятки датчиков температуры, влажности, давления и вибрации. Данные стекаются в систему телеметрии, но чтобы настроить аварийные оповещения, трендовый анализ или предиктивную диагностику, обычно требуется писать сложные скрипты, разворачивать middleware и вручную конфигурировать логику.
ASI Biont — AI-агент, который берёт на себя всю рутину интеграции. Вы просто описываете в чате, к какому устройству подключиться (ESP32 с DHT22, промышленный контроллер по Modbus, датчик через COM-порт), передаёте параметры (IP, порт, API-ключ), и AI сам генерирует код на Python, выполняет его и начинает управлять данными. Никаких панелей управления, кнопок «добавить устройство» или ожидания обновлений — всё через диалог.
В этой статье мы разберём, как подключить произвольные сенсоры и системы телеметрии к ASI Biont, используя MQTT, Modbus/TCP, COM-порт через Hardware Bridge, SSH и HTTP API. Вы увидите реальные примеры кода, схемы подключения и поймёте, как AI-агент автоматизирует реакции на данные — от отправки уведомлений в Telegram до прогнозирования отказов.
Какие способы подключения поддерживает ASI Biont?
ASI Biont не ограничивается одним протоколом — он умеет работать с большинством промышленных и IoT-интерфейсов. Вот полный список способов, которые AI-агент использует для связи с вашим оборудованием:
| Способ | Протокол/Инструмент | Когда применяется |
|---|---|---|
| Hardware Bridge | COM-порт (RS-232/RS-485) через bridge.py | Подключение Arduino, GPS-трекеров, счётчиков, весов, любых устройств с последовательным портом |
| MQTT | paho-mqtt (execute_python) | IoT-устройства ESP32, умный дом, сенсорные сети |
| Modbus/TCP | pymodbus (industrial_command) | Промышленные контроллеры, PLC, частотные преобразователи |
| OPC UA | opcua-asyncio (industrial_command) | Заводские OPC UA-серверы, SCADA-системы |
| SSH | paramiko (execute_python) | Raspberry Pi, одноплатники, серверы для сбора данных |
| HTTP API / WebSocket | aiohttp (execute_python) | REST API умных розеток, камер, термостатов |
| execute_python | Универсальный sandbox | Любой сценарий, не требующий локального порта: анализ данных, отправка уведомлений, машинное обучение |
Важно: Все интеграции инициируются через чат с AI-агентом. Вы пишете: «Подключись к ESP32 по MQTT, брокер 192.168.1.100:1883, топик sensors/temperature», и AI генерирует и выполняет код за секунды.
Сценарий 1: ESP32 + датчик температуры/влажности DHT22 → ASI Biont через MQTT
Зачем это нужно
Датчик температуры и влажности — классика IoT-телеметрии. Данные публикуются в MQTT-брокер, и AI-агент может:
* читать текущие значения,
* строить тренды (например, за последние 24 часа),
* отправлять оповещение в Telegram, если температура выше +40°C или влажность ниже 20%,
* прогнозировать риск перегрева оборудования на основе исторических данных.
Как подключить
- На ESP32 загрузите скетч, который подключается к Wi-Fi и публикует данные с DHT22 в топик
sensors/workshop/temperatureиsensors/workshop/humidityраз в 10 секунд. - В чате ASI Biont напишите:
Подключись к MQTT-брокеру по адресу 192.168.1.100:1883, без логина. Подпишись на топик sensors/workshop/# и анализируй данные. Если температура > 40°C, отправь уведомление в Telegram (токен: 123456:ABC, chat_id: 987654). Если влажность < 20%, тоже предупреди. Логируй все показания в CSV-файл.
- AI сгенерирует и выполнит Python-скрипт с
paho-mqtt:
import paho.mqtt.client as mqtt
import json
import csv
from datetime import datetime
import requests
TELEGRAM_TOKEN = "123456:ABC"
TELEGRAM_CHAT_ID = "987654"
CSV_FILE = "/tmp/sensor_data.csv"
def on_message(client, userdata, msg):
payload = msg.payload.decode()
topic = msg.topic
value = float(payload)
timestamp = datetime.now().isoformat()
# Логирование в CSV
with open(CSV_FILE, "a", newline="") as f:
writer = csv.writer(f)
writer.writerow([timestamp, topic, value])
# Анализ и оповещение
if topic.endswith("temperature") and value > 40:
message = f"⚠️ Авария: температура {value}°C превышает 40°C! Время: {timestamp}"
requests.post(f"https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendMessage",
json={"chat_id": TELEGRAM_CHAT_ID, "text": message})
elif topic.endswith("humidity") and value < 20:
message = f"⚠️ Авария: влажность {value}% ниже 20%! Время: {timestamp}"
requests.post(f"https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendMessage",
json={"chat_id": TELEGRAM_CHAT_ID, "text": message})
client = mqtt.Client()
client.on_message = on_message
client.connect("192.168.1.100", 1883, 60)
client.subscribe("sensors/workshop/#")
client.loop_start() # запуск в фоне, не блокирует sandbox
Примечание: Скрипт выполняется в sandbox-окружении ASI Biont. У него нет доступа к локальным COM-портам, но есть полный доступ к сети и библиотекам. Для работы с последовательным портом используется Hardware Bridge (см. сценарий 4).
Результат: Через несколько секунд после запуска AI уже получает данные, логирует их и отправляет оповещения при выходе за пределы.
Сценарий 2: Промышленный контроллер (PLC) через Modbus/TCP
Зачем это нужно
На заводе контроллеры Modbus собирают данные с датчиков давления, уровня и температуры. Вручную мониторить сотни регистров — трудоёмко. AI-агент может:
* читать регистры каждые N секунд,
* выявлять аномалии (например, резкий скачок давления),
* записывать данные в базу (PostgreSQL, ClickHouse),
* автоматически изменять уставки (setpoint) через запись в регистры.
Как подключить
В чате ASI Biont напишите:
Подключись к Modbus/TCP устройству по адресу 10.0.0.50:502. Slave ID = 1. Прочитай holding register 100 (температура печи) и register 101 (давление). Логируй каждые 30 секунд. Если температура > 500°C, запиши в register 200 значение 1 (аварийный останов).
AI выполнит команду через industrial_command:
# Сгенерированный код (упрощённо)
from pymodbus.client import ModbusTcpClient
client = ModbusTcpClient("10.0.0.50", port=502)
client.connect()
# Чтение регистров
result_temp = client.read_holding_registers(100, 1, slave=1)
temperature = result_temp.registers[0]
result_pres = client.read_holding_registers(101, 1, slave=1)
pressure = result_pres.registers[0]
# Анализ и управление
if temperature > 500:
client.write_register(200, 1, slave=1) # аварийный останов
# Отправка уведомления через Telegram...
client.close()
Результат: AI автоматически опрашивает контроллер, анализирует данные и при необходимости вмешивается в процесс, не требуя ручного скриптования.
Сценарий 3: Датчики через COM-порт (Arduino, GPS-трекер) с Hardware Bridge
Зачем это нужно
Многие устройства (Arduino, счётчики воды, GPS-трекеры) передают данные через последовательный порт. ASI Biont подключается к ним через Hardware Bridge — небольшое приложение bridge.py, которое вы запускаете на своём ПК. Bridge соединяется с облаком через HTTP long polling, а AI отправляет команды через industrial_command.
Как подключить
- Скачайте bridge.py с asibiont.com/downloads или получите от AI по запросу.
- Запустите bridge на своём компьютере (Windows/Linux/macOS):
python bridge.py --token=YOUR_TOKEN --ports=COM3 --default-baud=115200
Где:
* --token — ваш токен пользователя ASI Biont (обязателен),
* --ports — список COM-портов через запятую (можно несколько),
* --default-baud — скорость порта по умолчанию.
- В чате ASI Biont напишите:
Подключись к Arduino на COM3 через bridge. Открой порт на скорости 115200. Читай данные с аналогового пина A0 каждые 5 секунд. Если значение > 512, включи светодиод на пине 13 (отправь команду 'LED_ON' через serial). Также отправляй уведомление в Telegram.
AI отправит команду industrial_command:
industrial_command(
protocol='serial://',
command='{"port":"COM3","baudrate":115200,"action":"read","params":{"bytes":10}}'
)
Bridge выполнит чтение и вернёт результат. AI проанализирует данные, и если нужно, отправит команду write для управления выводом.
Результат: Ваш ПК с Arduino становится частью AI-управляемой системы. Все команды и данные проходят через облако, но bridge работает как локальный шлюз.
Сценарий 4: Raspberry Pi + камера через SSH
Зачем это нужно
На Raspberry Pi с камерой можно организовать компьютерное зрение: распознавание лиц, детекция дефектов на конвейере, подсчёт объектов. AI-агент подключается по SSH, запускает скрипт OpenCV и анализирует результаты.
Как подключить
В чате:
Подключись к Raspberry Pi по SSH: 192.168.1.50, пользователь pi, пароль raspberry. Запусти Python-скрипт, который делает фото с камеры каждые 10 секунд и детектирует объекты с помощью OpenCV (предобученная модель YOLO). Если обнаружен человек, отправь фото в Telegram.
AI сгенерирует и выполнит код (через execute_python с paramiko):
import paramiko
import time
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect("192.168.1.50", username="pi", password="raspberry")
# Команда на запуск скрипта на Raspberry Pi
stdin, stdout, stderr = ssh.exec_command("python3 /home/pi/detect.py")
print(stdout.read().decode())
ssh.close()
Результат: AI управляет камерой на Raspberry Pi, не требуя от вас написания сложного кода на стороне клиента.
Почему это выгодно?
| Без ASI Biont | С ASI Biont |
|---|---|
| Нужно писать скрипты вручную на Python + библиотеки (pyserial, paho-mqtt и т.д.) | AI генерирует и выполняет код за секунды |
| Настройка MQTT-брокера, подписок, обработчиков — часы работы | Достаточно описать задачу текстом |
| Ручное логирование и настройка оповещений | AI автоматически создаёт CSV, отправляет в Telegram, Telegram-бота, Slack |
| Трудно добавить новый датчик — нужно менять код | Просто пишете в чат: «добавь ещё один топик» |
| Ограниченная аналитика (только то, что запрограммировали) | AI может строить графики, прогнозировать, выявлять аномалии |
Заключение
Интеграция датчиков и систем телеметрии с AI-агентом ASI Biont — это не просто автоматизация, а смена парадигмы: вместо того чтобы писать код под каждое устройство, вы просто описываете, что хотите получить. AI сам выбирает протокол (MQTT, Modbus, COM, SSH, HTTP), генерирует код, выполняет его и начинает мониторинг.
Попробуйте прямо сейчас: зайдите на asibiont.com, создайте диалог и напишите: «Подключи мой ESP32 с датчиком температуры к MQTT-брокеру 192.168.1.100 и отправляй уведомления в Telegram, если жарко». Через минуту вы получите работающую интеграцию без единой строки кода, написанной вами.
Комментарии