Подключаем камеру ESP32-CAM (OV2640) к AI-агенту ASI Biont: компьютерное зрение и видеоаналитика без кода

Введение

Камера на базе ESP32-CAM с сенсором OV2640 — одно из самых популярных устройств для DIY-проектов компьютерного зрения. 2-мегапиксельная камера, встроенный Wi-Fi и microSD-карта позволяют снимать фото, записывать видео и передавать их по сети. Но чтобы превратить ESP32-CAM в умную систему мониторинга с детекцией объектов, распознаванием лиц и уведомлениями в Telegram, нужно написать десятки строк кода, настроить серверную часть и разобраться с протоколами передачи данных.

AI-агент ASI Biont решает эту проблему: вы просто описываете в чате, какую камеру используете и что хотите получать, а AI сам пишет код интеграции — от прошивки ESP32 до скрипта анализа изображений. В этой статье я покажу, как подключить ESP32-CAM (OV2640) к ASI Biont через MQTT и HTTP, настроить автоматический захват фото по движению и отправку снимков с распознанными объектами в Telegram.

Как ASI Biont подключается к камере

ASI Biont не имеет предустановленных драйверов для каждой модели камеры — он подключается к любому устройству через универсальные протоколы. Для ESP32-CAM используются два основных способа:

  1. MQTT — через брокер (например, Mosquitto). ESP32 публикует фото (base64) и статусы в топики; AI подписывается и анализирует.
  2. HTTP API — ESP32 запускает простой веб-сервер, который отдаёт JPEG-кадры. AI через requests или aiohttp забирает их и обрабатывает.

В обоих случаях AI пишет Python-скрипт, который выполняется в sandbox-окружении ASI Biont (на сервере). Для работы с локальной сетью пользователя (например, ESP32 в домашней Wi-Fi) AI использует execute_python с библиотеками paho-mqtt, requests или aiohttp. Если нужно получить доступ к COM-порту (например, для отладки через UART), применяется Hardware Bridge — отдельное приложение bridge.py, которое пользователь запускает на своём ПК.

Сценарий: умный детектор движения с уведомлениями в Telegram

Представьте: вы хотите, чтобы при обнаружении движения в кадре ESP32-CAM делала фото, AI-агент распознавал на нём объекты (человек, животное, автомобиль) и отправлял снимок с подписью в Telegram. Вот как это реализуется за 5 минут.

Шаг 1. Прошивка ESP32-CAM

Используем стандартную прошивку на C++ (Arduino Framework), которая:
- Подключается к Wi-Fi
- Запускает MQTT-клиент
- При детекции движения (по разнице пикселей или PIR-датчику) захватывает фото, кодирует в base64 и публикует в топик esp32/cam/motion

Пример фрагмента:

#include <WiFi.h>
#include <PubSubClient.h>
#include "esp_camera.h"

const char* ssid = "YOUR_SSID";
const char* password = "YOUR_PASS";
const char* mqtt_server = "test.mosquitto.org";

WiFiClient espClient;
PubSubClient client(espClient);

void setup() {
  // ... настройка камеры, Wi-Fi, MQTT
  client.setServer(mqtt_server, 1883);
}

void loop() {
  if (motion_detected()) {
    camera_fb_t * fb = esp_camera_fb_get();
    if (fb) {
      String base64 = convert_to_base64(fb->buf, fb->len);
      client.publish("esp32/cam/motion", base64.c_str());
      esp_camera_fb_return(fb);
    }
  }
  client.loop();
}

Готовую прошивку можно найти в репозитории ESP32-CAM на GitHub (официальный пример от Espressif: github.com/espressif/esp32-camera).

Шаг 2. Подключение AI-агента к MQTT

В чате с ASI Biont вы пишете:

«Подключись к MQTT-брокеру test.mosquitto.org:1883, подпишись на топик esp32/cam/motion, получай фото в base64, декодируй, запусти детекцию объектов через OpenCV (каскады Хаара) или предобученную модель (MobileNet SSD). Если обнаружен человек — отправь фото в Telegram @mybot с подписью "Обнаружен человек в офисе"»

AI генерирует Python-скрипт с использованием paho-mqtt, cv2 (OpenCV), numpy и requests (для Telegram API). Вот как выглядит такой скрипт (выполняется в sandbox ASI Biont):

import paho.mqtt.client as mqtt
import cv2
import numpy as np
import base64
import requests
import json

TELEGRAM_BOT_TOKEN = "YOUR_BOT_TOKEN"
TELEGRAM_CHAT_ID = "YOUR_CHAT_ID"
MQTT_BROKER = "test.mosquitto.org"
MQTT_PORT = 1883
TOPIC = "esp32/cam/motion"

# Загружаем каскад для детекции лиц (можно заменить на MobileNet)
face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')

