Зачем подключать BLE-модули к AI-агенту?
Bluetooth-модули HM-10 (BLE) и HC-05 (классический Bluetooth) — одни из самых популярных способов добавить беспроводную связь в проекты на Arduino, ESP32 и других микроконтроллерах. С их помощью можно управлять светом, моторами, считывать данные с датчиков температуры, влажности, расстояния. Однако написание кода для каждого сценария вручную — рутина. AI-агент ASI Biont берёт на себя всю интеграцию: вы описываете задачу на естественном языке, а AI сам пишет Python-скрипт, подключается к устройству через Hardware Bridge и выполняет команды. Это ускоряет разработку прототипов в 5–10 раз.
Как ASI Biont подключается к BLE-устройствам?
ASI Biont не имеет прямого доступа к COM-портам вашего ПК — он работает в облаке. Для связи с локальным железом используется Hardware Bridge — приложение bridge.py, которое вы запускаете на своём компьютере. Bridge соединяется с ASI Biont через WebSocket (единственный канал) и открывает доступ к COM-портам, к которым подключены HM-10 или HC-05. AI отправляет команды через инструмент industrial_command с протоколом serial:// — bridge принимает их, пишет в порт и возвращает ответ.
Пошаговая настройка
- Скачайте bridge.py из дашборда ASI Biont (Devices → Create API Key → Скачать bridge).
- Установите зависимости:
pip install pyserial requests websockets. - Подключите модуль к ПК через USB-UART переходник (например, CP2102 или CH340G).
- Запустите bridge:
bash python bridge.py --token=ВАШ_ТОКЕН --ports=COM3 --baud 9600
Флаг--portsуказывает порт,--baud— скорость (для HC-05 по умолчанию 9600, для HM-10 — 9600 или 115200).
Теперь AI может общаться с модулем через чат. Пример запроса: «Подключись к COM3 на скорости 9600, отправь AT-команду и покажи ответ». AI выполнит industrial_command(protocol='serial://', command='serial_write_and_read', data='41540d0a') (HEX для "AT\r\n").
Сценарий 1: Управление светодиодом через HC-05
Задача: Подключить Arduino Uno с HC-05 и светодиодом на пине 13. Через чат ASI Biont включать и выключать светодиод по командам "LED_ON" и "LED_OFF".
Прошивка Arduino (загружается один раз):
#include <SoftwareSerial.h>
SoftwareSerial BTSerial(10, 11); // RX, TX
void setup() {
pinMode(13, OUTPUT);
BTSerial.begin(9600);
}
void loop() {
if (BTSerial.available()) {
String cmd = BTSerial.readStringUntil('\n');
cmd.trim();
if (cmd == "LED_ON") digitalWrite(13, HIGH);
else if (cmd == "LED_OFF") digitalWrite(13, LOW);
BTSerial.println("OK: " + cmd);
}
}
Интеграция с ASI Biont:
Пользователь пишет в чате: «Включи светодиод на HC-05, порт COM3, скорость 9600». AI отправляет:
industrial_command(
protocol='serial://',
command='serial_write_and_read',
data='4c45445f4f4e0a' # "LED_ON\n" в HEX
)
Bridge пишет LED_ON\n в COM3, получает ответ OK: LED_ON и возвращает его в чат. Всё — светодиод горит.
Сценарий 2: Чтение температуры с HM-10 (BLE)
Задача: ESP32 с HM-10 и датчиком DHT22 передаёт температуру по BLE. AI должен каждые 10 минут проверять значение и отправлять уведомление в Telegram, если температура превышает 30°C.
Способ подключения: Через MQTT. ESP32 публикует данные в топик sensor/temp, ASI Biont подписывается через execute_python с библиотекой paho-mqtt.
Код на ESP32 (MicroPython):
import time
import dht
from machine import Pin
from umqtt.simple import MQTTClient
d = dht.DHT22(Pin(4))
client = MQTTClient("esp32", "broker.emqx.io")
client.connect()
while True:
d.measure()
temp = d.temperature()
client.publish(b"sensor/temp", str(temp).encode())
time.sleep(600)
AI-скрипт в ASI Biont (выполняется в sandbox):
import paho.mqtt.client as mqtt
import requests
def on_message(client, userdata, msg):
temp = float(msg.payload.decode())
if temp > 30:
# Отправка в Telegram
token = "ВАШ_ТОКЕН"
chat_id = "ID_ЧАТА"
requests.post(
f"https://api.telegram.org/bot{token}/sendMessage",
json={"chat_id": chat_id, "text": f"Температура {temp}°C превышает норму!"}
)
client = mqtt.Client()
client.on_message = on_message
client.connect("broker.emqx.io", 1883, 60)
client.subscribe("sensor/temp")
client.loop_forever() # sandbox имеет таймаут 30 сек, для продакшена используйте loop_start()
Пользователь просто говорит: «Подпишись на топик sensor/temp, если температура выше 30 — отправь мне в Telegram». AI сам генерирует и запускает код.
Сравнение способов интеграции
| Параметр | Hardware Bridge (COM-порт) | MQTT | SSH |
|---|---|---|---|
| Устройства | HC-05, HM-10 через UART | ESP32 с BLE | Raspberry Pi с Bluetooth-адаптером |
| Задержка | <10 мс (локально) | 50–200 мс (через брокер) | 20–100 мс (сеть) |
| Надёжность | Высокая (прямое соединение) | Средняя (зависит от сети) | Высокая |
| Сложность настройки | Низкая (один bridge) | Средняя (нужен брокер) | Средняя (нужен SSH-ключ) |
Почему это выгодно?
- Экономия времени: AI пишет код интеграции за секунды, а не часы.
- Гибкость: можно подключать любые BLE-устройства без ожидания обновлений платформы.
- Доступность: не нужно знать тонкости протоколов — опишите задачу словами.
Заключение
Интеграция BLE-модулей HM-10 и HC-05 с AI-агентом ASI Biont через Hardware Bridge или MQTT открывает безграничные возможности для быстрого прототипирования и автоматизации. Управляйте светом, моторами, датчиками — просто разговаривая с AI. Попробуйте сами на asibiont.com — скачайте bridge, подключите модуль и дайте первую команду в чате.
Комментарии