RFID
RFID-считыватель — это устройство для приема и обработки сигналов от радиочастотных меток (чипов).
Он генерирует электромагнитное поле, улавливает ответный сигнал с уникальным номером метки и передает данные в систему контроля доступа (СКУД), на компьютер или терминал для идентификации объектов, животных или людей.
Где применяются:
- СКУД: открытие турникетов, дверей, ворот и шлагбаумов.
- Логистика и склад: автоматическая инвентаризация имущества, отслеживание товаров на паллетах.
- Ритейл: защита от краж, учет перемещения одежды и оборудования.
Один из участников сообщества, Константин N, успешно, по его словам, настроил и подключил RFID-считыватель и поделился своей наработкой инструкции в ТГ-чате Альт Вики. Собственно, ниже представлен текст его наработки.
Пошаговая инструкция подключения и настройки считывателя RFID-карт IronLogic Z-2 USB (FTDI)
Дано:
- Система: ALT Workstation 11.2
- Адаптер: IronLogic Z-2 USB (FTDI)
Шаг 1. Откройте терминал
- Нажмите Ctrl + Alt + T или найдите «Терминал» в меню приложений.
Шаг 2. Создайте и запустите скрипт настройки
- скопируйте весь блок ниже целиком в текстовый редактор
- замените в переменной $USER=petr значение на пользователя, которому вы хотите настроить устройство
- скопируйте команду, вставьте в терминал (нажмите Enter после вставки):
cat > ~/persist_z2usb_user.sh << 'SCRIPT'
#!/bin/bash
$USER=petr
set -e
echo "Настройка постоянного доступа для пользователя $USER..."
# 1. Группы (сохраняются навсегда)
groupadd uinput 2>/dev/null || true
usermod -aG dialout,uinput $USER
echo "[V] $USER добавлен в группы dialout и uinput"
# 2. Автозагрузка модулей ядра
echo "uinput" | tee /etc/modules-load.d/uinput.conf > /dev/null
echo "ftdi_sio" | tee /etc/modules-load.d/ftdi-sio.conf > /dev/null
echo "[V] Модули uinput и ftdi_sio добавлены в автозагрузку"
# 3. udev-правило для /dev/uinput
bash -c 'cat > /etc/udev/rules.d/99-uinput.rules << EOF
KERNEL=="uinput", MODE="0660", GROUP="uinput", OPTIONS+="static_node=uinput"
EOF'
echo "[V] Создано правило для /dev/uinput"
# 4. udev-правило для IronLogic Z-2 USB
bash -c 'cat > /etc/udev/rules.d/40-ironlogic-z2.rules << EOF
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", MODE="0666", GROUP="dialout", SYMLINK+="z2usb"
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="1234", MODE="0666", GROUP="dialout", SYMLINK+="z2usb"
EOF'
echo "[V] Создано правило для Z-2 USB"
# 5. systemd-сервис для регистрации VID/PID в драйвере ftdi_sio
bash -c 'cat > /etc/systemd/system/z2usb-boot.service << EOF
[Unit]
Description=Register IronLogic Z-2 USB IDs to ftdi_sio driver at boot
After=systemd-modules-load.service systemd-udev-settle.service
[Service]
Type=oneshot
ExecStart=/bin/sh -c "echo 0403 6001 > /sys/bus/usb-serial/drivers/ftdi_sio/new_id 2>/dev/null || true"
ExecStart=/bin/sh -c "echo 0403 1234 > /sys/bus/usb-serial/drivers/ftdi_sio/new_id 2>/dev/null || true"
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
EOF'
systemctl daemon-reload
systemctl enable z2usb-boot.service
systemctl start z2usb-boot.service
echo "[V] Создан и активирован systemd-сервис для ftdi_sio"
# 6. Применить правила udev
udevadm control --reload-rules
udevadm trigger
echo "[V] Правила udev применены"
echo ""
echo "ВСЕ НАСТРОЙКИ СОХРАНЕНЫ НАВСЕГДА!"
echo "Для применения прав групп: ВЫЙДИТЕ из системы и войдите снова как user"
echo " (или выполните: reboot)"
SCRIPT
Сделайте скрипт исполняемым и запустите его:
# chmod +x ~/persist_z2usb_user.sh # ~/persist_z2usb_user.sh
Дождитесь сообщения ВСЕ НАСТРОЙКИ СОХРАНЕНЫ НАВСЕГДА!.
Шаг 3. Перезагрузите систему
$ systemctl reboot
После включения войдите в систему под указанным в $USER пользователем.
Шаг 4. Подключите адаптер и проверьте систему
- Подключите IronLogic Z-2 USB в любой свободный USB-порт.
- Откройте терминал и выполните проверку:
- Модули загружены?
$ lsmod | grep -E "uinput|ftdi_sio"
- Состоит ли пользователь в группах?
$ groups $USER | grep -E "dialout|uinput"
- Доступно ли устройство?
$ ls -l /dev/z2usb /dev/ttyUSB* 2>/dev/null
Ожидаемый результат
- Вывод lsmod покажет строки с uinput и ftdi_sio
- В группах $USER есть dialout и uinput
- Выведутся строки /dev/ttyUSB0 с правами crw-rw-rw- или crw-rw---- и симлинк /dev/z2usb
Шаг 5. Установка программы для считывания карт
Официальная утилита PlaceCard автоматически вводит код карты в активное окно (имитирует клавиатуру) или копирует его в буфер обмена.
- Скачайте последнюю версию для Linux: PlaceCard для Linux (RPM)
- Установите через терминал:
# apt-get install ./placecard*.rpm
- Запустите программу: в меню приложений найдите PlaceCard или выполните в терминале placecard.
Шаг 6. Тестирование работы
Тест 1: Прямое чтение порта (проверка драйвера)
$ cat /dev/z2usb
Поднесите карту к считывателю. В терминале появится код карты.
Нажмите Ctrl + C, чтобы остановить.
Тест 2: Работа через GUI PlaceCard
- Откройте PlaceCard → выберите устройство /dev/z2usb (или оставьте то, что подставило автоопределение).
- Включите режим «Набор на клавиатуре» или «Копировать в буфер».
- Если выбран режим «Набор на клавиатуре», откройте любой текстовый редактор (например, mcedit или LibreOffice).
- Поднесите карту. Код должен автоматически появиться в редакторе.
Памятка по устранению неполадок
| Симптом | Решение |
|---|---|
| Permission denied при cat /dev/z2usb |
|
| Адаптер не определяется после загрузки | Проверьте сервис: systemctl status z2usb-boot.service |
| PlaceCard пишет «Не могу набрать на клавиатуре» | Проверьте /dev/uinput: ls -l /dev/uinput (должна быть группа uinput) |
| Нужно сбросить настройки | Удалите файлы:
|