Teensy 4.x и ASI Biont: AI-агент для сверхбыстрой автоматизации через UART

Введение

Микроконтроллеры Teensy 4.x, построенные на базе ARM Cortex-M7 с тактовой частотой до 600 МГц, — это одни из самых быстрых плат для реального времени. Они способны обрабатывать данные с высокоскоростных датчиков (IMU, аудио, энкодеры) с минимальными задержками, но их вычислительные ресурсы ограничены для сложного AI-анализа. ASI Biont — это AI-агент, который подключается к Teensy через UART (COM-порт) с помощью Hardware Bridge и берёт на себя интеллектуальную обработку: анализ трендов, принятие решений и управление в реальном времени. В этой статье мы покажем, как за несколько минут настроить интеграцию, передавать данные с энкодеров, микрофона и IMU в облачный AI и получать команды обратно.

Способ подключения: UART через Hardware Bridge

Teensy 4.x подключается к ASI Biont через последовательный порт (UART). Пользователь запускает на своём ПК приложение bridge.py, которое соединяется с AI-агентом через WebSocket. ASI Biont отправляет команды через industrial_command tool, bridge транслирует их в COM-порт с помощью pyserial. Данные передаются в hex-формате — например, data="48454c500a" для команды HELP. Bridge поддерживает атомарную операцию serial_write_and_read: отправляет данные и сразу читает ответ. Для Teensy 4.x типичный baud rate — 115200 или 921600 (для максимальной скорости).

Почему UART? Teensy не имеет встроенного Ethernet или Wi-Fi (кроме модели Teensy 4.1 с Ethernet-разъёмом), поэтому UART — самый надёжный и простой способ обмена данными. Bridge работает на Windows, Linux и macOS.

Конкретный сценарий: адаптивное освещение по данным с микрофона

Задача: Подключить к Teensy 4.x электретный микрофон (например, MAX9814) и светодиодную ленту (через ШИМ). AI-агент анализирует уровень шума в помещении и автоматически регулирует яркость освещения: при повышении шума (вечеринка, активная работа) яркость увеличивается, при тишине — приглушается. Дополнительно AI отправляет уведомление в Telegram при превышении порога.

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

На Teensy загружается прошивка, которая считывает аудиоданные с микрофона, вычисляет средний уровень громкости (RMS) за 100 мс и отправляет его по UART в формате VOLT:XXX\n, где XXX — значение от 0 до 1023. Также она принимает команды LED:0-255 для установки яркости.

Пример кода для Teensy (Arduino IDE):

#include <ADC.h>
ADC *adc = new ADC();

void setup() {
  Serial.begin(115200);
  pinMode(A0, INPUT);
  pinMode(9, OUTPUT); // ШИМ-пин для светодиода
}

void loop() {
  static unsigned long lastSend = 0;
  if (millis() - lastSend > 100) {
    int sample = adc->analogRead(A0);
    int rms = sqrt(sample * sample / 100); // упрощённый RMS
    Serial.print("VOLT:");
    Serial.println(rms);
    lastSend = millis();
  }

  if (Serial.available()) {
    String cmd = Serial.readStringUntil('\n');
    if (cmd.startsWith("LED:")) {
      int brightness = cmd.substring(4).toInt();
      analogWrite(9, brightness);
    }
  }
}

Шаг 2. Запуск Hardware Bridge

Пользователь скачивает bridge.py из дашборда ASI Biont (Devices → Create API Key). Устанавливает зависимости:

pip install pyserial requests websockets

Запускает bridge с токеном и портом:

python bridge.py --token=ВАШ_ТОКЕН --ports=COM3 --baud 115200 --rate=10

Параметр --rate=10 ограничивает частоту отправки команд, чтобы не перегружать устройство.

Шаг 3. Интеграция через ASI Biont

Пользователь пишет в чате ASI Biont:

"Подключись к Teensy на COM3, baud 115200. Слушай данные VOLT:, вычисляй среднее за 5 секунд. Если среднее выше 800 — установи яркость 255, если ниже 400 — установи 50, иначе 150. При превышении 900 отправь уведомление в Telegram."

AI-агент генерирует и выполняет Python-скрипт в sandbox (execute_python), который:
- Через industrial_command tool отправляет команду serial_write_and_read(data="HELP\n") для проверки связи.
- Подписывается на входящие данные через bridge: AI использует industrial_command с protocol='serial' и command='read', чтобы получать поток сообщений.
- Анализирует значения VOLT:, вычисляет скользящее среднее.
- Принимает решение об изменении яркости и отправляет команду serial_write_and_read(data="LED:255\n").
- При превышении порога 900 отправляет HTTP POST к api.telegram.org с текстом уведомления.

Пример реального запроса AI (не код, а то, что AI вызывает):

industrial_command(protocol='serial', command='serial_write_and_read', data='48454c500a')

Это эквивалент отправки HELP\n на Teensy. В ответ устройство должно вернуть список поддерживаемых команд.

Шаг 4. Результат

Всё работает в реальном времени: Teensy отправляет уровень громкости каждые 100 мс, AI анализирует данные и мгновенно корректирует яркость. Пользователь может наблюдать за процессом в чате, а уведомления приходят в Telegram.

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

  • Никакого ручного кодирования интеграции. Вам не нужно писать серверный код на Node.js или Python — AI делает это за секунды.
  • Мгновенная реакция. Задержка между получением данных с Teensy и отправкой команды составляет менее 200 мс при хорошем интернет-соединении.
  • Гибкость. Вы можете менять логику управления простым текстовым описанием: "сделай яркость обратно пропорциональной шуму" — AI перепишет скрипт.
  • Любой протокол. Если Teensy вдруг понадобится подключить по MQTT или Modbus, AI также напишет код через execute_python с paho-mqtt или pymodbus.

Другие сценарии для Teensy 4.x

Сценарий Датчики/исполнители Команда AI в чате
Автоматическая калибровка двигателей Энкодеры, сервоприводы "Подключись к Teensy, прочитай позицию энкодера, если отклонение >5% — отправь корректирующую команду"
Удалённый мониторинг состояния системы Датчики тока, напряжения "Раз в минуту читай данные VOLT и CURR, строй график matplotlib и отправляй в Telegram"
Анализ вибраций (IMU) MPU6050 "Получай данные с IMU, вычисляй FFT, обнаруживай аномальные частоты и логируй"
Управление по голосовым командам Микрофон + реле "Слушай голосовые команды через Teensy, распознавай ключевые слова, включай/выключай реле"

Заключение

Teensy 4.x — это мощный инструмент для задач реального времени, но его AI-потенциал раскрывается только в паре с облачным интеллектом. ASI Biont превращает его в полноценную систему автоматизации: вы просто описываете задачу на естественном языке, а AI-агент подключается к устройству, анализирует данные и управляет исполнителями. Попробуйте интеграцию прямо сейчас на asibiont.com — начните с простого сценария, например, адаптивного освещения, и убедитесь, насколько это быстро и удобно.

← Все статьи

Комментарии