Daftar Isi:
- Langkah 1: Hal-hal yang Digunakan dalam Proyek Ini
- Langkah 2: Koneksi Perangkat Keras
- Langkah 3: Pemrograman Perangkat Lunak
- Langkah 4: Selesai
Video: Pengenalan Wajah Smart Lock Dengan LTE Pi HAT: 4 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:55
Pengenalan wajah menjadi semakin banyak digunakan, kita dapat menggunakannya untuk membuat kunci pintar.
Langkah 1: Hal-hal yang Digunakan dalam Proyek Ini
Komponen perangkat keras
- Raspberry Pi 3 Model B
- Modul Kamera Raspberry Pi V2
- Grove - Relay
- LTE Cat 1 Pi HAT (Eropa)
- 10,1 inci 1200x1980 HDMI IPS LCD Display
Aplikasi perangkat lunak dan layanan online
- WinSCP
- Notepad++
Langkah 2: Koneksi Perangkat Keras
Dalam proyek ini, kami berencana untuk mengambil gambar dengan picamera dan mengenali wajah di dalamnya, kemudian menampilkan hasil pengenalan di layar. Jika wajah diketahui, buka pintu, dan kirim siapa yang membuka pintu ke nomor telepon yang ditentukan melalui SMS.
Jadi Anda perlu menghubungkan kamera ke antarmuka kamera Raspberry Pi, dan memasang antena dan Grove - Relay ke LTE Pi hat, lalu pasang HAT ke Pi Anda. Layar dapat dihubungkan ke Raspberry Pi melalui kabel HDMI, jangan lupa sambungkan daya ke layar dan Pi Anda.
Langkah 3: Pemrograman Perangkat Lunak
Pengenalan Wajah
Terima kasih untuk Adam Geitgey dan proyek Pengenalan Wajahnya, kami dapat menggunakan perpustakaan pengenalan wajah paling sederhana di dunia di Raspberry Pi. Langkah-langkah berikut akan menunjukkan kepada Anda cara mengatur pengenalan wajah di Pi.
Langkah 1. Gunakan raspi-config untuk mengonfigurasi kamera dan memori GPU.
sudo raspi-config
Pilih Interface Options -- Camera untuk mengaktifkan picamera, lalu pilih Advanced Options -- Memory Split untuk mengatur memori GPU, harus diubah menjadi 64. Setelah selesai, reboot Raspberry Pi Anda.
Langkah 2. Instal perpustakaan yang diperlukan.
sudo apt-get update
sudo apt-get upgrade 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
Langkah 3. Buat picamerea mendukung array.
sudo pip3 install --upgrade picamera[array]
Langkah 4. Instal dlib dan pengenalan wajah.
sudo pip3 instal dlib
sudo pip3 instal face_recognition
Langkah 5. Unduh dan jalankan contoh pengenalan wajah
git clone --single-branch
cd./face_recognition/examples python3 facerec_on_raspberry_pi.py
PEMBERITAHUAN: Jika Anda mendapatkan ImportError: libatlas.so.3: tidak dapat membuka file objek bersama: Tidak ada file atau direktori tersebut, jalankan perintah berikut untuk memperbaikinya.
Menyampaikan
Saat pengenalan wajah sudah siap, kami dapat terus menambahkan fitur tambahan. Kami menghubungkan Grove - Relay ke LTE Cat 1 Pi HAT, tetapi menggunakan port digital daripada port I2C.
Ini adalah pin-out untuk Raspberry Pi 3B, kita bisa melihat pin SDA dan pin SCL yang terletak di pin 3 dan pin 5 board.
Jadi kita dapat mengontrol relay dengan mengeluarkan sinyal digital ke pin 5. Jalankan program python mengikuti di Raspberry Pi Anda, jika tidak ada yang salah, Anda akan mendengar Ti-Ta dari relay.
impor 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 memuat wajah yang dikenal dari folder, mengenali wajah yang ditangkap oleh picamera, jika wajah ada di folder, kontrol relai untuk membuka kunci pintu. Kita dapat mengemasnya ke dalam sebuah kelas, berikut adalah metode load_known_faces() dan metode unlock(), program yang telah selesai dapat diunduh di akhir artikel ini.
def load_known_faces(sendiri):
known_faces = os.listdir(self._known_faces_path) untuk known_face di known_faces: self._known_faces_name.append(known_face[0: len(known_face) - len('.jpg')]) known_face_image = face_recognition.load_image_file(self_path +known_faces) 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('Pintu dibuka') time.sleep(5) GPIO.output(self._relay_pin, GPIO. LOW) self._reset_recognise_params() return True self._retry_count += 1 print('Please try again…{ }'.format(self._retry_count)) mengembalikan Salah
Berpikir transendental, kami dapat menunjukkan gambar yang dikenali, perpustakaan PIL dan matplotlib dapat membantu, di antaranya, matplotlib perlu diinstal secara manual, jalankan perintah ini di terminal Raspberry Pi Anda.
sudo pip3 instal matplotlib
Impor mereka dalam kode Anda, dan ubah metode if block in unlock() seperti ini:
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('Pintu dibuka') plt.pause(3) plt.close() GPIO.output(self._relay_pin, GPIO. LOW) self._reset_recognise_params() mengembalikan True
Sekarang, jika wajah dikenali, gambar dalam folder akan ditampilkan di layar.
SMS
Terkadang kami ingin tahu siapa yang ada di kamar kami, dan sekarang ada tempat untuk LTE Cat 1 Pi HAT. Colokkan kartu SIM ke sana, dan ikuti langkah-langkah untuk menguji apakah itu berfungsi atau tidak.
Langkah 1. Aktifkan UART0 di Raspberry Pi
Gunakan nano untuk mengedit config.txt di /boot
sudo nano /boot/config.txt
tambahkan dtoverlay=pi3-disable-bt ke bagian bawahnya, dan nonaktifkan layanan hciuart
sudo systemctl nonaktifkan hciuart
lalu hapus console=serial0, 115200 di cmdline.txt di /boot
sudo nano /boot/cmdline.txt
Setelah semuanya selesai, Anda harus me-reboot Raspberry Pi Anda.
Langkah 2. Unduh contoh dan jalankan.
Buka terminal di Raspberry Pi Anda, ketik perintah ini 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 instal cd test sudo python test01.py
Jika Anda melihat output ini di terminal Anda, LTE Cat 1 Pi HAT bekerja dengan baik.
Header GPIO 40-pin terdeteksi
Mengaktifkan CTS0 dan RTS0 pada GPIO 16 dan 17 rts cts saat bangun… nama modul: LARA-R211 RSSI: 3
Sekarang kita tahu HAT bekerja dengan baik, bagaimana menggunakannya untuk mengirim SMS? Hal pertama yang perlu Anda ketahui adalah bahwa Raspberry Pi berkomunikasi dengan HAT melalui perintah kirim AT oleh UART. Anda dapat mengirim perintah AT ke LTE HAT dengan menjalankan kode ini dengan python
dari ublox_lara_r2 impor *
u = Ublox_lara_r2() u.initialize() u.reset_power() # Tutup pijat debug u.debug = False u.sendAT('')
Perintah AT untuk mengirim SMS adalah sebagai berikut:
AT+CMGF=1
AT+CMGS=
jadi di sini adalah metode _send_sms():
def _send_sms(sendiri):
if self._phonenum == None: return False for unlocker in self._recognise_face_names(): if self._ublox.sendAT('AT+CMGF=1\r\n'): print(self._ublox.response) jika self. _ublox.sendAT('AT+CMGS="{}"\r\n'.format(self._phonenum)): print(self._ublox.response) jika self._ublox.sendAT('{} memasuki ruangan.\ x1a'.format(unlocker)): print(self._ublox.response)
PEMBERITAHUAN: Perpustakaan LTE Cat 1 Pi HAT ditulis oleh python2, yang sangat tidak kompatibel dengan python3, jika Anda ingin menggunakannya dengan pengenalan wajah, silakan unduh dari tautan di akhir artikel ini.
Direkomendasikan:
Cermin Pengenalan Wajah Dengan Kompartemen Rahasia: 15 Langkah (dengan Gambar)
Cermin Pengenalan Wajah Dengan Kompartemen Rahasia: Saya selalu tertarik dengan kompartemen rahasia yang selalu kreatif yang digunakan dalam cerita, film, dan sejenisnya. Jadi, ketika saya melihat Kontes Kompartemen Rahasia, saya memutuskan untuk bereksperimen dengan ide itu sendiri dan membuat cermin biasa yang membuka
Pengenalan dan Identifikasi Wajah - ID Wajah Arduino Menggunakan OpenCV Python dan Arduino.: 6 Langkah
Pengenalan dan Identifikasi Wajah | ID Wajah Arduino Menggunakan OpenCV Python dan Arduino.: Pengenalan wajah AKA ID wajah adalah salah satu fitur terpenting di ponsel saat ini. Jadi, saya punya pertanyaan "bisakah saya memiliki id wajah untuk proyek Arduino saya" dan jawabannya adalah ya… Perjalanan saya dimulai sebagai berikut: Langkah 1: Akses ke kami
Bel Pintu Dengan Pengenalan Wajah: 7 Langkah (dengan Gambar)
Bel Pintu Dengan Pengenalan Wajah: Motivasi Baru-baru ini, telah terjadi gelombang perampokan di negara saya yang menargetkan orang tua di rumah mereka sendiri. Biasanya, akses diberikan oleh penghuni sendiri karena pengunjung meyakinkan mereka bahwa mereka adalah pengasuh/perawat. Dia
Sistem Keamanan Pengenalan Wajah untuk Kulkas Dengan Raspberry Pi: 7 Langkah (dengan Gambar)
Sistem Keamanan Pengenalan Wajah untuk Kulkas Dengan Raspberry Pi: Menjelajahi internet Saya telah menemukan bahwa harga untuk sistem keamanan bervariasi dari 150$ hingga 600$ ke atas, tetapi tidak semua solusi (bahkan yang sangat mahal) dapat diintegrasikan dengan yang lain alat pintar di rumah Anda! Misalnya, Anda tidak dapat mengatur
Pengenalan Pengenalan Suara Dengan Elechouse V3 dan Arduino.: 4 Langkah (dengan Gambar)
Pengenalan Pengenalan Suara Dengan Elechouse V3 dan Arduino.: Hai…!Teknologi pengenalan suara telah ada di sini selama beberapa tahun terakhir. Kami masih ingat kegembiraan besar yang kami alami saat berbicara dengan iphone pertama yang mendukung Siri. Sejak itu, perangkat perintah suara telah berkembang ke tingkat yang sangat