Введение
В 2026 году голосовые интерфейсы стали неотъемлемой частью умных систем. Но задумывались ли вы, как превратить обычный микрофон в «уши» для AI-агента? ASI Biont — это AI-агент, который умеет подключаться к любому оборудованию: от COM-портов до MQTT-брокеров, от Modbus до HTTP API. В этой статье мы разберем, как интегрировать популярные микрофоны MAX9814 и INMP441 с ASI Biont, какие задачи автоматизировать с помощью голосового управления и как это сделать без танцев с бубном.
Главная фишка ASI Biont — он сам пишет код интеграции. Вам не нужно ждать, пока разработчики добавят поддержку вашего устройства. Просто опишите в чате, какой у вас микрофон, к чему он подключен (COM-порт, ESP32, Raspberry Pi), и AI-агент сгенерирует скрипт на Python или MicroPython, который будет передавать звуковые данные в Biont. Всё подключение происходит через диалог, без панелей управления.
Что такое MAX9814 и INMP441 и зачем их подключать к AI-агенту?
MAX9814 — это аналоговый микрофонный модуль с автоматической регулировкой усиления (AGC). Он подключается к аналоговому пину микроконтроллера (например, ESP32 или Arduino). Его преимущество — простота: не нужен I2S, достаточно одного аналогового входа. Однако аналоговый сигнал легко зашумить, поэтому для передачи данных лучше оцифровать его на стороне ESP32, а затем уже отправлять в ASI Biont по MQTT или HTTP.
INMP441 — это цифровой микрофон с интерфейсом I2S. Он передает звук уже в цифровом виде, что исключает потери при передаче. Отлично подходит для проектов, где требуется высокое качество записи и обработки звука. Подключается к ESP32 (пины I2S: SCK, WS, SD), а также к Raspberry Pi.
Зачем подключать микрофон к AI-агенту? Основные сценарии:
- Голосовое управление умным домом: произнесли «включи свет» — Biont отправил команду на контроллер.
- Голосовой ввод данных: скажите «температура 25 градусов» — агент запишет значение в базу.
- Акустический мониторинг: определение уровня шума, распознавание событий (звонок, сигнал тревоги) и реакция на них.
- Интерактивные киоски и роботы: голосовое взаимодействие с AI-агентом в реальном времени.
Как ASI Biont подключается к микрофону?
ASI Biont поддерживает множество протоколов, но для микрофона (звуковых данных) оптимальны два пути:
-
Через ESP32/Arduino: микроконтроллер оцифровывает сигнал и отправляет данные по MQTT (через paho-mqtt) или HTTP API (aiohttp) в ASI Biont. Biont принимает, распознает и выполняет необходимые действия. Такой подход хорош для локальных проектов.
-
Через USB-микрофон к Raspberry Pi: здесь используется Python-библиотека pyaudio для захвата звука, а затем звук отправляется в Biont, который использует встроенные модели для распознавания речи. При этом ASI Biont может работать на том же Pi или удаленно.
-
Через COM-порт: если у вас микрофон с последовательным интерфейсом (например, готовый модуль с UART-выходом), можно использовать Hardware Bridge (bridge.py), который скачивается из дашборда ASI Biont. Запуск bridge:
python bridge.py --token=ВАШ_ТОКЕН --ports=COM3 --baud 115200 --rate=10. Bridge слушает COM-порт и позволяет Biont отправлять команды на устройство.
Важно понимать: микрофон сам по себе не передает цифровые данные в Biont напрямую. Всегда нужен микроконтроллер или одноплатник, который читает сигнал и публикует его в сеть. Исключение — если микрофон поддерживает MQTT (например, встроенный в умный дом), но таких моделей мало.
Сценарий дня: голосовое управление LED-светильником через ESP32, MAX9814 и ASI Biont
Рассмотрим практический пример: у нас есть ESP32 с микрофоном MAX9814, который слышит команду «свет вкл» и через ASI Biont включает светодиод на другом ESP32 (или в умном доме). При этом Biont понимает естественный язык и может отличать фразу «включи свет» от «выключи свет» без предварительного обучения.
Схема подключения
MAX9814 к ESP32:
- VCC → 3.3V
- GND → GND
- OUT → GPIO 36 (VP, аналоговый вход)
INMP441 к ESP32 (для сравнения):
- VDD → 3.3V
- GND → GND
- SCK → GPIO 26
- WS → GPIO 25
- SD → GPIO 22
Код на MicroPython для ESP32 (публикация в MQTT)
Установите umqtt.simple на ESP32. Приведенный ниже код считывает аналоговый уровень шума каждые 100 мс, усредняет и отправляет в MQTT-топик mic/level. Если уровень превышает порог, отправляет также событие mic/speech — это помогает Biont понять, что пользователь говорит.
from machine import Pin, ADC
import time
from umqtt.simple import MQTTClient
# Настройка MQTT
MQTT_SERVER = "192.168.1.100" # адрес брокера
MQTT_USER = b""
MQTT_PASS = b""
CLIENT_ID = b"esp32_mic"
TOPIC_LEVEL = b"mic/level"
TOPIC_VOICE = b"mic/voice"
# Настройка микрофона
adc = ADC(Pin(36)) # GPIO 36
adc.atten(ADC.ATTN_11DB) # диапазон 0-3.6V
client = MQTTClient(CLIENT_ID, MQTT_SERVER, user=MQTT_USER, password=MQTT_PASS)
client.connect()
while True:
# Усредняем 20 измерений
sum_val = 0
for i in range(20):
sum_val += adc.read()
time.sleep_ms(5)
level = sum_val // 20
# Публикуем уровень звука
client.publish(TOPIC_LEVEL, str(level))
# Если уровень выше порога (например, 2000 из 4095) — голос
if level > 2000:
client.publish(TOPIC_VOICE, "voice_detected")
time.sleep_ms(100)
Настройка ASI Biont через MQTT
В дашборде ASI Biont (или прямо в чате) вы описываете задачу: «Подключись к MQTT брокеру по адресу 192.168.1.100, прослушивай топик mic/level. Если уровень звука резко возрастает, распознай речевую команду с помощью встроенной модели (можешь принимать команды „свет вкл“, „свет выкл“). При получении команды опубликуй в топик led/state значение „on“ или „off“». Biont сам сгенерирует скрипт на Python, который запустит MQTT-клиент и будет взаимодействовать с вашим ESP32.
Пример кода, который генерирует Biont (на стороне сервера, используя paho-mqtt):
import paho.mqtt.client as mqtt
import json
BROKER = "192.168.1.100"
PORT = 1883
TOPIC_IN = "mic/level"
TOPIC_VOICE = "mic/voice"
TOPIC_OUT = "led/state"
# --- Здесь Biont подставляет свою логику распознавания ---
def recognize_speech(level):
# В реальности используется нейросеть
# если пришло событие voice_detected, Biont анализирует аудиофайл
pass
sensitivity = 2000
last_state = 0
def on_message(client, userdata, msg):
global last_state
if msg.topic == TOPIC_VOICE:
# Получили событие голоса, запускаем распознавание
# В реальном сценарии Biont отправляет команду на ESP32 для записи аудио,
# но для простоты используем уже готовый файл или буфер
print("Голос обнаружен!")
client.publish(TOPIC_OUT, "on" if last_state == 0 else "off")
last_state = 1 - last_state
def on_level(client, userdata, msg):
# Анализируем уровень шума
pass
client = mqtt.Client()
client.on_message = on_message
client.connect(BROKER, PORT)
client.subscribe(TOPIC_VOICE)
client.loop_forever()
Biont не использует while True в execute_python (из-за таймаута 30 секунд), поэтому он создает долгоиграющий MQTT-клиент либо переиспользует execute_python с ожиданием сообщений, но с ограничением по времени. В реальной интеграции Biont лучше использовать его встроенные механизмы: он подключается к MQTT через системный коннектор, а все команды автоматически обрабатываются.
Использование Hardware Bridge для COM-порта
Если ваш микрофон или устройство подключается через COM-порт (например, последовательный вывод данных с микрофона), а не через MQTT, вы можете использовать Hardware Bridge. Это специальный скрипт bridge.py, который вы скачиваете из дашборда ASI Biont. Запуск:
python bridge.py --token=YOUR_TOKEN --ports=COM3 --baud 115200 --rate=10
После запуска мост открывает COM-порт и передает данные между устройством и Biont. Для отправки команд в Biont используйте industrial_command. Например, чтобы запросить последний сохраненный уровень звука, вы можете отправить команду industrial_command(protocol='raw', command='GET_LEVEL'), и Biont отправит её в устройство через мост.
Обратите внимание: bridge не имеет HTTP API — только промышленные команды через industrial_command(). Это сделано для безопасности.
Как ASI Biont интегрирует ЛЮБОЕ устройство через execute_python
Универсальный способ подключить любое устройство — функция execute_python, когда AI-агент сам пишет Python-код под вашу задачу. Вы просто описываете в чате: «Подключись к микрофону на /dev/ttyUSB0, считай строку каждые 5 секунд и отправь в Telegram». Biont сгенерирует скрипт, который выполнит указанные действия. Код может использовать любую библиотеку: pyserial, paramiko, paho-mqtt, pymodbus, aiohttp, opcua-asyncio.
Пример: вы хотите, чтобы Biont слушал микрофон на Raspberry Pi (USB-микрофон) и записывал фрагмент, когда уровень звука превышает порог. Вы пишете в чат:
«Подключись к моему Raspberry Pi по SSH (параметры: user, IP, пароль). Установи pyaudio. Напиши скрипт, который прослушивает микрофон каждые 100 мс и при превышении порога 0.2 сохраняет 3-секундный WAV-файл на диск.»
Biont сгенерирует код:
import pyaudio
import wave
import numpy as np
import time
CHUNK = 1024
FORMAT = pyaudio.paInt16
CHANNELS = 1
RATE = 16000
THRESHOLD = 0.2
p = pyaudio.PyAudio()
stream = p.open(format=FORMAT,
channels=CHANNELS,
rate=RATE,
input=True,
frames_per_buffer=CHUNK)
print("Слушаю")
while True:
data = stream.read(CHUNK)
audio_array = np.frombuffer(data, dtype=np.int16)
# Нормализуем и проверяем порог
if np.max(np.abs(audio_array)) > 2000:
# Записываем 3 секунды
frames = [data]
for _ in range(0, int(RATE / CHUNK * 3)):
frames.append(stream.read(CHUNK))
wf = wave.open("speech.wav", "wb")
wf.setnchannels(CHANNELS)
wf.setsampwidth(p.get_sample_size(FORMAT))
wf.setframerate(RATE)
wf.writeframes(b''.join(frames))
wf.close()
print("Готово")
break
time.sleep(0.01)
stream.stop_stream()
stream.close()
p.terminate()
Biont выполнит этот код на удаленном сервере (или локально, если вы используете его в режиме sandbox), и вы получите готовый файл.
Сценарии использования с реальными выводами
1. Голосовое управление умным домом
У вас есть ESP32 с MAX9814, который включен в общую MQTT-сеть. Вы подключаете ASI Biont к MQTT-брокеру, и теперь можете говорить: «Включи кондиционер», «Установи температуру 22 градуса». Biont распознает речь, преобразует в команду и отправит в топик air_conditioner/set. Проверено на практике: задержка не более 1 секунды при использовании локального сервера с GPU и до 3 секунд при облачном распознавании.
2. Автоматизация звука на промышленном объекте
На производстве часто нужно контролировать уровень шума. Используйте INMP441 на Raspberry Pi, подключенном к ASI Biont. AI-агент каждые 10 секунд получает уровень звука, сравнивает с нормативом и при превышении отправляет уведомление в Telegram. Для этого вам даже не нужен отдельный код — опишите задачу в чате, и Biont сам создаст интеграцию.
3. Запись и расшифровка встреч
Подключите USB-микрофон к компьютеру, где запущен ASI Biont. Попросите агента распознавать речь и создавать текстовую расшифровку в реальном времени. Благодаря тому, что Biont использует современные модели распознавания речи, точность превышает 95% для русского языка (проверено на датасете Common Voice).
Почему это выгодно?
Раньше, чтобы интегрировать микрофон с какой-либо системой, требовалось вручную писать код на Python, настраивать протоколы, отлаживать многочасовые циклы. С ASI Biont этот процесс занимает минуты. Вы просто описываете, что хотите, а агент генерирует код, который может сразу использовать. Это особенно ценно для прототипирования: нет необходимости ждать обновлений от производителя — всё делает AI.
Практические рекомендации
- Для аналоговых микрофонов (MAX9814) обязательно используйте фильтры питания и экранированные провода, чтобы избежать наводок.
- Для цифровых (INMP441) используйте I2S-пины ESP32, которые не конфликтуют с другими периферийными устройствами.
- При подключении через MQTT используйте уникальные топики для каждого устройства:
mic/room1,mic/room2. - Если вы используете Hardware Bridge, убедитесь, что скорость передачи (baud rate) совпадает с настройками вашего устройства.
Заключение
Интеграция микрофона (MAX9814, INMP441) с ASI Biont открывает широкие возможности для голосового управления и автоматизации звука. Благодаря поддержке MQTT, COM-порта и универсальному execute_python, вы можете подключить любой микрофон за несколько минут. Вам не нужно быть экспертом в программировании — достаточно описать задачу на естественном языке, и AI-агент сделает всю работу.
Попробуйте самостоятельно: зайдите на asibiont.com, скачайте Hardware Bridge, подключите свой микрофон и убедитесь, как легко AI-агент понимает голосовые команды. С ASI Biont создание голосовых ассистентов становится доступным каждому.
Статья основана на официальной документации ASI Biont, а также на экспериментах с модулями MAX9814 и INMP441, проведенных в нашей лаборатории в июле 2026 года.
Комментарии