Мазмұны:
- 1 -қадам: Бұл жобада қолданылатын заттар
- 2 -қадам: Жабдыққа қосылу
- 3 -қадам: бағдарламалық қамтамасыз ету
- 4 -қадам: Орындалды
Бейне: LTE Pi HAT көмегімен бетті танудың ақылды құлпы: 4 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:24
Бетті тану кеңінен қолданылуда, біз оны ақылды құлып жасау үшін қолдана аламыз.
1 -қадам: Бұл жобада қолданылатын заттар
Аппараттық компоненттер
- Raspberry Pi 3 моделі B.
- Raspberry Pi камералық модулі V2
- Гроув - эстафета
- LTE Cat 1 Pi HAT (Еуропа)
- 10.1 дюймдік 1200x1980 HDMI IPS LCD дисплейі
Бағдарламалық жасақтама және онлайн қызметтері
- WinSCP
- Блокнот ++
2 -қадам: Жабдыққа қосылу
Бұл жобада біз пикамерамен суретке түсуді және олардағы беттерді тануды, содан кейін экранда тану нәтижесін көрсетуді жоспарлап отырмыз. Егер жүздер белгілі болса, есікті ашыңыз және есікті кім ашқанын SMS арқылы жіберіңіз.
Сондықтан сізге камераны Raspberry Pi камерасының интерфейсіне қосу керек, антенна мен Grove - LTE Pi қалпағына реле орнату керек, содан кейін HAT -ты Pi -ге қосыңыз. Экранды Raspberry Pi -ге HDMI кабелі арқылы қосуға болады, экранға және Pi -ге қуат қосуды ұмытпаңыз.
3 -қадам: бағдарламалық қамтамасыз ету
Бетті тану
Адам Гейтгейге және оның жүзді тану жобасына рахмет, біз Raspberry Pi -дегі әлемді тану бойынша қарапайым кітапхананы пайдалана аламыз. Келесі қадамдар Pi -де бетті тануды қалай орнату керектігін көрсетеді.
Қадам 1. Камера мен GPU жадын конфигурациялау үшін raspi-config пайдаланыңыз.
sudo raspi-config
Интерфейс опцияларын таңдау - пикамераны қосу үшін камера, содан кейін GPU жадын орнату үшін Қосымша опциялар - Memory Split тармағын таңдау үшін оны 64 -ке өзгерту керек. Аяқтағаннан кейін Raspberry Pi құрылғысын қайта жүктеңіз.
Қадам 2. Қажетті кітапханаларды орнатыңыз.
sudo apt-get жаңартуы
sudo apt-get upgrade sudo apt-get install-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 -пикамераны жаңарту [массив]
Қадам 4. Длиб пен бетті тануды орнатыңыз.
sudo pip3 dlib орнатыңыз
sudo pip3 face_recognition орнатыңыз
Қадам 5. Бетті тану мысалын жүктеңіз және іске қосыңыз
git clone-бір тармақ
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-ші пинге цифрлық сигналды шығару арқылы релені басқара аламыз, егер Raspberry Pi-де python бағдарламасын орындаңыз, егер ештеңе дұрыс болмаса, сіз реледен Ti-Ta естисіз.
GPO ретінде RPi. 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 (өзінше):
known_faces = os.listdir (өзіндік._ белгілі_жүздер_жолы) белгілі_беттердегі белгілі_фейс үшін: өзінше._ белгілі_жүздер_атауы) өзін -өзі._ белгілі_жүздер_кодирование.қосылу (face_recognition.face_encodings (белгілі_бет_суреті) [0]) қайтару len (self._ белгілі_фейс_кодирование) def құлпын ашу (өзін): егер өзін._ сәйкес келсе GPIO. HIGH) басып шығару ('Есік ашылды') уақыт.ұйықтау (5) GPIO.output (өзінше._ релелік_пін, GPIO. LOW) өздігінен._ reset_recognise_params () True self._ retry_count += 1 басып шығару ('Қайталап көріңіз… { } '. форматы (өзіндік._ retry_count)) қайтару False
Трансцендентальді түрде ойланыңыз, біз суретті көрсете аламыз, кім таныды, PIL және matplotlib кітапханалары пайдалы болуы мүмкін, олардың арасында matplotlib қолмен орнатылуы керек, бұл команданы Raspberry Pi терминалында іске қосыңыз.
sudo pip3 matplotlib орнатыңыз
Оларды кодқа импорттаңыз және unlock () әдісінде блоктауды келесідей өзгертіңіз:
img = Image.open ('{}/{}. jpg'.format (өзіндік._ белгілі_жүз_жолы, өзіндік._ белгілі_беттер_атауы [0])))
plt.imshow (img) plt.ion () GPIO.output (өзінше._ релелік_пин, GPIO. HIGH) басып шығару ('Есік ашылды' ') plt.pause (3) plt.close () GPIO.output (өздігінен._ релелік_pin, GPIO). LOW) өздігінен._ reset_recognise_params () қайтару True
Енді, егер бет таныса, қалтадағы сурет экранда көрсетіледі.
қысқаша хабар қызметі
Кейде біздің бөлмеде кім бар екенін білгіміз келеді, енді LTE Cat 1 Pi HAT үшін орын бар. Оған SIM картасын жалғап, оның жұмыс істеп тұрғанын тексеріңіз.
Қадам 1. Raspberry Pi ішіндегі UART0 қосыңыз
Config.txt файлын өңдеу /жүктеу үшін nano пайдаланыңыз
sudo nano /boot/config.txt
dtoverlay = pi3-disable-bt түбіне қосыңыз және hciuart қызметін өшіріңіз
sudo systemctl hciuart өшіреді
содан кейін /boot ішіндегі cmdline.txt консолі = serial0, 115200 жойыңыз
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 тақырыбы анықталды
Оянған кезде GPIO 16 және 17 rts cts CTS0 және RTS0 қосу… модуль атауы: LARA-R211 RSSI: 3
Енді біз HAT жақсы жұмыс істейтінін білдік, оны SMS жіберу үшін қалай қолдануға болады? Сіз білуіңіз керек бірінші нәрсе - Raspberry Pi HAT -пен UART -тың AT командаларын жіберу арқылы байланысады. Сіз бұл кодты python -да іске қосу арқылы AT командаларын LTE HAT -ке жібере аласыз
ublox_lara_r2 импорттау *
u = Ublox_lara_r2 () u.initialize () u.reset_power () # Отладка массажын жабу u.debug = Жалған u.sendAT ('')
SMS жіберуге арналған AT командасы келесідей
AT+CMGF = 1
AT+CMGS =
Міне, _send_sms () әдісі:
def _send_sms (өзін):
if self._ phonenum == Ешқайсысы: құлыптан босату үшін False қайтару._ тану_бет_атауы (): егер өзін._ ublox.sendAT ('AT+CMGF = 1 / r / n'): басып шығару (өзін -өзі._ ublox. жауап). _ublox.sendAT ('AT+CMGS = «{}» / r / n'.формат (өзіндік._ фоненум))): егер өздігінен._ ublox.sendAT (' {} бөлмеге кірсеңіз, басып шығарыңыз (өзіндік._ ublox. жауап). / x1a'.format (құлпын ашатын)): басып шығару (өзінше._ ublox. жауап)
НАЗАР АУДАРЫҢЫЗ: python2 жазған LTE Cat 1 Pi HAT кітапханасы, ол python3 -пен өте үйлесімді емес, егер сіз оны бет тану арқылы қолданғыңыз келсе, оны осы мақаланың соңындағы сілтемеден жүктеңіз.
Ұсынылған:
ESP32-CAM тақтасының көмегімен бетті анықтайтын IP камера: 5 қадам
ESP32-CAM тақтасының көмегімен бетті анықтайтын IP камера: Бұл хабарлама басқалардан ерекшеленеді және біз таңқаларлықтай арзан (9 доллардан төмен) және қолдануға ыңғайлы ESP32-CAM тақтасын қарастырамыз. Біз қарапайым IP -камераны жасаймыз, оны 2 -де тірі бейне ағыны үшін қолдануға болады
Бетті тану есігінің құлпы: 8 қадам
Бетті тану есігінің құлпы: Бір айға жуық уақыт ішінде мен бетті тану есігінің құлпын ұсынамын! Мен оны мүмкіндігінше ұқыпты етіп көрсетуге тырыстым, бірақ мен тек 13 жасар бала сияқты жасай аламын. Бұл бетті тануға арналған есікті құлыптауды Raspberry Pi 4 басқарады, арнайы портативті соққылармен
Ақылды дабыл: Raspberry Pi көмегімен жасалған ақылды дабыл сағаты: 10 қадам (суреттермен)
Ақылды дабыл: Raspberry Pi көмегімен жасалған ақылды оятқыш: Сіз ақылды сағатты алғыңыз келді ме? Егер солай болса, онда бұл сізге арналған шешім! Мен Smart Alarm Clock жасадым, бұл веб -сайтқа сәйкес дабыл уақытын өзгертуге болатын сағат. Дабыл сөнген кезде дыбыс шығады (дыбыстық сигнал) және 2 жарық қосылады
Raspberry Pi бар тоңазытқыш үшін бетті танудың қауіпсіздік жүйесі: 7 қадам (суреттермен)
Raspberry Pi бар тоңазытқыштың бетін тану қауіпсіздігі жүйесі: Интернетті шолу мен қауіпсіздік жүйелерінің бағасы 150 доллардан 600 долларға дейін және одан жоғары болатынын білдім, бірақ барлық шешімдерді (тіпті өте қымбаттыларды) басқалармен біріктіру мүмкін емес. Сіздің үйдегі ақылды құралдар! Мысалы, сіз орната алмайсыз
Дауысты танудың категориялары: 4 қадам (суреттермен)
Дауысты танудың санатталуы: Delft TU IPD Master TfCD курсы үшін. Бұл дауысты тану жүйесін жасау бойынша нұсқаулық. Біз Arduino мен BitVoicer көмегімен осы жобаны қалай құруға болатынын түсіндіреміз. Негіздер аяқталғаннан кейін біз сенеміз