Как подключить микрофон MAX9814 или INMP441 к AI-агенту ASI Biont: голосовое управление и аудиоаналитика

Введение

Микрофоны на базе MAX9814 и INMP441 — одни из самых популярных для DIY-проектов и промышленной акустики. MAX9814 — аналоговый микрофон с предусилителем и AGC, идеален для захвата голоса на расстоянии до 2-3 метров. INMP441 — цифровой MEMS-микрофон с интерфейсом I²S, обеспечивает высокое качество записи без шумов аналоговой линии. Оба модуля часто используются в системах голосового управления, мониторинга шума и аудиоаналитики.

Но как превратить «сырой» аудиопоток в интеллектуальные сценарии: распознавание команд, детекцию событий (звонок, крик, лай), отправку уведомлений в Telegram или автоматическое включение света? Для этого нужен AI-агент, который возьмёт на себя анализ звука и интеграцию с другими устройствами. ASI Biont — как раз такой агент: он подключается к микрофону через ESP32 или Raspberry Pi, обрабатывает аудио в реальном времени и выполняет действия по вашему описанию. Всё настраивается через чат — без сложных панелей и ручного кодирования.

Как AI-агент подключается к микрофону

ASI Biont не имеет ограничений по типу устройства — он подключается к чему угодно через универсальный механизм execute_python. Пользователь просто описывает в чате, к какому устройству нужно подключиться и какие параметры использовать. AI сам генерирует Python-скрипт с нужной библиотекой и выполняет его в защищённом окружении (sandbox). Для микрофонов это обычно выглядит так:

  1. ESP32 + INMP441: AI пишет код на MicroPython или Arduino (через MQTT или последовательный порт) для чтения I²S-данных с микрофона. Данные отправляются на сервер ASI Biont через MQTT или HTTP.
  2. Raspberry Pi + MAX9814 (подключён к аналоговому пину через АЦП): AI подключается по SSH к малине, запускает скрипт на Python с библиотекой sounddevice или pyaudio (если установлена), анализирует аудио и отправляет результаты.
  3. Промышленный контроллер с аудиомодулем: AI использует Modbus TCP или OPC UA для передачи аудиоданных (если модуль поддерживает цифровой выход).

Все библиотеки, необходимые для работы (pyserial, paho-mqtt, aiohttp, numpy, scipy), уже предустановлены в sandbox ASI Biont. Пользователю не нужно разбираться в коде — достаточно описать задачу.

Конкретный сценарий: ESP32 + INMP441 + ASI Biont → Telegram-уведомления о превышении шума

Оборудование:
- ESP32 (например, ESP32-WROOM-32)
- Микрофон INMP441 (I²S, 3.3V)
- Пару проводов и макетная плата

Подключение INMP441 к ESP32:

Пин INMP441 Пин ESP32
VDD 3.3V
GND GND
SCK (BCLK) GPIO26
WS (L/R) GPIO25
SD (DOUT) GPIO32
L/R (выбор канала) GND (левый) или 3.3V (правый)

Настройка ESP32:
1. Установите Arduino IDE и ESP32 board package.
2. Загрузите скетч, который читает I²S-данные, вычисляет RMS (среднеквадратичное значение амплитуды) и отправляет его по MQTT на брокер. Пример кода на Arduino (C++):

#include <WiFi.h>
#include <PubSubClient.h>
#include <driver/i2s.h>

const char* ssid = "your_SSID";
const char* password = "your_PASSWORD";
const char* mqtt_server = "broker.hivemq.com";
const char* topic = "home/esp32/noise";

WiFiClient espClient;
PubSubClient client(espClient);

#define I2S_WS 25
#define I2S_SD 32
#define I2S_SCK 26
#define I2S_PORT I2S_NUM_0

