Как подключить Environmental sensors к AI-агенту ASI Biont: пошаговое руководство по интеграции датчиков температуры, влажности и CO2 через MQTT и REST API

Введение

Environmental sensors — это датчики окружающей среды, которые измеряют температуру, влажность, концентрацию CO2, качество воздуха, атмосферное давление и другие параметры. Они широко применяются в умных домах, офисах, теплицах, складах и на производстве. Однако просто установить датчики недостаточно: чтобы данные приносили пользу, их нужно собирать, анализировать и использовать для автоматизации. Именно здесь на помощь приходит AI-агент ASI Biont.

Интеграция Environmental sensors с AI-агентом позволяет:
- Автоматически отслеживать микроклимат в реальном времени.
- Настраивать уведомления при выходе параметров за пределы нормы (например, Telegram-бот предупредит, если в серверной поднялась температура выше 30°C).
- Управлять исполнительными устройствами (вентиляция, кондиционер, увлажнитель) на основе показаний датчиков.
- Строить графики и логировать данные для анализа трендов.

ASI Biont подключается к Environmental sensors без необходимости писать сложный код вручную — достаточно описать задачу в чате, и AI сам сгенерирует скрипт интеграции, используя один из поддерживаемых протоколов: MQTT, HTTP API, SSH, COM-порт или Modbus. В этой статье мы разберём два самых популярных сценария: подключение датчиков через ESP32 и MQTT, а также прямое считывание данных с Arduino через COM-порт с помощью Hardware Bridge.

1. Что такое Environmental sensors и зачем их подключать к AI-агенту

Environmental sensors — это класс IoT-устройств, которые измеряют физические параметры окружающей среды. Наиболее распространённые датчики:

Датчик Измеряемые параметры Типичное применение
DHT22 / AM2302 Температура (-40..80°C), влажность (0..100%) Умный дом, теплицы, серверные
BME280 Температура, влажность, давление (300..1100 гПа) Метеостанции, офисы
MH-Z19 / SCD30 CO2 (0..5000 ppm), температура Офисы, школы, склады
PMS5003 / SDS011 PM1.0, PM2.5, PM10 (качество воздуха) Мониторинг загрязнения
CCS811 / SGP30 VOC (летучие органические соединения), eCO2 Умные дома, офисы

Подключение таких датчиков к AI-агенту ASI Biont превращает их из простых измерительных приборов в интеллектуальную систему мониторинга и управления. AI может:
- Анализировать исторические данные и предсказывать изменения (например, предупреждать о скором превышении CO2).
- Автоматически запускать сценарии: открывать окна, включать вентиляцию, регулировать кондиционер.
- Интегрировать данные в корпоративные системы (через REST API, базы данных).

2. Как ASI Biont подключается к Environmental sensors

ASI Biont поддерживает несколько способов подключения к устройствам. Для Environmental sensors наиболее актуальны:

  1. MQTT — через paho-mqtt. Идеально для ESP32 и других Wi-Fi-микроконтроллеров, которые публикуют данные в топики MQTT-брокера.
  2. COM-порт (RS-232/RS-485) — через Hardware Bridge. Подходит для Arduino, подключенных к ПК по USB.
  3. SSH — через paramiko. Для Raspberry Pi или одноплатников, на которых запущены скрипты сбора данных.
  4. HTTP API — через aiohttp. Для датчиков с собственным REST API.
  5. Modbus/TCP — через pymodbus. Для промышленных датчиков и ПЛК.

Пользователь не выбирает способ из меню — он просто описывает в чате, к какому устройству и как подключиться. AI сам определяет оптимальный протокол и пишет код.

3. Сценарий 1: ESP32 + DHT22 + MQTT → ASI Biont

Этот сценарий — классика умного дома. ESP32 с датчиком DHT22 измеряет температуру и влажность, публикует данные в MQTT-брокер (например, Mosquitto, HiveMQ Cloud или локальный), а AI-агент ASI Biont подписывается на топик, анализирует данные и при необходимости отправляет команды или уведомления.

3.1. Прошивка ESP32 (MicroPython)

Для ESP32 пишем простую прошивку на MicroPython, которая каждые 10 секунд отправляет показания в топик sensors/temperature и sensors/humidity.

import network
import time
import dht
import machine
from umqtt.simple import MQTTClient

# Настройки Wi-Fi
SSID = "YourWiFi"
PASSWORD = "YourPassword"

