Edge AI на практике: интеграция Arduino Nano BLE Sense (TinyML) с AI-агентом ASI Biont

Введение

Arduino Nano BLE Sense — это компактная плата на базе nRF52840, оснащённая набором сенсоров (акселерометр, гироскоп, микрофон, датчик температуры, влажности, давления, цвета и жестов) и Bluetooth Low Energy (BLE). Её главная фишка — возможность запуска моделей машинного обучения прямо на микроконтроллере (TinyML) с использованием TensorFlow Lite Micro. Это открывает двери для on-device ML: анализ вибраций, распознавание голосовых команд, детекция жестов — всё без отправки данных в облако.

Но что, если мы хотим не только запустить модель на плате, но и связать её с внешним миром: отправлять уведомления при аномалиях, сохранять логи в базу данных, управлять умным домом? Тут на помощь приходит AI-агент ASI Biont. Вместо того чтобы писать сложный бэкенд для интеграции, вы просто описываете задачу в чате, и AI сам пишет код подключения, используя execute_python или Hardware Bridge. В этой статье мы разберём, как загрузить TinyML-модель на Arduino Nano BLE Sense для распознавания жестов, а затем подключить плату к ASI Biont через BLE и MQTT для автоматизации сценариев.

Зачем подключать Arduino Nano BLE Sense к AI-агенту?

Arduino Nano BLE Sense — это мощный инструмент для edge computing. Однако его возможности ограничены локальной обработкой. Связка с AI-агентом даёт:
- Удалённый мониторинг: AI может читать данные сенсоров через BLE и анализировать их в реальном времени.
- Автоматизация: при обнаружении жеста (например, взмах руки) AI может отправить команду в Telegram, включить свет через MQTT или записать событие в базу данных.
- Гибкость: не нужно писать серверную часть — AI генерирует код за секунды.
- Расширение сценариев: on-device ML фильтрует шум, а облачный AI принимает решения на основе глобальных данных.

Как ASI Biont подключается к Arduino Nano BLE Sense?

Arduino Nano BLE Sense поддерживает несколько способов подключения:
1. BLE (Bluetooth Low Energy): через UART-сервис или пользовательские характеристики. Это беспроводной вариант, но требует bridge-устройства (например, Raspberry Pi или ПК с Bluetooth-адаптером).
2. COM-порт (USB): через Hardware Bridge. Пользователь запускает bridge.py на ПК, который соединяется с ASI Biont через WebSocket. AI отправляет команды через industrial_command с протоколом serial://.
3. MQTT: если на плате установлен Wi-Fi-модуль (например, ESP32), но в нашем случае используется BLE, поэтому MQTT напрямую не поддерживается. Однако можно использовать промежуточное устройство (Raspberry Pi) как MQTT-брокер.

В нашем сценарии мы используем COM-порт через Hardware Bridge — это самый надёжный способ для отладки и прототипирования. Плата подключается к ПК по USB, bridge.py открывает COM-порт, и AI получает прямой доступ к последовательному интерфейсу.

Сценарий: распознавание жестов и управление умным домом

Проблема

У вас есть Arduino Nano BLE Sense с акселерометром (LSM9DS1). Вы обучили TinyML-модель (например, с помощью TensorFlow Lite Micro) распознавать три жеста: «хлопок», «взмах влево», «взмах вправо». Модель запускается на плате и выводит результат через Serial (UART) в виде строки GESTURE:LEFT или GESTURE:CLAP. Вы хотите, чтобы при распознавании жеста:
- «хлопок» — включался свет в гостиной (через умную розетку с HTTP API),
- «взмах влево» — отправлялось уведомление в Telegram,
- «взмах вправо» — запускался скрипт на Raspberry Pi (например, воспроизведение музыки).

Решение

  1. Загрузите модель на плату и настройте вывод результата в Serial через Serial.println("GESTURE:LEFT").
  2. Подключите плату к ПК через USB и определите номер COM-порта (например, COM3 на Windows, /dev/ttyACM0 на Linux).
  3. Скачайте bridge.py из дашборда ASI Biont (Devices → Create API Key → Скачать bridge).
  4. Запустите bridge.py на ПК с параметрами:
    bash pip install pyserial requests websockets python bridge.py --token=YOUR_API_TOKEN --ports=COM3 --baud 115200
    Bridge подключится к ASI Biont через WebSocket и откроет COM-порт.
  5. В чате с ASI Biont напишите: «Подключись к Arduino на COM3 (115200 baud). Читай строки каждые 100 мс. Если строка содержит "GESTURE:LEFT", отправь "WARNING" в Telegram (токен бота: ...). Если "GESTURE:CLAP", включи свет через HTTP POST на 192.168.1.100/api/toggle. Если "GESTURE:RIGHT", выполни скрипт на Raspberry Pi по SSH (IP: 192.168.1.50, user: pi, pass: ...) командой "python3 /home/pi/play_music.py"». AI выполнит задачу, сгенерировав и запустив код.

Пример кода, который генерирует AI

AI пишет Python-скрипт для execute_python, который подключается к bridge через industrial_command, читает данные и выполняет действия. Ниже — упрощённая версия того, что делает AI (реальный код генерируется динамически):

import requests
import time
import json

