Mundarija:
- 1 -qadam: Ushbu loyihada ishlatilgan narsalar
- 2 -qadam: Uskuna ulanishi
- 3 -qadam: dasturiy ta'minot
- 4 -qadam: bajarildi
Video: LTE Pi HAT bilan yuzni tanish Smart Lock: 4 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:24
Yuzni aniqlash tobora ko'proq qo'llanilmoqda, biz undan aqlli qulf yasash uchun foydalanishimiz mumkin.
1 -qadam: Ushbu loyihada ishlatilgan narsalar
Uskuna komponentlari
- Raspberry Pi 3 modeli B
- Raspberry Pi kamera moduli V2
- Grove - estafeta
- LTE Cat 1 Pi HAT (Evropa)
- 10,1 dyuymli 1200x1980 HDMI IPS LCD displey
Dasturiy ta'minot va onlayn xizmatlar
- WinSCP
- Notepad ++
2 -qadam: Uskuna ulanishi
Ushbu loyihada biz pikamera yordamida suratga olishni va ulardagi yuzlarni tanib olishni, keyin ekranda tanib olish natijasini ko'rsatishni rejalashtirmoqdamiz. Agar yuzlar ma'lum bo'lsa, eshikni oching va kim eshikni ochganini SMS orqali yuboring.
Shunday qilib, siz Raspberry Pi -ning kamera interfeysiga kamerani ulashingiz va antenna va Grove -LTE Pi shlyapasiga o'rni o'rnatishingiz kerak, keyin HAT -ni Pi -ga ulang. Ekranni Raspberry Pi -ga HDMI kabeli orqali ulash mumkin, ekran va Pi -ga quvvat ulashni unutmang.
3 -qadam: dasturiy ta'minot
Yuzni aniqlash
Adam Geitgey va uning yuzni aniqlash loyihasi uchun rahmat, biz Raspberry Pi -da dunyodagi eng oddiy yuzni aniqlash kutubxonasidan foydalanishimiz mumkin. Quyidagi qadamlar sizga Pi -da yuzni aniqlashni qanday o'rnatishni ko'rsatib beradi.
Qadam 1. Kamera va GPU xotirasini sozlash uchun raspi-config-dan foydalaning.
sudo raspi-config
Pikamerani yoqish uchun interfeys parametrlari - Kamera, keyin GPU xotirasini sozlash uchun Kengaytirilgan imkoniyatlar - Xotirani ajratish -ni tanlang, 64 -ga o'zgartirilishi kerak. Raspberry Pi -ni qayta ishga tushiring.
Qadam 2. Kerakli kutubxonalarni o'rnating.
sudo apt-get yangilanishi
sudo apt-get modernizatsiya 0-dev / libjpeg-dev / liblapack-dev / libswscale-dev / pkg-config / python3-dev / python3-numpy / python3-picamera / python3-pip / zip sudo apt-get clean
3 -qadam. Pikamerani qo'llab -quvvatlovchi qatorlar qiling.
sudo pip3 install -picamera [array] ni yangilang
Qadam 4. Dlib va yuzni aniqlashni o'rnating.
sudo pip3 dlib -ni o'rnating
sudo pip3 face_recognition -ni o'rnating
Qadam 5. Yuklab oling va yuzni aniqlash misolini ishga tushiring
git klon-bitta filial
cd./face_recognition/examples python3 facerec_on_raspberry_pi.py
Ogohlantirish: Agar sizda ImportError: libatlas.so.3 bo'lsa: umumiy ob'ekt faylini ochib bo'lmaydi: Bunday fayl yoki katalog yo'q, uni tuzatish uchun quyidagi buyruqni bajaring.
Estafeta
Yuzni aniqlash tayyor bo'lganda, biz qo'shimcha funktsiyalarni qo'shishni davom ettira olamiz. Biz Grove - Relayni LTE Cat 1 Pi HAT -ga uladik, lekin u I2C portidan ko'ra raqamli portdan foydalanadi.
Bu Raspberry Pi 3B uchun ajratilgan, biz SDA pin va SCL pinini 3 va 5-pinlarda ko'rishimiz mumkin.
Shunday qilib, biz 5-raqamli raqamli signalni chiqarish orqali o'rni nazorat qila olamiz, Raspberry Pi-dagi python dasturini ishga tushiring, agar biror narsa noto'g'ri bo'lsa, siz Ti-Ta-ni eshitasiz.
RPi. GPIO -ni GPIO sifatida import qilish
RELAY_PIN = 5 GPIO.setmode (GPIO. BOARD) GPIO.setup (RELAY_PIN, GPIO. OUT) GPIO.output (RELAY_PIN, GPIO. HIGH)
Mana bu fikr, biz papkadan ma'lum yuzlarni yuklaymiz, pikamera bilan tasvirlangan yuzlarni taniymiz, agar papkadagi yuz bo'lsa, eshik qulfini ochish uchun o'z o'rni. Biz ularni sinfga to'plashimiz mumkin, bu erda load_known_faces () usuli va unlock () usuli, tugallangan dasturni maqolaning oxirida yuklab olish mumkin.
def load_known_faces (o'zini):
ma'lum_faces = os.listdir (o'zini._ ma'lum_faces_path) ma'lum_facesda ma'lum_face uchun: o'zini._ ma'lum_faces_name.append (ma'lum_face [0: len (ma'lum_face) - len ('. jpg')]) ma'lum_face_image = face_recognition.load_image_files (o'zini._ ma'lum_face_))._ ma'lum_faces_encoding.append (face_recognition.face_encodings (known_face_image) [0]) qaytish len (self._ ma'lum_faces_encoding) def qulfini ochish (o'zini): agar o'zini._ mos keladigan.sayt (To'g'ri)> 0: GPIO. chiqish (o'zini._ o'rni_pin, GPIO. HIGH) bosib chiqarish ("Eshik ochildi") vaqt. Uxlash (5) GPIO.output (self._ relay_pin, GPIO. LOW) o'zini._ reset_recognise_params () haqiqiy o'zini qaytaradi._ retry_count += 1 chop etish ('Iltimos, qaytadan urinib ko'ring… { } '. format (o'zini._ retry_count)) qaytarish False
O'zingizni o'ylab ko'ring, biz rasmni kim ko'rsatganini ko'rsatishimiz mumkin, PIL va matplotlib kutubxonalari foydali bo'lishi mumkin, ular orasida matplotlibni qo'lda o'rnatish kerak, bu buyruqni Raspberry Pi terminalida ishlating.
sudo pip3 matplotlib -ni o'rnating
Ularni kodingizga import qiling va unlock () blokirovkasini quyidagi kabi o'zgartiring:
img = Image.open ('{}/{}. jpg'.format (o'zini._ ma'lum_faces_path, o'zini._ ma'lum_faces_name [0]))
plt.imshow (img) plt.ion () GPIO.output (self._ röle_pin, GPIO. HIGH) chop etish ("Eshik ochilgan"). LOW) o'zini._ reset_recognise_params () qaytarish True
Endi, agar yuz tanilsa, papkadagi rasm ekranda aks etadi.
SMS
Ba'zan biz xonamizda kim borligini bilishni xohlaymiz va hozirda LTE Cat 1 Pi HAT uchun joy bor. Unga SIM -kartani ulang va uning ishlash -ishlamasligini tekshirish uchun quyidagi amallarni bajaring.
Qadam 1. Raspberry Pi -da UART0 -ni yoqing
Config.txt faylini tahrir qilish uchun nano -dan foydalaning
sudo nano /boot/config.txt
pastki qismiga dtoverlay = pi3-disable-bt qo'shing va hciuart xizmatini o'chiring
sudo systemctl hciuart -ni o'chirib qo'ying
keyin /bootda cmdline.txt da konsol = serial0, 115200 ni o'chirib tashlang
sudo nano /boot/cmdline.txt
Hammasi tugagandan so'ng, siz Raspberry Pi -ni qayta ishga tushirishingiz kerak.
Qadam 2. Yuklab misol va ishga tushirish.
Raspberry Pi -dagi terminalni oching, unga bu buyruqni satrma -qator kiriting.
CD ~
git clone 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 ni o'rnating
Agar siz ushbu chiqishlarni terminalda ko'rsangiz, LTE Cat 1 Pi HAT yaxshi ishlaydi.
40-pinli GPIO sarlavhasi aniqlandi
Uyg'onish paytida CTS0 va RTS0 ni GPIO 16 va 17 rts da yoqish… modul nomi: LARA-R211 RSSI: 3
Endi biz HAT yaxshi ishlashini bilardik, undan qanday qilib SMS yuborish mumkin? Siz bilishingiz kerak bo'lgan birinchi narsa shundaki, Raspberry Pi UART tomonidan AT buyruqlarini yuborish orqali HAT bilan aloqa o'rnatadi. Siz AT buyruqlarini LTE HAT -ga ushbu kodni pythonda ishga tushirish orqali yuborishingiz mumkin
ublox_lara_r2 importidan *
u = Ublox_lara_r2 () u.initialize () u.reset_power () # disk raskadrovka massajini yopish u.debug = noto'g'ri u.sendAT ('')
SMS yuborish uchun AT buyrug'i quyidagicha
AT+CMGF = 1
AT+CMGS =
shuning uchun _send_sms () usuli:
def _send_sms (o'zini):
agar o'z -o'zidan._ phonenum == Yo'q: o'z -o'zidan qulfni ochish uchun "False" ni qaytaring._ tanishlar_face_names (): agar o'zini._ ublox.sendAT ('AT+CMGF = 1 / r / n'): chop eting (o'zini._ ublox. javob) o'z -o'zidan bo'lsa. _ublox.sendAT ('AT+CMGS = "{}" / r / n'.format (self._ phonenum))): bosib chiqarish x1a'.format (qulfdan chiqaruvchi)): chop etish (o'zini._ ublox.response)
Ogohlantirish: LTE Cat 1 Pi HAT kutubxonasi python2 tomonidan yozilgan, u python3 bilan unchalik mos kelmaydi, agar siz uni yuz tanib olishda ishlatmoqchi bo'lsangiz, uni maqolaning oxiridagi havoladan yuklab oling.
Tavsiya:
Yashirin bo'linma bilan yuzni aniqlash oynasi: 15 qadam (rasmlar bilan)
Yuzni tanib olish oynasi maxfiy bo'linma bilan: Hikoyalar, filmlar va boshqalarda ishlatiladigan ijodiy maxfiy bo'linmalar meni doim qiziqtirib kelgan. Shunday qilib, "Maxfiy kupe" tanlovini ko'rganimda, men bu g'oyani o'zim sinab ko'rishga va oddiy ochiladigan oynani yasashga qaror qildim
Eski noutbukdan Alexa ovozli tanish yordamida suzuvchi aqlli sehrli oyna: 6 qadam (rasmlar bilan)
Alexa ovozli identifikatorli eski noutbukdan aqlli sehrli ko'zgu: "Elektronika" kursiga yoziling: https://www.udemy.com/electronics-in-a-nutshell/?couponCode=TINKERSPARK youtube kanalida boshqa loyihalar va elektronika bo'yicha darsliklar: https://www.youtube.com/channel/UCelOO
Raspberry Pi bilan muzlatgich uchun yuzni aniqlash tizimi: 7 qadam (rasmlar bilan)
Raspberry Pi bilan muzlatgich uchun yuzni aniqlash xavfsizligi tizimi: Internetni ko'zdan kechirish shuni ko'rsatdiki, xavfsizlik tizimlarining narxi 150 dollardan 600 dollargacha va undan yuqori, lekin hamma echimlar (hatto juda qimmatlari ham) boshqalari bilan birlashtirilishi mumkin emas. uyingizda aqlli asboblar! Masalan, siz o'rnatolmaysiz
Python bilan raqamli tanish: 3 qadam
Python bilan raqamli tanib oluvchi: "Kompyuterni ko'rish" dasturining mashhur versiyasi, bu dasturiy ta'minotni qayta tiklash dasturlarini qo'llab -quvvatlaydi. Hisob -kitoblarni amalga oshirish mumkin bo'lgan vaqtdan keyin tasavvur qilish mumkin
AIY bilan ko'p tilli tanish: 4 qadam
AIY bilan ko'p tilli tanib oluvchi: kosmik kosmik stantsiyalarda u erda ko'plab astronavtlar bor. N ~ kosmonavtlar ko'plab sayyoralardan (mamlakatlardan) kelgan shuning uchun AI u erda ko'p tillarda ishlashi kerak