Введение
RFID-модуль RC522 — один из самых популярных и недорогих способов идентификации объектов и людей. Он работает на частоте 13,56 МГц, поддерживает стандарт MIFARE и позволяет считывать метки на расстоянии до нескольких сантиметров. Обычно RC522 подключают к Arduino, ESP32 или Raspberry Pi, пишут скетчи для открытия дверей или учета времени, а затем — долго отлаживают логику: кто прошел, когда, куда записать данные, какие уведомления отправить.
Но что если всю эту бизнес-логику возьмет на себя AI-агент? ASI Biont — это универсальный AI-агент, который умеет подключаться к любому устройству через чат-интерфейс. Пользователь просто описывает, что нужно сделать, а AI сам пишет код интеграции, подключается к устройству и начинает управлять им. В этой статье мы разберем, как подключить RC522 (RFID) к ASI Biont через COM-порт (Hardware Bridge), настроить сценарии автоматизации и избавиться от ручного кодирования логики.
Почему стоит подключить RC522 к AI-агенту
RC522 сам по себе — просто считыватель. Он выдает UID метки, но не знает, что с ним делать. Обычно разработчик пишет код на Python или Arduino, который:
- считывает UID,
- сверяет с базой данных,
- принимает решение (открыть замок, записать время, отправить уведомление),
- логирует событие.
При изменении правил (например, добавить нового сотрудника или изменить время доступа) нужно переписывать код, перепрошивать контроллер или обновлять скрипт на сервере. ASI Biont решает эту проблему: AI-агент берет на себя всю логику принятия решений, а RC522 остается просто источником данных. Пользователь меняет правила в чате — AI адаптирует сценарий без единой строчки кода вручную.
Как ASI Biont подключается к RC522: Hardware Bridge и COM-порт
RC522 — это периферийное устройство, которое обычно подключается к микроконтроллеру (Arduino, ESP32) по SPI. Сам микроконтроллер соединяется с компьютером через USB-COM-порт. ASI Biont работает в облаке, поэтому для доступа к локальному COM-порту используется Hardware Bridge — специальное приложение bridge.py, которое пользователь запускает на своем ПК.
Схема работы:
1. Пользователь подключает RC522 к Arduino (например, Arduino Nano) и прошивает его скетчем, который отправляет UID метки в COM-порт при каждом считывании.
2. На ПК пользователя запускается bridge.py с указанием порта (например, COM3) и скорости (115200).
3. Bridge подключается к ASI Biont через HTTP long polling и передает команды от AI к COM-порту и обратно.
4. В чате ASI Biont пользователь описывает задачу: «Подключись к COM3, читай UID меток, когда считана метка — проверь, есть ли она в списке разрешенных, и отправь уведомление в Telegram».
5. AI использует industrial_command с протоколом serial://, чтобы отправить команду на bridge, или пишет Python-скрипт с pyserial, который выполняется на сервере (но для COM-порта — только через bridge).
Почему именно COM-порт?
- RC522 не имеет встроенного Ethernet или Wi-Fi — он подключается по SPI к микроконтроллеру.
- Микроконтроллер общается с ПК через UART (USB-COM).
- Hardware Bridge — единственный способ для облачного AI получить доступ к локальному COM-порту.
- Альтернативы: если RC522 подключен к ESP32 с Wi-Fi, можно использовать MQTT — ESP32 публикует UID в топик, а AI подписывается через paho-mqtt.
Практический пример: автоматический учет рабочего времени сотрудников
Рассмотрим реальный сценарий: небольшая компания (10–15 сотрудников) хочет автоматически фиксировать приход и уход сотрудников по RFID-меткам. Каждому сотруднику выдана метка с уникальным UID. При входе в офис сотрудник прикладывает метку к считывателю RC522, подключенному к Arduino, который отправляет UID в COM-порт. ASI Biont получает UID, сверяет с базой данных (например, Google Sheets или локальный JSON), записывает время события и отправляет уведомление в Telegram.
Шаг 1. Подготовка оборудования
| Компонент | Назначение |
|---|---|
| RC522 (RFID-модуль) | Считывание меток стандарта MIFARE |
| Arduino Nano/Uno | Микроконтроллер для управления RC522 и вывода данных в COM-порт |
| RFID-метки (MIFARE Classic 1K) | Идентификация сотрудников |
| USB-кабель | Подключение Arduino к ПК |
| ПК с Windows/Linux/macOS | Запуск Hardware Bridge |
Шаг 2. Прошивка Arduino
Скетч для Arduino читает UID метки и отправляет его в COM-порт в формате UID:XXXXXXXX (где X — шестнадцатеричные цифры).
#include <SPI.h>
#include <MFRC522.h>
#define RST_PIN 9
#define SS_PIN 10
MFRC522 mfrc522(SS_PIN, RST_PIN);
void setup() {
Serial.begin(115200);
SPI.begin();
mfrc522.PCD_Init();
}
void loop() {
if (mfrc522.PICC_IsNewCardPresent() && mfrc522.PICC_ReadCardSerial()) {
String uid = "";
for (byte i = 0; i < mfrc522.uid.size; i++) {
if (mfrc522.uid.uidByte[i] < 0x10) uid += "0";
uid += String(mfrc522.uid.uidByte[i], HEX);
}
uid.toUpperCase();
Serial.println("UID:" + uid);
delay(1000);
}
}
Шаг 3. Запуск Hardware Bridge
Пользователь скачивает bridge.py (ссылка в документации ASI Biont) и запускает в терминале:
python bridge.py --token=ВАШ_ТОКЕН --ports=COM3 --default-baud=115200
Bridge подключается к облаку ASI Biont и начинает слушать COM3. Теперь AI может отправлять команды на чтение порта.
Шаг 4. Настройка сценария в чате ASI Biont
Пользователь пишет в чат ASI Biont:
«Подключись к COM3 через bridge, читай строки с префиксом "UID:". Когда получен UID, проверь его в списке сотрудников (вот JSON: {"A1B2C3D4": "Иван Петров", "E5F6G7H8": "Мария Сидорова"}). Запиши текущее время в файл log.csv. Если сотрудник не найден — отправь мне уведомление в Telegram: "Неизвестная метка: UID". Если найден — отправь: "Иван Петров, время входа: 14:35".»
AI генерирует и выполняет Python-скрипт с использованием pyserial (через bridge) и библиотек для работы с JSON и Telegram. Важно: сам скрипт выполняется в sandbox ASI Biont, а доступ к COM-порту идет через bridge.
Пример кода, который AI может сгенерировать (упрощенно):
import json
import csv
from datetime import datetime
import requests
# Данные
employees = {"A1B2C3D4": "Иван Петров", "E5F6G7H8": "Мария Сидорова"}
TELEGRAM_BOT_TOKEN = "ваш_токен"
TELEGRAM_CHAT_ID = "ваш_chat_id"
# Чтение из COM-порта через bridge (команда industrial_command с протоколом serial)
# В реальности AI использует tool call, но для иллюстрации:
# uid = industrial_command(protocol='serial', command='readline', params={'port': 'COM3', 'baud': 115200})
# Предположим, uid получен:
uid = "A1B2C3D4"
if uid in employees:
name = employees[uid]
now = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
with open('log.csv', 'a', newline='') as f:
writer = csv.writer(f)
writer.writerow([uid, name, now])
message = f"{name}, время входа: {now}"
else:
message = f"Неизвестная метка: {uid}"
# Отправка в Telegram
requests.post(f"https://api.telegram.org/bot{TELEGRAM_BOT_TOKEN}/sendMessage", json={"chat_id": TELEGRAM_CHAT_ID, "text": message})
AI выполняет этот код в sandbox, bridge передает данные с COM-порта, и сценарий работает в реальном времени.
Сценарий 2: Умная кладовая с ограничением доступа
Представьте кладовую с инструментами или расходными материалами. Доступ разрешен только определенным сотрудникам. При каждой выдаче инструмента нужно фиксировать, кто и что взял.
Как это работает с ASI Biont:
1. На двери кладовой установлен RC522 и электромагнитный замок, управляемый Arduino (через реле).
2. Пользователь описывает в чате: «Создай сценарий: при считывании метки проверь UID в списке "инженеры". Если доступ разрешен, отправь команду на Arduino — включи реле на 5 секунд (откроет замок). Запиши в лог: кто, когда. Отправь уведомление в Telegram: "Иван Петров открыл кладовую в 15:00".»
3. AI пишет Python-скрипт, который через bridge отправляет на COM-порт команду OPEN (Arduino по этой команде включает реле).
Фрагмент кода для Arduino (прием команды):
void loop() {
if (Serial.available()) {
String cmd = Serial.readStringUntil('\n');
cmd.trim();
if (cmd == "OPEN") {
digitalWrite(RELAY_PIN, HIGH);
delay(5000);
digitalWrite(RELAY_PIN, LOW);
}
}
}
Пример команды от AI к bridge (через industrial_command):
industrial_command(
protocol='serial',
command='write',
params={'port': 'COM3', 'data': 'OPEN\n'}
)
Сценарий 3: Личный трекер книг и инструментов
Домашний сценарий: на каждой книге (или коробке с инструментом) наклеена RFID-метка. Прикладывая метку к считывателю, пользователь может:
- узнать, где находится предмет (последнее место хранения),
- отметить, что предмет взят/возвращен,
- получить напоминание, если предмет не возвращен через неделю.
Как настроить в ASI Biont:
1. Пользователь создает в чате базу данных (например, JSON-файл): {"UID1": {"name": "Книга "Война и мир"", "location": "шкаф"}}.
2. Пишет: «При считывании метки покажи мне в чате название предмета и его текущее местоположение. Если я напишу "переместить в стол", запиши новое местоположение.»
3. AI реализует диалоговый интерфейс: при считывании — выводит информацию, при команде — обновляет базу.
Почему это выгодно: AI берет на себя всю логику
Главное преимущество интеграции RC522 с ASI Biont — отсутствие необходимости писать и поддерживать сложную бизнес-логику вручную. Пользователь просто описывает желаемое поведение на естественном языке, а AI:
- пишет код интеграции (Python с pyserial, paho-mqtt, requests и т.д.),
- подключается к устройству через bridge, MQTT или SSH,
- реализует все условия, триггеры и уведомления,
- при изменении правил — адаптирует сценарий за секунды.
Сравнение с традиционным подходом:
| Аспект | Традиционный подход | С ASI Biont |
|---|---|---|
| Время настройки | Часы/дни (написание кода, отладка) | Минуты (описание в чате) |
| Изменение логики | Правка кода, перепрошивка | Новая команда в чате |
| Интеграция с сервисами | Ручное написание API-запросов | AI пишет код сам |
| Масштабирование | Нужно переписывать архитектуру | Добавить новые условия в диалоге |
Как начать: пошаговая инструкция
- Подготовьте оборудование: подключите RC522 к Arduino по схеме (SDA → D10, SCK → D13, MOSI → D11, MISO → D12, IRQ → не подключен, GND → GND, RST → D9, 3.3V → 3.3V).
- Загрузите скетч (из примера выше) в Arduino.
- Установите Python и библиотеку
pyserialна ПК. - Скачайте bridge.py из документации ASI Biont и запустите с токеном и портом.
- Откройте чат ASI Biont (на сайте asibiont.com) и опишите задачу, например: «Подключись к COM3, читай UID меток и записывай в Google Sheets».
- AI выполнит интеграцию и начнет работать.
Заключение
RC522 (RFID) — простое, но мощное устройство для идентификации. В связке с AI-агентом ASI Biont оно превращается в полноценную систему контроля доступа, учета рабочего времени или трекинга предметов без необходимости писать сложный код. Hardware Bridge обеспечивает надежное соединение между облачным AI и локальным COM-портом, а AI берет на себя всю логику принятия решений, уведомления и интеграцию с внешними сервисами.
Попробуйте сами: подключите RC522 к ASI Biont и автоматизируйте учет в своем офисе или дома. Начните с простого сценария — например, фиксация времени прихода — и убедитесь, насколько это быстро и удобно.
Попробуйте интеграцию на asibiont.com — опишите в чате, какое устройство у вас есть, и AI подключит его за секунды.
Комментарии