Введение
Intel Neural Compute Stick 2 (NCS2) — это USB-ускоритель размером с флешку, который позволяет запускать нейросетевой инференс прямо на периферии, не отправляя видеопоток в облако. Он построен на базе процессора Intel Movidius Myriad X и поддерживает фреймворк OpenVINO. Однако написание кода для OpenVINO, настройка модели, загрузка на устройство и интеграция с AI-оркестрацией часто требуют часов ручной работы.
ASI Biont — AI-агент, который берёт на себя всю эту работу. Вы просто описываете задачу в чате: «Подключись к моей Raspberry Pi с Intel NCS и запусти детекцию людей с камеры». AI сам пишет Python-скрипт с paramiko, подключается по SSH к вашему одноплатнику, загружает и выполняет код инференса на OpenVINO, обрабатывает результат и возвращает его вам. Никаких панелей управления — только диалог.
В этой статье мы разберём реальный сценарий интеграции Intel Neural Compute Stick с ASI Biont: архитектуру, примеры кода, сравнение с облачными решениями и конкретные шаги для повторения.
Почему Edge AI, а не облако?
Intel NCS2 позволяет выполнять нейросетевые модели (FP16, INT8) с задержкой 10–50 мс на кадр для моделей типа MobileNet-SSD, YOLOv3-tiny или OpenPose. Для сравнения:
| Параметр | Облачный API (AWS Rekognition / Google Vision) | Intel NCS2 на Raspberry Pi 4 |
|---|---|---|
| Задержка на кадр | 300–1500 мс (включая передачу по сети) | 30–70 мс (локально) |
| Стоимость за 1000 детекций | ~$1–5 | $0 (электроэнергия) |
| Приватность | Данные уходят на сервер | Данные остаются локально |
| Зависимость от интернета | Критична | Не требуется |
Источник: собственные замеры на Raspberry Pi 4 4GB + NCS2 + OpenVINO 2023.3 (MobileNet-SSD v2, 300×300). Результаты согласуются с официальными бенчмарками Intel (intel.com/openvino/benchmarks).
Как ASI Biont подключается к Intel Neural Compute Stick?
NCS2 — это USB-устройство, у него нет собственного IP, COM-порта или MQTT. Он работает только в связке с хост-компьютером. Поэтому оптимальный способ интеграции — SSH к одноплатнику (Raspberry Pi, Jetson Nano, x86-бокс), к которому подключён NCS2.
ASI Biont использует execute_python — выполнение Python-кода в sandbox-окружении на сервере. Внутри этого окружения доступна библиотека paramiko. AI пишет скрипт, который:
1. Подключается к вашему устройству по SSH (IP, порт, логин, пароль или ключ).
2. Через SFTP загружает на устройство файлы (модель, скрипт инференса), если их ещё нет.
3. Запускает на устройстве Python-скрипт с OpenVINO, который читает кадры с камеры, прогоняет их через модель на NCS2 и сохраняет результат (например, JSON с координатами объектов).
4. Забирает результат обратно через SFTP или stdout и возвращает его в чат.
Весь процесс инициируется одним сообщением: «Подключись к моей Raspberry Pi по SSH на 192.168.1.100, пользователь pi, пароль raspberry, и запусти детекцию пешеходов с USB-камеры через NCS2. Результаты сохраняй в файл detections.json и покажи мне последние 10». AI генерирует полный рабочий код и выполняет его — вам не нужно трогать командную строку.
Реальный сценарий: Видеодетекция на проходной с уведомлением в Telegram
Представьте: на заводе установлена камера на проходной. Raspberry Pi 4 + Intel NCS2 непрерывно анализирует поток, детектирует людей. Если в кадре появляется более 5 человек за 10 секунд — ASI Biont отправляет оповещение в Telegram и сохраняет снимок в архив.
Вот как AI делает это за один промпт.
Шаг 1. AI генерирует скрипт для хост-машины (SSH + OpenVINO)
Пользователь пишет в чат ASI Biont:
«Установи OpenVINO на мою Raspberry Pi (IP 192.168.1.100, пользователь pi, пароль raspberry), загрузи модель MobileNet-SSD из Model Downloader, подключи USB-камеру, запусти детекцию и присылай мне каждые 30 секунд количество обнаруженных людей. Если за последние 10 секунд больше 5 человек — сохрани кадр в файл и отправь мне в Telegram».
AI внутри execute_python пишет и сразу выполняет следующий код (упрощённо):
import paramiko
import json
from io import StringIO
# Подключение к Raspberry Pi
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('192.168.1.100', username='pi', password='raspberry')
# Проверка установки OpenVINO
stdin, stdout, stderr = ssh.exec_command('source /opt/intel/openvino/bin/setupvars.sh && python3 -c "import openvino; print(openvino.__version__)"', timeout=30)
print(stdout.read().decode())
# Загрузка скрипта инференса на устройство
sftp = ssh.open_sftp()
with sftp.open('/home/pi/inference.py', 'w') as f:
f.write('''#!/usr/bin/env python3
import cv2
from openvino.inference_engine import IECore
import sys, json, time
ie = IECore()
net = ie.read_network(model='MobileNetSSD.xml', weights='MobileNetSSD.bin')
exec_net = ie.load_network(network=net, device_name='MYRIAD') # MYRIAD = NCS2
cap = cv2.VideoCapture(0)
detections = []
start = time.time()
while time.time() - start < 60:
ret, frame = cap.read()
if not ret:
break
res = exec_net.infer({'input': frame.transpose((2,0,1)).reshape(1,3,300,300)})
# ... обработка, подсчёт людей ...
count = ...
detections.append({'time': time.time(), 'count': count})
if count > 5:
cv2.imwrite('/home/pi/alarm_frame.jpg', frame)
print("ALARM: more than 5 people")
time.sleep(0.1)
cap.release()
print(json.dumps(detections))
''')
sftp.close()
# Запуск скрипта
stdin, stdout, stderr = ssh.exec_command('cd /home/pi && python3 inference.py', timeout=120)
result_json = stdout.read().decode()
print(result_json)
# Забрать аларм-кадр, если есть
sftp = ssh.open_sftp()
try:
alarm_file = sftp.open('/home/pi/alarm_frame.jpg', 'rb')
with open('/tmp/alarm_frame.jpg', 'wb') as out:
out.write(alarm_file.read())
# Отправка в Telegram
import requests
requests.post(f'https://api.telegram.org/bot{TOKEN}/sendPhoto',
files={'photo': ('alarm.jpg', open('/tmp/alarm_frame.jpg', 'rb'))},
data={'chat_id': CHAT_ID})
except FileNotFoundError:
pass
sftp.close()
ssh.close()
Важно: sandbox ASI Biont имеет таймаут 30 секунд для одного вызова execute_python, поэтому скрипт инференса не должен выполняться бесконечно (без
while True). В примере выше 60-секундный сеанс — это корректно. Для непрерывного мониторинга AI может настроить cron на Raspberry Pi, а затем периодически опрашивать результаты через SSH.
Шаг 2. AI забирает результат и выводит в чат
После выполнения кода AI формирует ответ пользователю:
✅ Инференс запущен. За 60 секунд обработано 534 кадра. Среднее количество людей в кадре: 2.1. Один раз зафиксировано превышение порога 5 человек (в 14:23:45) — сохранён кадр и отправлен в Telegram.
Модель MobileNet-SSD (300×300) на NCS2 отработала со средней задержкой 47 мс на кадр.
Шаг 3. Дальнейшая автоматизация
Пользователь может попросить AI настроить постоянный мониторинг: «Поставь скрипт на автозапуск при старте Raspberry Pi, а результаты агрегируй в InfluxDB на этом же устройстве и опрашивай раз в час». AI сгенерирует systemd unit, cron-запись, настроит MQTT-публикацию или любой другой протокол из доступных.
Другие протоколы для «нестандартных» устройств
Если ваше устройство не имеет SSH, но есть COM-порт, MQTT, Modbus, BACnet и т.д. — ASI Biont поддерживает их все через industrial_command или Hardware Bridge. Например, для Arduino с датчиком и NCS2 (который всё равно требует хост-компьютера) можно использовать:
- Hardware Bridge (bridge.py) — если Arduino подключена по USB к ПК, AI отправляет команды через WebSocket, bridge пишет в COM-порт. OpenVINO же работает на том же ПК.
- MQTT — если Raspberry Pi публикует результаты детекции в топик, ASI Biont подписывается и реагирует.
Но в случае с Intel NCS2 SSH — самый прямой и производительный путь.
Почему это выгодно?
- Ноль кода вручную — AI пишет 100% кода интеграции, включая обработку ошибок, повторные подключения, таймауты.
- Любая модель — AI знает OpenVINO Model Zoo и может подобрать модель под задачу (детекция, классификация, сегментация, поза человека).
- Гибкость стека — вы не привязаны к одному протоколу: сегодня SSH, завтра MQTT, послезавтра Modbus — AI адаптируется по вашему описанию.
- Экономия — не нужно покупать облачные GPU или платить за каждый запрос. Инференс на NCS2 обходится в копейки электричества.
Заключение
Intel Neural Compute Stick открывает доступ к быстрому и приватному Edge AI, но его интеграция в существующие процессы автоматизации часто упирается в написание кода, настройку окружений и отладку. ASI Biont решает эту проблему: вы описываете задачу — AI её выполняет. Откройте чат на asibiont.com, опишите своё устройство (Raspberry Pi, камера, NCS2) и получите готовую интеграцию за секунды.
Попробуйте уже сегодня — первый сеанс бесплатно.
Комментарии