Съдържание:
- Стъпка 1: Нещата, използвани в този проект
- Стъпка 2: Хардуерна връзка
- Стъпка 3: Софтуерно програмиране
- Стъпка 4: Готово
Видео: Smart Lock за разпознаване на лица с LTE Pi HAT: 4 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:51
Разпознаването на лица става все по -широко използвано, можем да го използваме, за да направим интелигентно заключване.
Стъпка 1: Нещата, използвани в този проект
Хардуерни компоненти
- Raspberry Pi 3 Модел B
- Модул за камера на Raspberry Pi V2
- Гроув - Реле
- LTE Cat 1 Pi HAT (Европа)
- 10,1 инчов 1200x1980 HDMI IPS LCD дисплей
Софтуерни приложения и онлайн услуги
- WinSCP
- Notepad ++
Стъпка 2: Хардуерна връзка
В този проект планираме да правим снимки с пикамера и да разпознаваме лица в тях, след което да показваме резултата от разпознаването на екрана. Ако са известни лица, отворете вратата и изпратете кой е отворил вратата до посочен телефонен номер чрез SMS.
Така че трябва да свържете камера към интерфейса на камерата на Raspberry Pi и да инсталирате антена и Grove - Relay към LTE Pi шапка, след което да включите HAT към вашия Pi. Екранът може да бъде свързан към Raspberry Pi чрез HDMI кабел, не забравяйте да свържете захранването към екрана и Pi.
Стъпка 3: Софтуерно програмиране
Разпознаване на лица
Благодаря за Адам Гейтгей и неговия проект за разпознаване на лица, можем да използваме най -простата библиотека за разпознаване на лица в света на Raspberry Pi. Следващите стъпки ще ви покажат как да настроите разпознаването на лица на Pi.
Стъпка 1. Използвайте raspi-config, за да конфигурирате камерата и GPU паметта.
sudo raspi-config
Избор на опции за интерфейс - Камера, за да активирате пикамерата, след това изберете Разширени опции - Разделяне на паметта, за да зададете памет на графичния процесор, тя трябва да бъде променена на 64. След като приключите, рестартирайте вашия Raspberry Pi.
Стъпка 2. Инсталирайте необходимите библиотеки.
sudo apt-get update
sudo apt-get надстройка 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. Направете пикамерия поддържа масив.
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 порт.
Това е pin-out за 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)
Ето идеята, зареждаме известни лица от папка, разпознаваме лица, заснети от пикамера, ако лицето в папката, контролно реле за отключване на вратата. Можем да ги опаковаме в клас, тук е методът load_known_faces () и метод unlock (), завършената програма може да бъде изтеглена в края на тази статия.
def load_known_faces (self):
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_faces_athp) 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 ('Door open') 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 block in 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 ('Door open') plt.pause (3) plt.close () GPIO.output (self._ relay_pin, GPIO. LOW) self._ reset_recognise_params () връща True
Сега, ако лице е разпознато, картината в папката ще се покаже на екрана.
СМС
Понякога искаме да знаем кой е в стаята ни и сега има място за LTE Cat 1 Pi HAT. Включете SIM карта към нея и следвайте стъпките, за да проверите дали тя ще работи или не.
Стъпка 1. Активирайте UART0 в Raspberry Pi
Използвайте nano, за да редактирате config.txt в /boot
sudo nano /boot/config.txt
добавете dtoverlay = pi3-disable-bt в дъното му и деактивирайте услугата hciuart
sudo systemctl деактивирайте hciuart
след това изтрийте console = serial0, 115200 в cmdline.txt в /boot
sudo nano /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 тест 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 (self):
if self._ phonenum == None: връщане на False за отключване в self._ Reconise_face_names (): if self._ ublox.sendAT ('AT+CMGF = 1 / r / n'): print (self._ ublox.response) if self. _ublox.sendAT ('AT+CMGS = "{}" / r / n'.format (self._ phonenum)): печат (self._ ublox.response), ако self._ ublox.sendAT (' {} влезте в стаята. / x1a'.format (unlocker)): print (self._ ublox.response)
ЗАБЕЛЕЖКА: Библиотеката на LTE Cat 1 Pi HAT, написана от python2, която не е много съвместима с python3, ако искате да я използвате с разпознаване на лица, моля, изтеглете я от връзката в края на тази статия.
Препоръчано:
Abellcadabra (Система за заключване на врата за разпознаване на лица): 9 стъпки
Abellcadabra (Система за заключване на вратите за разпознаване на лица): Поставяйки се по време на карантината, се опитах да намеря начин да убия времето, като изградих разпознаване на лица за вратата на къщата. Нарекох го Abellcadabra - което е комбинация между Abracadabra, вълшебна фраза с звънец на вратата, на която аз само звъня. LOL
IP камера с разпознаване на лица с помощта на платката ESP32-CAM: 5 стъпки
IP камера с разпознаване на лица с помощта на платката ESP32-CAM: Тази публикация е различна в сравнение с останалите и разглеждаме много интересната платка ESP32-CAM, която е изненадващо евтина (по-малко от 9 долара) и лесна за използване. Създаваме проста IP камера, която може да се използва за поточно предаване на видео на живо чрез 2
Opencv разпознаване на лица, обучение и разпознаване: 3 стъпки
Откриване, обучение и разпознаване на лица с Opencv: OpenCV е библиотека за компютърно зрение с отворен код, която е много популярна за изпълнение на основни задачи по обработка на изображения, като замъгляване, смесване на изображения, подобряване на изображението, както и качество на видеото, праг и т.н. В допълнение към обработката на изображения, доказва се
Разпознаване и разпознаване на лица - Arduino Face ID Използване на OpenCV Python и Arduino .: 6 стъпки
Разпознаване и разпознаване на лица | Arduino Face ID Използване на OpenCV Python и Arduino .: Разпознаване на лице AKA Face ID е една от най -важните функции на мобилните телефони в днешно време. И така, имах въпрос "мога ли да имам идентификационен номер на лицето за моя проект Arduino" и отговорът е да … Пътуването ми започна по следния начин: Стъпка 1: Достъп до нас
Разпознаване на лице+разпознаване: 8 стъпки (със снимки)
Face Detection+разпознаване: Това е прост пример за стартиране на разпознаване и разпознаване на лица с OpenCV от камера. ЗАБЕЛЕЖКА: НАПРАВИХ ТОЗИ ПРОЕКТ ЗА СЪДЕЖДАНЕ НА СЕНЗОРИ И ИЗПОЛЗВАХ КАМЕРАТА КАТО СЕНЗОР ЗА ПРОСЛЕДВАНЕ И ПРИЗНАВАНЕ НА ЛИЦА. И така, нашата цел В тази сесия, 1. Инсталирайте Anaconda