Введение
Умные города перестали быть футуристической концепцией. Сегодня датчики Smart City sensors — от контроля температуры в системах отопления до мониторинга уровня CO₂ в вентиляции — устанавливаются в жилых кварталах, бизнес-центрах и на промышленных объектах. Но одна из главных проблем — сбор и анализ данных с этих устройств требует ручного программирования, написания скриптов и постоянного контроля. AI-агент ASI Biont решает эту задачу: он подключается к любым датчикам через диалог в чате, автоматически пишет код интеграции и управляет устройствами без участия разработчика. В этой статье мы разберём, как подключить Smart City sensors (датчики температуры, влажности, давления, освещённости, качества воздуха) к ASI Biont, используя реальные сценарии и примеры кода.
Что такое Smart City sensors и зачем их подключать к AI-агенту?
Smart City sensors — это сеть IoT-устройств, которые собирают данные об окружающей среде, энергопотреблении, трафике, состоянии инженерных систем. Типичные датчики:
- Температуры и влажности (DHT22, BME280)
- Качества воздуха (PMS5003, CCS811)
- Освещённости (BH1750)
- Давления (BMP180)
- Вибрации и уровня шума
Эти датчики часто подключены к контроллерам (ESP32, Raspberry Pi, Arduino) или промышленным шлюзам (Modbus RTU/TCP, MQTT-брокеры). Ручная интеграция каждого датчика в систему мониторинга — трудоёмкая задача: нужно написать код для чтения данных, настроить парсинг, реализовать логику оповещений и визуализацию. ASI Biont автоматизирует этот процесс: пользователь описывает в чате, какие датчики есть, как они подключены, и AI-агент сам пишет Python-скрипт для сбора данных, анализа и отправки уведомлений (например, в Telegram).
Как ASI Biont подключается к Smart City sensors?
ASI Biont поддерживает несколько способов подключения к устройствам, в зависимости от типа контроллера и протокола. Для Smart City sensors чаще всего используются:
| Способ подключения | Когда применяется | Пример устройств |
|---|---|---|
| MQTT | Датчики публикуют данные в MQTT-брокер (Mosquitto, HiveMQ) | ESP32 + DHT22, Raspberry Pi + датчики |
| Modbus/TCP | Промышленные контроллеры с Modbus-регистрами | PLC, контроллеры вентиляции/отопления |
| SSH | Одноплатные компьютеры (Raspberry Pi, Orange Pi) с GPIO-датчиками | Raspberry Pi + BME280 |
| Hardware Bridge (COM-порт) | Arduino или ESP32, подключённые через USB к ПК | Arduino Uno + датчик CO₂ |
Пользователь просто пишет в чате: «У меня есть ESP32 с датчиком температуры DHT22, данные публикуются в MQTT на localhost, порт 1883. Подключись и отправляй мне в Telegram, если температура выше 30°C». AI-агент генерирует код на Python с библиотекой paho-mqtt, подписывается на топик, парсит данные и отправляет уведомления через Telegram Bot API.
Конкретный сценарий: ESP32 + датчик температуры/влажности → ASI Biont → Telegram
Шаг 1. Подготовка устройства
ESP32 с датчиком DHT22 подключён по питанию 3.3V, данные — на GPIO4. Прошивка ESP32 публикует показания в MQTT-брокер (например, Mosquitto, установленный на Raspberry Pi) в топик sensors/temperature каждые 10 секунд. Пример прошивки на MicroPython:
import machine
import dht
import time
from umqtt.simple import MQTTClient
sensor = dht.DHT22(machine.Pin(4))
client = MQTTClient("esp32", "192.168.1.100")
client.connect()
while True:
sensor.measure()
temp = sensor.temperature()
hum = sensor.humidity()
payload = f"{{\"temp\": {temp}, \"hum\": {hum}}}"
client.publish(b"sensors/temperature", payload.encode())
time.sleep(10)
Шаг 2. Подключение ASI Biont к MQTT-брокеру
Пользователь открывает чат с ASI Biont и пишет запрос. AI-агент выполняет команду industrial_command с протоколом MQTT для быстрой проверки:
industrial_command(protocol='mqtt', command='subscribe', topic='sensors/temperature', host='192.168.1.100', port=1883)
Если данные приходят, AI переходит к полноценному скрипту через execute_python, который подписывается на топик, анализирует данные и отправляет уведомление в Telegram.
Шаг 3. AI-агент генерирует код мониторинга
Ниже — пример кода, который ASI Biont создаёт и выполняет в sandbox-окружении (без бесконечных циклов, с таймаутом 30 секунд):
import paho.mqtt.client as mqtt
import requests
import json
import time
# Параметры
BROKER = "192.168.1.100"
PORT = 1883
TOPIC = "sensors/temperature"
TELEGRAM_TOKEN = "YOUR_TELEGRAM_BOT_TOKEN"
CHAT_ID = "YOUR_CHAT_ID"
THRESHOLD_TEMP = 30.0
data_buffer = []
def on_message(client, userdata, msg):
payload = msg.payload.decode()
data = json.loads(payload)
temp = data["temp"]
hum = data["hum"]
data_buffer.append({"temp": temp, "hum": hum, "time": time.time()})
if temp > THRESHOLD_TEMP:
message = f"⚠️ Внимание! Температура превысила порог: {temp}°C"
requests.post(f"https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendMessage",
data={"chat_id": CHAT_ID, "text": message})
if len(data_buffer) > 10:
data_buffer.pop(0)
client = mqtt.Client()
client.on_message = on_message
client.connect(BROKER, PORT, 60)
client.subscribe(TOPIC)
client.loop_start()
time.sleep(20) # слушаем 20 секунд
client.loop_stop()
AI-агент выполняет этот код, получает данные и при превышении порога отправляет сообщение в Telegram. Пользователю не нужно писать ни строчки кода — достаточно описать задачу.
Шаг 4. Автоматизация управления
Если датчик показывает аномально высокую температуру, AI может отправить команду на ESP32 (например, включить вентилятор) через MQTT publish:
industrial_command(protocol='mqtt', command='publish', topic='actuators/fan', payload='{"state": "ON"}', host='192.168.1.100', port=1883)
Другие сценарии для Smart City sensors
1. Умное ЖКХ: контроль отопления через Modbus/TCP
Промышленный контроллер (PLC) управляет клапанами отопления в многоквартирном доме. Датчики температуры установлены в каждой квартире. ASI Biont подключается по Modbus TCP, читает регистры с текущими значениями и, если температура в квартире падает ниже 18°C, увеличивает открытие клапана.
Команда AI:
industrial_command(protocol='modbus', command='read_registers', host='192.168.1.50', port=502, unit_id=1, address=100, count=5)
AI анализирует данные и при необходимости выполняет:
industrial_command(protocol='modbus', command='write_register', host='192.168.1.50', port=502, unit_id=1, address=200, value=80)
2. Мониторинг качества воздуха через SSH на Raspberry Pi
Датчик PMS5003 (PM2.5, PM10) подключён к Raspberry Pi по UART. ASI Biont подключается по SSH, запускает скрипт чтения данных и отправляет отчёт в Telegram каждый час.
Пример кода, генерируемого AI:
import paramiko
import requests
import json
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect("192.168.1.20", username="pi", password="raspberry")
stdin, stdout, stderr = ssh.exec_command("python3 /home/pi/read_pms5003.py")
output = stdout.read().decode()
data = json.loads(output)
if data["pm25"] > 50:
requests.post(f"https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendMessage",
data={"chat_id": CHAT_ID, "text": f"Загрязнение! PM2.5: {data['pm25']} мкг/м³"})
ssh.close()
3. Подключение Arduino через COM-порт (Hardware Bridge)
Датчик освещённости (BH1750) на Arduino Uno подключён к ПК через USB. Пользователь скачивает bridge.py из дашборда ASI Biont (Devices → Create API Key → Скачать bridge), указывает порт COM3 и baud rate 115200, запускает:
bridge.py --token=YOUR_TOKEN --ports=COM3 --baud=115200
AI отправляет команду serial_write_and_read для чтения данных:
industrial_command(protocol='serial', command='serial_write_and_read', data='READ_LUX\n')
Bridge отправляет команду на Arduino, получает ответ (например, "450 lux") и возвращает AI. AI может настроить автоматическую отправку данных в Telegram каждые 30 минут.
Почему это выгодно?
- Экономия времени: AI пишет код за секунды вместо часов ручной разработки.
- Гибкость: не нужно ждать обновлений прошивки — подключай любое устройство через диалог.
- Масштабирование: один AI-агент обслуживает сотни датчиков, анализирует тренды и предсказывает отказы.
- Простота: даже без опыта программирования можно настроить мониторинг умного города.
Заключение
Интеграция Smart City sensors с AI-агентом ASI Biont превращает разрозненные датчики в единую интеллектуальную систему. AI сам подключается к MQTT-брокерам, Modbus-контроллерам, Raspberry Pi по SSH или Arduino через COM-порт — достаточно описать задачу в чате. Не нужно писать код вручную, настраивать панели управления или ждать обновлений. Попробуйте интеграцию прямо сейчас на asibiont.com и автоматизируйте мониторинг вашего умного города за минуты.
Комментарии