תוכן עניינים:
וִידֵאוֹ: נעילת חכם לזיהוי פנים עם כובע LTE Pi: 4 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:13
זיהוי פנים הופך להיות יותר ויותר בשימוש נרחב, אנו יכולים להשתמש בו ליצירת מנעול חכם.
שלב 1: דברים המשמשים בפרויקט זה
רכיבי חומרה
- פטל פי 3 דגם ב '
- מודול מצלמת Raspberry Pi V2
- גרוב - ממסר
- כובע LTE Cat 1 Pi (אירופה)
- צג 10.1 אינץ '1200x1980 HDMI IPS LCD
אפליקציות תוכנה ושירותים מקוונים
- WinSCP
- פנקס ++
שלב 2: חיבור חומרה
בפרויקט זה, אנו מתכננים לצלם עם פיקמרה ולזהות בהם פנים, ולאחר מכן להציג תוצאת זיהוי במסך. אם ידועים פרצופים, פתח את הדלת ושלח את מי שפתח את הדלת למספר טלפון שצוין באמצעות SMS.
אז אתה צריך לחבר מצלמה לממשק המצלמות של Raspberry Pi, ולהתקין אנטנה ו- Grove - ממסר לכובע LTE Pi, ואז חבר HAT ל- Pi שלך. ניתן לחבר את המסך ל- Raspberry Pi באמצעות כבל HDMI, אל תשכח לחבר כוח למסך ול- Pi.
שלב 3: תכנות תוכנה
זיהוי פנים
תודה על אדם Geitgey ופרויקט זיהוי הפנים שלו, נוכל להשתמש בספריית זיהוי הפנים הפשוטה ביותר בעולם ב- Raspberry Pi. השלבים הבאים יראו לך כיצד להתקין זיהוי פנים ב- Pi.
שלב 1. השתמש ב- raspi-config כדי להגדיר את המצלמה ואת זיכרון ה- GPU.
sudo raspi-config
בחירת אפשרויות ממשק - מצלמה בכדי לאפשר את מצלמת הפיקרה, ולאחר מכן בחירה באפשרויות מתקדמות - פיצול זיכרון כדי להגדיר זיכרון GPU, יש לשנות אותה ל- 64. לאחר סיום, הפעל מחדש את ה- Raspberry Pi שלך.
שלב 2. התקן את הספריות הנדרשות.
עדכון sudo apt-get
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
שלב 3. צור picamerea תומך במערך.
sudo pip3 להתקין -שדרג פיקמרה [מערך]
שלב 4. התקן dlib וזיהוי פנים.
sudo pip3 התקן dlib
sudo pip3 התקן face_recognition
שלב 5. הורד והפעל דוגמה לזיהוי פנים
שיבוט git-ענף יחיד
cd./face_recognition/exemples python3 facerec_on_raspberry_pi.py
הודעה: אם קיבלת את ImportError: libatlas.so.3: לא ניתן לפתוח קובץ אובייקט משותף: אין קובץ או ספרייה כאלה, הפעל את הפקודה הבאה כדי לתקן אותו.
ממסר
כאשר זיהוי הפנים מוכן, נוכל להמשיך להוסיף תכונות נוספות. חיברנו את Grove - ממסר ל- LTE Cat 1 Pi HAT, אך הוא משתמש ביציאה דיגיטלית ולא ביציאת I2C.
זהו סיכת היציאה ל- Raspberry Pi 3B, אנו יכולים לראות סיכת SDA וסיכת SCL הממוקמים בסיכה 3 וסיכה 5 של הלוח.
כך שנוכל לשלוט בממסר על ידי יציאות אות דיגיטלי לפין 5. הפעל את תוכנית הפייתון למטה ב- Raspberry Pi שלך, אם שום דבר לא משתבש, תשמע Ti-Ta מממסר.
ייבא RPi. GPIO כ- GPIO
RELAY_PIN = 5 GPIO.setmode (GPIO. BOARD) GPIO.setup (RELAY_PIN, GPIO. OUT) פלט GPIO.out (RELAY_PIN, GPIO. HIGH)
אז הנה הרעיון, אנו מעמיסים פנים מוכרות מתיקיה, מזהות פרצופים שצולמו על ידי פיקמרה, אם הפנים בתיקייה, ממסר שליטה כדי לפתוח את הדלת. אנו יכולים לארוז אותם למחלקה, הנה שיטת load_known_faces () ושיטת נעילת (), ניתן להוריד את התוכנית שהושלמה בסוף מאמר זה.
def load_known_faces (עצמי):
known_faces = os.listdir (self._ known_faces_path) עבור known_face ב- known_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_pface) 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) הדפסה ('דלת נפתחה') time.sleep (5) GPIO.output (self._ relay_pin, GPIO. LOW) self._ reset_recognise_params () return self true._ retry_count += הדפסה אחת ('נסה שוב … { } '. פורמט (self._ retry_count)) החזר שקר
תחשוב בצורה מעבר, אנו יכולים להראות את התמונה מי זיהה, ספריות PIL ו- matplotlib יכולות להיות מועילות, ביניהן, matplotlib צריך להיות מותקן באופן ידני, הפעל פקודה זו במסוף ה- Raspberry Pi שלך.
sudo pip3 התקן matplotlib
ייבא אותם בקוד שלך ושנה אם חסימת שיטת נעילת () כך:
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) הדפסה ('דלת נפתחה') plt.pause (3) plt.close () GPIO.output (self._ relay_pin, GPIO. LOW) עצמי._ reset_recognise_params () החזר True
כעת, אם זיהה פנים, התמונה בתיקייה תוצג על המסך.
סמס
לפעמים אנחנו רוצים לדעת מי נמצא בחדר שלנו, ועכשיו יש מקום ל- LTE Cat 1 Pi HAT. חבר אליו כרטיס SIM ובצע את השלבים למטה כדי לבדוק אם הוא עובד או לא.
שלב 1. הפעל UART0 ב- Raspberry Pi
השתמש ב- nano לעריכת config.txt ב- /boot
sudo nano /boot/config.txt
הוסף dtoverlay = pi3-disable-bt לתחתיתו, והשבת את שירות hciuart
sudo systemctl השבת hciuart
ואז מחק קונסולה = serial0, 115200 ב- cmdline.txt ב /אתחול
sudo nano /boot/cmdline.txt
לאחר שהכל נעשה, עליך לאתחל את ה- Raspberry Pi שלך.
שלב 2. הורד דוגמה והפעל אותה.
פתח מסוף ב- Raspberry Pi שלך, הקלד אליו את הפקודה הזו שורה אחר שורה.
תקליטור ~
שיבוט git https://github.com/Seeed-Studio/ublox_lara_r2_pi_hat.git cd ublox_lara_r2_pi_hat sudo python setup.py התקן cd test sudo python test01.py
אם אתה רואה את הפלטים האלה במסוף שלך, ה- LTE Cat 1 Pi HAT עובד היטב.
זוהה כותרת GPIO עם 40 פינים
הפעלת CTS0 ו- RTS0 ב- GPIOs 16 ו- 17 rts cts בהתעוררות … שם המודול: LARA-R211 RSSI: 3
עכשיו ידענו שה- HAT פועל היטב, כיצד להשתמש בו לשליחת SMS? הדבר הראשון שאתה צריך לדעת הוא ש- Raspberry Pi מתקשרים עם ה- HAT באמצעות פקודות שלח AT על ידי UART. אתה יכול לשלוח פקודות AT ל- LTE HAT על ידי הפעלת קוד זה בפייתון
מיבוא ublox_lara_r2 *
u = Ublox_lara_r2 () u.initialize () u.reset_power () # סגור עיסוי באגים u.debug = שווא u.sendAT ('')
הפקודה AT לשליחת SMS היא כדלקמן
AT+CMGF = 1
AT+CMGS =
אז הנה שיטת _send_sms ():
def _send_sms (עצמי):
אם עצמי._ phonenum == אין: החזר שקר עבור הנעילה בעצמי._ מזהה_פנים_שמות (): אם עצמי._ ublox.sendAT ('AT+CMGF = 1 / r / n'): הדפס (עצמי._ ublox.response) אם עצמי. _ublox.sendAT ('AT+CMGS = "{}" / r / n'.format (self._ phonenum)): הדפס (self._ ublox.response) אם עצמי._ ublox.sendAT (' {} היכנס לחדר. / x1a'.format (ביטול נעילה)): הדפסה (self._ ublox.response)
הערה: ספריית LTE Cat 1 Pi HAT שנכתבה על ידי python2, שאינה תואמת במיוחד ל- python3, אם ברצונך להשתמש בה באמצעות זיהוי פנים, אנא הורד אותה מהקישור מסוף מאמר זה.
מוּמלָץ:
זיהוי פנים וזיהוי - מזהה פנים Arduino באמצעות OpenCV Python ו- Arduino .: 6 שלבים
זיהוי פנים וזיהוי | מזהה פנים Arduino באמצעות OpenCV Python ו- Arduino .: זיהוי פנים AKA זיהוי פנים הוא אחת התכונות החשובות ביותר בטלפונים ניידים בימינו. אז הייתה לי שאלה " האם אפשר לקבל מזהה פנים לפרוייקט Arduino שלי " והתשובה היא כן … המסע שלי התחיל כדלקמן: שלב 1: גישה אלינו
כובע לא כובע - כובע לאנשים שלא באמת חובשים כובעים, אבל רוצים חווית כובע: 8 שלבים
Hat Not Hat - כובע לאנשים שלא באמת חובשים כובעים, אבל רוצים חווית כובע: תמיד רציתי שאני יכול להיות כובע, אבל מעולם לא מצאתי כובע שעובד בשבילי. זה " Hat Not Hat, " או מרתק כשמו כן הוא פתרון קרום עליון לבעיית הכובע שלי בו אוכל להשתתף בדרבי של קנטקי, ואקום
כובע מצלמה כובע: 5 שלבים
כובע מצלמה כובע: נתקלתי בבעיות עם הסרטונים שלי בערוץ היוטיוב שלי. מכיוון שאני בדרך כלל מצלם את הסרטונים בעצמי כפי שאני בסרטונים לפעמים מה שאני חושב שאני מציג הוא לא מה שנתפס. זה גורם לכל מיני בעיות. קניתי לאחרונה
כובע IOT (המכונה רשמית PiAnywhere V1.31) כובע 4G ו- LTE ל- Raspberry Pi: 10 שלבים (עם תמונות)
IOT BIT (המכונה רשמית PiAnywhere V1.31) כובע 4G ו- LTE ל- Raspberry Pi: IOT BIT 4G & כובע LTE ל- Raspberry Pi4G (100 Mbps למטה/ 50 Mbps למעלה) - קישוריות אינטרנט מהירה במיוחד לפאי הפטל שלך, מצוינת להורדות גדולות והזרמת וידיאו. TheIOT BIT 4G & כובע LTE ל- Raspberry Pi Beta
טקסס גדול פנים - הקרנת פנים תלת -ממדית כיצד: 10 שלבים (עם תמונות)
Texas Big Face - הקרנת פנים תלת מימדית כיצד: יצירת " פסלים חיים " על ידי הקרנת פנייך על פסלים. א איך לעשות זאת: דיוויד סאתרלנד, קירק מורנו בשיתוף עם מעבדת המחקר של גרפיטי יוסטון* מספר הערות אמרו שיש כמה בעיות שמע. זה