Введение
Когда речь заходит об Edge AI, Raspberry Pi остаётся одной из самых доступных платформ для запуска моделей машинного обучения на периферии. Благодаря TensorFlow Lite и ONNX Runtime, одноплатник способен выполнять инференс в реальном времени — от классификации изображений до детекции объектов. Но как сделать так, чтобы результаты работы модели не оставались "на борту", а становились частью автоматизированных сценариев — уведомлений в Telegram, управления умным домом, логирования в базу данных?
Здесь на помощь приходит AI-агент ASI Biont. Он берёт на себя роль интеграционного хаба: подключается к Raspberry Pi по SSH, запускает скрипты инференса, анализирует результаты и инициирует действия в других системах. В этой статье мы разберём, как настроить такую связку на реальном примере — детекция объектов с камеры и отправка оповещений.
Почему Raspberry Pi + TensorFlow Lite / ONNX Runtime?
Raspberry Pi 4 и 5 оснащены 4-ядерным процессором ARM Cortex-A72/A76 и до 8 ГБ ОЗУ, что позволяет запускать лёгкие нейросети. TensorFlow Lite оптимизирован для мобильных и встраиваемых устройств: модели конвертируются в формат .tflite и выполняются с использованием аппаратного ускорителя (GPU или TPU через Coral Edge TPU). ONNX Runtime, в свою очередь, даёт возможность запускать модели из PyTorch, TensorFlow, Scikit-learn и других фреймворков на ARM-архитектуре.
Согласно отчёту MLCommons за 2025 год, Raspberry Pi 5 способен обрабатывать до 30 кадров в секунду при использовании MobileNetV2 в TensorFlow Lite, что делает его пригодным для задач видеонаблюдения и контроля качества.
Как ASI Biont подключается к Raspberry Pi
ASI Biont не требует установки агента на Raspberry Pi. Всё взаимодействие строится через SSH-соединение. AI-агент пишет Python-скрипт с использованием библиотеки paramiko, который выполняется в облачном sandbox ASI Biont (на платформе Railway). Скрипт подключается к Raspberry Pi по SSH, отправляет команды, запускает скрипты инференса и получает результаты.
Важно: execute_python в ASI Biont не имеет доступа к локальным COM-портам пользователя, но SSH-соединение — это штатный способ управления одноплатниками. Пользователю нужно лишь указать IP-адрес, логин и пароль или SSH-ключ в диалоге с AI.
Практический сценарий: детекция объектов с камеры и уведомления в Telegram
Рассмотрим реальный кейс: на производственной линии стоит Raspberry Pi с камерой, на которой запущена модель SSD MobileNet V2 (TensorFlow Lite). Задача — при обнаружении дефекта (например, трещины на детали) отправить фото и описание в Telegram-чат технолога.
Шаг 1. Пользователь описывает задачу в чате ASI Biont
Пример запроса:
«Подключись к моей Raspberry Pi по SSH (IP: 192.168.1.100, логин: pi, пароль: raspberry). Запусти скрипт детекции объектов на камере, используй модель из /home/pi/model.tflite. Если модель обнаруживает объект с уверенностью >0.8, отправь фото в Telegram на токен 123456:ABC и chat_id 987654.»
Шаг 2. AI-агент генерирует и выполняет код
ASI Biont пишет Python-скрипт, который:
1. Подключается к Raspberry Pi по SSH.
2. Копирует на одноплатник скрипт инференса (если его нет).
3. Запускает инференс на последнем кадре с камеры.
4. При обнаружении объекта загружает фото в облачное хранилище (или кодирует в base64).
5. Отправляет сообщение в Telegram через HTTP API.
Пример кода, который генерирует AI:
import paramiko
import requests
import json
# Параметры подключения
host = "192.168.1.100"
username = "pi"
password = "raspberry"
# Telegram
bot_token = "123456:ABC"
chat_id = "987654"
# SSH-клиент
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(host, username=username, password=password)
# Команда для запуска инференса (предполагаем, что скрипт inference.py уже на Pi)
stdin, stdout, stderr = ssh.exec_command("python3 /home/pi/inference.py --model /home/pi/model.tflite --camera 0")
output = stdout.read().decode()
error = stderr.read().decode()
if error:
print(f"Ошибка: {error}")
else:
# Парсим результат (предполагаем, что скрипт выводит JSON)
result = json.loads(output)
if result["confidence"] > 0.8:
# Отправляем фото в Telegram
photo_path = result["photo_path"]
with open(photo_path, "rb") as photo:
requests.post(
f"https://api.telegram.org/bot{bot_token}/sendPhoto",
data={"chat_id": chat_id, "caption": f"Обнаружен объект: {result['label']} (уверенность: {result['confidence']:.2f})"},
files={"photo": photo}
)
print(f"Уведомление отправлено: {result['label']}")
ssh.close()
Важно: Этот код выполняется в sandbox ASI Biont с таймаутом 30 секунд. Если инференс занимает больше времени, AI разобьёт задачу на несколько шагов или настроит фоновый скрипт на Raspberry Pi с отправкой результатов через MQTT.
Альтернативный способ: MQTT-мост
Если Raspberry Pi уже публикует результаты инференса в MQTT-топик (например, factory/vision/defects), ASI Biont может подписаться на этот топик через execute_python с библиотекой paho-mqtt. Это удобно для непрерывного мониторинга:
import paho.mqtt.client as mqtt
import json
def on_message(client, userdata, msg):
data = json.loads(msg.payload)
if data["confidence"] > 0.8:
# Отправка в Telegram или другую систему
print(f"Дефект: {data['label']}")
client = mqtt.Client()
client.on_message = on_message
client.connect("broker.hivemq.com", 1883, 60)
client.subscribe("factory/vision/defects")
client.loop_start() # не блокирует выполнение
Такой скрипт работает в фоне и обрабатывает каждое сообщение от Raspberry Pi.
Другие сценарии интеграции
| Сценарий | Способ подключения | Что делает AI-агент |
|---|---|---|
| Классификация изображений с камеры | SSH | Запускает модель TensorFlow Lite на последнем кадре, отправляет результат в базу данных |
| Анализ аудиопотока (детекция шумов) | SSH + MQTT | Raspberry Pi публикует спектрограмму в топик, ASI Biont анализирует через ONNX Runtime |
| Управление сервоприводами по результатам ML | SSH | AI запускает скрипт, который на основе инференса поворачивает серву через GPIO |
| Промышленный контроль качества | Modbus/TCP + SSH | Raspberry Pi читает данные с PLC через Modbus, AI запускает модель предсказания дефектов |
Почему не нужно писать код вручную?
Традиционная интеграция Raspberry Pi с AI-сервисами требует написания десятков строк кода, настройки SSH-ключей, установки библиотек, отладки соединений. С ASI Biont достаточно описать задачу на естественном языке — AI сам генерирует рабочий скрипт с использованием paramiko, paho-mqtt, aiohttp или pymodbus, и выполняет его в защищённом sandbox.
Это особенно ценно для инженеров, которые хотят быстро прототипировать решения Edge AI без глубокого погружения в детали сетевого программирования. Например, чтобы подключить ONNX Runtime к Raspberry Pi, AI напишет скрипт, который установит необходимые пакеты, загрузит модель из Hugging Face Hub и запустит инференс — всё за один диалог.
Выводы
Интеграция Raspberry Pi с TensorFlow Lite и ONNX Runtime через ASI Biont открывает путь к созданию автономных систем Edge AI, управляемых через естественный язык. Будь то детекция дефектов на производстве, умное видеонаблюдение или анализ данных с датчиков — AI-агент берёт на себя всю рутину по интеграции, оставляя пользователю только постановку задачи.
Попробуйте сами: подключите свою Raspberry Pi к ASI Biont на asibiont.com и автоматизируйте любой сценарий за минуты.
Комментарии