İçindekiler:
- Adım 1: Bu Projede Kullanılanlar
- 2. Adım: Donanım Bağlantısı
- Adım 3: Yazılım Programlama
- 4. Adım: Tamamlandı
Video: LTE Pi HAT ile Yüz Tanıma Akıllı Kilit: 4 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:18
Yüz tanıma giderek daha yaygın bir şekilde kullanılıyor, bunu akıllı bir kilit yapmak için kullanabiliriz.
Adım 1: Bu Projede Kullanılanlar
Donanım bileşenleri
- Raspberry Pi 3 Model B
- Raspberry Pi Kamera Modülü V2
- Koru - Röle
- LTE Cat 1 Pi HAT (Avrupa)
- 10.1 inç 1200x1980 HDMI IPS LCD Ekran
Yazılım uygulamaları ve çevrimiçi hizmetler
- WinSCP
- not defteri++
2. Adım: Donanım Bağlantısı
Bu projede pikamera ile fotoğraf çekip içindeki yüzleri tanımayı ve ardından tanıma sonucunu ekranda göstermeyi planlıyoruz. Tanınan yüzler varsa kapıyı açın ve kapıyı kimin açtığını belirtilen telefon numarasına SMS ile gönderin.
Bu yüzden Raspberry Pi'nin kamera arayüzüne bir kamera bağlamanız ve anten ve Grove - Röleyi LTE Pi şapkasına takmanız, ardından HAT'ı Pi'nize takmanız gerekir. Raspberry Pi'ye bir HDMI kablosu ile ekran bağlanabilir, ekranınıza ve Pi'ye güç bağlamayı unutmayın.
Adım 3: Yazılım Programlama
Yüz tanıma
Adam Geitgey ve Yüz Tanıma projesi için teşekkürler, Raspberry Pi üzerinde dünyanın en basit yüz tanıma kütüphanesini kullanabiliriz. Aşağıdaki adımlar size Pi'de yüz tanımayı nasıl kuracağınızı gösterecektir.
Adım 1. Kamera ve GPU belleğini yapılandırmak için raspi-config kullanın.
sudo raspi yapılandırması
Arayüz Seçeneklerinin Belirlenmesi - Picamera'yı etkinleştirmek için Kamera, ardından GPU belleğini ayarlamak için Gelişmiş Seçenekler - Bellek Bölme'yi seçin, 64 olarak değiştirilmelidir. Bitirdikten sonra Raspberry Pi'nizi yeniden başlatın.
Adım 2. Gerekli kitaplıkları kurun.
sudo apt-get güncellemesi
sudo apt-get yükseltmesi 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
Adım 3. Picamerea'nın diziyi desteklemesini sağlayın.
sudo pip3 install --upgrade picamera[dizi]
Adım 4. dlib ve yüz tanımayı kurun.
sudo pip3 dlib'i kurun
sudo pip3 face_recognition'ı kurun
Adım 5. Yüz tanıma örneğini indirin ve çalıştırın
git klon --single-branch
cd./face_recognition/examples python3 facerec_on_raspberry_pi.py
DİKKAT: ImportError: libatlas.so.3: paylaşılan nesne dosyasını açamıyorsanız: Böyle bir dosya veya dizin yok, düzeltmek için aşağıdaki komutu çalıştırın.
Röle
Yüz tanıma hazır olduğunda ek özellikler eklemeye devam edebiliriz. Grove - Relay'i LTE Cat 1 Pi HAT'a bağladık, ancak I2C portu yerine dijital portu kullanıyor.
Bu Raspberry Pi 3B için pin çıkışıdır, kartın pin 3 ve pin 5'inde bulunan SDA pinini ve SCL pinini görebiliriz.
Böylece röleyi pin 5'e dijital sinyal vererek kontrol edebiliyoruz. Raspberry Pi'nizde aşağıdaki python programını çalıştırın, eğer bir aksilik olmazsa röleden Ti-Ta sesi duyacaksınız.
RPi. GPIO'yu GPIO olarak içe aktar
RELAY_PIN = 5 GPIO.setmode(GPIO. BOARD) GPIO.setup(RELAY_PIN, GPIO. OUT) GPIO.output(RELAY_PIN, GPIO. HIGH)
İşte fikir, bir klasörden bilinen yüzleri yükleriz, picamera tarafından yakalanan yüzleri tanırız, eğer klasördeki yüz, kapının kilidini açmak için röleyi kontrol eder. Bunları bir sınıfa paketleyebiliriz, işte load_known_faces() yöntemi ve unlock() yöntemi, tamamlanan program bu makalenin sonunda indirilebilir.
def load_known_faces(self):
bilinen_yüzlerde bilinen_yüz için bilinen_yüzler = os.listdir(self._known_faces_path): self._known_faces_name.append(known_face[0: len(known_face) - len('.jpg')]) bilinen_face_image = face_recognition.load_image_file(self._known_faces_path) 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('Kapı açıldı') time.sleep(5) GPIO.output(self._relay_pin, GPIO. LOW) self._reset_recognise_params() return True self._retry_count += 1 print('Lütfen tekrar deneyin…{ }'.format(self._retry_count)) false döndür
Transandantal düşünün, kimin tanıdığını gösterebiliriz, PIL ve matplotlib kitaplıklarının yardımcı olabileceği, bunların arasında matplotlib'in manuel olarak yüklenmesi gerekiyor, bu komutu Raspberry Pi'nizin terminalinde çalıştırın.
sudo pip3 matplotlib yükleyin
Bunları kodunuza aktarın ve şunun gibi unlock() yönteminde if bloğunu değiştirin:
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('Kapı açıldı') plt.pause(3) plt.close() GPIO.output(self._relay_pin, GPIO. LOW) self._reset_recognise_params() true döndürür
Şimdi, bir yüz tanınırsa, klasördeki resim ekranda görüntülenecektir.
SMS
Bazen odamızda kimin olduğunu bilmek istiyoruz ve artık LTE Cat 1 Pi HAT için bir yer var. Bir SIM kart takın ve çalışıp çalışmadığını test etmek için aşağıdaki adımları izleyin.
Adım 1. Raspberry Pi'de UART0'ı Etkinleştirin
/boot'ta config.txt dosyasını düzenlemek için nano'yu kullanın
sudo nano /boot/config.txt
altına dtoverlay=pi3-disable-bt ekleyin ve hciuart hizmetini devre dışı bırakın
sudo systemctl hciuart'ı devre dışı bırak
daha sonra /boot'ta cmdline.txt'de console=serial0, 115200'ü silin
sudo nano /boot/cmdline.txt
Her şey bittikten sonra Raspberry Pi'nizi yeniden başlatmalısınız.
Adım 2. Örneği indirin ve çalıştırın.
Raspberry Pi'nizde bir terminal açın, bu komutları satır satır yazın.
cd ~
git klon https://github.com/Seeed-Studio/ublox_lara_r2_pi_hat.git cd ublox_lara_r2_pi_hat sudo python setup.py kurulum cd testi sudo python test01.py
Bu çıkışları terminalinizde görüyorsanız, LTE Cat 1 Pi HAT iyi çalışır.
40 pinli GPIO başlığı algılandı
GPIO'larda CTS0 ve RTS0'ı etkinleştirme 16 ve 17 rts cts uyanırken… modül adı: LARA-R211 RSSI: 3
Artık HAT'ın iyi çalıştığını biliyorduk, SMS göndermek için nasıl kullanılır? Bilmeniz gereken ilk şey, Raspberry Pi'nin HAT ile UART tarafından gönderilen AT komutları aracılığıyla iletişim kurduğudur. Bu kodu python'da çalıştırarak AT komutlarını LTE HAT'a gönderebilirsiniz.
ublox_lara_r2'den içe aktarma *
u = Ublox_lara_r2() u.initialize() u.reset_power() # Hata ayıklama masajını kapat u.debug = Yanlış u.sendAT('')
SMS göndermek için AT komutu aşağıdaki gibidir
AT+CMGF=1
AT+CMGS=
işte _send_sms() yöntemi:
tanım _send_sms(self):
if self._phonenum == Yok: self._recognise_face_names() içindeki kilit açma için False döndür: if self._ublox.sendAT('AT+CMGF=1\r\n'): eğer self ise print(self._ublox.response). _ublox.sendAT('AT+CMGS="{}"\r\n'.format(self._phonenum)): print(self._ublox.response) if self._ublox.sendAT('{} odaya girin.\ x1a'.format(kilit açma)): print(self._ublox.response)
DİKKAT: LTE Cat 1 Pi HAT'ın python2 tarafından yazılmış, python3 ile pek uyumlu olmayan kütüphanesini yüz tanıma ile kullanmak isterseniz lütfen bu yazının sonundaki linkten indirin.
Önerilen:
Abellcadabra (Yüz Tanıma Kapı Kilit Sistemi): 9 Adım
Abellcadabra (Yüz Tanıma Kapı Kilit Sistemi): Karantina sırasında etrafta yatarak, ev kapısı için yüz tanıma sistemi kurarak zamanı öldürmenin bir yolunu bulmaya çalıştım. Ben ona Abellcadabra adını verdim - bu, sadece zili aldığım kapı zili ile sihirli bir ifade olan Abracadabra'nın birleşimidir. ÇOK KOMİK
Gizli Bölmeli Yüz Tanıma Aynası: 15 Adım (Resimli)
Gizli Bölmeli Yüz Tanıma Aynası: Hikayelerde, filmlerde ve benzerlerinde kullanılan, sürekli yaratıcı gizli bölmeler her zaman ilgimi çekmiştir. Bu yüzden, Gizli Bölme Yarışmasını gördüğümde, bu fikri kendim denemeye ve bir pencere açan sıradan görünümlü bir ayna yapmaya karar verdim
Yüz Tanıma ile Kapı Zili: 7 Adım (Resimlerle)
Yüz Tanımalı Kapı Zili: Motivasyon Son zamanlarda ülkemde yaşlıları kendi evlerinde hedef alan bir soygun dalgası yaşandı. Ziyaretçiler onları bakıcı/hemşire olduklarına ikna ettiğinden, genellikle erişim, yolcuların kendileri tarafından verilir. Bilişim Teknoloji
Alexa Ses Tanıma ile Eski Dizüstü Bilgisayardan Yüzen Akıllı Sihirli Ayna: 6 Adım (Resimlerle)
Alexa Ses Tanıma ile Eski Dizüstü Bilgisayardan Yüzen Akıllı Sihirli Ayna: 'Kısaca Elektronik' kursuma buradan kaydolun: https://www.udemy.com/electronics-in-a-nutshell/?couponCode=TINKERSPARK Ayrıca benim sayfama göz atın Daha fazla proje ve elektronik eğitimi için youtube kanalı burada: https://www.youtube.com/channel/UCelOO
SafetyLock: Raspberry Pi ile Yapılan Akıllı Kilit (Parmak İzi ve RFID): 10 Adım
SafetyLock: Raspberry Pi ile Yapılan Akıllı Kilit (Parmak İzi ve RFID): Hiç evinizi güvence altına almak için daha erişilebilir bir yol istediniz mi? Eğer öyleyse, bu sizin için çözüm! SafetyLock yaptım, bu parmak izinizle, RFID rozetiyle ve hatta bir web sitesi aracılığıyla açılabilen bir kilit. Bu konsept sayesinde