# Настройки MQTT
MQTT_BROKER = "broker.hivemq.com"  # или ваш локальный брокер
CLIENT_ID = "esp32_dht22"
TOPIC_TEMP = b"sensors/temperature"
TOPIC_HUM = b"sensors/humidity"

# Подключение к Wi-Fi
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect(SSID, PASSWORD)
while not wlan.isconnected():
    time.sleep(1)
print("Connected to Wi-Fi")

# Инициализация датчика DHT22
dht_pin = machine.Pin(4)  # GPIO4
dht_sensor = dht.DHT22(dht_pin)

# Подключение к MQTT-брокеру
client = MQTTClient(CLIENT_ID, MQTT_BROKER)
client.connect()
print("Connected to MQTT broker")

while True:
    try:
        dht_sensor.measure()
        temp = dht_sensor.temperature()
        hum = dht_sensor.humidity()
        client.publish(TOPIC_TEMP, str(temp).encode())
        client.publish(TOPIC_HUM, str(hum).encode())
        print(f"Published: temp={temp}°C, hum={hum}%")
    except Exception as e:
        print("Error:", e)
    time.sleep(10)

3.2. Подключение ASI Biont к MQTT-брокеру

Теперь в чате с ASI Biont пишем запрос:

«Подключись к MQTT-брокеру broker.hivemq.com, подпишись на топики sensors/temperature и sensors/humidity. Каждые 10 секунд проверяй, не превышает ли температура 30°C или влажность 70%. Если превышает, отправь мне уведомление в Telegram. Также логируй все показания в файл sensors_log.csv на сервере.»

AI генерирует и выполняет Python-скрипт в sandbox-окружении (execute_python):

import paho.mqtt.client as mqtt
import json
import csv
import time
from datetime import datetime
import requests

# Конфигурация
BROKER = "broker.hivemq.com"
TOPIC_TEMP = "sensors/temperature"
TOPIC_HUM = "sensors/humidity"
TELEGRAM_BOT_TOKEN = "YOUR_BOT_TOKEN"
TELEGRAM_CHAT_ID = "YOUR_CHAT_ID"
LOG_FILE = "sensors_log.csv"

# Инициализация CSV с заголовками
with open(LOG_FILE, mode='a', newline='') as file:
    writer = csv.writer(file)
    writer.writerow(["timestamp", "temperature", "humidity"])

# Хранилище последних значений
last_temp = None
last_hum = None

def on_message(client, userdata, msg):
    global last_temp, last_hum
    topic = msg.topic
    payload = msg.payload.decode()
    try:
        value = float(payload)
        now = datetime.now().isoformat()

        if topic == TOPIC_TEMP:
            last_temp = value
        elif topic == TOPIC_HUM:
            last_hum = value

        # Если оба значения получены, логируем и проверяем
        if last_temp is not None and last_hum is not None:
            # Логирование в CSV
            with open(LOG_FILE, mode='a', newline='') as file:
                writer = csv.writer(file)
                writer.writerow([now, last_temp, last_hum])

            # Проверка порогов
            if last_temp > 30.0:
                msg = f"⚠️ Температура превысила 30°C! Сейчас {last_temp}°C"
                requests.post(f"https://api.telegram.org/bot{TELEGRAM_BOT_TOKEN}/sendMessage",
                              json={"chat_id": TELEGRAM_CHAT_ID, "text": msg})
            if last_hum > 70.0:
                msg = f"⚠️ Влажность превысила 70%! Сейчас {last_hum}%"
                requests.post(f"https://api.telegram.org/bot{TELEGRAM_BOT_TOKEN}/sendMessage",
                              json={"chat_id": TELEGRAM_CHAT_ID, "text": msg})

            print(f"{now}: temp={last_temp}, hum={last_hum}")
            last_temp = None
            last_hum = None
    except ValueError:
        pass

client = mqtt.Client()
client.on_message = on_message
client.connect(BROKER, 1883, 60)
client.subscribe([(TOPIC_TEMP, 0), (TOPIC_HUM, 0)])
client.loop_forever()

Важно: sandbox ASI Biont имеет таймаут 30 секунд для execute_python, поэтому для постоянного мониторинга AI использует industrial_command с MQTT-подпиской или запускает скрипт на внешнем сервере через SSH. В данном примере скрипт предназначен для выполнения на Raspberry Pi или VPS, где нет ограничения по времени. AI может сгенерировать такой код и предложить запустить его на вашем сервере через SSH.

