Мазмұны:

LTE Pi HAT көмегімен бетті танудың ақылды құлпы: 4 қадам
LTE Pi HAT көмегімен бетті танудың ақылды құлпы: 4 қадам

Бейне: LTE Pi HAT көмегімен бетті танудың ақылды құлпы: 4 қадам

Бейне: LTE Pi HAT көмегімен бетті танудың ақылды құлпы: 4 қадам
Бейне: Christmas gnome Scandinavian Decor Christmas winter decor Gnome family. 4 sizes. Happy New Year 2024, Қараша
Anonim
LTE Pi HAT көмегімен бетті танудың ақылды құлпы
LTE Pi HAT көмегімен бетті танудың ақылды құлпы

Бетті тану кеңінен қолданылуда, біз оны ақылды құлып жасау үшін қолдана аламыз.

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 -пен өте үйлесімді емес, егер сіз оны бет тану арқылы қолданғыңыз келсе, оны осы мақаланың соңындағы сілтемеден жүктеңіз.

Ұсынылған: