Smart City sensors + ASI Biont: AI-управление умным городом через MQTT без программирования

Введение

Современные города всё активнее внедряют IoT-решения: датчики качества воздуха, шума, освещённости, температуры и влажности устанавливают на столбах, остановках и зданиях. Однако сбор данных — лишь половина дела. Чтобы превратить сырые показания в осмысленные действия (например, отправить оповещение при превышении уровня CO₂ или автоматически включить вентиляцию), нужна интеллектуальная обработка в реальном времени. AI-агент ASI Biont решает эту задачу: он подключается к любому Smart City sensor, анализирует данные и управляет исполнительными устройствами через диалог в чате. В этой статье мы разберём, как подключить датчики качества воздуха (например, SDS011, MQ-135, BME280) к ASI Biont через MQTT, настроить дашборды и автоматизировать оповещения — без единой строки кода, написанной вручную.

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

Smart City sensors — это распределённые датчики, измеряющие параметры окружающей среды:
- Качество воздуха: PM2.5, PM10, CO₂, NO₂, O₃, летучие органические соединения (VOC).
- Шум: уровень звукового давления в дБА.
- Освещённость: люксы (LUX).
- Погода: температура, влажность, атмосферное давление.

Эти датчики обычно работают на микроконтроллерах (ESP32, Arduino) и передают данные по MQTT, LoRaWAN или Wi-Fi. Без AI-агента вам нужно:
- Написать бэкенд для сбора данных (Node-RED, Python-скрипт).
- Настроить базу данных (InfluxDB, PostgreSQL).
- Разработать дашборды (Grafana).
- Реализовать логику оповещений и автоматизации.

ASI Biont заменяет весь этот стек: AI-агент сам пишет Python-код для подключения, анализа и управления. Вы просто описываете задачу в чате.

Как ASI Biont подключается к Smart City sensors

ASI Biont использует MQTT — самый распространённый протокол для IoT-устройств. MQTT лёгкий, асинхронный, поддерживает publish/subscribe и работает даже при нестабильной сети. Датчики публикуют данные в топики вида city/sensor1/temperature, а AI-агент подписывается на эти топики через библиотеку paho-mqtt.

Архитектура подключения:

[ESP32 + датчик] → MQTT publish → [MQTT Broker (Mosquitto/HiveMQ)] → [ASI Biont (execute_python с paho-mqtt)] → [Telegram / Dashboard / Actuator]

Пользователь передаёт в чат параметры брокера: IP, порт, логин/пароль (если есть), топики. AI-агент генерирует Python-скрипт, который выполняется в sandbox-окружении ASI Biont (Railway).

Почему MQTT, а не HTTP или Modbus?

Протокол Плюсы Минусы Применимость для Smart City
MQTT Низкое энергопотребление, поддержка QoS, асинхронность Требуется брокер Идеален для распределённых датчиков
HTTP/REST Простота, не нужен брокер Высокое энергопотребление, синхронный Для редких опросов (раз в час)
Modbus TCP Промышленная надёжность Тяжеловесный, не для батареек Для стационарных PLC
LoRaWAN Дальняя связь, низкое энергопотребление Низкая пропускная способность Для сверхдальних датчиков

В большинстве Smart City проектов используют MQTT — он поддерживается ESP32, Arduino и одноплатниками.

Конкретный сценарий: датчик качества воздуха + MQTT + ASI Biont

Рассмотрим реальный пример: у вас есть ESP32 с датчиком SDS011 (PM2.5/PM10) и BME280 (температура, влажность, давление). ESP32 передаёт данные в MQTT каждые 60 секунд.

Шаг 1. Пользователь описывает задачу в чате ASI Biont

«Подключись к MQTT-брокеру по адресу 192.168.1.100:1883, топик city/air/001. Получай данные каждые 60 секунд, анализируй: если PM2.5 > 35 мкг/м³ — отправь уведомление в Telegram, если > 100 — включи сирену через MQTT publish на топик city/actuator/siren с сообщением ON. Веди лог в CSV.»

Шаг 2. AI-агент генерирует и выполняет код

ASI Biont пишет Python-скрипт с использованием paho-mqtt, requests (Telegram API) и csv. Пример кода (упрощённый):

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

# Настройки
BROKER = "192.168.1.100"
PORT = 1883
TOPIC = "city/air/001"
TELEGRAM_TOKEN = "your_token"
CHAT_ID = "your_chat_id"

# Обработчик входящих сообщений
def on_message(client, userdata, msg):
    data = json.loads(msg.payload.decode())
    pm25 = data.get("pm25", 0)
    timestamp = datetime.now().isoformat()

    # Логирование в CSV
    with open("air_log.csv", "a", newline="") as f:
        writer = csv.writer(f)
        writer.writerow([timestamp, pm25, data.get("pm10"), data.get("temperature")])

    # Анализ и оповещение
    if pm25 > 35:
        msg_text = f"⚠️ PM2.5 превышен: {pm25} мкг/м³"
        requests.post(f"https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendMessage",
                      json={"chat_id": CHAT_ID, "text": msg_text})
    if pm25 > 100:
        # Включение сирены через MQTT publish
        client.publish("city/actuator/siren", "ON")

client = mqtt.Client()
client.on_message = on_message
client.connect(BROKER, PORT, 60)
client.subscribe(TOPIC)
client.loop_forever()  # sandbox выполнит с таймаутом 30 сек, см. примечание

Важное замечание: loop_forever() в sandbox ASI Biont не сработает из-за таймаута 30 секунд. В реальной эксплуатации AI-агент предлагает запустить скрипт на локальном компьютере или одноплатнике (Raspberry Pi) через SSH или Hardware Bridge. В sandbox AI выполняет однократный сбор данных (subscribe одного сообщения) или использует loop_start() в фоновом потоке (но потоки запрещены). Поэтому для постоянного мониторинга AI-агент рекомендует запустить скрипт на Raspberry Pi через execute_python с paramiko.

Шаг 3. AI-агент подключается по SSH к Raspberry Pi

Если у вас есть Raspberry Pi рядом с датчиком, AI-агент может выполнить скрипт на нём:

import paramiko

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect("192.168.1.50", username="pi", password="raspberry")

# Загружаем скрипт на Raspberry Pi
with open("air_monitor.py", "r") as f:
    script = f.read()

stdin, stdout, stderr = ssh.exec_command(f"python3 -c \"{script}\"")
print(stdout.read().decode())
ssh.close()

После этого скрипт работает постоянно на Raspberry Pi, а ASI Biont получает данные через MQTT.

Автоматизация без кода: настройка триггеров и дашбордов

ASI Biont не требует писать код вручную. Все настройки выполняются через естественный язык в чате:

  • Создание дашборда: «Покажи график PM2.5 за последние 24 часа» — AI генерирует matplotlib-график и выводит его в чат.
  • Настройка оповещений: «Отправляй в Telegram, если влажность > 80%» — AI добавляет условие в скрипт.
  • Управление исполнителями: «Если CO₂ > 1000 ppm, включи вытяжку через MQTT publish на топик city/actuator/fan».

Пример диалога:

Пользователь: «Покажи последние 10 значений температуры с датчика на Проспекте Мира.»
AI: Выполняю запрос... Вот данные:
| Время | Температура (°C) |
|-------|------------------|
| 09:45 | 22.3 |
| 09:44 | 22.1 |
...

Почему это выгодно

  1. Скорость интеграции: Вместо недель разработки — минуты диалога с AI.
  2. Гибкость: Подключите любой протокол (MQTT, HTTP, Modbus, OPC-UA) без ожидания обновлений платформы.
  3. Экономия: Не нужно нанимать команду разработчиков для каждого нового датчика.
  4. Открытость: Исходный код генерируется на Python — вы всегда можете его модифицировать.

Заключение

Smart City sensors — это глаза и уши современного города, но без AI они лишь генерируют сырые данные. ASI Biont превращает их в интеллектуальную систему управления: анализирует тренды, оповещает о нарушениях, автоматически включает исполнительные устройства. Всё, что нужно — описать задачу в чате. Попробуйте интеграцию уже сегодня на asibiont.com и сделайте ваш город умнее.

← Все статьи

Комментарии

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

7 мощных промтов для Go: микросервисы, API и CLI-утилиты

9 июля 2026

Asset tracking + ASI Biont: AI-управление складом и логистикой без единой строки кода

9 июля 2026

Kubernetes + AI-агент ASI Biont: автоматизация деплоя, мониторинг и rollback без кода

9 июля 2026

Как AI-трекер и практические лабы помогают сдать ACE и PCA: обзор курса Google Cloud Architect на Asibiont

9 июля 2026

Интеграция Arduino Uno / Nano / Mega с AI-агентом ASI Biont: практическое руководство по последовательному порту и автоматизации

9 июля 2026

Как интегрировать устройства RS-485 с AI-агентом ASI Biont: пошаговое руководство для промышленной автоматизации

9 июля 2026

10 промтов для Terraform и IaC: от модулей до multi-cloud (гайд 2026)

9 июля 2026

Освоение маркировки CE и технических регламентов ЕС: ваше руководство по соответствию продукции в 2026 году

9 июля 2026

Экологическое право 2026: как избежать миллионных штрафов за отходы и НВОС — разбор курса Asibiont

9 июля 2026