3.3. Результаты

  • Данные с датчика поступают в ASI Biont в реальном времени.
  • При превышении температуры или влажности AI отправляет уведомление в Telegram.
  • Все показания логируются в CSV-файл для последующего анализа.
  • Пользователь может в любой момент запросить в чате: «Покажи график температуры за последние 24 часа» — AI построит его с помощью matplotlib.

4. Сценарий 2: Arduino + датчики + COM-порт → ASI Biont через Hardware Bridge

Если у вас Arduino Uno (или любой другой микроконтроллер) с датчиками, подключенный к ПК через USB, ASI Biont может читать данные напрямую через COM-порт с помощью Hardware Bridge.

4.1. Прошивка Arduino

Загружаем на Arduino скетч, который каждые 2 секунды отправляет в Serial данные в формате JSON:

#include <DHT.h>

#define DHTPIN 2
#define DHTTYPE DHT22

DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(115200);
  dht.begin();
}

void loop() {
  float temp = dht.readTemperature();
  float hum = dht.readHumidity();

  if (isnan(temp) || isnan(hum)) {
    Serial.println("{\"error\":\"sensor_error\"}");
  } else {
    Serial.print("{\"temp\":");
    Serial.print(temp);
    Serial.print(",\"hum\":");
    Serial.print(hum);
    Serial.println("}");
  }
  delay(2000);
}

4.2. Запуск Hardware Bridge

Пользователь скачивает bridge.py из дашборда ASI Biont (Devices → Create API Key → Скачать bridge) и запускает его на своём ПК:

pip install pyserial requests websockets
python bridge.py --token=YOUR_API_TOKEN --ports=COM3 --baud 115200

Bridge подключается к облаку ASI Biont через WebSocket и открывает COM3 на скорости 115200 бод.

4.3. Команда в чате ASI Biont

Пользователь пишет:

«Подключись к Arduino через bridge по протоколу serial://, порт COM3, скорость 115200. Каждые 10 секунд читай данные с датчика (температура и влажность). Если температура выше 28°C, включи красный светодиод на пине 13 через команду LED_ON. Если влажность ниже 30%, отправь мне уведомление в Telegram. Логируй все данные в PostgreSQL базу sensors_db.»

AI использует industrial_command с протоколом serial://:

industrial_command(protocol='serial://', command='serial_write_and_read', data='{"port":"COM3","baud":115200,"data":"48454c500a"}', description='Проверка связи с Arduino')

После подтверждения связи AI генерирует скрипт для непрерывного мониторинга. Поскольку bridge работает локально, а AI в облаке, для постоянного чтения используется комбинация: AI периодически (каждые 10 секунд) отправляет команду на чтение через industrial_command, bridge читает последнюю строку из Serial и возвращает её.

4.4. Пример ответа bridge

При каждом запросе bridge возвращает последние данные из порта:

{"port":"COM3","data":"{\"temp\":25.4,\"hum\":45.2}","timestamp":"2026-07-19T14:30:00Z"}

AI парсит JSON, проверяет условия и выполняет действия:
- Если temp > 28 → отправляет команду LED_ON\n в порт через serial_write_and_read.
- Если hum < 30 → отправляет сообщение в Telegram через requests.post.
- Записывает данные в PostgreSQL с помощью psycopg2.

4.5. Результаты

  • Данные с Arduino читаются без написания кода на стороне ПК.
  • Управление светодиодом (или реле) происходит по командам AI.
  • Все показатели хранятся в базе данных для аналитики.
  • Пользователь может запросить: «Построй график температуры за неделю» — AI выполнит SQL-запрос и сгенерирует график.

5. Сценарий 3: Промышленный датчик CO2 (MH-Z19) через Modbus/TCP

Для офисов и производственных помещений часто используются датчики CO2 с интерфейсом Modbus. ASI Biont подключается к ним через Modbus/TCP.

5.1. Подключение

Пользователь пишет в чате:

«Подключись к датчику CO2 по Modbus TCP, IP 192.168.1.100, порт 502, slave ID 1. Читай регистр holding register 0x100 (значение CO2 в ppm). Каждые 5 минут проверяй, не превышает ли CO2 1000 ppm. Если превышает, включи реле вентиляции через Modbus coil 0x01 (write coil True). Логируй данные в InfluxDB.»

AI использует industrial_command:

