Table des matières:
- Étape 1: Éléments utilisés dans ce projet
- Étape 2: connexion matérielle
- Étape 3: Programmation du logiciel
- Étape 4: Terminé
Vidéo: Serrure intelligente à reconnaissance faciale avec LTE Pi HAT : 4 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:06
La reconnaissance faciale est de plus en plus utilisée, nous pouvons l'utiliser pour faire une serrure intelligente.
Étape 1: Éléments utilisés dans ce projet
Composants matériels
- Raspberry Pi 3 modèle B
- Module de caméra Raspberry Pi V2
- Grove - Relais
- CHAPEAU LTE Cat 1 Pi (Europe)
- Écran LCD 10,1 pouces 1200x1980 HDMI IPS
Applications logicielles et services en ligne
- WinSCP
- Bloc-notes++
Étape 2: connexion matérielle
Dans ce projet, nous prévoyons de prendre des photos avec picamera et d'y reconnaître les visages, puis d'afficher le résultat de la reconnaissance à l'écran. Si les visages sont connus, ouvrez la porte et envoyez qui a ouvert la porte au numéro de téléphone spécifié par SMS.
Vous devez donc connecter une caméra à l'interface de caméra de Raspberry Pi, et installer une antenne et Grove - Relay to LTE Pi hat, puis brancher HAT à votre Pi. L'écran peut être connecté à Raspberry Pi via un câble HDMI, n'oubliez pas de connecter l'alimentation à votre écran et à Pi.
Étape 3: Programmation du logiciel
Reconnaissance de visage
Merci pour Adam Geitgey et son projet Face Recognition, nous pouvons utiliser la bibliothèque de reconnaissance faciale la plus simple au monde sur Raspberry Pi. Les étapes suivantes vous montreront comment configurer la reconnaissance faciale sur Pi.
Étape 1. Utilisez raspi-config pour configurer la mémoire de la caméra et du GPU.
sudo raspi-config
Choisissez Options d'interface -- Appareil photo pour activer la picamera, puis choisissez Options avancées -- Division de la mémoire pour définir la mémoire GPU, elle doit être modifiée en 64. Après avoir terminé, redémarrez votre Raspberry Pi.
Étape 2. Installez les bibliothèques requises.
sudo apt-get mise à jour
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
Étape 3. Faites en sorte que picamerea prenne en charge le tableau.
sudo pip3 install --upgrade picamera[array]
Étape 4. Installez dlib et la reconnaissance faciale.
sudo pip3 installer dlib
sudo pip3 installer face_recognition
Étape 5. Téléchargez et exécutez l'exemple de reconnaissance faciale
git clone --single-branch
cd./face_recognition/examples python3 facerec_on_raspberry_pi.py
AVIS: Si vous obtenez ImportError: libatlas.so.3: impossible d'ouvrir le fichier d'objet partagé: aucun fichier ou répertoire de ce type, exécutez la commande suivante pour le corriger.
Relais
Lorsque la reconnaissance faciale est prête, nous pouvons continuer à ajouter des fonctionnalités supplémentaires. Nous avons connecté Grove - Relay au LTE Cat 1 Pi HAT, mais il utilise un port numérique plutôt que le port I2C.
Il s'agit du brochage pour Raspberry Pi 3B, nous pouvons voir les broches SDA et SCL situées dans les broches 3 et 5 de la carte.
Nous pouvons donc contrôler le relais en émettant un signal numérique sur la broche 5. Exécutez le programme python suivant sur votre Raspberry Pi, si rien ne se passe, vous entendrez un Ti-Ta du relais.
importer RPi. GPIO en tant que GPIO
RELAY_PIN = 5 GPIO.setmode(GPIO. BOARD) GPIO.setup(RELAY_PIN, GPIO. OUT) GPIO.output(RELAY_PIN, GPIO. HIGH)
Alors voici l'idée, on charge les visages connus à partir d'un dossier, on reconnaît les visages capturés par picamera, si le visage dans le dossier, on contrôle le relais pour déverrouiller la porte. Nous pouvons les empaqueter dans une classe, voici la méthode load_known_faces() et la méthode unlock(), le programme terminé peut être téléchargé à la fin de cet article.
def load_known_faces(self):
connus_faces = os.listdir(self._known_faces_path) pourknown_face dansknown_faces: self._known_faces_name.append(known_face[0: len(known_face) - len('.jpg')])known_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('Porte ouverte') time.sleep(5) GPIO.output(self._relay_pin, GPIO. LOW) self._reset_recognise_params() return True self._retry_count += 1 print('Veuillez réessayer…{ }'.format(self._retry_count)) renvoie False
Pensez transcendantalement, nous pouvons montrer l'image qui a reconnu, les bibliothèques PIL et matplotlib peuvent être utiles, parmi elles, matplotlib doit être installé manuellement, exécutez cette commande dans le terminal de votre Raspberry Pi.
sudo pip3 installer matplotlib
Importez-les dans votre code et modifiez if block dans la méthode unlock() comme ceci:
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('Porte ouverte') plt.pause(3) plt.close() GPIO.output(self._relay_pin, GPIO. LOW) self._reset_recognise_params() renvoie True
Désormais, si un visage est reconnu, l'image du dossier s'affichera à l'écran.
SMS
Parfois, nous voulons savoir qui est dans notre pièce, et maintenant il y a une place pour LTE Cat 1 Pi HAT. Branchez une carte SIM dessus et suivez les étapes pour tester si cela fonctionnera ou non.
Étape 1. Activer UART0 dans Raspberry Pi
Utilisez nano pour éditer config.txt dans /boot
sudo nano /boot/config.txt
ajoutez dtoverlay=pi3-disable-bt au bas de celui-ci et désactivez le service hciuart
sudo systemctl désactiver hciuart
puis supprimez console=serial0, 115200 dans cmdline.txt dans /boot
sudo nano /boot/cmdline.txt
Après tout, vous devez redémarrer votre Raspberry Pi.
Étape 2. Téléchargez l'exemple et exécutez-le.
Ouvrez un terminal sur votre Raspberry Pi, tapez ces commandes ligne par ligne.
disque ~
git clone https://github.com/Seeed-Studio/ublox_lara_r2_pi_hat.git cd ublox_lara_r2_pi_hat sudo python setup.py installer cd test sudo python test01.py
Si vous voyez ces sorties dans votre terminal, le LTE Cat 1 Pi HAT fonctionne bien.
En-tête GPIO 40 broches détecté
Activation de CTS0 et RTS0 sur les GPIO 16 et 17 rts cts au réveil… nom du module: LARA-R211 RSSI: 3
Maintenant que nous savons que le HAT fonctionne bien, comment l'utiliser pour envoyer des SMS ? La première chose que vous devez savoir est que le Raspberry Pi communique avec le HAT via l'envoi de commandes AT par UART. Vous pouvez envoyer des commandes AT à LTE HAT en exécutant ce code en python
à partir de l'importation ublox_lara_r2 *
u = Ublox_lara_r2() u.initialize() u.reset_power() # Fermer le massage de débogage u.debug = False u.sendAT('')
La commande AT pour l'envoi de SMS est la suivante
AT+CMGF=1
AT+CMGS=
voici donc la méthode _send_sms():
def _send_sms(self):
if self._phonenum == None: renvoie False pour le déblocage dans self._recognise_face_names(): if self._ublox.sendAT('AT+CMGF=1\r\n'): print(self._ublox.response) si self. _ublox.sendAT('AT+CMGS="{}"\r\n'.format(self._phonenum)): print(self._ublox.response) si self._ublox.sendAT('{} entre dans la pièce.\ x1a'.format(unlocker)): print(self._ublox.response)
AVIS: La bibliothèque LTE Cat 1 Pi HAT écrite par python2, qui n'est pas très compatible avec python3, si vous souhaitez l'utiliser avec la reconnaissance faciale, veuillez la télécharger à partir du lien à la fin de cet article.
Conseillé:
Cadre photo OSD avec reconnaissance faciale : 11 étapes (avec photos)
Cadre photo OSD sensible au visage : ce Instructables montre comment créer un cadre photo avec un affichage à l'écran (OSD) sensible au visage. L'OSD peut afficher l'heure, la météo ou d'autres informations Internet que vous souhaitez
Miroir de reconnaissance faciale avec compartiment secret : 15 étapes (avec photos)
Miroir de reconnaissance faciale avec compartiment secret : J'ai toujours été intrigué par les compartiments secrets toujours créatifs utilisés dans les histoires, les films, etc. Alors, quand j'ai vu le concours du compartiment secret, j'ai décidé d'expérimenter l'idée moi-même et de fabriquer un miroir ordinaire qui ouvre un s
Serrure de porte à reconnaissance faciale : 8 étapes
Serrure de porte à reconnaissance faciale : Environ un mois de fabrication, je vous présente la serrure de porte à reconnaissance faciale ! J'ai essayé de faire en sorte que ça ait l'air aussi soigné que possible, mais je ne peux pas tout faire en tant qu'enfant de 13 ans. Cette serrure de porte à reconnaissance faciale est gérée par un Raspberry Pi 4, avec une batterie portable spéciale
Sonnette avec reconnaissance faciale : 7 étapes (avec photos)
Sonnette avec reconnaissance faciale : motivationRécemment, il y a eu une vague de vols dans mon pays qui ciblent les personnes âgées dans leurs propres maisons. Habituellement, l'accès est accordé par les occupants eux-mêmes puisque les visiteurs les convainquent qu'ils sont des soignants/infirmiers. Ce
Système de sécurité par reconnaissance faciale pour un réfrigérateur avec Raspberry Pi : 7 étapes (avec photos)
Système de sécurité à reconnaissance faciale pour un réfrigérateur avec Raspberry Pi : En naviguant sur Internet, j'ai découvert que les prix des systèmes de sécurité varient de 150$ à 600$ et plus, mais toutes les solutions (même les plus chères) ne peuvent pas être intégrées avec d'autres des outils intelligents chez vous ! Par exemple, vous ne pouvez pas définir