Интеграция ESP32-CAM (OV2640) с распознаванием лиц и AI-агентом ASI Biont: практическое руководство по Edge AI и умной безопасности

Введение

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

Как ESP32-CAM подключается к ASI Biont

ESP32-CAM — это микроконтроллер с Wi-Fi, камерой OV2640 (2 МП, 1600×1200) и microSD-слотом. Для распознавания лиц используем библиотеку ESP32-Face-Detection (на базе ESP-WHO). ASI Biont подключается к нему двумя основными способами:

  1. Через MQTT — ESP32 публикует результаты детекции (например, "face_detected: true") в топик MQTT-брокера. AI-агент подписывается на топик, анализирует данные и отправляет команды обратно (например, "capture_image").
  2. Через HTTP API — ESP32 запускает веб-сервер, который отдаёт поток MJPEG и принимает POST-запросы для управления. AI выполняет Python-скрипт с aiohttp, который читает поток и отправляет команды.

В этом гайде используем MQTT — он надёжнее для двусторонней связи и не требует публичного IP для ESP32.

Что нужно для интеграции

Компонент Назначение
ESP32-CAM (модуль AI-Thinker) Камера + Wi-Fi + детекция лиц
FTDI-адаптер (3.3V) Для первой прошивки ESP32
MicroSD-карта (8-32 ГБ) Хранение снимков и видео
MQTT-брокер (HiveMQ Cloud — бесплатно) Обмен сообщениями
ASI Biont (asibiont.com) AI-агент для автоматизации
Telegram-бот (опционально) Уведомления пользователю

Пошаговая настройка ESP32-CAM

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

Установите Arduino IDE или PlatformIO. Подключите ESP32-CAM к FTDI: GPIO0 на GND (режим загрузки), RX на TX, TX на RX. Загрузите скетч с поддержкой MQTT и детекции лиц. Используем библиотеку esp_face_detection из ESP-WHO.

Пример фрагмента кода (MicroPython/C++):

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

const char* ssid = "your_SSID";
const char* password = "your_PASS";
const char* mqtt_server = "broker.hivemq.com";
const char* topic_face = "home/cam1/face";

WiFiClient espClient;
PubSubClient client(espClient);

void setup() {
  Serial.begin(115200);
  WiFi.begin(ssid, password);
  client.setServer(mqtt_server, 1883);
  camera_config_t config; // стандартная инициализация OV2640
  esp_camera_init(&config);
}

void loop() {
  if (!client.connected()) reconnect();
  client.loop();

  camera_fb_t* fb = esp_camera_fb_get();
  if (fb) {
    dl_matrix3du_t* image_matrix = NULL; // конвертация в DL-формат
    face_detect(image_matrix, fb);
    if (face_detected) {
      client.publish(topic_face, "{\"face\":true,\"time\":\"2026-07-17T12:00:00Z\"}");
      // Сохраняем снимок на SD
    }
    esp_camera_fb_return(fb);
  }
  delay(1000);
}

Шаг 2. Настройка MQTT-брокера

Создайте аккаунт на HiveMQ Cloud (бесплатный тариф — до 100 подключений). Получите URL, порт (8883 для TLS), имя пользователя и пароль. В коде ESP32 укажите эти параметры.

Шаг 3. Подключение ASI Biont к устройству

Перейдите в чат с AI-агентом на asibiont.com и опишите задачу:

«Подключись к MQTT-брокеру broker.hivemq.com:1883, подпишись на топик home/cam1/face. При получении JSON с face:true отправь мне уведомление в Telegram: "Обнаружено лицо на камере 1". Также сделай снимок: отправь POST-запрос на ESP32 по адресу http://192.168.1.100/capture, сохрани фото на SD-карту и пришли мне в Telegram»

AI автоматически сгенерирует и выполнит Python-скрипт в sandbox-окружении:

import paho.mqtt.client as mqtt
import requests
import json
import os
from dotenv import load_dotenv

load_dotenv()
TELEGRAM_TOKEN = os.getenv("TELEGRAM_TOKEN")
CHAT_ID = os.getenv("CHAT_ID")

