Введение
Environmental sensors — это класс устройств, измеряющих параметры окружающей среды: температуру, влажность, давление, концентрацию CO₂. BME280, SHT30, MH-Z19 — лишь несколько популярных датчиков, которые можно встретить в системах умного дома, теплицах, серверных и офисах. Однако сами по себе датчики — это только сырые данные. Чтобы превратить их в реальные действия, нужен интеллектуальный центр принятия решений. ASI Biont — AI-агент, который подключается к таким датчикам напрямую, анализирует показания в реальном времени и автоматически запускает сценарии: отправляет уведомления в Telegram, корректирует климат-контроль, ведёт историю и прогнозирует аварии. В этой статье разберём, как именно работает интеграция Environmental sensors с ASI Biont, какие способы подключения доступны и как настроить автоматизацию без единой строки кода со стороны пользователя.
Что такое Environmental sensors и зачем их подключать к AI-агенту
Environmental sensors — это датчики, которые измеряют физические параметры среды: температура, относительная влажность, атмосферное давление, уровень CO₂, иногда — освещённость, шум, качество воздуха (PM2.5). Они используются в системах HVAC (отопление, вентиляция, кондиционирование), в теплицах, на складах, в музеях, серверных и жилых помещениях. Подключение таких датчиков к AI-агенту позволяет:
- Автоматически выявлять аномалии: резкий скачок температуры, падение влажности, превышение CO₂.
- Отправлять уведомления в Telegram, email или Slack при выходе за заданные пороги.
- Прогнозировать тренды: AI анализирует исторические данные и предсказывает, когда температура достигнет критической отметки.
- Управлять исполнительными устройствами: включать вентиляцию, увлажнитель, кондиционер через реле, умные розетки или Modbus-контроллеры.
ASI Biont делает это без промежуточных панелей управления: пользователь просто описывает в чате задачу, и AI сам пишет код интеграции, подключается к датчику и начинает сбор данных.
Как ASI Biont подключается к Environmental sensors: все доступные способы
ASI Biont поддерживает 14 протоколов и способов подключения к устройствам. Для Environmental sensors наиболее актуальны:
| Способ | Когда используется | Пример датчика |
|---|---|---|
| MQTT | Датчик отправляет данные по Wi-Fi/сети (ESP32 + DHT22) | BME280 на ESP32 через MQTT |
| Hardware Bridge (COM-порт) | Датчик подключён к ПК через USB-UART (Arduino + SHT30) | SHT30 на Arduino через USB |
| SSH | Датчик подключён к Raspberry Pi, который работает как шлюз | MH-Z19 на Raspberry Pi |
| Modbus/TCP | Промышленный датчик с Modbus-интерфейсом (например, датчик температуры PT100 с Modbus RTU через конвертер) | Датчик CO₂ SenseAir S8 с Modbus |
| HTTP API | Датчик имеет встроенный веб-сервер (например, ESP8266 с REST API) | Любой датчик на ESP8266 с HTTP-эндпоинтом |
| execute_python | Универсальный способ для любых датчиков, где AI пишет скрипт под конкретное устройство | Любой датчик с документацией |
В этой статье мы сосредоточимся на двух самых популярных сценариях: ESP32 + BME280 по MQTT и Arduino + SHT30 через Hardware Bridge. Оба подходят для быстрого старта и не требуют сложного оборудования.
Сценарий 1: ESP32 + BME280 + ASI Biont через MQTT
Этот сценарий идеален для удалённого мониторинга: ESP32 с датчиком BME280 (температура, влажность, давление) отправляет данные на MQTT-брокер (например, Mosquitto, HiveMQ Cloud). ASI Biont подключается к тому же брокеру, подписывается на топик датчика и анализирует данные.
Шаг 1. Настройка ESP32
Прошиваем ESP32 скетчем, который публикует показания BME280 в топик sensors/bme280 раз в 30 секунд. Пример на MicroPython:
import network
import time
import ujson
from machine import Pin, I2C
import bme280
from umqtt.simple import MQTTClient
# Wi-Fi
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect('SSID', 'PASSWORD')
# I2C
i2c = I2C(scl=Pin(22), sda=Pin(21))
bme = bme280.BME280(i2c=i2c)
# MQTT
client = MQTTClient('esp32_bme', 'test.mosquitto.org', port=1883)
client.connect()
while True:
temp, press, hum = bme.read_compensated_data()
payload = ujson.dumps({
"temperature": round(temp / 100, 1),
"humidity": round(hum / 1024, 1),
"pressure": round(press / 256 / 100, 1)
})
client.publish(b'sensors/bme280', payload.encode())
time.sleep(30)
Шаг 2. Подключение ASI Biont к MQTT-брокеру
Пользователь пишет в чат ASI Biont:
«Подключись к MQTT-брокеру test.mosquitto.org, подпишись на топик sensors/bme280, читай показания температуры, влажности и давления. Если температура превышает 30°C или влажность падает ниже 40%, отправь мне уведомление в Telegram. Мой Telegram chat_id — 123456789, токен бота — 123:ABC»
AI генерирует и выполняет Python-скрипт в sandbox (execute_python), используя библиотеку paho-mqtt:
import paho.mqtt.client as mqtt
import json
import requests
TELEGRAM_TOKEN = "123:ABC"
CHAT_ID = "123456789"
def on_message(client, userdata, msg):
data = json.loads(msg.payload)
temp = data.get("temperature")
hum = data.get("humidity")
alerts = []
if temp and temp > 30:
alerts.append(f"Температура {temp}°C превышает 30°C")
if hum and hum < 40:
alerts.append(f"Влажность {hum}% ниже 40%")
if alerts:
text = "⚠️ Тревога!\n" + "\n".join(alerts)
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("test.mosquitto.org", 1883, 60)
client.subscribe("sensors/bme280")
client.loop_forever()
Шаг 3. Результат
AI начинает получать данные с датчика. При каждом превышении порога в Telegram приходит сообщение. Пользователь может в любой момент попросить AI показать график температуры за последние сутки — AI сгенерирует его с помощью matplotlib и отправит в чат.
Сценарий 2: Arduino + SHT30 + ASI Biont через Hardware Bridge
Если датчик подключён к компьютеру через USB (Arduino, ESP32 в режиме UART), используется Hardware Bridge — программа bridge.py, которая запускается на ПК пользователя и соединяется с ASI Biont через WebSocket.
Шаг 1. Запуск bridge.py
Пользователь скачивает bridge.py из дашборда ASI Biont (Devices → Create API Key → Скачать bridge) и запускает:
python bridge.py --token=ВАШ_ТОКЕН --ports=COM3 --default-baud=115200 --rate=10
Шаг 2. Запрос в чате
Пользователь пишет:
«Подключись к Arduino на COM3, скорость 115200. Читай данные с датчика SHT30 (температура и влажность). Если температура выше 28°C или влажность выше 70%, отправь мне email на user@example.com через SendGrid (API-ключ: SG.XXXX). Также пришли мне первый замер в чат»
AI использует industrial_command tool для чтения данных с порта:
industrial_command(
protocol='serial://COM3',
command='read',
params={'baud': 115200, 'timeout': 5}
)
AI получает строку вида Temp: 25.3C Hum: 55.2%, парсит её и выполняет логику. Для отправки email используется библиотека sendgrid:
import sendgrid
from sendgrid.helpers.mail import Mail
sg = sendgrid.SendGridAPIClient(api_key='SG.XXXX')
message = Mail(
from_email='alerts@asibiont.com',
to_emails='user@example.com',
subject='Тревога по климату',
html_content='<strong>Температура превысила 28°C</strong>')
sg.send(message)
Шаг 3. Автоматизация
AI продолжает мониторинг: каждые 10 секунд читает данные с COM-порта, сравнивает с порогами и отправляет уведомления. Пользователь может попросить: «Записывай все данные в CSV-файл и раз в день отправляй мне отчёт на email» — AI сделает это без дополнительных настроек.
Сценарий 3: MH-Z19 (CO₂) на Raspberry Pi + ASI Biont через SSH
Датчик CO₂ MH-Z19 подключается к Raspberry Pi по UART. ASI Biont подключается к Raspberry Pi по SSH и запускает Python-скрипт сбора данных.
Шаг 1. Подготовка Raspberry Pi
На Raspberry Pi установлена библиотека для работы с MH-Z19:
pip install mh-z19
Шаг 2. Запрос в чате
Пользователь:
«Подключись по SSH к raspberrypi.local (логин: pi, пароль: raspberry). Запусти скрипт, который каждые 60 секунд читает показания CO₂ с датчика MH-Z19. Если CO₂ превышает 1000 ppm, отправь мне уведомление в Telegram. Также сохраняй данные в SQLite-базу на Raspberry Pi»
AI генерирует скрипт с paramiko и выполняет его через execute_python:
import paramiko
import time
import json
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('raspberrypi.local', username='pi', password='raspberry')
script = '''
import mh_z19
import sqlite3
import time
conn = sqlite3.connect('/home/pi/co2_log.db')
c = conn.cursor()
c.execute('''CREATE TABLE IF NOT EXISTS readings (timestamp TEXT, co2 INTEGER)''')
while True:
val = mh_z19.read()
co2 = val['co2']
print(f"CO2: {co2} ppm")
c.execute("INSERT INTO readings VALUES (datetime('now'), ?)", (co2,))
conn.commit()
time.sleep(60)
'''
stdin, stdout, stderr = ssh.exec_command(f"python3 << 'EOF'\n{script}\nEOF")
print(stdout.read().decode())
ssh.close()
AI также настраивает Telegram-уведомления при превышении порога, используя тот же подход, что и в первом сценарии.
Сравнение способов интеграции Environmental sensors с ASI Biont
| Характеристика | MQTT | Hardware Bridge | SSH | Modbus/TCP | HTTP API |
|---|---|---|---|---|---|
| Оборудование | ESP32 + датчик | Arduino + датчик + ПК | Raspberry Pi + датчик | ПЛК + датчик | ESP8266 + датчик |
| Сложность настройки | Средняя (нужен MQTT-брокер) | Низкая (скачать bridge.py) | Средняя (настройка SSH) | Высокая (пром. сеть) | Низкая (REST API) |
| Задержка данных | 1-5 сек | 0.1-1 сек | 1-5 сек | 0.5-2 сек | 1-10 сек |
| Где выполняется AI | В облаке | В облаке + bridge на ПК | В облаке + скрипт на Pi | В облаке | В облаке |
| Подходит для | Удалённый мониторинг | Датчики рядом с ПК | Серверные, теплицы | Заводы, пром. объекты | Быстрый прототип |
Почему ASI Biont выгоднее традиционных систем мониторинга
Традиционные системы (Node-RED, Home Assistant, OpenHAB) требуют:
- ручной настройки каждого узла,
- написания правил и сценариев,
- установки и обслуживания сервера,
- знания языков программирования или YAML.
ASI Biont устраняет эти барьеры:
- Нет панелей управления: всё общение через чат.
- AI пишет код: пользователь описывает что нужно, AI создаёт скрипт интеграции за секунды.
- Гибкость: можно подключить любой датчик с любым протоколом — от UART до OPC UA.
- Мгновенные уведомления: Telegram, email, Slack — AI сам выбирает канал.
- История и аналитика: AI может строить графики, выявлять тренды, предсказывать отказы.
Как начать интеграцию Environmental sensors с ASI Biont
- Выберите датчик и способ подключения (MQTT, Hardware Bridge, SSH, Modbus).
- Запустите bridge.py (если используете COM-порт) или настройте брокер/шлюз.
- Напишите в чат ASI Biont задачу: «Подключись к ESP32 на MQTT, читай температуру и влажность с топика sensors/bme280, отправляй в Telegram при превышении 30°C».
- AI сделает всё остальное: напишет код, выполнит его, настроит мониторинг.
- Управляйте через диалог: попросите изменить пороги, добавить email-уведомления или построить график.
Заключение
Environmental sensors — это глаза и уши умного здания. Но без AI они остаются просто источниками сырых данных. ASI Biont превращает их в полноценную систему мониторинга и автоматизации: анализирует показания, предсказывает проблемы, отправляет уведомления и управляет климатом. Подключение занимает минуты — достаточно описать задачу в чате, и AI сам напишет код интеграции. Попробуйте сами: перейдите на asibiont.com и начните управлять своим окружением с помощью искусственного интеллекта.
Комментарии