Оглавление:
- Шаг 1. Вещи, использованные в этом проекте
- Шаг 2: Подключение оборудования
- Шаг 3: Программирование программного обеспечения
- Шаг 4: Готово
Видео: Smart Lock с распознаванием лиц с LTE Pi HAT: 4 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:50
Распознавание лиц становится все более широко используемым, мы можем использовать его для создания умных замков.
Шаг 1. Вещи, использованные в этом проекте
Компоненты оборудования
- Raspberry Pi 3 Модель B
- Модуль камеры Raspberry Pi V2
- Роща - реле
- LTE Cat 1 Pi HAT (Европа)
- 10,1-дюймовый ЖК-дисплей 1200x1980 HDMI IPS
Программные приложения и онлайн-сервисы
- WinSCP
- Блокнот ++
Шаг 2: Подключение оборудования
В этом проекте мы планируем делать снимки с помощью Picamera и распознавать на них лица, а затем выводить результат распознавания на экран. Если лица известны, откройте дверь и отправьте, кто открыл дверь, на указанный номер телефона с помощью SMS.
Итак, вам нужно подключить камеру к интерфейсу камеры Raspberry Pi и установить антенну и Grove - Relay to LTE Pi, а затем подключить HAT к вашему Pi. Экран можно подключить к Raspberry Pi через кабель HDMI, не забудьте подключить питание к экрану и Pi.
Шаг 3: Программирование программного обеспечения
Распознавание лица
Спасибо Адаму Гейтгею и его проекту распознавания лиц, мы можем использовать самую простую в мире библиотеку распознавания лиц на Raspberry Pi. Следующие шаги покажут вам, как настроить распознавание лиц на Pi.
Шаг 1. Используйте raspi-config для настройки памяти камеры и графического процессора.
sudo raspi-config
Выберите «Параметры интерфейса» - «Камера», чтобы включить камеру, затем выберите «Дополнительные параметры» - «Разделение памяти», чтобы установить память графического процессора, ее следует изменить на 64. После завершения перезагрузите Raspberry Pi.
Шаг 2. Установите необходимые библиотеки.
sudo apt-get update
sudo apt-get upgrade sudo apt-get install build-essential / cmake / gfortran / git / wget / curl / graphicsmagick / libgraphicsmagick1-dev / libatlas-dev / libavcodec-dev / libavformat-dev / libboost-all-dev / libgtk2. 0-dev / libjpeg-dev / liblapack-dev / libswscale-dev / pkg-config / python3-dev / python3-numpy / python3-picamera / python3-pip / zip sudo apt-get clean
Шаг 3. Создайте массив поддержки picamerea.
sudo pip3 install --upgrade picamera [массив]
Шаг 4. Установите dlib и распознавание лиц.
sudo pip3 установить dlib
sudo pip3 установить face_recognition
Шаг 5. Загрузите и запустите пример распознавания лиц.
git clone - single-branch
cd./face_recognition/examples python3 facerec_on_raspberry_pi.py
ВНИМАНИЕ. Если вы получили ошибку ImportError: libatlas.so.3: невозможно открыть файл общих объектов: нет такого файла или каталога, выполните следующую команду, чтобы исправить это.
Реле
Когда распознавание лиц будет готово, мы можем продолжить добавление дополнительных функций. Мы подключили Grove - Relay к LTE Cat 1 Pi HAT, но он использует цифровой порт, а не порт I2C.
Это распиновка для Raspberry Pi 3B, мы можем видеть контакты SDA и SCL, расположенные на контактах 3 и 5 платы.
Таким образом, мы можем управлять реле, выводя цифровой сигнал на контакт 5. Запустите следующую программу python на своем Raspberry Pi, если ничего не пойдет не так, вы услышите Ti-Ta от реле.
импортировать RPi. GPIO как GPIO
RELAY_PIN = 5 GPIO.setmode (GPIO. BOARD) GPIO.setup (RELAY_PIN, GPIO. OUT) GPIO.output (RELAY_PIN, GPIO. HIGH)
Итак, идея заключается в том, что мы загружаем известные лица из папки, распознаем лица, снятые программой picamera, если лицо находится в папке, управляющее реле для разблокировки двери. Мы можем упаковать их в класс, вот метод load_known_faces () и метод unlock (), готовую программу можно скачать в конце статьи.
def load_known_faces (сам):
known_faces = os.listdir (self._ known_faces_path) для known_face в known_faces: self._ known_faces_name.append (known_face [0: len (known_face) - len ('. jpg')]) known_face_image = face_recognition.load_image_file (self._ known_facespath)) self._ known_faces_encoding.append (face_recognition.face_encodings (known_face_image) [0]) return len (self._ known_faces_encoding) def unlock (self): if self._ matched.count (True)> 0: GPIO.output (self._ relay_pin, GPIO. HIGH) print ('Дверь открыта') time.sleep (5) GPIO.output (self._ relay_pin, GPIO. LOW) self._ reset_recognise_params () return True self._ retry_count + = 1 print ('Попробуйте еще раз… { } '. format (self._ retry_count)) return False
Подумайте трансцендентно, мы можем показать картинку, кто распознал, библиотеки PIL и matplotlib могут быть полезны, среди них matplotlib необходимо установить вручную, запустите эту команду в терминале Raspberry Pi.
sudo pip3 установить matplotlib
Импортируйте их в свой код и измените блокировку if в методе unlock () следующим образом:
img = Image.open ('{} / {}. jpg'.format (self._ known_faces_path, self._ known_faces_name [0]))
plt.imshow (img) plt.ion () GPIO.output (self._ relay_pin, GPIO. HIGH) print ('Дверь открыта') plt.pause (3) plt.close () GPIO.output (self._ relay_pin, GPIO. LOW) self._ reset_recognise_params () return True
Теперь, если лицо распознано, изображение в папке будет отображаться на экране.
SMS
Иногда мы хотим узнать, кто находится в нашей комнате, и теперь есть место для LTE Cat 1 Pi HAT. Подключите к нему SIM-карту и выполните следующие действия, чтобы проверить, будет ли она работать.
Шаг 1. Включите UART0 в Raspberry Pi
Используйте nano для редактирования config.txt в / boot
судо нано /boot/config.txt
добавьте dtoverlay = pi3-disable-bt в его нижнюю часть и отключите службу hciuart
sudo systemctl отключить hciuart
затем удалите console = serial0, 115200 в cmdline.txt в / boot
судо нано /boot/cmdline.txt
После того, как все будет сделано, вам следует перезагрузить Raspberry Pi.
Шаг 2. Скачайте пример и запустите его.
Откройте терминал на своем Raspberry Pi, введите в него эту команду построчно.
cd ~
git clone https://github.com/Seeed-Studio/ublox_lara_r2_pi_hat.git cd ublox_lara_r2_pi_hat sudo python setup.py установить cd test sudo python test01.py
Если вы видите эти выходы на своем терминале, LTE Cat 1 Pi HAT работает хорошо.
Обнаружен 40-контактный разъем GPIO
Включение CTS0 и RTS0 на GPIO 16 и 17 rts cts при пробуждении… имя модуля: LARA-R211 RSSI: 3
Теперь мы знали, что HAT работает хорошо, как использовать его для отправки SMS? Первое, что вам нужно знать, это то, что Raspberry Pi взаимодействует с HAT через отправку AT-команд через UART. Вы можете отправлять AT-команды в LTE HAT, запустив этот код на Python
из импорта ublox_lara_r2 *
u = Ublox_lara_r2 () u.initialize () u.reset_power () # Закрыть сообщение отладки u.debug = False u.sendAT ('')
AT-команда для отправки SMS выглядит следующим образом
AT + CMGF = 1
AT + CMGS =
Итак, вот метод _send_sms ():
def _send_sms (сам):
if self._ phonenum == None: вернуть False для разблокировки в self._ognize_face_names (): if self._ ublox.sendAT ('AT + CMGF = 1 / r / n'): print (self._ ublox.response) если self. _ublox.sendAT ('AT + CMGS = "{}" / r / n'.format (self._ phonenum)): print (self._ ublox.response) if self._ ublox.sendAT (' {} войдите в комнату. / x1a'.format (unlocker)): print (self._ ublox.response)
ВНИМАНИЕ: библиотека LTE Cat 1 Pi HAT, написанная python2, не очень совместима с python3. Если вы хотите использовать ее с распознаванием лиц, загрузите ее по ссылке в конце этой статьи.
Рекомендуемые:
Распознавание лиц на Raspberry Pi 4B за 3 шага: 3 шага
Обнаружение лиц на Raspberry Pi 4B за 3 шага: в этом руководстве мы собираемся выполнить обнаружение лиц на Raspberry Pi 4 с помощью Shunya O / S, используя библиотеку Shunyaface. Shunyaface - это библиотека распознавания / обнаружения лиц. Проект направлен на достижение максимальной скорости обнаружения и распознавания с помощью
Abellcadabra (система дверного замка с распознаванием лиц): 9 шагов
Abellcadabra (Система дверных замков с распознаванием лиц): валяясь во время карантина, я пытался найти способ убить время, построив систему распознавания лиц для двери дома. Я назвал его Abellcadabra - это комбинация Abracadabra, волшебной фразы с дверным звонком, на который я беру только звонок. РЖУ НЕ МОГУ
Дверной замок с распознаванием лиц: 8 шагов
Дверной замок с распознаванием лиц: Примерно месяц на создание, я представляю дверной замок с распознаванием лиц! Я старался, чтобы это выглядело как можно более аккуратно, но я могу сделать это только в 13-летнем возрасте. Этот дверной замок с распознаванием лиц управляется Raspberry Pi 4 со специальным переносным аккумулятором
Дверной звонок с распознаванием лиц: 7 шагов (с изображениями)
Дверной звонок с распознаванием лиц: мотивация Недавно в моей стране прокатилась волна ограблений, нацеленных на пожилых людей в их собственных домах. Обычно доступ предоставляется самими жильцами, поскольку посетители убеждают их, что они сиделки / медсестры. Это
Пузырьковый пистолет с распознаванием звука !: 4 шага
Sound Sensing Bubble Gun !: Пузырьковые пистолеты - это весело, но автоматические пузырчатые пистолеты еще веселее! В этом руководстве мы научим вас, как построить пузырчатый пистолет, реагирующий на шум. Ищете ли вы забавный трюк на вечеринке или крутое украшение, чтобы украсить комнату