Введение
SPI (Serial Peripheral Interface) — один из самых распространённых протоколов для подключения периферийных устройств к микроконтроллерам: датчиков температуры (MAX31855, MCP9808), акселерометров (ADXL345), OLED-дисплеев (SSD1306), SD-карт и много другого. Однако, чтобы данные с SPI-устройств попали в облачный AI-агент, обычно нужен промежуточный контроллер (ESP32, Arduino, Raspberry Pi), который транслирует SPI в последовательный интерфейс. ASI Biont решает эту задачу автоматически: вы просто описываете в чате, к какому устройству подключиться, и AI самостоятельно пишет код интеграции. В этой статье мы разберём реальный сценарий: подключение датчика температуры (SPI) через ESP32 к AI-агенту с помощью Hardware Bridge и MQTT.
Как работает интеграция SPI с ASI Biont?
ASI Biont поддерживает несколько способов подключения к устройствам, но для SPI-периферии оптимальна связка:
- ESP32 (или Arduino) считывает данные с SPI-датчика — на микроконтроллере запущен скрипт на MicroPython или C++, который опрашивает датчик и отправляет данные по последовательному порту (UART) или MQTT.
- Hardware Bridge (bridge.py) — пользователь запускает на своём ПК программу bridge.py (скачивается из дашборда ASI Biont), которая соединяется с облачным AI через WebSocket и обеспечивает доступ к локальным COM-портам.
- AI-агент — в чате пользователь описывает задачу (например, «Подключись к COM3, baud 115200, прочитай температуру каждые 10 секунд и отправь в Telegram, если она превысит 30°C»). AI использует команду
industrial_command(protocol='serial', command='serial_write_and_read', data='...')для отправки запросов через bridge. - execute_python — альтернативно, AI может написать Python-скрипт, который выполняется в sandbox-окружении и подключается к MQTT-брокеру, куда ESP32 публикует данные с SPI-датчика.
Таким образом, вам не нужно писать код вручную — AI делает всю интеграцию за секунды.
Реальный сценарий: мониторинг температуры в серверной
Шаг 1. Подготовка оборудования
- Микроконтроллер: ESP32 (или Arduino Nano с FTDI).
- Датчик: MAX31855 (термопара K-типа) по SPI.
- Питание: 3.3V от ESP32.
- Соединения:
| MAX31855 | ESP32 |
|---|---|
| VCC | 3.3V |
| GND | GND |
| CS | GPIO5 |
| SCK | GPIO18 |
| SO | GPIO19 |
Шаг 2. Прошивка ESP32 (MicroPython)
import machine
import time
import json
# Настройка SPI
spi = machine.SPI(1, baudrate=5000000, polarity=0, phase=0)
cs = machine.Pin(5, machine.Pin.OUT)
def read_max31855():
cs.value(0)
data = spi.read(4)
cs.value(1)
# Парсинг данных (упрощённо)
temp_raw = (data[0] << 8 | data[1]) >> 2
temp_c = temp_raw * 0.25
return temp_c
# Вывод в UART для передачи на ПК
uart = machine.UART(0, baudrate=115200)
while True:
temp = read_max31855()
uart.write(json.dumps({"temp": temp}) + "\n")
time.sleep(10)
Шаг 3. Запуск Hardware Bridge
- Скачайте bridge.py из дашборда ASI Biont (Devices → Create API Key → Скачать bridge).
- Установите зависимости:
pip install pyserial requests websockets. - Запустите bridge:
python bridge.py --token=ВАШ_ТОКЕН --ports=COM3 --baud=115200 --rate=10
Шаг 4. Общение с AI-агентом в чате
Откройте чат с ASI Biont и напишите:
«Подключись к COM3, baud 115200. Читай данные с ESP32 каждые 10 секунд. Если температура превышает 30°C, отправь уведомление в Telegram»
AI автоматически:
- Использует industrial_command для отправки запросов через bridge.
- Парсит JSON-строки от ESP32.
- Сравнивает с порогом.
- Отправляет сообщение через Telegram API (используя requests.post к api.telegram.org).
Пример кода, который AI сгенерирует и выполнит в sandbox:
import requests
import json
# Эта функция вызывается AI с помощью industrial_command
def check_temperature(data):
parsed = json.loads(data)
temp = parsed.get('temp', 0)
if temp > 30:
requests.post(
'https://api.telegram.org/bot<TOKEN>/sendMessage',
json={'chat_id': '<CHAT_ID>', 'text': f'⚠ Температура {temp}°C превышает норму!'}
)
return f"Температура: {temp}°C"
Шаг 5. Результат
AI-агент мониторит температуру в реальном времени, и вы получаете уведомления в Telegram при аномалиях. Всё управление — через чат, без написания кода с вашей стороны.
Альтернативный сценарий: OLED-дисплей + управление через чат
Вы можете подключить OLED-дисплей (SSD1306 по SPI) к ESP32, а AI-агент через Hardware Bridge будет отправлять команды на вывод текста. Например:
«Выведи на дисплей текущее время и статус сервера»
AI сгенерирует скрипт, который отправляет через COM-порт строку DISPLAY: 17:45 - OK\n, а ESP32 принимает её и выводит на экран.
Почему это выгодно?
- Экономия времени: не нужно писать код для каждого нового датчика — AI делает это за вас.
- Гибкость: подключайте любые SPI-устройства через любой интерфейс (COM, MQTT, HTTP).
- Автоматизация реакции: AI может не только собирать данные, но и управлять исполнительными механизмами (реле, серво) при выходе за пределы.
- Единый интерфейс: все устройства управляются из одного чата — никаких панелей и кнопок.
Заключение
Интеграция SPI-устройств с AI-агентом ASI Biont открывает безграничные возможности для DIY-проектов и промышленной автоматизации. Вам не нужно быть экспертом в программировании микроконтроллеров — просто опишите задачу в чате, и AI сам напишет код, настроит bridge и начнёт мониторинг. Попробуйте уже сегодня на asibiont.com — подключите ваш датчик температуры, дисплей или любой другой SPI-девайс и управляйте им с помощью AI.
Комментарии