def on_message(client, userdata, msg):
    payload = json.loads(msg.payload)
    if payload.get("face"):
        # Отправляем команду на ESP32 для захвата снимка
        capture_resp = requests.post("http://192.168.1.100/capture", timeout=5)
        if capture_resp.status_code == 200:
            # Отправляем фото в Telegram
            with open("/tmp/capture.jpg", "wb") as f:
                f.write(capture_resp.content)
            requests.post(
                f"https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendPhoto",
                data={"chat_id": CHAT_ID, "caption": "Обнаружено лицо!"},
                files={"photo": open("/tmp/capture.jpg", "rb")}
            )
        # Отправляем текстовое уведомление
        requests.post(
            f"https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendMessage",
            json={"chat_id": CHAT_ID, "text": "Обнаружено лицо на камере 1"}
        )

mqtt_client = mqtt.Client()
mqtt_client.on_message = on_message
mqtt_client.connect("broker.hivemq.com", 1883, 60)
mqtt_client.subscribe("home/cam1/face")
mqtt_client.loop_forever()  # В sandbox таймаут 30 сек, поэтому используем loop_start()

Важно: В sandbox ASI Biont нет бесконечных циклов — AI использует loop_start() в отдельном потоке или однократный опрос. Для постоянного мониторинга AI настраивает периодический вызов скрипта.

Сценарии автоматизации

1. Уведомления о движении и лицах

ESP32 детектирует лицо → публикует в MQTT → AI получает → отправляет Telegram-сообщение. Можно добавить распознавание конкретных лиц: AI сравнивает эмбеддинги с базой, используя библиотеку face_recognition (через execute_python).

2. Запись видео при обнаружении

При детекции лица AI отправляет команду на ESP32: начать запись видео на microSD в течение 30 секунд. После записи — отправляет файл в Telegram или сохраняет в облачное хранилище (S3 через boto3).

3. Управление доступом

Если лицо распознано как «разрешённое» (например, владелец), AI отправляет команду на сервопривод (через GPIO ESP32) открыть дверь. Если незнакомое — отправляет уведомление владельцу и записывает видео.

4. Интеграция с умным домом

При обнаружении лица AI может включить свет (через MQTT-команду на умную лампочку), изменить температуру кондиционера или запустить робот-пылесос.

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

  • Zero-code интеграция: не нужно писать код вручную — AI генерирует его за секунды по текстовому описанию.
  • Любое устройство: через execute_python можно подключиться к чему угодно — от ESP32 до промышленных контроллеров Siemens.
  • Гибкость: сценарии можно менять в реальном времени, просто описав новую задачу в чате.
  • Экономия времени: настройка занимает 10 минут вместо дней разработки.

Подводные камни и их решение

Проблема Решение
ESP32 не подключается к Wi-Fi Проверьте питание (3.3V, 500 мА), перезагрузите, используйте статический IP
Детекция лиц не работает Убедитесь, что библиотека ESP-WHO установлена и камера сфокусирована (поворачивайте объектив)
MQTT-сообщения не доходят Проверьте имя топика, QoS (используйте 1), откройте порт 1883 в брандмауэре
Sandbox таймаут 30 секунд Используйте однократные запросы или периодический запуск скрипта через webhook

Заключение

ESP32-CAM с OV2640 и детекцией лиц — мощный инструмент для Edge AI, а интеграция с ASI Biont превращает его в полностью автоматизированную систему безопасности. Вы описываете логику словами — AI пишет код и управляет устройством. Попробуйте сами: зайдите на asibiont.com, создайте проект и опишите в чате вашу задачу. Умная безопасность ещё никогда не была такой доступной.

← Все статьи

Комментарии

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

Курс Freelance PRO: Постройте масштабируемый бизнес с помощью ИИ-обучения на Asibiont

17 июля 2026

Pebble Mega Update — Июль 2026: Что нового в мире программирования от сообщества Repebble

17 июля 2026

Как подключить ВТБ к ИИ-агенту: автоматизация платежей, выставления счетов и банковской сверки с ASI Biont

17 июля 2026

Интеграция PlanetScale без кода: как AI-агент ASI Biont автоматизирует масштабирование серверной MySQL

17 июля 2026

Освоение ядерной энергетики и радиационной безопасности (МАГАТЭ, NRC): Ваш карьерный путь к глобальному нормативному соответствию в 2026 году

17 июля 2026

Бухгалтерский учёт и отчётность 2026: тренды, прогнозы и как оставаться востребованным специалистом

17 июля 2026

Освоение встраиваемого Linux и Интернета вещей: от голого металла к подключенным устройствам с Asibiont

17 июля 2026

Рентген для нейросетей: как я перестал понимать собственный ИИ и написал свой APM

17 июля 2026

Apple Intelligence официально одобрена в Китае: партнёрство с Alibaba и Baidu открывает новую эру AI на рынке Поднебесной

17 июля 2026