BLE-модули HM-10 и HC-05 — классика DIY-умного дома. С их помощью можно управлять светом, читать датчики, открывать замки. Но написание кода для каждого сценария отнимает время. ASI Biont решает эту задачу: AI сам пишет интеграцию за секунды. В статье разберём, как подключить BLE-модуль к AI-агенту через Hardware Bridge и автоматизировать любые сценарии — от голосового включения лампы до мониторинга температуры.
Что такое HM-10 и HC-05 и зачем подключать к AI?
HM-10 (BLE 4.0, низкое энергопотребление) и HC-05 (классический Bluetooth 2.0) — UART-модули, которые работают как последовательный мост между микроконтроллером (Arduino, ESP32) и смартфоном или ПК. В умном доме их используют для:
- Управления реле (свет, ворота) через Bluetooth;
- Сбора данных с датчиков (температура, влажность, движение);
- Прозрачной передачи данных между устройствами.
Обычно управление идёт через мобильное приложение или скетч на Arduino. ASI Biont заменяет всё это: вы просто описываете задачу в чате, и AI подключается к модулю, выполняет команды и анализирует данные.
Способ подключения: Hardware Bridge + COM-порт
ASI Biont не имеет прямого доступа к локальным портам вашего ПК. Для работы с последовательным интерфейсом (UART) используется Hardware Bridge — Python-скрипт bridge.py, который запускается на вашем компьютере. Он соединяется с облаком ASI Biont через WebSocket (единственный канал) и передаёт команды в COM-порт и обратно.
Почему этот способ? HM-10/HC-05 подключаются к ПК через USB-UART адаптер (например, CP2102) или встроены в Arduino/ESP32, который уже связан с ПК по USB. AI не может напрямую писать в порт из облака — нужен посредник. Bridge — безопасное, атомарное решение: каждая команда — это serial_write_and_read(data), где data передаётся в hex или как escape-последовательность.
Сценарий 1: Управление светом по Bluetooth
Допустим, у вас есть Arduino с HC-05 и реле. Когда на пин 8 приходит HIGH, реле включает лампу. Вы хотите включать/выключать свет через Telegram.
Что делает AI:
1. Пользователь скачивает bridge.py из дашборда ASI Biont (раздел Devices → Create API Key → Скачать bridge).
2. Запускает bridge с параметрами: python bridge.py --token=ВАШ_ТОКЕН --ports=COM3 --baud 9600
3. В чате пишет: «Подключись к HC-05 на COM3, скорость 9600, включи свет — отправь команду "1" (символ '1')».
4. AI формирует вызов инструмента:
industrial_command(
protocol='serial',
command='serial_write_and_read',
data='310D0A', # '1' + CR + LF в hex
port='COM3',
baud=9600
)
- Bridge отправляет
31 0D 0Aв порт, Arduino получает «1» и включает реле. Ответ (если есть) возвращается AI.
Важно: в AT-режиме HC-05 отвечает на AT-команды. AI может сначала проверить связь:data='41540D0A'(AT+CR+LF) и ждать ответ «OK». Затем настроить модуль: роль, имя, пин.
Сценарий 2: Мониторинг температуры с датчиком DHT11
Arduino Nano + HM-10 (BLE) + DHT11. Arduino каждые 5 секунд отправляет строку вида T:25.3 H:60.1\n. Вы хотите получать уведомления в Telegram, если температура превышает 30°C.
Как AI решает:
1. Bridge уже запущен.
2. Пользователь просит: «Читай данные с HM-10 на COM5, 115200 baud, каждые 10 секунд. Если температура > 30, отправь мне в Telegram предупреждение».
3. AI генерирует Python-скрипт, который выполняется в execute_python (sandbox). Скрипт использует serial_write_and_read через bridge (но это tool call, не напрямую). На самом деле AI будет циклически вызывать industrial_command с data='' (пустой запрос) и анализировать ответы.
Пример кода, который AI выполняет в sandbox:
import requests
import time
TOKEN = 'ваш_телеграм_токен'
CHAT_ID = '123456'
while True:
# Этот код не может быть выполнен в sandbox (таймаут 30 сек), поэтому AI использует другой подход:
# Он планирует периодические проверки через триггеры.
# Но для демонстрации: однократное чтение
response = industrial_command(
protocol='serial',
command='serial_write_and_read',
data='', # просто читаем
port='COM5',
baud=115200
)
data = response['data'] # строка от Arduino
if 'T:' in data:
temp = float(data.split('T:')[1].split()[0])
if temp > 30:
requests.post(f'https://api.telegram.org/bot{TOKEN}/sendMessage', json={'chat_id': CHAT_ID, 'text': f'Температура превысила 30°C: {temp}'})
Важно: реальный скрипт не может содержать бесконечный цикл; AI использует industrial_command как отдельные вызовы, а для периодичности — внешние триггеры (вебхуки, cron на сервере).
Сценарий 3: Настройка HM-10 через AT-команды
При первом подключении нужно перевести модуль в AT-режим (зажать кнопку на модуле при подаче питания). Затем:
industrial_command(
protocol='serial',
command='serial_write_and_read',
data='41540D0A', # AT
port='COM3',
baud=38400 # типичная скорость для AT-режима HM-10
)
AI получит ответ «OK». Далее может установить имя: AT+NAMEmyLight, роль: AT+ROLE0 (slave), и т.д.
Как это работает: диалог вместо кнопок
Вам не нужно добавлять устройство в панель управления. Просто описываете в чате:
«Подключись к моему HM-10 на COM4, скорость 9600, пошли AT-команду и покажи ответ».
AI сам вызоветindustrial_commandс правильными аргументами. Если нужно управлять светом голосом — подключите Telegram-бота (интеграция через триггеры), и AI будет интерпретировать голосовые сообщения.
Почему это выгодно?
- Экономия времени: AI пишет код интеграции за секунды, не нужно разбираться в pyserial, curses или протоколах.
- Гибкость: можно подключить любое Bluetooth-устройство, которое общается через UART — от фитнес-браслетов до промышленных BLE-датчиков.
- Единый интерфейс: управление через Telegram, веб-чат или голосом.
- Автоматизация: AI сам анализирует данные и принимает решения (например, включить реле при высокой температуре).
Технические детали для надёжности
На Windows bridge автоматически применяет CancelIoEx (отмена зависших overlapped операций) и PurgeComm (очистка буферов) при проблемах записи. Это решает известные баги pyserial с USB-UART адаптерами. Если вы используете HC-05 в режиме AT, убедитесь, что скорость соответствует (обычно 38400). Для передачи данных (прозрачный режим) — 9600 или 115200.
Заключение
Интеграция BLE-модулей с AI-агентом ASI Biont превращает обычный Bluetooth-мост в полноценный умный дом с голосовым управлением и интеллектуальной автоматизацией. Вам не нужно писать код — просто опишите задачу, и AI сделает всё сам.
Попробуйте сами: скачайте bridge в дашборде ASI Biont, подключите HM-10/HC-05 и введите в чат: «Подключись к COM3 и проверь связь». Увидите, как AI берёт управление на себя.
Комментарии