Введение
RFID-модуль RC522 — один из самых популярных и доступных считывателей меток на частоте 13.56 МГц. Он стоит менее 5 долларов, совместим с Arduino и ESP32, и позволяет идентифицировать объекты, людей и животных с помощью пассивных карт и брелоков стандарта MIFARE. Однако в большинстве проектов RC522 используется как автономное устройство: считал метку — открыл дверь или записал лог. Такой подход ограничивает потенциал данных.
Подключение RC522 к AI-агенту ASI Biont превращает простой считыватель в элемент интеллектуальной системы. Теперь можно не только фиксировать идентификатор, но и анализировать историю доступа, выявлять аномалии, автоматически синхронизировать данные с базами и строить прогнозы. При этом не нужно писать код вручную: пользователь описывает задачу в чате, а AI сам создаёт скрипт интеграции.
В этой статье я покажу, как подключить RC522 к ASI Biont через Hardware Bridge и COM-порт, приведу рабочий код на MicroPython для ESP32 и опишу несколько готовых сценариев — от учёта книг в библиотеке до управления турникетом без локального сервера.
Как AI-агент ASI Biont подключается к устройству
ASI Biont не имеет встроенного драйвера для каждого RFID-модуля. Вместо этого AI-агент использует универсальные протоколы и сам пишет код интеграции под конкретное устройство. Пользователь просто описывает в чате, к какому оборудованию нужно подключиться и какие параметры задать (порт, скорость, адрес). AI генерирует и выполняет Python-скрипт с одной из доступных библиотек:
- pyserial — для работы через COM-порт (RS-232, USB-UART)
- paramiko — для SSH-подключения к одноплатникам (Raspberry Pi, Orange Pi)
- paho-mqtt — для MQTT-обмена с ESP32 и другими IoT-устройствами
- pymodbus — для промышленных контроллеров по Modbus TCP
- aiohttp — для REST API и WebSocket
- opcua-asyncio — для OPC UA-серверов
В случае с RC522, который чаще всего подключается по UART (TX/RX) к микроконтроллеру, оптимальный способ — Hardware Bridge. Пользователь запускает bridge.py на своём ПК, указывает COM-порт и скорость, а AI через industrial_command отправляет команды на чтение данных. Bridge работает через HTTP long polling с облаком ASI Biont, поэтому не требует открытия портов на роутере.
Сценарий: учёт посещений и управление турникетом
Разберём реальный пример. У вас есть ESP32 с модулем RC522, подключенный к турникету в коворкинге. Каждый сотрудник подносит карту, ESP32 считывает UID и отправляет его в ASI Biont. AI-агент проверяет, есть ли карта в белом списке, ведёт лог времени входа/выхода и при необходимости управляет реле турникета.
Архитектура системы
| Компонент | Роль | Связь |
|---|---|---|
| RC522 | Считывает UID метки | SPI -> ESP32 |
| ESP32 (MicroPython) | Читает UID и отправляет через UART | USB-UART -> ПК |
| ПК с bridge.py | Принимает данные с COM-порта, шлёт в облако | HTTP long polling |
| ASI Biont (облако) | Анализирует UID, принимает решение | industrial_command |
| Реле (GPIO) | Управляет турникетом | Сигнал с ESP32 |
Код для ESP32 (MicroPython)
from machine import Pin, SPI, UART
from mfrc522 import MFRC522
import time
# Настройка UART для связи с ПК
uart = UART(1, baudrate=115200, tx=Pin(17), rx=Pin(16))
# Настройка RC522 через SPI
sck = Pin(18)
mosi = Pin(23)
miso = Pin(19)
cs = Pin(5)
rst = Pin(4)
spi = SPI(2, baudrate=100000, polarity=0, phase=0, sck=sck, mosi=mosi, miso=miso)
reader = MFRC522(spi, cs, rst)
print("RFID reader ready")
while True:
(stat, tag_type) = reader.request(reader.REQIDL)
if stat == reader.OK:
(stat, raw_uid) = reader.anticoll()
if stat == reader.OK:
uid = "{:02x}{:02x}{:02x}{:02x}".format(raw_uid[0], raw_uid[1], raw_uid[2], raw_uid[3])
uart.write(uid + '\n')
print("Card detected:", uid)
time.sleep(1)
Примечание: Убедитесь, что библиотека mfrc522 загружена на ESP32. Её можно установить через
mip.install("mfrc522")в MicroPython.
Как это работает с ASI Biont
- Пользователь запускает bridge.py на ПК, который подключён к ESP32 по USB:
python bridge.py --token=ВАШ_ТОКЕН --ports=COM3 --default-baud=115200
- В чате ASI Biont пользователь даёт команду:
«Подключись к COM3 на скорости 115200. Читай строки с UID карт. Если UID есть в списке разрешённых, отправь на ESP32 команду "OPEN" через тот же порт. Логируй все события в базу данных.»
- AI-агент пишет Python-скрипт, используя industrial_command с протоколом serial://, и выполняет его в sandbox:
import pyserial
import json
from datetime import datetime
# Параметры подключения (заполняются AI из диалога)
PORT = "COM3"
BAUD = 115200
ALLOWED_UIDS = ["a1b2c3d4", "e5f6g7h8"]
# Открытие порта
ser = serial.Serial(PORT, BAUD, timeout=5)
# Чтение данных в цикле (с таймаутом из-за sandbox)
start = time.time()
while time.time() - start < 25:
line = ser.readline().decode('utf-8').strip()
if line:
uid = line
timestamp = datetime.now().isoformat()
# Проверка доступа
if uid in ALLOWED_UIDS:
ser.write(b"OPEN\n")
status = "granted"
else:
status = "denied"
# Логирование (можно отправить в БД)
log_entry = {"uid": uid, "time": timestamp, "status": status}
print(json.dumps(log_entry)) # Вывод в лог чата
# Здесь AI может вызвать industrial_command для записи в базу
ser.close()
- AI-агент обрабатывает данные: проверяет UID, отправляет команду на ESP32 (которая через реле открывает турникет), и сохраняет запись в PostgreSQL (через psycopg2) или в локальный JSON-файл.
Альтернативный сценарий: учёт книг в библиотеке
Тот же RC522 можно использовать для инвентаризации. Наклейте RFID-метки на книги, а считыватель подключите к ESP32. Каждый раз, когда книга проходит мимо считывателя, UID отправляется в ASI Biont. AI-агент сверяет с каталогом, отмечает книгу как выданную/возвращённую и присылает уведомление в Telegram через requests.post("https://api.telegram.org/bot<TOKEN>/sendMessage", ...).
Преимущества интеграции с ASI Biont
- Без программирования — пользователь описывает логику словами, AI пишет код.
- Любое устройство — не нужно ждать, пока разработчики добавят поддержку. Подключайте всё, что говорит по UART, I2C, SPI, Modbus, MQTT, HTTP.
- AI-анализ — данные с RC522 можно анализировать с помощью ML-моделей (например, выявлять подозрительные карты по частоте использования).
- Автоматизация — AI может запускать сценарии: отправлять отчёты, управлять другими устройствами, синхронизировать с 1С или Google Sheets.
- Безопасность — данные передаются через зашифрованный канал, bridge не открывает порты наружу.
Сравнение способов подключения
| Способ | Когда использовать | Пример устройства |
|---|---|---|
| Hardware Bridge (COM) | Устройство подключено к ПК по USB/UART | Arduino, ESP32, RC522 |
| SSH | Устройство — одноплатник с Linux | Raspberry Pi с GPIO |
| MQTT | Устройство поддерживает MQTT | ESP32 с WiFi, умные датчики |
| Modbus TCP | Промышленные контроллеры | PLC, ПЛК |
| HTTP API | Умные розетки, камеры, REST-устройства | Xiaomi, Shelly, Tuya |
| OPC UA | Заводское оборудование | Siemens, Beckhoff |
Заключение
RC522 — простой и дешёвый модуль, который в связке с AI-агентом ASI Biont открывает широкие возможности для автоматизации. Вам не нужно быть инженером или программистом: достаточно описать задачу в чате, и AI сам подберёт протокол, напишет код и подключится к устройству. Учёт посещений, управление доступом, инвентаризация — всё это реализуется за минуты, а не дни.
Попробуйте интеграцию прямо сейчас на asibiont.com. Подключите свой RC522 и убедитесь, что AI-агент может управлять физическим миром.
Комментарии