Интеграция RC522 (RFID) с AI-агентом ASI Biont: контроль доступа и учёт рабочего времени без сложного кода

Интеграция RC522 (RFID) с AI-агентом ASI Biont: контроль доступа и учёт рабочего времени без сложного кода

RFID-считыватель RC522 — недорогой модуль для идентификации карт и меток на частоте 13,56 МГц. Он широко применяется в системах контроля доступа, учёта рабочего времени и инвентаризации. Однако традиционная интеграция требует написания серверного кода, настройки баз данных и веб-интерфейсов. AI-агент ASI Biont революционизирует этот процесс: подключение устройства выполняется через обычный чат, а вся логика автоматизации генерируется искусственным интеллектом за секунды.

В этой статье мы разберём практический кейс: подключим RC522 к Arduino, соединим его с AI-агентом через COM-порт и настроим сценарии автоматизации — от контроля дверей до уведомлений в Telegram. Вы увидите, что для этого не нужно быть профессиональным разработчиком.

Зачем подключать RC522 к AI-агенту?

Основная ценность — превращение «сырых» данных с устройства в осмысленные действия. Вместо того чтобы писать парсеры и обработчики, вы описываете желаемое поведение на естественном языке: «Если сотрудник приложил карту — открой дверь». AI-агент самостоятельно решает, как считать данные, как их интерпретировать и какие команды отправить исполнительным устройствам.

Способы подключения RC522 к ASI Biont

ASI Biont поддерживает множество промышленных протоколов: COM-порт (RS-232/RS-485), MQTT, Modbus/TCP, HTTP API/WebSocket, OPC-UA, Siemens S7, BACnet и другие. Для RC522 оптимальный вариант — COM-порт через Hardware Bridge (bridge.py). Эта программа скачивается из дашборда ASI Biont, а не из сторонних источников. Она опрашивает порт с заданной частотой и передаёт данные агенту.

Архитектура подключения:

RC522 → Arduino → USB/UART → COM-порт → Hardware Bridge → ASI Biont

Альтернативно можно использовать ESP32 с Wi-Fi и протоколом MQTT, если вам нужна беспроводная связь. Сравнение методов приведено в таблице:

Способ Преимущества Недостатки
COM-порт (Hardware Bridge) Не требует сети, малая задержка, простота Кабель, ограничение расстояния
MQTT Беспроводной, масштабируемый Нужен брокер, настройка TLS
HTTP API Подходит для любых устройств с HTTP Большие накладные расходы

Практический пример: контроль доступа на Arduino

Шаг 1: Схема подключения RC522

Подключите модуль к Arduino Uno по интерфейсу SPI:

RC522 Arduino
SDA D10
SCK D13
MOSI D11
MISO D12
RST D9
3.3V 3.3V
GND GND

Шаг 2: Прошивка Arduino

Используйте библиотеку MFRC522. Скетч читает UID карты и отправляет его в COM-порт:

#include <SPI.h>
#include <MFRC522.h>

#define RST_PIN 9
#define SS_PIN 10

MFRC522 rfid(SS_PIN, RST_PIN);

void setup() {
  Serial.begin(115200);
  SPI.begin();
  rfid.PCD_Init();
}

void loop() {
  if (!rfid.PICC_IsNewCardPresent()) return;
  if (!rfid.PICC_ReadCardSerial()) return;

  String uid = "";
  for (byte i = 0; i < rfid.uid.size; i++) {
    uid += String(rfid.uid.uidByte[i], HEX);
    if (i < rfid.uid.size - 1) uid += " ";
  }
  Serial.println(uid);
  rfid.PICC_HaltA();
}

После загрузки прошивки откройте монитор COM-порта и убедитесь, что карта считывается.

Шаг 3: Запуск Hardware Bridge

Скачайте bridge.py из дашборда ASI Biont (раздел «Устройства»). Запустите его командой:

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

Мост начнёт автоматически опрашивать порт и передавать UID карт в ASI Biont. Теперь данные видны в чате агента.

Шаг 4: Сценарий в чате

Опишите агенту задачу: «При наличии карты с UID 62 D1 4F 03 или B3 4A 12 8E отправь команду на реле через COM4 и уведоми меня в Telegram». ASI Biont сгенерирует Python-код для обработки события. Пример сгенерированного кода:

import serial
import requests

ser = serial.Serial('COM3', 115200, timeout=1)
uid = ser.readline().decode().strip().lower()
allowed = {"62 d1 4f 03", "b3 4a 12 8e"}

if uid in allowed:
    relay = serial.Serial('COM4', 9600)
    relay.write(b'OPEN')
    relay.close()
    requests.post("https://api.telegram.org/bot<TOKEN>/sendMessage",
                  json={"chat_id": "<ID>", "text": "Дверь открыта"})

Обратите внимание: код выполняется в песочнице с тайм-аутом 30 секунд, поэтому while True использовать нельзя. Для постоянного фонового мониторинга применяется Hardware Bridge, который работает независимо от execute_python.

Другие сценарии автоматизации

  • Учёт рабочего времени. При проходе сотрудника агент записывает метку времени в Google Sheet через API.
  • Инвентаризация склада. Считывание меток с оборудования и автоматическое обновление базы данных.
  • Интеграция с умным домом. Отправка MQTT-команды для включения света/отопления при входе.
  • Охрана периметра. Если карта не в списке разрешённых, агент отправляет тревогу и снимок с веб-камеры.

Универсальная интеграция через execute_python

Описанный пример — лишь один из вариантов. ASI Biont умеет подключаться к любому устройству через execute_python (Execute Python): AI сам пишет код интеграции с использованием pyserial, paho-mqtt, pymodbus, paramiko, aiohttp или opcua-asyncio. Вам достаточно описать в чате параметры подключения — порт, IP-адрес, baud rate, API-ключ — и агент сгенерирует рабочую программу. Это снимает ограничение «поддерживается только официальный список периферии»: подключайте любые сенсоры, контроллеры и исполнительные устройства прямо сейчас.

Например, для удалённого считывателя на Raspberry Pi (через SSH) достаточно написать: «Подключись к Малине по SSH, запусти скрипт чтения RC522 и передавай данные по MQTT». AI сам установит зависимости, скопирует файлы и запустит процесс.

Выводы

Интеграция RC522 с ASI Biont превращает разрозненные элементы в единую AI-управляемую систему. Вы получаете:

  • Быстрое подключение через текстовый диалог;
  • Автоматическую генерацию кода и его документирование;
  • Возможность менять сценарии без перепрошивки устройств;
  • Гибкость благодаря поддержке десятков протоколов.

Попробуйте прямо сейчас: создайте проект на asibiont.com, скачайте Hardware Bridge и опишите своё устройство — агент подключит его за минуту.

Источники

  • Техническая документация MFRC522 (NXP): https://www.nxp.com/docs/en/data-sheet/MFRC522.pdf
  • Библиотека MFRC522 для Arduino: https://github.com/miguelbalboa/rfid
  • Официальный сайт ASI Biont: https://asibiont.com
← Все статьи

Комментарии