def on_message(client, userdata, msg):
    try:
        # Декодируем base64 в изображение
        img_data = base64.b64decode(msg.payload)
        np_arr = np.frombuffer(img_data, np.uint8)
        img = cv2.imdecode(np_arr, cv2.IMREAD_COLOR)

        # Детекция лиц
        gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
        faces = face_cascade.detectMultiScale(gray, 1.1, 4)

        if len(faces) > 0:
            # Сохраняем фото с bounding box
            for (x, y, w, h) in faces:
                cv2.rectangle(img, (x, y), (x+w, y+h), (0, 255, 0), 2)
            _, buffer = cv2.imencode('.jpg', img)
            photo_bytes = buffer.tobytes()

            # Отправляем в Telegram
            url = f"https://api.telegram.org/bot{TELEGRAM_BOT_TOKEN}/sendPhoto"
            files = {'photo': ('motion.jpg', photo_bytes, 'image/jpeg')}
            data = {'chat_id': TELEGRAM_CHAT_ID, 'caption': f"Обнаружено {len(faces)} лиц(а) в офисе"}
            requests.post(url, files=files, data=data)

    except Exception as e:
        print(f"Error: {e}")

client = mqtt.Client()
client.on_message = on_message
client.connect(MQTT_BROKER, MQTT_PORT, 60)
client.subscribe(TOPIC)
client.loop_forever()

Шаг 3. Запуск и результат

AI выполняет скрипт в sandbox (таймаут 30 секунд — достаточно для одного цикла). Если нужно постоянное прослушивание MQTT, ASI Biont может запустить скрипт как долгоживущий процесс через отдельный сервис. Теперь при каждом движении перед камерой вы получаете в Telegram фото с выделенными лицами.

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

  • Нет ручного кода: вы не пишете ни строчки Python или C++ — AI генерирует всё под ваш сценарий.
  • Гибкость: хотите заменить детекцию лиц на распознавание номеров машин — просто меняете промпт в чате.
  • Low-code: для настройки ESP32-CAM достаточно скопировать готовую прошивку из примера; всю логику обработки берёт на себя AI.
  • Интеграция с любым устройством: ASI Biont подключается к камере, датчику, PLC, ROS-роботу — через execute_python с любой библиотекой из 50+ доступных.

Альтернативный способ: Hardware Bridge + COM-порт

Если вы используете ESP32-CAM не по Wi-Fi, а через UART (например, для отладки), можно подключить её через Hardware Bridge. Для этого:

  1. Скачайте bridge.py из дашборда ASI Biont (Devices → Create API Key).
  2. Запустите на ПК: python bridge.py --token=ВАШ_ТОКЕН --ports=COM3 --baud 115200
  3. В чате напишите: «Подключись к ESP32 через bridge, отправь команду PHOTO и получи ответ»

AI использует industrial_command(protocol='serial', command='serial_write_and_read', data='PHOTO') — bridge отправляет команду в порт и возвращает ответ.

Заключение

Подключение камеры OV2640 на ESP32-CAM к AI-агенту ASI Biont открывает возможности для быстрого прототипирования систем видеоаналитики: от умного домофона до мониторинга производственных линий. Вам не нужно разбираться в OpenCV, MQTT или Telegram Bot API — просто опишите задачу на естественном языке, и AI сделает всё за вас.

Попробуйте сами: зайдите на asibiont.com, создайте API-ключ, подключите свою ESP32-CAM через MQTT или bridge, и начните получать умные уведомления с камеры уже сегодня.

← Все статьи

Комментарии

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

BLE и AI-агенты: как подключить HM-10 и HC-05 к ASI Biont для автоматизации IoT

17 июля 2026

Как подключить 1-Wire датчики (DS18B20) к AI-агенту ASI Biont: пошаговое руководство без кода

17 июля 2026

Освойте веб-разработку на Python в 2026 году: почему курс Django и FastAPI — Python Web на Asibiont.com — ваш быстрый путь к карьере бэкенд-разработчика

17 июля 2026

Интеграция AI-агента ASI Biont с PayPal: автоматизация платежей и инвойсов без кода

17 июля 2026

Как подключить 3D-принтер (Marlin/Klipper) к AI-агенту ASI Biont: мониторинг, предиктивное обслуживание и автоматизация

17 июля 2026

ИИ-гонка США и Китая оформилась в два блока: Пекин раздаёт модели всем желающим, Вашингтон проектирует фейсконтроль

17 июля 2026

Интеграция Instagram с AI-агентом ASI Biont: полная автоматизация SMM без кода

17 июля 2026

Умный дом на автопилоте: полное руководство по интеграции Zigbee и Z-Wave с AI-агентом ASI Biont

17 июля 2026

PIR-датчик движения + ASI Biont: интеграция, мониторинг и автоматизация через Telegram за 5 минут

17 июля 2026