void setup() {
  Serial.begin(115200);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) { delay(500); }
  client.setServer(mqtt_server, 1883);

  i2s_config_t i2s_config = {
    .mode = (i2s_mode_t)(I2S_MODE_MASTER | I2S_MODE_RX),
    .sample_rate = 16000,
    .bits_per_sample = I2S_BITS_PER_SAMPLE_16BIT,
    .channel_format = I2S_CHANNEL_FMT_ONLY_LEFT,
    .communication_format = I2S_COMM_FORMAT_I2S,
    .intr_alloc_flags = ESP_INTR_FLAG_LEVEL1,
    .dma_buf_count = 4,
    .dma_buf_len = 1024
  };
  i2s_pin_config_t pin_config = {
    .bck_io_num = I2S_SCK,
    .ws_io_num = I2S_WS,
    .data_out_num = I2S_PIN_NO_CHANGE,
    .data_in_num = I2S_SD
  };
  i2s_driver_install(I2S_PORT, &i2s_config, 0, NULL);
  i2s_set_pin(I2S_PORT, &pin_config);
}

void loop() {
  if (!client.connected()) { client.connect("ESP32Client"); }
  client.loop();

  int16_t buffer[1024];
  size_t bytes_read;
  i2s_read(I2S_PORT, buffer, sizeof(buffer), &bytes_read, portMAX_DELAY);

  // Вычисляем RMS
  double sum = 0;
  int samples = bytes_read / sizeof(int16_t);
  for (int i = 0; i < samples; i++) {
    sum += (double)buffer[i] * buffer[i];
  }
  double rms = sqrt(sum / samples);

  // Отправляем в MQTT
  char msg[8];
  dtostrf(rms, 1, 2, msg);
  client.publish(topic, msg);
  delay(100); // 10 раз в секунду
}

После загрузки скетча ESP32 начнёт публиковать значение RMS (от 0 до ~32768) в топик home/esp32/noise.

Интеграция с ASI Biont:

Теперь пользователь открывает чат с AI-агентом и пишет:

«Подключись к MQTT-брокеру broker.hivemq.com по топику home/esp32/noise. Получай RMS с микрофона каждые 5 секунд. Если уровень шума превышает 10000, отправляй мне уведомление в Telegram с текстом "⚠️ Превышен порог шума! Текущий уровень: [значение]" и сгенерируй график изменения за последнюю минуту. Токен бота Telegram: 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11, chat_id: 987654321.»

AI-агент ASI Biont выполняет следующие шаги:
1. Пишет Python-скрипт с использованием библиотек paho-mqtt (для подписки) и requests (для отправки в Telegram).
2. Запускает скрипт в sandbox (execute_python).
3. Подписывается на топик, каждые 5 секунд проверяет значение.
4. При превышении порога отправляет сообщение в Telegram и строит график с помощью matplotlib.

Пример Python-кода, который генерирует AI (выполняется в sandbox):

import paho.mqtt.client as mqtt
import requests
import matplotlib.pyplot as plt
from io import BytesIO
import numpy as np
import time

# Настройки
BROKER = "broker.hivemq.com"
TOPIC = "home/esp32/noise"
THRESHOLD = 10000
TELEGRAM_TOKEN = "123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11"
CHAT_ID = "987654321"

# Буфер для истории (60 значений = 1 минута при 5-сек интервале)
history = []

def on_message(client, userdata, msg):
    global history
    try:
        value = float(msg.payload.decode())
        history.append(value)
        if len(history) > 60:
            history.pop(0)

        if value > THRESHOLD:
            # Отправка в Telegram
            text = f"⚠️ Превышен порог шума! Текущий уровень: {value:.0f}"
            requests.post(f"https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendMessage",
                          json={"chat_id": CHAT_ID, "text": text})

            # Построение графика
            plt.figure(figsize=(6, 3))
            plt.plot(history, 'r-' if value > THRESHOLD else 'b-')
            plt.axhline(y=THRESHOLD, color='gray', linestyle='--', label='Порог')
            plt.title("Уровень шума за последнюю минуту")
            plt.xlabel("Время (сек)")
            plt.ylabel("RMS")
            plt.legend()
            buf = BytesIO()
            plt.savefig(buf, format='png')
            buf.seek(0)
            # Отправка фото в Telegram
            requests.post(f"https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendPhoto",
                          files={"photo": buf},
                          data={"chat_id": CHAT_ID})
            plt.close()
    except Exception as e:
        print(f"Ошибка: {e}")

