
Используйте считыватель RFID с Raspberry Pi.
Комментарииⓘ Cet article peut avoir été partiellement ou totalement traduit à l'aide d'outils automatiques. Nous nous excusons des erreurs que cela pourrait engendrer.
Это руководство является второй частью файла, посвященного обнаружению электроники с помощью Raspberry Pi. Если вы не читали его, я советую вам обратиться к первому руководству по управлению светодиодом с помощью Raspberry Pi.
Будь то системы идентификации, управления запасами, оплаты или домашней автоматизации, чипы RFID используются все чаще и чаще.
В этом руководстве мы увидим, как читать карты RFID с помощью Raspberry Pi и считывателя RFID RC522.
В конце руководства вы сможете прочитать значок RFID, проверить, соответствует ли он ожидаемому, и зажечь зеленый или красный светодиод, в зависимости от результата. Все, что вам нужно сделать, это адаптировать этот базовый пример для проекта по вашему выбору!
Необходимое оборудование
Для выполнения этого урока вам потребуются следующие материалы:
- Raspberry Pi
- Его диета
- Карта MicroSD
- Считыватель RFID RC522
- Комплект кабелей, светодиодов, резисторов и тестовых пластин
- Паяльник и припой
Соберите RFID-считыватель RC522
Когда вы получаете RFID-модуль RC522, вы можете видеть, что он поставляется с набором 2 x 8 контактов. Поэтому первым делом нужно припаять 8 из этих контактов к считывателю RFID. Не паникуйте, паять очень просто!
Поэтому вы должны вставить PIN-коды в гнезда на RFID-карте и припаять их своим утюгом.

Если вы никогда не занимались сваркой, я рекомендую это отличное руководство по сварке от François на сайте framboise314.fr.
Подключите RFID-считыватель и светодиоды к Raspberry Pi
Прежде чем перейти к написанию кода, который позволит нам считывать значки RFID и управлять светодиодами, мы должны сначала подключить все компоненты к Raspberry Pi.
Напоминаем, что подключение и отключение компонентов всегда должно выполняться при выключенном Raspberry Pi.
Подключите RFID-считыватель RC522 к Raspberry Pi
Первый компонент, который мы собираемся подключить, — это считыватель RFID.
Для управления считывателем RFID мы будем использовать внешнюю библиотеку. К сожалению, это написано с портами GPIO, непосредственно введенными в код. Это означает, что мы не можем настроить их по-другому и поэтому мы вынуждены использовать точно такие же порты, как те, которые предоставлены в библиотеке.
Вот таблица, в которой перечислены порты считывателя и порт GPIO Raspberry Pi, к которому вам нужно будет его подключить.

Напоминаем, что вы найдете карту портов GPIO Raspberry Pi в первом руководстве этой серии.
Подключите светодиоды
После считывателя RFID подключим светодиоды к Raspberry Pi.
Мы собираемся сделать очень простую сборку. Каждый светодиод будет иметь свой анод (удлиненную ножку), подключенный к порту GPIO, а два светодиода будут иметь свой анод, подключенный к одному и тому же резистору, который сам подключен к порту типа заземления GPIO Raspberry Pi.
Таким образом, мы используем один резистор для двух светодиодов и ограничиваем количество кабелей.
В конце концов, как только RFID-карта и светодиоды подключены к Pi, у вас должна получиться сборка, похожая на эту.

Напишите программу для считывания значка RFID.
У нас есть функциональная схема, нам просто нужно активировать порты SPI Raspberry Pi, необходимые для использования считывателя RFID, и написать программу, которая будет считывать значок RFID.
Как и в предыдущем руководстве, программа будет написана на Python. Это руководство не является курсом Python, и мы лишь кратко объясним программу. Если вы хотите узнать больше о Python, мы опубликовали вводный курс программирования с помощью Python.
Активируйте протокол SPI Raspberry Pi
Перед написанием программы давайте включим протокол SPI на нашем Raspberry Pi, чтобы мы могли использовать модуль RFID.
Чтобы активировать его, просто запустите команду sudo raspi-config
, на Raspberry, затем выберите Interfacing Options
, SPI
, Yes
и наконец Finish
.
Установите библиотеку pi-rc522
Последнее предварительное условие: мы собираемся установить библиотеку Python3 «pi-rc522», которая позволяет вам управлять плеером RC522.
Мы будем использовать Pip3, менеджер библиотек для Python.
Вам просто нужно запустить команду:
sudo pip3 install pi-rc522
Напишите программу для чтения идентификатора RFID-значка
Каждый значок RFID имеет уникальный идентификатор. Считывая этот идентификатор и сравнивая его со списком авторизованных идентификаторов, мы можем узнать, авторизован ли значок.
Поэтому мы собираемся написать программу, позволяющую считывать уникальный идентификатор значка RFID.
Как и в предыдущем уроке, напишем программу в папке /home/pi/electronic
(если вы еще этого не сделали, создайте папку).
В этой папке создайте файл read_rfid_uid.py
и поместите в него следующий код:
После того, как файл был сохранен, он разрешается для выполнения с помощью команды:
sudo chmod +x /home/pi/electronic/read_rfid_uid.py
Теперь мы можем запустить программу, вызвав ее с помощью команды:
/home/pi/electronic/read_rfid_uid.py
Каждый раз, когда вы проводите RFID-значок перед считывателем, будет отображаться его уникальный идентификатор!
Напишите программу, которая показывает, действителен ли значок.
Теперь, когда мы можем прочитать уникальный идентификатор значка, все, что нам нужно сделать, это адаптировать предыдущий код для сравнения считанного идентификатора с идентификатором, записанным в программе.
Поэтому мы собираемся немного изменить предыдущую программу, чтобы она сравнивала считанный uid с записанным в программе и зажигала красный или зеленый светодиод в зависимости от результата.
Скопируйте предыдущий файл в новый файл verify_rfid.py
и измените его для кода ниже:
Отредактируйте строку RFID_UID
поставить идентификатор вашей RFID-метки!
Все, что вам нужно сделать, это запустить программу и протестировать!
Затем вы можете адаптировать код для своих собственных проектов, таких как создание умного замка или даже музыкального автомата с использованием RFID-меток!
Для информации вы можете получить весь код этого руководства на Github Raspbian France.
В следующем уроке мы увидим, как управлять серводвигателем с помощью Raspberry Pi!