Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Вступление
Сегодня мы будем делать систему безопасности RFID. Это будет работать как система безопасности, поэтому, когда RFID-метка или карта находится рядом, на ЖК-дисплее 1602 будет отображаться сообщение. Целью этого проекта является моделирование работы дверных замков RFID. Таким образом, он будет работать, когда RFID-метка или карта находится рядом с RFID-устройством чтения, он обнаружит карту или метку и отобразит сообщение на ЖК-дисплее.
Оборудование
- Считыватель RFID RC522
- Малина Pi 3
- Макетная плата
- Провода перемычки
- ЖК-дисплей 1602
- Т-сапожник
А теперь приступим!
Шаг 1. Сборка RFID RC522 и LCD 1602
Итак, теперь мы собираемся подключить ЖК-дисплей и RFID к макетной плате. Ниже представлена картинка со схемой пин-кода. Это также в письменной форме для людей, которым не нужны фотографии. На вашем RFID RC522 вы заметите, что есть 8 возможных соединений, это SDA (последовательный сигнал данных), SCK (последовательные часы), MOSI (главный выход, подчиненный вход), MISO (главный вход подчиненного выхода), IRQ (прерывание). Request), GND (заземление), RST (цепь сброса) и 3,3 В (вход питания 3,3 В). Нам нужно будет подключить все это, кроме IRQ, к контактам GPIO Raspberry Pi.
Вы можете подключить их напрямую к контактам GPIO или, как мы это делали в этом руководстве, подключить RFID RC522 к нашей макетной плате, а затем подключить оттуда к контактам GPIO Raspberry Pi.
Подключить RFID RC522 к Raspberry Pi довольно просто: вам нужно подключить всего 7 контактов GPIO непосредственно к считывателю RFID. Следуйте приведенной ниже таблице и ознакомьтесь с нашим руководством по GPIO, чтобы увидеть положения контактов GPIO, к которым вам необходимо подключить RC522.
SDA подключается к выводу 24.
SCK подключается к контакту 23.
MOSI подключается к контакту 19.
MISO подключается к контакту 21.
GND подключается к контакту 6.
RST подключается к выводу 22.
3,3 В подключается к контакту 1.
Как только вы закончите с подключением, мы можем перейти к самой интересной части - кодированию! Пойдем
Шаг 2: настройка RFID
Чтобы RFID заработал, нам нужно загрузить репозиторий с GitHub, используя терминал на Raspberry Pi. Итак, в первую очередь дайте малине немного сока, чтобы она могла включиться.
Откройте Терминал и введите это:
sudo raspi-config
2. Эта команда вызовет другой экран и оттуда перейдите к параметрам взаимодействия, а затем перейдите к P4 SPI, чтобы включить эту опцию.
3. Вернитесь в терминал и введите следующее:
перезагрузка sudo
Мы делаем это для правильного включения SPI.
4. После перезагрузки Raspberry Pi откройте Терминал и введите:
lsmod | grep spi
Нам нужно сделать это, чтобы проверить, правильно ли включен SPI. Итак, если вы видите spi_bcm2835, значит ваш RFID зарегистрирован Raspberry Pi, и теперь вы можете перейти к настройке ЖК-дисплея 1602.
Исправление проблем
Если по каким-то причинам SPI не активирован, выполните следующие действия, чтобы заставить ваш SPI работать.
7. Если по какой-то причине модуль SPI не активирован, мы можем отредактировать файл конфигурации загрузки вручную, выполнив следующую команду на нашем Raspberry Pi.
судо нано /boot/config.txt
8. В файле конфигурации используйте Ctrl + W, чтобы найти «dtparam = spi = on». Если вы его нашли, проверьте, нет ли перед ним символа #. Если есть, удалите его, поскольку это комментирует строку активации. Если вы вообще не можете найти строку, просто добавьте «dtparam = spi = on» в конец файла.
После внесения изменений вы можете нажать Ctrl + X, затем нажать Y, а затем Enter, чтобы сохранить изменения. Теперь вы можете снова перейти к шагу 5, перезагрузив Raspberry Pi, а затем проверив, включен ли модуль.
Итак, мы закончили с RFID и перейдем к LCD 1602!
Шаг 3: Настройка ЖК-дисплея 1602
Итак, чтобы ЖК-дисплей отображал буквы, нам нужно загрузить репозиторий, а также загрузить некоторые другие вещи.
1. Откройте терминал и введите это, чтобы установить репозиторий LCD:
git clone
2. Чтобы проверить, правильно ли был установлен репозиторий, мы должны ввести эту функцию в терминал:
ls
Если вы видите папку с именем lcd, значит, вы успешно установили репозиторий.
3. Теперь нам нужно сменить каталог, мы можем сделать это, набрав эту функцию:
cd lcd
4. Наконец, мы должны создать новый файл python, поэтому создайте новый файл python 3 и сохраните его в новой папке и назовите его Security.py.
5. После этого введите этот код в файл и сохраните его.
#! / usr / bin / env python
импортировать RPi. GPIO как GPIO
import MFRC522 import signal import time import lcddriver
continue_reading = Верно
дисплей = lcddriver.lcd ()
# Захват SIGINT для очистки при прерывании скрипта
def end_read (signal, frame): global continue_reading print («Ctrl + C захвачено, чтение завершено») continue_reading = False GPIO.cleanup ()
# Подцепить СИГНАЛ
signal.signal (сигнал. SIGINT, end_read)
# Создаем объект класса MFRC522
MIFAREReader = MFRC522. MFRC522 ()
# Приветствие
print («Добро пожаловать в пример чтения данных MFRC522») print («Нажмите Ctrl-C, чтобы остановить.»)
# Этот цикл постоянно проверяет наличие фишек. Если кто-то рядом, он получит UID и аутентифицируется
while continue_reading: # Сканировать карты (статус, TagType) = MIFAREReader. MFRC522_Request (MIFAREReader. PICC_REQIDL)
# Если карта найдена
if status == MIFAREReader. MI_OK: print («Карта обнаружена») display.lcd_display_string («Hello Human», 1) display.lcd_display_string («Доступ разрешен», 2) time.sleep (1.5) display.lcd_clear () # Get UID карты (статус, uid) = MIFAREReader. MFRC522_Anticoll ()
# Если у нас есть UID, продолжаем
если статус == MIFAREReader. MI_OK:
# Распечатать UID
print ("UID чтения карты:% s,% s,% s,% s")% (uid [0], uid [1], uid [2], uid [3]) # Это ключ по умолчанию для аутентификации key = [0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF] # Выберите отсканированный тег MIFAREReader. MFRC522_SelectTag (uid)
# Аутентифицировать
status = MIFAREReader. MFRC522_Auth (MIFAREReader. PICC_AUTHENT1A, 8, ключ, uid)
# Проверить, аутентифицирован ли
if status == MIFAREReader. MI_OK: MIFAREReader. MFRC522_Read (8) MIFAREReader. MFRC522_StopCrypto1 () else: print («Ошибка аутентификации»)
Шаг 4: Заставьте систему безопасности работать
Мы все настроены, и теперь мы наконец можем заставить систему безопасности работать! Чтобы все заработало, нужно открыть терминал.
1. Откройте терминал
2. Нам нужно изменить каталог на папку lcd, поэтому введите это на терминале:
cd lcd
3. Введите это:
python Security.py
Отлично! Терминал должен сказать: «Добро пожаловать в систему безопасности».
Поместите свой идентификатор на считыватель RFID и посмотрите, что произойдет.
Если RFID считывает его, он скажет, что карта обнаружена на терминале, а на ЖК-дисплее отобразится «Hello Human», а под ним «Access Granted»
Если с вами этого не произошло, проверьте свою схему и попросите о помощи.