Isi kandungan:
- Langkah 1: Perkara Yang Digunakan dalam Projek Ini
- Langkah 2: Sambungan Perkakasan
- Langkah 3: Pengaturcaraan Perisian
- Langkah 4: Selesai
Video: Kunci Pintar Pengecaman Wajah Dengan LTE Pi HAT: 4 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:08
Pengecaman wajah semakin banyak digunakan, kita boleh menggunakannya untuk membuat kunci pintar.
Langkah 1: Perkara Yang Digunakan dalam Projek Ini
Komponen perkakasan
- Raspberry Pi 3 Model B
- Modul Kamera Raspberry Pi V2
- Grove - Relay
- LTE Cat 1 Pi HAT (Eropah)
- Paparan LCD IPS HDMI 10.1 inci 1200x1980
Aplikasi perisian dan perkhidmatan dalam talian
- WinSCP
- Notepad ++
Langkah 2: Sambungan Perkakasan
Dalam projek ini, kami merancang untuk mengambil gambar dengan picamera dan mengenali wajah di dalamnya, kemudian memaparkan hasil pengecaman di layar. Sekiranya diketahui wajah, buka pintu, dan hantar siapa yang membuka pintu ke nombor telefon yang ditentukan melalui SMS.
Oleh itu, anda perlu menyambungkan kamera ke antara muka kamera Raspberry Pi, dan memasang antena dan topi Grove - Relay ke LTE Pi, kemudian pasangkan HAT ke Pi anda. Skrin boleh disambungkan ke Raspberry Pi melalui kabel HDMI, jangan lupa sambungkan kuasa ke skrin dan Pi anda.
Langkah 3: Pengaturcaraan Perisian
Pengecaman Muka
Terima kasih untuk Adam Geitgey dan projek Pengecaman Wajahnya, kami dapat menggunakan perpustakaan pengecaman wajah termudah di dunia di Raspberry Pi. Langkah-langkah berikut akan menunjukkan kepada anda cara mengatur pengecaman wajah pada Pi.
Langkah 1. Gunakan raspi-config untuk mengkonfigurasi memori kamera dan GPU.
sudo raspi-config
Memilih Pilihan Antara Muka - Kamera untuk mengaktifkan picamera, kemudian memilih Pilihan Lanjutan - Memori Berpisah untuk menetapkan memori GPU, ia harus diubah menjadi 64. Setelah selesai, but semula Raspberry Pi anda.
Langkah 2. Pasang perpustakaan yang diperlukan.
sudo apt-get kemas kini
sudo apt-get upgrade sudo apt-get install build-essential / cmake / gfortran / git / wget / curl / graphicmagick / 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-clean
Langkah 3. Buat array sokongan picamerea.
sudo pip3 install - upgrade picamera [array]
Langkah 4. Pasang dlib dan pengecaman wajah.
sudo pip3 pasang dlib
sudo pip3 install face_recognition
Langkah 5. Muat turun dan jalankan contoh pengecaman wajah
git clone --single-branch
cd./face_recognition/contoh python3 facerec_on_raspberry_pi.py
PEMBERITAHUAN: Sekiranya anda mendapat ImportError: libatlas.so.3: tidak dapat membuka fail objek bersama: Tidak ada fail atau direktori seperti itu, jalankan perintah berikut untuk memperbaikinya.
Geganti
Apabila pengecaman wajah sudah siap, kita dapat terus menambahkan ciri tambahan. Kami menghubungkan Grove - Relay ke LTE Cat 1 Pi HAT, tetapi menggunakan port digital dan bukannya port I2C.
Ini adalah pin-out untuk Raspberry Pi 3B, kita dapat melihat pin SDA dan pin SCL terletak di pin 3 dan pin 5 papan.
Oleh itu, kita dapat mengawal relay dengan mengeluarkan isyarat digital ke pin 5. Jalankan mengikuti program python pada Raspberry Pi anda, jika tidak ada yang salah, anda akan mendengar Ti-Ta dari relay.
import RPi. GPIO sebagai GPIO
RELAY_PIN = 5 GPIO.setmode (GPIO. BOARD) GPIO.setup (RELAY_PIN, GPIO. OUT) GPIO.output (RELAY_PIN, GPIO. HIGH)
Jadi inilah idenya, kami memuatkan wajah yang dikenali dari folder, mengenali wajah yang ditangkap oleh picamera, jika wajah di dalam folder, mengawal relay untuk membuka kunci pintu. Kami dapat mengemasnya ke kelas, berikut adalah kaedah load_known_faces () dan kaedah unlock (), program yang lengkap dapat dimuat turun pada akhir artikel ini.
def load_known_faces (diri):
known_faces = os.listdir (self._ known_faces_path) for known_face in known_faces: self._ known_faces_name.append (known_face [0: len (known_face) - len ('. jpg')]) known_face_image = face_recognition.load_image_file (self_face_faces (self_pile_faces)) diri._ dikenali_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) cetakan ('Pintu dibuka') time.sleep (5) GPIO.output (self._ relay_pin, GPIO. LOW) self._ reset_recognise_params () return Self true._ retry_count + = 1 print ('Please try again … { } '. format (self._ retry_count)) kembali Palsu
Berfikir secara transenden, kita dapat menunjukkan gambar siapa yang dikenali, perpustakaan PIL dan matplotlib dapat membantu, antaranya, matplotlib perlu dipasang secara manual, jalankan perintah ini di terminal Raspberry Pi anda.
sudo pip3 pasang matplotlib
Importnya dalam kod anda, dan ubah jika kaedah blok dalam buka kunci () seperti ini:
img = Image.open ('{} / {}. jpg'.format (diri._ dikenali_faces_path, diri._ dikenali_faces_nama [0]))
plt.imshow (img) plt.ion () GPIO.output (self._ relay_pin, GPIO. HIGH) print ('Door dibuka') plt.pause (3) plt.close () GPIO.output (self._ relay_pin, GPIO. LOW) diri._ reset_recognise_params () kembali Benar
Sekarang, jika wajah dikenali, gambar dalam folder akan dipaparkan di skrin.
SMS
Kadang-kadang kita ingin tahu siapa di bilik kita, dan sekarang ada tempat untuk LTE Cat 1 Pi HAT. Pasang kad SIM padanya, dan ikuti langkah-langkah untuk menguji sama ada ia berfungsi atau tidak.
Langkah 1. Dayakan UART0 di Raspberry Pi
Gunakan nano untuk mengedit config.txt dalam / but
sudo nano /boot/config.txt
tambahkan dtoverlay = pi3-disable-bt ke bahagian bawahnya, dan lumpuhkan perkhidmatan hciuart
sudo systemctl lumpuhkan hciuart
kemudian hapuskan konsol = serial0, 115200 dalam cmdline.txt dalam / but
sudo nano /boot/cmdline.txt
Setelah selesai, anda harus menghidupkan semula Raspberry Pi anda.
Langkah 2. Muat turun contoh dan jalankan.
Buka terminal pada Raspberry Pi anda, ketik perintah ini ke baris demi baris.
cd ~
git clone https://github.com/Seeed-Studio/ublox_lara_r2_pi_hat.git cd ublox_lara_r2_pi_hat sudo python setup.py pasang cd test sudo python test01.py
Sekiranya anda melihat output ini di terminal anda, LTE Cat 1 Pi HAT berfungsi dengan baik.
Header GPIO 40-pin dikesan
Mengaktifkan CTS0 dan RTS0 pada GPIO 16 dan 17 rts cts semasa bangun… nama modul: LARA-R211 RSSI: 3
Sekarang kita tahu HAT berfungsi dengan baik, bagaimana menggunakannya untuk menghantar SMS? Perkara pertama yang perlu anda ketahui ialah Raspberry Pi berkomunikasi dengan HAT melalui arahan AT AT oleh UART. Anda boleh menghantar arahan AT ke LTE HAT dengan menjalankan kod ini di python
dari import ublox_lara_r2 *
u = Ublox_lara_r2 () u.initialize () u.reset_power () # Tutup urut debug u.debug = Salah u.sendAT ('')
Perintah AT untuk menghantar SMS adalah seperti berikut
AT + CMGF = 1
AT + CMGS =
jadi inilah kaedah _send_sms ():
def _send_sms (diri):
jika diri._ phonenum == Tiada: kembalikan Salah untuk membuka kunci dalam diri._ mengenali_face_names (): jika diri._ ublox.sendAT ('AT + CMGF = 1 / r / n'): cetak (diri._ ublox.response) jika diri. _ublox.sendAT ('AT + CMGS = "{}" / r / n'.format (self._ phonenum)): cetak (self._ ublox.response) jika diri._ ublox.sendAT (' {} masuk ke ruangan. / x1a'. format (unlocker)): cetak (self._ ublox.response)
PEMBERITAHUAN: Perpustakaan LTE Cat 1 Pi HAT yang ditulis oleh python2, yang sangat tidak sesuai dengan python3, jika anda ingin menggunakannya dengan mengenali wajah, sila muat turun dari pautan dari akhir artikel ini.
Disyorkan:
Abellcadabra (Sistem Kunci Pintu Pengecaman Muka): 9 Langkah
Abellcadabra (Sistem Kunci Pintu Pengecaman Wajah): Berbaring semasa karantina, saya cuba mencari jalan untuk membuang masa dengan membina pengecaman wajah untuk pintu rumah. Saya menamakannya Abellcadabra - yang merupakan gabungan antara Abracadabra, frasa ajaib dengan bel pintu yang saya hanya mengambil loceng. LOL
Kunci Pintu Pengecaman Muka: 8 Langkah
Kunci Pintu Pengecaman Muka: Kira-kira sebulan dalam pembuatannya, saya menunjukkan kunci pintu pengecaman wajah! Saya cuba membuatnya kelihatan lebih kemas seperti yang saya dapat, tetapi saya hanya dapat melakukannya sehinggalah berusia 13 tahun. Kunci pintu pengecaman wajah ini dikendalikan oleh Raspberry Pi 4, dengan batt
Pengecaman dan Pengecaman Wajah - Arduino Face ID Menggunakan OpenCV Python dan Arduino .: 6 Langkah
Pengecaman dan Pengecaman Wajah | Arduino Face ID Menggunakan OpenCV Python dan Arduino .: Pengenalan wajah AKA ID ID adalah salah satu ciri terpenting pada telefon bimbit pada masa kini. Oleh itu, saya mempunyai soalan " bolehkah saya mempunyai id wajah untuk projek Arduino saya " dan jawapannya adalah ya … Perjalanan saya dimulakan seperti berikut: Langkah 1: Akses ke kami
Bel dengan Pengecaman Wajah: 7 Langkah (dengan Gambar)
Bel dengan Pengecaman Wajah: Motivasi Baru-baru ini, terdapat gelombang rompakan di negara saya yang disasarkan kepada orang tua di rumah mereka sendiri. Biasanya, akses diberikan oleh penghuni sendiri kerana pengunjung meyakinkan mereka bahawa mereka adalah penjaga / jururawat. Ia
Kunci Pintar Magnetik Dengan Ketukan Rahsia, Sensor IR, & Aplikasi Web: 7 Langkah (dengan Gambar)
Magnetic Smart Lock With Secret Knock, IR Sensor, & Web App: Sekiranya anda menyukai projek ini, sila ikuti saya di Instagram dan YouTube. Dalam projek ini, saya akan membina kunci magnetik untuk pejabat rumah saya, yang akan dibuka sekiranya anda mengetahui ketukan rahsia. Oh … dan ia akan mempunyai beberapa lagi helah di lengannya juga. Magnet