Введение
Камеры OV2640 и OV7670 на базе ESP32-CAM — одни из самых доступных модулей для проектов компьютерного зрения. Стоимость модуля не превышает $10, а с интеграцией AI-агента ASI Biont обычная камера превращается в интеллектуальную систему видеонаблюдения, детекции движения, распознавания объектов и даже умного дверного звонка. В этой статье мы разберём, как подключить ESP32-CAM к ASI Biont через MQTT и SSH, настроить AI-анализ изображений и автоматизировать сценарии без сложного программирования.
Зачем подключать камеру к AI-агенту?
ESP32-CAM — это микроконтроллер с камерой, Wi-Fi и Bluetooth. Он умеет захватывать изображения, но не имеет встроенного AI-движка для анализа. ASI Biont решает эту проблему: AI-агент получает снимки, запускает модели компьютерного зрения (OpenCV, YOLO, TensorFlow Lite) и принимает решения — отправить уведомление в Telegram, включить свет, записать видео. Всё это происходит в реальном времени без участия человека.
Способы подключения ESP32-CAM к ASI Biont
AI-агент ASI Biont поддерживает несколько протоколов для интеграции с ESP32-CAM. Выбор зависит от вашей задачи:
| Протокол | Когда использовать | Пример сценария |
|---|---|---|
| MQTT | Когда ESP32-CAM отправляет изображения по Wi-Fi, а AI-агент анализирует их в облаке | Детекция движения, распознавание лиц |
| SSH | Когда у вас есть Raspberry Pi или ПК, к которому подключена камера через USB, и вы хотите запускать AI-модели локально | Локальный анализ видеопотока без задержек |
| HTTP API | Когда ESP32-CAM работает как веб-сервер, а AI-агент забирает снимки по HTTP | Умный дверной звонок, удалённый мониторинг |
Архитектура интеграции: ESP32-CAM → MQTT → ASI Biont
Рассмотрим самый популярный сценарий: ESP32-CAM захватывает изображение, отправляет его по MQTT на брокер, а ASI Biont подписывается на топик, получает снимок и запускает AI-анализ.
Шаг 1. Подготовка ESP32-CAM
Загрузите на ESP32-CAM скетч, который будет захватывать изображение с камеры OV2640 (или OV7670) и публиковать его в MQTT-топик. Для этого в Arduino IDE установите библиотеки:
- ESP32 (платформа)
- PubSubClient (MQTT)
- ESP32Camera (работа с камерой)
Пример кода для ESP32-CAM:
#include <WiFi.h>
#include <PubSubClient.h>
#include "esp_camera.h"
const char* ssid = "ваш_WiFi";
const char* password = "ваш_пароль";
const char* mqtt_server = "broker.hivemq.com";
const char* topic = "esp32cam/image";
WiFiClient espClient;
PubSubClient client(espClient);
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
}
client.setServer(mqtt_server, 1883);
client.connect("ESP32CAM");
camera_config_t config;
config.ledc_channel = LEDC_CHANNEL_0;
config.ledc_timer = LEDC_TIMER_0;
config.pin_d0 = Y2_GPIO_NUM;
// ... настройка пинов для OV2640
esp_camera_init(&config);
}
void loop() {
if (!client.connected()) {
client.connect("ESP32CAM");
}
client.loop();
camera_fb_t * fb = esp_camera_fb_get();
if (fb) {
client.publish(topic, fb->buf, fb->len);
esp_camera_fb_return(fb);
}
delay(5000); // отправляем каждые 5 секунд
}
Шаг 2. Подключение ASI Biont к MQTT-брокеру
В чате с AI-агентом ASI Biont опишите задачу:
«Подключись к MQTT-брокеру по адресу broker.hivemq.com:1883, подпишись на топик esp32cam/image, получи изображение, проанализируй его на наличие движения и, если движение обнаружено, отправь уведомление в Telegram».
AI-агент сгенерирует и выполнит Python-скрипт с использованием библиотеки paho-mqtt и Pillow для обработки изображения. Пример кода, который будет выполнен в sandbox:
import paho.mqtt.client as mqtt
from PIL import Image
import io
import requests
def on_message(client, userdata, msg):
# Преобразуем байты в изображение
image = Image.open(io.BytesIO(msg.payload))
# Простейшая детекция движения: сравниваем среднюю яркость
gray = image.convert('L')
avg_brightness = sum(gray.getdata()) / len(list(gray.getdata()))
if avg_brightness < 100: # если слишком темно — движение маловероятно
return
# Отправляем уведомление в Telegram
url = f"https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendMessage"
payload = {"chat_id": CHAT_ID, "text": "Обнаружено движение!"}
requests.post(url, json=payload)
client = mqtt.Client()
client.on_message = on_message
client.connect("broker.hivemq.com", 1883, 60)
client.subscribe("esp32cam/image")
client.loop_forever()
Шаг 3. Автоматизация сценариев
После того как AI-агент начал получать изображения, можно настроить более сложные сценарии:
- Распознавание объектов: используйте модель YOLOv8 (через
torchилиonnxruntime) для обнаружения людей, животных, автомобилей на снимках. - Умный дверной звонок: если камера установлена у двери, AI может распознавать лица и отправлять push-уведомления только при появлении незнакомца.
- Энергосбережение: ESP32-CAM может переходить в глубокий сон, а ASI Biont будить его по расписанию или при получении команды через MQTT publish.
Альтернативный способ: SSH на Raspberry Pi
Если вы используете Raspberry Pi с камерой (например, Pi Camera Module), AI-агент может подключиться по SSH и запускать скрипты компьютерного зрения локально. Это снижает задержки и нагрузку на сеть.
Пример запроса в чате:
«Подключись по SSH к Raspberry Pi по адресу 192.168.1.100, логин pi, пароль raspberry. Запусти скрипт capture.py, который делает снимок с камеры и сохраняет его в файл. Затем проанализируй изображение на наличие кошек и пришли уведомление».
AI-агент использует paramiko для SSH-подключения и выполняет команды на удалённом устройстве.
Почему это выгодно?
- Не нужно писать код вручную: AI-агент генерирует скрипты интеграции за секунды.
- Гибкость: вы можете комбинировать разные протоколы (MQTT + HTTP + SSH) в одном сценарии.
- Масштабируемость: один AI-агент может управлять сотнями ESP32-CAM одновременно.
- Экономия: ESP32-CAM стоит $10-15, а AI-анализ в облаке ASI Biont обходится копейки.
Заключение
Интеграция ESP32-CAM с AI-агентом ASI Biont открывает безграничные возможности для DIY-проектов, умного дома и промышленного видеонаблюдения. Вы просто описываете задачу в чате — AI подключается к вашему устройству через MQTT, SSH или HTTP, захватывает изображения, анализирует их и выполняет действия. Попробуйте сами на asibiont.com — создайте AI-агента и подключите свою первую камеру уже сегодня.
Комментарии