Введение
Jetson Nano и Jetson Orin — это мощные одноплатные компьютеры от NVIDIA, предназначенные для задач искусственного интеллекта на периферии (edge AI). Они способны выполнять нейросетевые вычисления в реальном времени: распознавание объектов, детекцию аномалий на видеопотоке, обработку изображений с камер. Однако настройка таких систем требует написания кода на Python, установки зависимостей (PyTorch, TensorRT, OpenCV), настройки MQTT-брокера или REST API для передачи данных. Это отнимает часы, а то и дни.
AI-агент ASI Biont (asibiont.com) решает эту проблему. Вместо того чтобы вручную писать скрипты для каждого модуля — захвата кадра, инференса модели, отправки результатов — вы просто описываете задачу в чате. AI сам генерирует код, подключается к Jetson по SSH, запускает модель YOLO или ResNet, публикует результаты в MQTT и управляет реакциями (включение света, отправка уведомления, запись в базу данных). В этой статье — практическое руководство по интеграции Jetson Nano/Orin с ASI Biont.
Зачем подключать Jetson к AI-агенту?
Jetson — это не просто мини-компьютер. Это платформа, на которой можно развернуть полноценную систему компьютерного зрения. Но без AI-агента вы сами отвечаете за:
- написание кода для захвата кадров с камеры (USB, CSI, RTSP);
- загрузку и оптимизацию модели (TensorRT);
- обработку результатов и принятие решений (включить/выключить устройство);
- мониторинг и логирование.
ASI Biont автоматизирует все эти этапы. Вы говорите: «Подключись к Jetson по SSH, запусти детекцию людей на видео с IP-камеры, если человек появился — отправь мне Telegram-сообщение». AI сам пишет код, выполняет его и поддерживает работу в фоне.
Способ подключения: SSH через execute_python
Для Jetson Nano/Orin используется SSH-подключение через библиотеку paramiko. AI пишет Python-скрипт, который выполняется в sandbox-окружении ASI Biont (на облачном сервере). Скрипт использует paramiko для соединения с устройством по SSH, передаёт команды, копирует файлы и запускает скрипты на самом Jetson.
Почему именно SSH?
- Jetson работает под управлением Linux (Ubuntu), имеет полный стек Python.
- SSH даёт доступ к терминалу, GPIO, камере (через GStreamer или OpenCV).
- Не требует установки дополнительного ПО на стороне Jetson — достаточно включённого SSH-сервера.
Альтернативные способы (MQTT, HTTP API) тоже поддерживаются, но SSH — самый гибкий: вы можете запускать любые скрипты, устанавливать пакеты, управлять системой.
Конкретный сценарий: детекция дефектов на конвейере
Задача: На заводе установлена камера, подключённая к Jetson Orin. Нужно в реальном времени обнаруживать дефектные детали на конвейере. При обнаружении дефекта — остановить конвейер через реле (ESP32 по MQTT) и отправить фото в Telegram.
Решение с ASI Biont:
-
Пользователь пишет в чат: «Подключись к Jetson по SSH (IP: 192.168.1.100, логин: nvidia, пароль: nvidia). Запусти детекцию дефектов на видео с камеры /dev/video0, используй модель YOLOv8n. Если дефект найден, отправь фото в Telegram по этому токену и chat_id: ... Также опубликуй команду 'STOP' в MQTT топик factory/conveyor.»
-
AI генерирует скрипт и выполняет его в sandbox:
import paramiko
import json
import base64
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('192.168.1.100', username='nvidia', password='nvidia')
# Копируем скрипт детекции на Jetson
script = '''
import cv2
import torch
from ultralytics import YOLO
import paho.mqtt.client as mqtt
import requests
model = YOLO("yolov8n.pt")
cap = cv2.VideoCapture(0)
while True:
ret, frame = cap.read()
if not ret:
break
results = model(frame)
for r in results:
if r.boxes and len(r.boxes) > 0:
# Отправляем фото в Telegram
_, buffer = cv2.imencode('.jpg', frame)
img_b64 = base64.b64encode(buffer).decode()
requests.post(
"https://api.telegram.org/bot<TOKEN>/sendPhoto",
json={"chat_id": "<CHAT_ID>", "photo": img_b64}
)
# Останавливаем конвейер
client = mqtt.Client()
client.connect("broker.emqx.io", 1883, 60)
client.publish("factory/conveyor", "STOP")
client.disconnect()
break
'''
# Записываем скрипт на Jetson и запускаем
stdin, stdout, stderr = ssh.exec_command('cat > /home/nvidia/detect.py << \'EOF\'\n' + script + '\nEOF')
stdin, stdout, stderr = ssh.exec_command('python3 /home/nvidia/detect.py &')
print("Детекция запущена")
-
AI выполняет этот код в sandbox (таймаут 30 секунд — достаточно для запуска фонового процесса на Jetson).
-
Результат: на Jetson крутится процесс детекции, при обнаружении дефекта — фото уходит в Telegram, конвейер останавливается.
Альтернативный сценарий: MQTT-мост без SSH
Если SSH недоступен (например, Jetson находится за NAT), можно использовать MQTT. Jetson публикует кадры в топик, ASI Biont подписывается и анализирует.
Пример: Jetson захватывает кадр, сжимает в JPEG, отправляет в MQTT топик camera/frames. AI-агент получает сообщение, распознаёт объекты (через OpenCV или Hugging Face), и публикует результат в другой топик.
Код на стороне Jetson (MicroPython/Python):
import paho.mqtt.client as mqtt
import cv2
import base64
cap = cv2.VideoCapture(0)
client = mqtt.Client()
client.connect("broker.emqx.io", 1883, 60)
while True:
ret, frame = cap.read()
if ret:
_, buffer = cv2.imencode('.jpg', frame)
img_b64 = base64.b64encode(buffer).decode()
client.publish("camera/frames", img_b64)
Код в ASI Biont (выполняется через execute_python):
import paho.mqtt.client as mqtt
import base64
import cv2
import numpy as np
def on_message(client, userdata, msg):
img_b64 = msg.payload.decode()
img_bytes = base64.b64decode(img_b64)
np_arr = np.frombuffer(img_bytes, np.uint8)
frame = cv2.imdecode(np_arr, cv2.IMREAD_COLOR)
# Здесь можно запустить модель (например, через ONNX Runtime)
# или отправить в Telegram
print("Получен кадр, размер:", len(img_bytes))
client = mqtt.Client()
client.on_message = on_message
client.connect("broker.emqx.io", 1883, 60)
client.subscribe("camera/frames")
client.loop_start()
Обратите внимание: бесконечного цикла while True нет — используется асинхронный loop_start(), который не блокирует выполнение.
Как подключить устройство: пошаговая инструкция
- Зарегистрируйтесь на asibiont.com и создайте нового AI-агента.
- В чате опишите устройство: «У меня есть Jetson Nano с IP 192.168.1.100, SSH включён, логин nvidia, пароль nvidia. Хочу запустить детекцию людей с камеры.»
- AI спросит уточняющие параметры: какую модель использовать (YOLOv8, MobileNet), куда отправлять результаты (Telegram, MQTT, HTTP), как часто обрабатывать кадры.
- AI сгенерирует код, выполнит его в sandbox, подключится к Jetson по SSH и запустит процесс.
- Всё. Никаких панелей управления, кнопок «добавить устройство» — только диалог.
Почему это выгодно?
- Скорость: интеграция занимает минуты, а не дни.
- Гибкость: можно подключать любые модели (YOLO, ResNet, EfficientNet) и любые протоколы (MQTT, HTTP, Modbus).
- Без кода: вы описываете задачу естественным языком, AI пишет код.
- Масштабируемость: один агент может управлять сотнями Jetson.
Заключение
Jetson Nano и Orin — идеальные устройства для edge AI, но их потенциал раскрывается только при интеграции с интеллектуальным агентом. ASI Biont берёт на себя всю рутину: написание кода, подключение по SSH, запуск моделей, обработку результатов. Вы просто формулируете задачу — AI её решает.
Попробуйте сами: зайдите на asibiont.com, создайте агента и опишите своё устройство. Увидите, как легко автоматизировать компьютерное зрение без единой строки кода.
Комментарии