# Параметры
BAUD = 115200
PORT = "COM3"
TELEGRAM_BOT_TOKEN = "YOUR_BOT_TOKEN"
TELEGRAM_CHAT_ID = "YOUR_CHAT_ID"
LIGHT_URL = "http://192.168.1.100/api/toggle"
SSH_HOST = "192.168.1.50"
SSH_USER = "pi"
SSH_PASS = "password"

# Функция отправки в Telegram
def send_telegram(text):
    url = f"https://api.telegram.org/bot{TELEGRAM_BOT_TOKEN}/sendMessage"
    data = {"chat_id": TELEGRAM_CHAT_ID, "text": text}
    requests.post(url, json=data)

# Функция включения света
def toggle_light():
    requests.post(LIGHT_URL)

# Функция выполнения команды по SSH
def run_ssh(command):
    import paramiko
    client = paramiko.SSHClient()
    client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    client.connect(SSH_HOST, username=SSH_USER, password=SSH_PASS)
    stdin, stdout, stderr = client.exec_command(command)
    client.close()

# Чтение через bridge (симулировано — реально используется industrial_command)
# В execute_python мы не имеем прямого доступа к COM, поэтому используем tool call
# Ниже — пример, как AI вызывает инструмент

Обратите внимание: в реальности AI не пишет бесконечный цикл (так как sandbox имеет таймаут 30 секунд). Вместо этого AI использует industrial_command с протоколом serial:// для атомарного чтения и записи. Пример вызова из чата:

industrial_command(
    protocol='serial://',
    command='serial_write_and_read',
    params={
        'port': 'COM3',
        'baud': 115200,
        'data': '47245353545552453a4c4546540a'  # hex для "GESTURE:LEFT\n"
    }
)

Но чаще AI использует execute_python с библиотекой pyserial через Hardware Bridge — он подключается к bridge, который выполняется на ПК пользователя, и bridge сам читает данные. AI пишет скрипт, который отправляет команды в bridge через WebSocket (это делает sandbox-окружение).

Пошаговый план для пользователя

  1. Подготовьте плату: загрузите скетч с TinyML-моделью, который выводит результат в Serial.
  2. Установите bridge: скачайте bridge.py из дашборда ASI Biont, установите зависимости (pip install pyserial requests websockets).
  3. Запустите bridge: python bridge.py --token=ВАШ_ТОКЕН --ports=COM3 --baud 115200.
  4. Опишите задачу в чате: например, «Читай данные с Arduino на COM3, при появлении "GESTURE:CLAP" включи свет через HTTP POST на http://192.168.1.100/on». AI сгенерирует и выполнит код.
  5. Наслаждайтесь автоматизацией: AI будет мониторить порт и выполнять действия.

Результаты и выводы

Интеграция Arduino Nano BLE Sense с ASI Biont через Hardware Bridge позволяет объединить on-device ML (TinyML) с облачным ИИ без написания бэкенда. В нашем примере:
- Скорость: настройка заняла 5 минут (скачать bridge, запустить, описать задачу).
- Гибкость: AI может подключаться к любым устройствам через execute_python — от умных розеток до PLC.
- Надёжность: bridge использует CancelIoEx и PurgeComm для стабильной работы на Windows.

Этот подход подходит для:
- Промышленного мониторинга (анализ вибраций на станках).
- Умного дома (распознавание жестов для управления светом).
- Медицинских устройств (детекция падений с акселерометра).

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

Вам не нужно писать код для интеграции — AI делает это за секунды. Просто опишите устройство и задачу в чате. ASI Biont поддерживает более 10 протоколов (COM, MQTT, Modbus, HTTP, SSH, OPC-UA и другие) и может подключаться к любому устройству через execute_python. Это экономит часы разработки и позволяет сосредоточиться на бизнес-логике.

Заключение

Arduino Nano BLE Sense — отличная платформа для TinyML, но её потенциал раскрывается в связке с AI-агентом. ASI Biont делает эту связку мгновенной: вы просто говорите, что нужно, и AI подключается, читает данные и автоматизирует сценарии. Попробуйте сами на asibiont.com — создайте API-ключ, скачайте bridge и опишите свою задачу в чате. Увидите, как легко edge AI встречается с облачным ИИ.

← Все статьи

Комментарии

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

Как ИИ-агент ASI Biont трансформирует интеграцию SAP S/4HANA: автоматизация ввода данных, отчетности и согласований с помощью no-code ERP-автоматизации

22 июля 2026

Koda Desktop: Как AI-инструмент для разработчика превратился в универсальную платформу для бизнеса

22 июля 2026

PN532 (NFC) + ASI Biont: AI-агент для управления доступом и инвентаризацией через NFC-метки

22 июля 2026

Как подключить ROS/ROS2 к AI-агенту ASI Biont: интеграция роботов без кода

22 июля 2026

Встраиваемый Linux и Интернет вещей: Почему обучение с ИИ — самый умный путь для инженеров в 2026 году

22 июля 2026

Как настроить CLAUDE.md для Claude Code: пошаговое руководство по Vibe Coding

22 июля 2026

Mobile Security — безопасность мобильных приложений (iOS и Android): как защитить данные и стать пентестером в 2026 году

22 июля 2026

Освоение количественных финансов и структурированных продуктов: обзор курса с искусственным интеллектом на 2026 год

22 июля 2026

Как AI-агент ASI Biont автоматизирует финансы через API Т-Банка: кейс интеграции без кода

22 июля 2026