Введение
SPI (Serial Peripheral Interface) — один из самых популярных последовательных интерфейсов для подключения датчиков, дисплеев, SD-карт и других периферийных устройств к микроконтроллерам. Однако извлечь данные из SPI-устройства и осмысленно их обработать часто требует написания сложного кода, настройки протоколов и интеграции с облачными сервисами. ASI Biont решает эту проблему: AI-агент сам пишет код подключения, анализирует данные в реальном времени и автоматизирует реакции. В этой статье мы разберём, как подключить SPI-устройство к ASI Biont через Hardware Bridge, какие сценарии автоматизации становятся доступны и почему это выгодно.
Проблема: данные есть, а анализа нет
SPI-устройства — это, как правило, низкоуровневые компоненты: акселерометры (MPU6050), датчики давления (BMP280), дисплеи (ILI9341), RFID-читатели (RC522). Они генерируют сырые байты, которые нужно преобразовать в осмысленные значения. Ручная реализация парсинга, логирования и анализа требует времени и навыков. Кроме того, если нужно реагировать на события (например, превышение порога температуры), приходится писать отдельный скрипт с циклами и условиями.
Решение: ASI Biont + Hardware Bridge
ASI Biont подключается к SPI-устройствам косвенно — через микроконтроллер (Arduino, ESP32, STM32), который работает как мост между SPI и COM-портом. Пользователь запускает на своём ПК приложение bridge.py, которое соединяется с ASI Biont через WebSocket. Затем AI-агент использует инструмент industrial_command с протоколом serial:// для отправки команд и чтения данных. Всё, что нужно сделать пользователю, — описать в чате, к какому порту подключено устройство и какие команды оно понимает.
Пошаговая архитектура подключения
| Компонент | Роль |
|---|---|
| SPI-устройство (например, MPU6050) | Генерирует сырые данные (акселерометр/гироскоп) |
| Микроконтроллер (Arduino Uno) | Читает SPI, преобразует в строку, отправляет по UART в COM-порт |
| bridge.py (на ПК пользователя) | Подключается к WebSocket ASI Biont, читает COM-порт, передаёт данные в облако |
| ASI Biont (облако) | Анализирует данные, принимает решения, отправляет команды обратно |
Конкретный сценарий: ESP32 + датчик MPU6050 (SPI) → ASI Biont
Шаг 1. Подготовка микроконтроллера
На ESP32 загружаем прошивку, которая читает данные с MPU6050 по SPI и выводит их в формате JSON в Serial (UART). Пример на Arduino IDE:
#include <SPI.h>
#include <MPU6050.h>
MPU6050 mpu;
void setup() {
Serial.begin(115200);
Wire.begin();
mpu.initialize();
}
void loop() {
int16_t ax, ay, az, gx, gy, gz;
mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
Serial.print("{\"ax\":"); Serial.print(ax);
Serial.print(",\"ay\":"); Serial.print(ay);
Serial.print(",\"az\":"); Serial.print(az);
Serial.print(",\"gx\":"); Serial.print(gx);
Serial.print(",\"gy\":"); Serial.print(gy);
Serial.print(",\"gz\":"); Serial.print(gz);
Serial.println("}");
delay(100);
}
ESP32 подключается к ПК через USB (виртуальный COM-порт, например COM5).
Шаг 2. Запуск bridge.py
Пользователь скачивает bridge.py из дашборда ASI Biont (Devices → Create API Key → Скачать bridge) и запускает:
pip install pyserial requests websockets
python bridge.py --token=ВАШ_ТОКЕН --ports=COM5 --baud=115200
Bridge подключается к WebSocket ASI Biont и начинает слушать COM5.
Шаг 3. Диалог с AI-агентом
Пользователь пишет в чате ASI Biont:
Подключись к моему ESP32 через Hardware Bridge. Порт COM5, baud 115200. Устройство отправляет JSON с акселерометром и гироскопом каждые 100 мс. Проанализируй данные, и если значение ax превышает 10000 (резкое движение), отправь мне уведомление в Telegram.
AI-агент использует industrial_command для чтения данных и execute_python для отправки сообщения в Telegram. Пример того, что AI выполняет внутри:
import requests
import json
# Это выполняется в sandbox ASI Biont (execute_python)
# AI получает данные через industrial_command, анализирует и отправляет уведомление
def send_telegram_alert(message):
bot_token = "YOUR_BOT_TOKEN"
chat_id = "YOUR_CHAT_ID"
url = f"https://api.telegram.org/bot{bot_token}/sendMessage"
payload = {"chat_id": chat_id, "text": message}
requests.post(url, json=payload)
# Данные уже получены из industrial_command, здесь только логика анализа
sample_data = {"ax": 12000, "ay": -500, "az": 9000, "gx": 10, "gy": -5, "gz": 2}
if sample_data["ax"] > 10000:
send_telegram_alert("🚨 Резкое движение! ax = {}".format(sample_data["ax"]))
Шаг 4. Результат
AI-агент непрерывно читает данные с MPU6050, обнаруживает резкие ускорения и мгновенно отправляет уведомление в Telegram. Пользователю не пришлось писать ни строчки кода для интеграции — только описать задачу на естественном языке.
Почему это выгодно
- Экономия времени: AI пишет код интеграции за секунды, а не часы.
- Гибкость: можно подключить любое SPI-устройство, если есть микроконтроллер-посредник.
- Автоматизация без программирования: достаточно описать сценарий словами.
- Единая точка управления: все устройства, независимо от интерфейса, управляются из одного чата.
Другие сценарии с SPI-устройствами
| Устройство | Способ подключения | Сценарий |
|---|---|---|
| RFID-читатель RC522 | COM-порт через Arduino | Автоматический учёт сотрудников, логирование проходов |
| SD-карта через SPI | COM-порт через ESP32 | Сбор логов с датчиков, выгрузка в облако |
| OLED-дисплей SSD1306 | COM-порт через ESP32 | Вывод статуса системы, обновление по команде из чата |
| Датчик давления BMP280 | COM-порт через Arduino | Мониторинг погоды, прогнозирование изменений |
Заключение
Интеграция SPI-устройств с AI-агентом ASI Biont открывает новые возможности для автоматизации сбора и анализа данных. Вам не нужно разбираться в тонкостях протоколов или писать сложные скрипты — просто подключите микроконтроллер к ПК, запустите bridge.py и опишите задачу в чате. AI сделает всё остальное.
Попробуйте сами: перейдите на asibiont.com, создайте API-ключ, скачайте bridge.py и подключите ваше первое SPI-устройство уже сегодня.
Комментарии