industrial_command(protocol='modbus/tcp', command='read_holding_registers', data={"host":"192.168.1.100","port":502,"slave":1,"address":256,"count":1})

После получения значения AI проверяет условие и при необходимости записывает coil:

industrial_command(protocol='modbus/tcp', command='write_coil', data={"host":"192.168.1.100","port":502,"slave":1,"address":0,"value":True})

5.2. Результаты

  • Автоматическое управление вентиляцией на основе уровня CO2.
  • Данные сохраняются в InfluxDB для построения дашбордов.
  • AI может предсказывать превышение CO2 на основе тренда и включать вентиляцию заранее.

6. Почему это выгодно: AI-агент вместо ручного кода

Традиционная интеграция Environmental sensors требует:
- Написания кода для каждого датчика и протокола.
- Настройки брокеров, баз данных, систем уведомлений.
- Доработок при изменении оборудования.

С ASI Biont весь процесс сводится к описанию задачи на естественном языке. AI:
- Самостоятельно выбирает протокол (MQTT, Modbus, COM-порт и т.д.).
- Генерирует рабочий код на Python с использованием проверенных библиотек.
- Выполняет его в защищённом sandbox-окружении или через Hardware Bridge.
- Обеспечивает логирование, уведомления и визуализацию.

Примеры задач, которые AI решает за секунды:
- «Собери данные с трёх датчиков BME280 по I2C на Raspberry Pi через SSH и отправь их в InfluxDB каждые 30 секунд.»
- «Подключись к датчику PM2.5 через COM5, скорость 9600, парси данные в формате SDS011 и отправь в Telegram, если PM2.5 > 50.»
- «Настрой MQTT-брокер на локальном сервере, подпишись на топик sensors/#, сохраняй все данные в MongoDB и строй графики в Grafana.»

7. Как начать: пошаговая инструкция

  1. Зарегистрируйтесь на asibiont.com и получите API-токен.
  2. Подготовьте устройство:
  3. Для ESP32: загрузите MicroPython-прошивку с MQTT-публикацией.
  4. Для Arduino: загрузите скетч с выводом в Serial.
  5. Для Raspberry Pi: установите Python и необходимые библиотеки.
  6. Установите Hardware Bridge (если используете COM-порт): скачайте bridge.py из дашборда и запустите с флагами --token и --ports.
  7. Опишите задачу в чате:
  8. «Подключись к ESP32 по MQTT, брокер 192.168.1.50, топик sensors/temperature.»
  9. «Прочитай данные с Arduino через COM3, скорость 115200, парси JSON.»
  10. «Подключись к датчику CO2 по Modbus TCP 192.168.1.100.»
  11. AI выполнит интеграцию — вы получите данные, уведомления и автоматические сценарии.

Заключение

Environmental sensors — это глаза и уши вашего умного пространства. Но без интеллектуальной обработки они остаются просто цифрами на экране. ASI Biont превращает их в полноценную систему мониторинга и управления, которая работает 24/7, реагирует на изменения и принимает решения.

Не нужно изучать документацию по MQTT, Modbus или Modbus TCP — достаточно описать, что вы хотите получить, и AI сделает всё сам. Попробуйте интеграцию уже сегодня на asibiont.com и убедитесь, насколько это просто.

← Все статьи

Комментарии

Читайте также

Абу-Даби строит ИИ-нативное правительство: документы продлеваются автоматически, запросы обрабатываются без чиновников

20 июля 2026

Курс жилищного права на Asibiont.com: Освоение ЖК РФ с помощью ИИ в 2026 году

20 июля 2026

Визуализация данных с TFT LCD (ILI9341, ST7789) и AI-агентом ASI Biont: интеграция без кода

20 июля 2026

ESP32 + ASI Biont: как AI-агент управляет микроконтроллером через MQTT и Hardware Bridge

20 июля 2026

10 промтов для RAG систем: индексация, поиск и генерация без боли

20 июля 2026

Запечатанная гробница, полная росписей и надписей, обнаружена в Египте: что скрывают древние стены?

20 июля 2026

Освойте мобильную безопасность: тестирование на проникновение iOS и Android с помощью AI-обучения

20 июля 2026

Интерфейс, который покорит многих: как проект переосмыслил UX и изменил правила игры в 2026 году

20 июля 2026

Освоение Индустрии 4.0: Практическое руководство по курсу «Промышленный интернет вещей (IIoT) и системы SCADA» на Asibiont

20 июля 2026