client = mqtt.Client()
client.on_message = on_message
client.connect(BROKER, 1883, 60)
client.subscribe(TOPIC)
client.loop_start()

# Держим скрипт 60 секунд (таймаут sandbox - 30 сек, но можно продлить)
time.sleep(60)
client.loop_stop()

Результат: Через несколько секунд после превышения порога пользователь получает Telegram-уведомление с графиком. Всё работает полностью автоматически.

Дополнительные сценарии

  • Голосовое управление: ESP32 с INMP441 передаёт аудиопоток на сервер ASI Biont, где AI распознаёт ключевые слова (через библиотеку transformers с моделью Whisper или Wav2Vec2) и выполняет команды: "включи свет", "выключи вентилятор", "открой шторы".
  • Детекция аномалий: Микрофон на производстве слушает работу станка. AI анализирует спектр звука (через FFT с помощью numpy) и при отклонении от нормы отправляет alert в Telegram.
  • Умный домофон: Raspberry Pi с MAX9814 стоит у двери. AI распознаёт звонок или лай собаки и отправляет уведомление.

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

  • Не нужно писать код вручную: AI сам генерирует скрипт под вашу задачу. Вы просто описываете, что хотите.
  • Мгновенная интеграция: Подключение занимает секунды — достаточно дать параметры (IP, порт, топик MQTT).
  • Гибкость: ASI Biont поддерживает любые протоколы — MQTT, SSH, Modbus, OPC UA, HTTP. Микрофон можно подключить через ESP32, Raspberry Pi или промышленный контроллер.
  • Автоматизация: AI не только собирает данные, но и анализирует их в реальном времени, строит графики и отправляет уведомления.

Как начать

  1. Зарегистрируйтесь на asibiont.com.
  2. Соберите схему с микрофоном (ESP32 + INMP441 или Raspberry Pi + MAX9814).
  3. Откройте чат с AI-агентом и опишите задачу: «Подключи микрофон через MQTT, слушай уровень шума и при превышении 10000 отправляй мне в Telegram».
  4. AI сам напишет код, выполнит его в sandbox и начнёт мониторинг.

Попробуйте прямо сейчас — убедитесь, насколько быстро и просто AI-агент ASI Biont подключает любые сенсоры и периферию к вашему умному дому или производству.

← Все статьи

Комментарии

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

Преобразите ваше здание с интеграцией датчиков окружающей среды ASI Biont: мониторинг IoT в реальном времени с помощью ИИ-агента без кода

16 июля 2026

Как попасть в MBB-консалтинг: глубокое погружение в стратегический консалтинг — курс подготовки уровня MBB

16 июля 2026

Девушка без опыта заработала 200 тысяч за неделю: кто такой AI-креатор и как начать без навыков

16 июля 2026

CRM и Salesforce — управление взаимоотношениями с клиентами: как освоить востребованную профессию и зарабатывать от 150 000 ₽

16 июля 2026

Почему Tesla никогда* не сделает настоящий полноценный надежный реальный автопилот

16 июля 2026

10 самых распространённых уязвимостей API в Next.js в 2026 году: от Vibe Coding до продакшн-безопасности

16 июля 2026

Может ли айтишник обеспечить себе уверенную пенсию: обзор стратегий

16 июля 2026

Мастерство BI-аналитики и дашбордов: востребованные навыки работы с Power BI, Tableau и Metabase

16 июля 2026

BACnet (BMS) + ASI Biont: AI-агент для умного здания — практическое руководство по интеграции

16 июля 2026