Введение
NFC-технология прочно вошла в нашу жизнь: от бесконтактной оплаты до пропускных систем на предприятиях. Модуль PN532 — один из самых популярных чипов для чтения и записи NFC-меток. Но что, если подключить его не просто к Arduino или Raspberry Pi, а к AI-агенту, который сам решает, какие действия выполнять при поднесении метки? ASI Biont делает это возможным без единой строки кода с вашей стороны.
В этой статье я покажу, как подключить PN532 к ASI Biont через Hardware Bridge и COM-порт, приведу реальные сценарии автоматизации (учёт рабочего времени, доступ в помещения, складская логистика) и примеры кода на MicroPython для самого модуля.
Почему PN532 и ASI Biont?
PN532 поддерживает три режима работы: чтение/запись меток, эмуляцию карты и пиринговый обмен. Самый востребованный — чтение уникального идентификатора (UID) метки. ASI Biont, получив UID, может:
— Открыть дверь (через реле на ESP32 или PLC)
— Отметить время прихода сотрудника (запись в Google Sheets или базу данных)
— Запустить сценарий умного дома (включить свет, кондиционер)
Всё это — без написания интеграционного кода: вы описываете логику на естественном языке, AI-агент сам генерирует и выполняет сценарий.
Как подключить PN532 к ASI Biont
Шаг 1: Подготовка оборудования
Подключите PN532 к Arduino или ESP32 по I²C или UART. Я рекомендую I²C — меньше проводов:
| PN532 | Arduino Uno |
|---|---|
| VCC | 5V |
| GND | GND |
| SDA | A4 |
| SCL | A5 |
Для ESP32:
| PN532 | ESP32 |
|---|---|
| VCC | 3.3V |
| GND | GND |
| SDA | GPIO21 |
| SCL | GPIO22 |
Шаг 2: Прошивка микроконтроллера
Загрузите на Arduino/ESP32 скетч, который читает UID метки и отправляет его по UART (Serial) в формате строки. Пример на MicroPython для ESP32:
from machine import Pin, I2C, UART
from pn532 import PN532
import time
# Инициализация I2C
i2c = I2C(0, scl=Pin(22), sda=Pin(21), freq=100000)
pn532 = PN532(i2c, debug=False)
# Инициализация NFC
pn532.SAM_configuration()
# Инициализация UART для связи с ASI Biont
uart = UART(1, baudrate=115200, tx=Pin(17), rx=Pin(16))
print('Ожидание метки...')
while True:
uid = pn532.read_passive_target(timeout=0.5)
if uid is not None:
uid_str = ':'.join([hex(x)[2:].zfill(2) for x in uid])
print('Обнаружена метка:', uid_str)
uart.write(uid_str + '\n')
time.sleep(0.1)
Этот скетч непрерывно сканирует NFC-метки. Как только метка поднесена, UID отправляется в COM-порт.
Шаг 3: Запуск Hardware Bridge
Скачайте bridge.py из дашборда ASI Biont (Devices → Create API Key → Скачать bridge). Установите зависимости:
pip install pyserial requests websockets
Запустите bridge, указав порт и API-токен:
python bridge.py --token=ВАШ_ТОКЕН --ports=COM3 --baud 115200
Bridge подключается к облаку ASI Biont по WebSocket и начинает слушать COM-порт. Каждое новое сообщение (UID) отправляется в облако.
Сценарии автоматизации через AI-агента
Сценарий 1: Учёт рабочего времени
Задача: При поднесении NFC-метки сотрудника записывать время прихода/ухода в Google Sheets.
Как это сделать в ASI Biont:
1. Подключите bridge (шаг 3).
2. В чате с AI-агентом напишите:
«При получении UID метки по COM-порту проверяй, есть ли такой сотрудник в базе. Если нет — создай запись „приход“ с текущим временем. Если есть и последнее событие „приход“ — создай запись „уход“. Данные сохраняй в Google Sheets через API.»
AI-агент сгенерирует и выполнит код. Пример сгенерированного скрипта (выполняется в sandbox):
import requests
import json
from datetime import datetime
# Функция для записи в Google Sheets (упрощённо)
def log_event(uid, event_type):
url = "https://sheets.googleapis.com/v4/spreadsheets/YOUR_SPREADSHEET_ID/values/Sheet1:append?valueInputOption=USER_ENTERED"
headers = {"Authorization": "Bearer YOUR_TOKEN"}
values = [[uid, event_type, datetime.now().isoformat()]]
body = {"values": values}
requests.post(url, headers=headers, json=body)
# Основной цикл (вызывается при каждом событии)
uid = "12:34:56:78:9A:BC:DE:F0" # пример из COM-порта
log_event(uid, "приход")
AI сам подставит ваш API-ключ и ID таблицы.
Сценарий 2: Контроль доступа в помещение
Задача: Открывать дверь только для авторизованных меток.
Как сделать:
- Подключите ESP32 с реле к той же сети Wi-Fi.
- В чате напишите:
«При получении UID проверяй в списке разрешённых. Если UID есть — отправь MQTT-команду на ESP32 с топиком door/open и сообщением „1“. Иначе — проигнорируй или отправь уведомление в Telegram.»
AI сгенерирует код с paho-mqtt для публикации команды.
Сценарий 3: Складская логистика
Задача: При поднесении NFC-метки к товару обновлять его статус в системе учёта.
Как сделать:
- Наклейте NFC-стикеры на коробки.
- В чате:
«При сканировании метки запрашивай у меня комментарий (например, „отгружено“, „брак“). Сохраняй UID + комментарий + время в базу данных PostgreSQL.»
AI-агент использует psycopg2 для работы с PostgreSQL.
Почему это выгодно?
Традиционный подход требует:
- Написания кода на Python для парсинга COM-порта,
- Настройки MQTT-брокера или HTTP-сервера,
- Реализации бизнес-логики (проверка UID, запись в БД).
С ASI Biont всё это заменяется одним диалогом в чате. AI-агент сам пишет код, подключается к устройству через bridge или execute_python, и начинает обработку событий. Время интеграции сокращается с часов до минут.
Выводы
PN532 — отличный пример периферийного устройства, которое раскрывает свой потенциал только в связке с интеллектуальным агентом. ASI Biont позволяет:
- Подключать любые NFC-ридеры через COM-порт (Hardware Bridge)
- Автоматически обрабатывать события (поднесение метки)
- Запускать сложные сценарии без программирования
- Интегрироваться с внешними сервисами (Google Sheets, Telegram, MQTT, базы данных)
Попробуйте сами: скачайте bridge.py из дашборда ASI Biont, подключите PN532 и опишите в чате вашу задачу. AI-агент сделает всю работу за вас.
Призыв к действию
Готовы автоматизировать контроль доступа или учёт времени? Зайдите на asibiont.com, создайте API-ключ и начните интеграцию с PN532 уже сегодня. Никакого кода — только ваш запрос в чате.
Комментарии