Obsah:
- Krok 1: Věci použité v tomto projektu
- Krok 2: Hardwarové připojení
- Krok 3: Programování softwaru
- Krok 4: Hotovo
Video: Rozpoznání tváře Smart Lock s LTE Pi HAT: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:21
Rozpoznávání tváře je stále více používáno, můžeme z něj vytvořit chytrý zámek.
Krok 1: Věci použité v tomto projektu
Hardwarové komponenty
- Raspberry Pi 3 Model B
- Modul kamery Raspberry Pi V2
- Grove - relé
- LTE Cat 1 Pi HAT (Evropa)
- 10,1 palcový 1200x1980 HDMI IPS LCD displej
Softwarové aplikace a online služby
- WinSCP
- Poznámkový blok ++
Krok 2: Hardwarové připojení
V tomto projektu plánujeme pořizovat snímky pomocí pikamery a rozpoznávat v nich tváře a poté na obrazovce zobrazit výsledek rozpoznávání. Pokud jsou tváře známé, otevřete dveře a pošlete, kdo dveře otevřel, na uvedené telefonní číslo prostřednictvím SMS.
Musíte tedy připojit kameru k rozhraní kamery Raspberry Pi a nainstalovat anténu a klobouk Grove - Relay to LTE Pi a poté připojit HAT k vašemu Pi. Obrazovku lze připojit k Raspberry Pi pomocí kabelu HDMI, nezapomeňte připojit napájení k obrazovce a Pi.
Krok 3: Programování softwaru
Rozpoznávání obličejů
Díky Adamovi Geitgeyovi a jeho projektu Face Recognition, můžeme na Raspberry Pi používat nejjednodušší knihovnu rozpoznávání tváří na světě. Následující kroky vám ukážou, jak nastavit rozpoznávání obličejů na Pi.
Krok 1. Ke konfiguraci paměti fotoaparátu a GPU použijte raspi-config.
sudo raspi-config
Výběrem možnosti rozhraní - Fotoaparát povolíte pikameru a poté volbou Upřesnit možnosti - Rozdělení paměti pro nastavení paměti GPU, měla by být změněna na 64. Po dokončení restartujte Raspberry Pi.
Krok 2. Nainstalujte požadované knihovny.
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
Krok 3. Vytvořte picamerea podporuje pole.
sudo pip3 install --upgrade picamera [pole]
Krok 4. Nainstalujte si dlib a rozpoznávání obličeje.
sudo pip3 install dlib
sudo pip3 install face_recognition
Krok 5. Stáhněte a spusťte příklad rozpoznávání tváře
git clone --single-branch
cd./face_recognition/examples python3 facerec_on_raspberry_pi.py
UPOZORNĚNÍ: Pokud máte ImportError: libatlas.so.3: nelze otevřít soubor sdíleného objektu: Žádný takový soubor nebo adresář, spusťte následující příkaz a opravte jej.
Relé
Když je rozpoznávání obličeje připraveno, můžeme pokračovat v přidávání dalších funkcí. Připojili jsme Grove - Relay k LTE Cat 1 Pi HAT, ale používá spíše digitální port než I2C port.
Toto je pin-out pro Raspberry Pi 3B, můžeme vidět pin SDA a SCL pin umístěný v pinu 3 a pinu desky.
Můžeme tedy ovládat relé výstupy digitálního signálu na pin 5. Spusťte následující program python na vašem Raspberry Pi, pokud se nic nestane, uslyšíte Ti-Ta z relé.
importujte RPi. GPIO jako GPIO
RELAY_PIN = 5 GPIO.setmode (GPIO. BOARD) GPIO.setup (RELAY_PIN, GPIO. OUT) GPIO.output (RELAY_PIN, GPIO. HIGH)
Takže tady je myšlenka, načteme známé tváře ze složky, rozpoznáme tváře zachycené pikamerou, pokud je tvář ve složce, ovládací relé odemkne dveře. Můžeme je sbalit do třídy, zde je metoda load_known_faces () a metoda unlock (), dokončený program lze stáhnout na konci tohoto článku.
def load_known_faces (self):
known_faces = os.) 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) tisk („Dveře otevřeny“) 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)) return False
Myslete transcendentálně, můžeme ukázat obrázek, který rozpoznal, knihovny PIL a matplotlib mohou být užitečné, mezi nimi je třeba matplotlib nainstalovat ručně, spusťte tento příkaz v terminálu vašeho Raspberry Pi.
sudo pip3 nainstalujte matplotlib
Importujte je do kódu a změňte if block in unlock () metodou takto:
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) tisk ('Dveře otevřeny') plt.pause (3) plt.close () GPIO.output (self._ relay_pin, GPIO. LOW) self._ reset_recognise_params () return True
Pokud je nyní rozpoznána tvář, zobrazí se na obrazovce obrázek ve složce.
SMS
Někdy chceme vědět, kdo je v našem pokoji, a nyní je místo pro LTE Cat 1 Pi HAT. Připojte k němu SIM kartu a podle níže uvedených kroků vyzkoušejte, zda bude fungovat nebo ne.
Krok 1. Povolte UART0 v Raspberry Pi
Pomocí nano upravte soubor config.txt v /boot
sudo nano /boot/config.txt
na konec přidejte dtoverlay = pi3-disable-bt a deaktivujte službu hciuart
sudo systemctl zakázat hciuart
poté odstraňte konzolu = serial0, 115200 v cmdline.txt v /boot
sudo nano /boot/cmdline.txt
Po dokončení všeho byste měli restartovat Raspberry Pi.
Krok 2. Stáhněte si příklad a spusťte jej.
Otevřete terminál na svém Raspberry Pi, zadejte do něj tyto příkazy řádek po řádku.
cd ~
git clone https://github.com/Seeed-Studio/ublox_lara_r2_pi_hat.git cd ublox_lara_r2_pi_hat sudo python setup.py install cd test sudo python test01.py
Pokud ve svém terminálu vidíte tyto výstupy, LTE Cat 1 Pi HAT funguje dobře.
Byla detekována 40pinová hlavička GPIO
Povolení CTS0 a RTS0 na GPIO 16 a 17 rts při probuzení … název modulu: LARA-R211 RSSI: 3
Nyní jsme věděli, že HAT funguje dobře, jak jej používat k odesílání SMS? První věc, kterou potřebujete vědět, je, že Raspberry Pi komunikuje s HAT prostřednictvím příkazů odesílání AT od UART. Příkazy AT můžete odeslat do LTE HAT spuštěním tohoto kódu v pythonu
z ublox_lara_r2 import *
u = Ublox_lara_r2 () u.initialize () u.reset_power () # Zavřít ladicí masáž u.debug = False u.sendAT ('')
AT příkaz pro odesílání SMS je následující
AT+CMGF = 1
AT+CMGS =
zde je tedy metoda _send_sms ():
def _send_sms (self):
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) if self. _ublox.sendAT ('AT+CMGS = "{}" / r / n'.format (self._ phonenum)): print (self._ ublox.response) if self._ ublox.sendAT (' {} enter the room. / x1a'.format (unlocker)): print (self._ ublox.response)
UPOZORNĚNÍ: Knihovna LTE Cat 1 Pi HAT napsaná python2, která není s python3 příliš kompatibilní, pokud ji chcete používat s rozpoznáváním tváří, stáhněte si ji prosím z odkazu na konci tohoto článku.
Doporučuje:
Rozpoznání tváře na Raspberry Pi 4B ve 3 krocích: 3 kroky
Detekce obličeje na Raspberry Pi 4B ve 3 krocích: V tomto Instructable provedeme detekci obličeje na Raspberry Pi 4 s Shunya O/S pomocí Shunyaface Library. Shunyaface je knihovna pro rozpoznávání/rozpoznávání obličejů. Cílem projektu je dosáhnout nejrychlejší rychlosti detekce a rozpoznávání s
Světla reagující na zvuk bez tváře Kaonashi: 3 kroky
Světla reagující na zvuk Kaonashi No Face: Chcete -li se dostat do ducha věcí, postavte řetězová světla. Ale nebylo by skvělé, kdybyste mohli nasměrovat světla tak, aby se rozsvítila, když jsou slyšet zvuky? Nechte Kaonashi nebo No Face (z filmu Spirited Away) znít jako reaktivní strin
Arduino Matrix Display Emocionální tváře: 4 kroky
Emocionální tváře Arduino Matrix Display: Dnes vytváříme různé tváře s Arduino a Matrix Display 8 x 8
Rozpoznání tváře ESP32 CAM s podporou MQTT - AI-Thinker: 4 kroky
Rozpoznání tváře ESP32 CAM s podporou MQTT | AI-Thinker: Dobrý den! Chtěl bych se podělit o svůj kód projektu, kdybych potřeboval mít ESP CAM s rozpoznáváním tváře, které by mohlo odesílat data do MQTT. Takže dobře … asi po 7 hodinách hledání prostřednictvím několika příkladů kódu a hledání toho, co je co, mám finis
Rozpoznání tváře+rozpoznávání: 8 kroků (s obrázky)
Rozpoznání tváře+rozpoznávání: Toto je jednoduchý příklad spuštění detekce a rozpoznávání tváře pomocí OpenCV z kamery. POZNÁMKA: VYROBIL JSEM TENTO PROJEKT SOUTĚŽE SENZORŮ A KAMERU JSEM POUŽIL JAKO SENZOR KE SLEDOVÁNÍ A ROZPOZNÁVÁNÍ TVÁŘÍ. Náš cíl V této relaci 1. Nainstalujte Anaconda