Mündəricat:

Raspberry Pi ilə Soyuducu üçün Üz Tanıma Təhlükəsizlik Sistemi: 7 addım (şəkillərlə)
Raspberry Pi ilə Soyuducu üçün Üz Tanıma Təhlükəsizlik Sistemi: 7 addım (şəkillərlə)

Video: Raspberry Pi ilə Soyuducu üçün Üz Tanıma Təhlükəsizlik Sistemi: 7 addım (şəkillərlə)

Video: Raspberry Pi ilə Soyuducu üçün Üz Tanıma Təhlükəsizlik Sistemi: 7 addım (şəkillərlə)
Video: Как собрать ПЛК Raspberry Pi Pico || Редактор OpenPLC 2024, Iyul
Anonim
Image
Image
Raspberry Pi ilə Soyuducu üçün Üz Tanıma Təhlükəsizlik Sistemi
Raspberry Pi ilə Soyuducu üçün Üz Tanıma Təhlükəsizlik Sistemi
Raspberry Pi ilə Soyuducu üçün Üz Tanıma Təhlükəsizlik Sistemi
Raspberry Pi ilə Soyuducu üçün Üz Tanıma Təhlükəsizlik Sistemi

İnternetdə gəzərkən təhlükəsizlik sistemlərinin qiymətlərinin 150 ilə 600 dollar arasında dəyişdiyini, lakin bütün həllərin (hətta ən bahalıları da) evinizdəki digər ağıllı vasitələrlə birləşdirilə bilməyəcəyini kəşf etdim! Məsələn, ön qapınıza bir təhlükəsizlik kamerası qura bilməzsiniz ki, qapını avtomatik olaraq sizin və ya dostlarınız üçün açsın!

İstənilən yerdə istifadə edə biləcəyiniz sadə, ucuz və güclü bir həll etməyə qərar verdim! Ucuz və evdə hazırlanan təhlükəsizlik sistemlərinin necə yaradılacağına dair bir çox dərslik var, amma bunların həqiqətən qeyri -mənasız tətbiqini göstərmək istəyirəm - üz tanıma qabiliyyətli bir soyuducu üçün təhlükəsizlik sistemi!

Bu necə işləyir? Soyuducunun üstünə qoyulmuş IP kamera, sensorlar (iki düymə) bir insanın soyuducunun qapısını açdığını aşkarlayır, bundan sonra Raspberry Pi həmin adamın şəklini çəkir (IP kamera ilə), sonra Microsoft Face API -yə göndərir. görüntünü təhlil etmək və şəxsin adını almaq. Bu məlumatla Raspberry Pi "giriş siyahısını" tarar: şəxsin soyuducuya girməyə icazəsi yoxdursa, Moruq sahibinə e -poçt, mətn mesajı və twitter vasitəsilə xəbər verir! (Yuxarıdakı şəkillərə baxın)

Niyə? Sistem ailə üzvlərinizi, xüsusən də pəhriz saxladıqda və ya gecə yarısından sonra yemək yeməməklə mübarizə aparanda idarə etməyə imkan verir! Və ya sadəcə əylənmək üçün istifadə edin!

Üstəlik, əslində kameranı ön qapınıza qura və sistemi, sizin, ailə üzvlərinizin və ya dostlarınız yaxınlaşanda qapını açacaq şəkildə konfiqurasiya edə bilərsiniz. Və bu son deyil! Tətbiq imkanları sonsuzdur!

Başlayaq!

Addım 1: Hazırlıq

Hazırlıq
Hazırlıq

Sizə lazım olacaq:

  • Raspberry Pi 3 (köhnə versiyalardan istifadə edə bilərsiniz, ancaq üçüncü nəsildə Wi-Fi var, buna görə çox rahatdır)
  • Düymələr
  • Tellər
  • Köhnə Smartphone və ya Raspberry Pi kamerası

Etməli olduğunuz ilk şey Raspberry Pi -ni konfiqurasiya etməkdir. Bunu necə edəcəyinizə dair ətraflı təlimatları burada və burada tapa bilərsiniz, ancaq bu təlimatda ən vacib addımları əhatə edəcəyik.

  1. Win32 DiskImager proqramını buradan yükləyin (Windows istifadə edirsinizsə)
  2. SD Formatter -i buradan yükləyin
  3. SD kartı kompüterinizə daxil edin və SD Formatter ilə formatlayın
  4. Raspbian Şəklini buradan yükləyin ("Pikselli Raspbian Jessie" ni seçin)
  5. Win32 DiskImager proqramını işə salın, SD kartınızı seçin, Raspbian görüntüsünün yolunu göstərin və "Yaz" düyməsini basın.
  6. SD kartı Raspberry Pi -yə daxil edin və gücü açın!

Bundan əlavə, sistemə SSH vasitəsilə daxil olmaq üçün Raspberry Pi -ni konfiqurasiya etməlisiniz. İnternetdə bir çox təlimat var, məsələn, istifadə edə bilərsiniz və ya monitor və klaviatura əlavə edə bilərsiniz.

İndi Pi konfiqurasiya edildi və davam etməyə hazırsınız!

Addım 2: Sensor hazırlayın

Sensor hazırlamaq
Sensor hazırlamaq
Sensor hazırlamaq
Sensor hazırlamaq
Sensor hazırlamaq
Sensor hazırlamaq

Addım Təsviri: Bu addımda bir insanın soyuducunun qapısını açdığını və Raspberry Pi -ni aktivləşdirdiyini təyin edən bir sensor hazırlayacağıq.

Qurmaq üçün əvvəlcə hazırladığınız 2 düyməyə ehtiyacınız olacaq. Birinci düymə qapının açıldığını, ikinci düymənin bir adamın şəklini çəkdiyimiz vaxta qədər açıldığını aşkar edəcək.

  1. Lehim telləri düymələrə.
  2. Soyuducunun qapısına ilk düyməni yapışdırın ki, qapı bağlananda itilsin (yuxarıdakı şəklə baxın)
  3. İkinci düyməni yuxarıdakı fotoda göstərildiyi kimi soyuducunun qapısına yapışdırın. Qapının sistemin şəkil çəkdiyi nöqtəyə çatması istisna olmaqla, bu düymə hər zaman buraxılmalıdır. Quraşdırmaq üçün soyuducunuza bir şey bağlamalısınız ki, qapı istədiyiniz qədər açılanda bu düyməyə basılsın (yuxarıdakı şəkillərə baxın).
  4. Düymələrdən Raspberry Pi -yə tellər bağlayın: birinci düyməni GPIO 23 -ə və yerə, ikinci düyməni GPIO 24 -ə və yerə (Fritzing diaqramına baxın).

Qeyd: BCM pinoutundan istifadə edirəm (Board deyil), burada oxuduğum fərq haqqında.

Python qabığını işə salmaq üçün SSH vasitəsilə Raspberry Pi -yə qoşulduqda terminala yazın:

python3

Raspberry Pi -yə monitor və klaviatura bağlayırsınızsa, menyudan "Python 3 IDLE" ni işə salın.

Növbəti addım, Raspberry Pi düymələri ilə işləməyi təmin etməkdir. GPIO 23 və 24 pinlərinə xüsusi dinləyicilər bağlayacağıq ki, bu pinlərdə "yüksələn kənar" və "düşən kənar" hadisələrini dinləsin. Hadisə baş verərsə, dinləyicilər təyin etdiyimiz funksiyaları çağıracaqlar. "Yüksələn kənar" düymənin basıldığını və indi buraxıldığını bildirir (ilk düymə - qapı açılır), "düşən kənar" düymənin sərbəst buraxıldığını və indi basıldığını bildirir (ikinci düymə - qapı müəyyən nöqtəyə çatdı). Düymələrin funksionallığı haqqında daha çox - burada.

Əvvəlcə pinlərə giriş imkanı verən kitabxananı idxal edin:

GPO olaraq RPi. GPIO idxal edin

İndi hadisə tetiklendiğinde çağırılacaq xüsusi funksiyaları təyin edin:

def sensor1 (kanal): çap ("sensor 1 tetiklendi") def sensor2 (kanal): çap ("sensor 2 tetiklendi)

Pinout növünü təyin edin:

GPIO.setmode (GPIO. BCM)

Pinləri konfiqurasiya edin:

GPIO.setup (23, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (24, GPIO. IN, pull_up_down = GPIO. PUD_UP)

Dinləyiciləri əlavə edin:

GPIO.add_event_detect (23, GPIO. RISING, geri çağırış = sensor1, bouncetime = 300) GPIO.add_event_detect (24, GPIO. FALLING, geri zəng = sensor2, bouncetime = 300)

İndi sınaya bilərsiniz! 1 düyməsini basarsanız, "sensor 1 tetiklendi" terminalında bir mesaj görəcəksiniz, 2 düyməsi sizə "sensor 2 tetiklendi" mesajını verir.

Qeyd: Təcrübə bitirdikdən sonra aşağıdakı funksiyaya zəng etməyi unutmayın: GPIO.cleanup ().

Qapı şəkil çəkdiyimiz yerə çatanda çağırılan daha bir funksiya quraq! Bunu özünüz edə bilərsiniz və ya burada əlavə etdiyim tətbiqdən istifadə edə bilərsiniz (sensor.py)

Qeyd: sensor.py yalnız test məqsədləri üçün istifadə olunur, son addıma əlavə etdiyim tam funksiyalı fayllar.

Addım 3: IP Kameranı konfiqurasiya edin

IP Kameranı konfiqurasiya edin
IP Kameranı konfiqurasiya edin
IP Kameranı konfiqurasiya edin
IP Kameranı konfiqurasiya edin
IP Kameranı konfiqurasiya edin
IP Kameranı konfiqurasiya edin

Addım təsviri: İndi köhnə smartfonu IP kamera olaraq konfiqurasiya edəcəyik.

Smartfonun IP kamera kimi istifadəsi proqram vasitəsilə həyata keçirilir. Android, iOS, Windows Phone üçün istifadə edə biləcəyiniz fərqli tətbiqlər var. Android üçün "IP Webcam" adlı birini seçdim. Bu pulsuz bir tətbiqdir və konfiqurasiya etmək asandır.

Tətbiqi işə salın, tətbiqin təmin edəcəyi şəkillərin həllini qurmaq üçün "Video seçimləri" nə gedin. Sonra "Serveri Başlat" a vurun (yuxarıdakı ilk şəkil). Ekranın altındakı kameranın ip ünvanını görmək lazımdır (Yuxarıdakı ikinci şəklə baxın). Brauzerdə https://cam_ip_address/photo-j.webp

Nəhayət, kameranı soyuducuya bağlayın (Yuxarıdakı son şəkil).

Addım 4: Face API

Face API
Face API

Addım Təsviri: Bu addımda Microsoft -un üz tanıma qabiliyyətinə malik olan və insanları tanıyan Face API -dən bəhs edəcəyik.

Microsoft -un Face API, şəkilləri təhlil edə və üzərindəki insanları tanıya biləcəyimiz bir üz tanıma xidmətidir.

Əvvəlcə Microsoft Azure Hesabına ehtiyacınız var. Biriniz yoxdursa, burada pulsuz olaraq yarada bilərsiniz.

İkincisi, https://portal.azure.com saytına daxil olun, sol tərəfdəki "Yeni" düyməsini basın, "Cognitive Services APIs" formasına daxil edin, seçin və "Yarat" düyməsini basın. Ya da bu linki aça bilərsiniz. İndi xidmətinizin adını daxil etməlisiniz, abunə növünü, ehtiyac duyduğunuz API növünü (bizim vəziyyətimizdə Face API), yeri, qiymət səviyyəsini, resurs qrupunu seçməlisiniz və Hüquqi Şərtləri qəbul etməlisiniz (bu addıma əlavə edilmiş ekran görüntüsünə baxın).

Üçüncüsü, "Bütün mənbələr" düyməsini basın, Face API xidmətini seçin və istifadə statistikasına, etimadnaməsinə və s.

Face API detallarını burada tapa bilərsiniz, fərqli proqramlaşdırma dillərində nümunələr verilir. Bu layihə üçün python istifadə edirik. Sənədləri oxuya və öz funksiyalar dəstinizi yarada bilərsiniz və ya burada təqdim olunanlardan istifadə edə bilərsiniz (bu, Microsoft tərəfindən təqdim olunan funksiyaların tam dəsti deyil, yalnız bu layihə üçün lazım olan nöqtələrdir). Python sənədlərim bu addıma bağlıdır.

Face API ilə işin quruluşuna keçək. "İdentifikasiya" funksiyasından istifadə etmək üçün Face API xidmətinin tətbiq tərəfindən çəkilən şəkilləri tanıyacağı insanların kitabxanasını yaratmalıyıq. Qurmaq üçün aşağıdakı adımları yerinə yetirin:

  1. Bir qrup yaradın
  2. Bu Qrupa Şəxslər əlavə edin
  3. Bu şəxslərə simalar əlavə edin
  4. Qatar qrupu
  5. Şəxsiyyətini təyin etmək istədiyiniz şəxslə fotoşəkil göndərin (namizədlərin axtarılacağı xidmətin fotoşəkilini və qrup idini təqdim etməlisiniz)
  6. Nəticə: Cavab olaraq təqdim etdiyiniz fotoşəkildə ola biləcək namizədlərin siyahısını alacaqsınız.

Qruplarla, tək adamlarla və tək fotoşəkillərlə işləməyə imkan verən xüsusi funksiyaya malik üç fayl yaratdım:

  • PersonGroup.py - imkan verən xüsusiyyətləri ehtiva edir: qrup yaratmaq, qrup haqqında məlumat almaq, bütün qruplarınızın siyahısını almaq, qrup hazırlamaq və təlim statusu almaq.
  • Person.py - imkan verən xüsusiyyətləri ehtiva edir: şəxs yarat, şəxs haqqında məlumat əldə et, müəyyən qrupdakı bütün şəxsləri siyahıya al, göstərilən şəxsə üz əlavə et.
  • Face.py - imkan verən xüsusiyyətlərə malikdir: şəkildəki üzü aşkar etmək, şəxsiyyətini təyin etmək, şəxsiyyətini təyin etmək

"Tanınma.py" adlı sənəddə, şəklin bir üzün olub olmadığını yoxlamağa və göstərilən şəxsə üz əlavə etməyə imkan verən xüsusiyyətlər təqdim edirəm (göstərilən qovluqdakı bir çox şəkildən avtomatik olaraq üz əlavə edir).

Bu addıma əlavə edilmiş faylı yükləyin, açın və bu üç fayldakı 'KEY' qlobal dəyişənini dəyişdirin: PersonGroup.py, Person.py və Face.py tapa biləcəyiniz öz açarınıza: portal.azure.com> bütün mənbələr > üz api xidməti (və ya necə adlandırdınız)> düymələr nişanı. İki düymədən birini istifadə edə bilərsiniz.

Qeyd: burada insanları tanımaq üçün Face API xidmətini öyrədəcəyik, buna görə aşağıdakı hərəkətlər hər hansı bir kompüterdən edilə bilər (bunun üçün Raspberry Pi lazım deyil) - dəyişikliklər Microsoft serverində saxlanılır.

KEY dəyişdirildikdən sonra tanınma.py faylını işə salın və python shell -ə aşağıdakı əmri daxil edin:

PersonGroup.create ("ailə", 'fff-fff')) // üçün öz adınızı və idinizi istifadə edə bilərsiniz.

qrup printResJson (PersonGroup.getPersonGroup ('fff-fff'))

Yeni yaratdığınız qrup haqqında məlumatları görməlisiniz. İndi daxil olun:

printResJson (Person.createPerson ('fff-fff', 'şəxsin adı'))

İndi şəxsiyyət vəsiqəsi alırsınız. Bu şəxsin şəkilləri olan bir qovluq yaradın ki, bütün şəkillərdə bu şəxsin üzü olsun. Tanınma.py faylında üzün hansı fotoşəkillərin aşkarlandığını göstərən, detectFaceOnImages funksiyasından istifadə edə bilərsiniz. İndi əmri çalıştırın:

addFacesToPerson ('şəkilləri olan qovluq', 'əvvəlki əmrdən sonra aldığınız şəxs şəxsiyyəti', 'fff-fff')

Sonra aşağıdakıları daxil edərək xidmətimizi öyrətməliyik:

PersonGroup.trainPersonGroup ('fff-fff') printResJson (PersonGroup.getPersonGroupTrainingStatus ('fff-fff'))

İndi qrupumuz təlim keçib və bir şəxsi müəyyən etməyə hazırdır.

Şəkildəki şəxsi yoxlamaq üçün aşağıdakıları edə bilərsiniz:

Face.checkPerson (şəkil, 'fff-fff')

Buna cavab olaraq fotoşəkildə olan namizədlərin siyahısı və ehtimalını alacaqsınız.

Qeyd: hər dəfə bir şəxsə və ya bir şəxsə üz əlavə etdiyiniz zaman qrupa məşq etməlisiniz!

Addım 5: Düyün-Qırmızı Konfiqurasiya

Düyün-Qırmızı Konfiqurasiya
Düyün-Qırmızı Konfiqurasiya

Addım Təsviri: Bu addımda soyuducunuza giriş pozuntusu barədə sizi xəbərdar edəcək Node-Red axını yaradacağıq =)

Raspberry Pi'niz Raspbian Jessie Noyabr 2015 və ya daha sonrakı bir versiyada işləyirsə, Node-Red'i yükləməyinizə ehtiyac yoxdur, çünki əvvəlcədən quraşdırılmışdır. Sadəcə onu yeniləmək lazımdır. Zəhmət olmasa burada təlimatdan istifadə edin.

İndi Twilio nodeunu Node-Red-ə quraşdırmalıyıq ki, mətn mesajını işə salaq. Terminalı açın və daxil edin:

cd ~/.node-rednpm node-red-node-twilio qurun

Twilio node haqqında daha çox məlumat burada. Bundan sonra, terminala yazaraq Node-Red'i işə salın:

düyün qırmızı

Sonra keçin: https://127.0.0.1:1880/ - Raspberry Pi -də brauzer açarsanız https:/// raspberry_pi_ip}: 1880/ - Node -Red redaktorunu başqa kompüterdən açmaq istəyirsinizsə.

Moruq pi -nin ip ünvanını bilmək üçün bu təlimatı istifadə edin.

İndi Node-Red redaktorunuzdakı düyünlər siyahısında Twilio qovşağını tapmalısınız (ümumiyyətlə 'sosial' qrupundan sonra görünür).

Axını yaratmaq vaxtıdır!

Qeyd: Bu addıma əlavə edilmiş axınımı istifadə edə bilərsiniz, ancaq qovşaqları konfiqurasiya etməyi unutmayın: e -poçt, twitter və twilio. Bu barədə sonra oxuyun.

Axınımız, əsas proqramımızdan POST sorğusunu qəbul pozuntusu haqqında bəzi məlumatlar ilə qəbul edən "məlumat ver" düyməsi ilə başlayır (məlumatların nümunəsinə "obyektlərin qəbulu haqqında" şərh düyündə rast gəlmək olar). Bu node dərhal "Ok" mesajı ilə cavab verir, buna görə də əsas proqram məlumatların alındığını bilir (Flow: /notify> Ok ilə cavab> cavab). Aşağıda msg.payload adı olan yaşıl node ayıklama məqsədləri üçün mövcuddur: bir şey işləmirsə istifadə edə bilərsiniz.

"Məlumat Mövzusu" və "Şəkil Mövzusu" na yayılan məlumatlar ilk düyündən (/bildir) sırasıyla "məlumatlar" və "şəkil" mövzularının əlavə olunduğu yerdir.

"Kompilyasiya" qovşağında "məlumatlar" mövzusunda məlumat və "görüntü" mövzusunda bir şəkil alırıq (şəkil /home/pi/image-j.webp

Növbəti addım, giriş siyahımızdakı bir şəxsin yoxsa qərib olduğunu yoxlamaqdır (checkConditions node). Aldığımız məlumatlarda "etibarlı bir şəxs" sahəsi var: "doğru" bu adamı tanıdığımız deməkdir, lakin giriş icazəsini pozmuşdur, "yalan" isə həmin şəxsin qərib olduğunu göstərir.

Nəticə "doğru" olduqda, twitter, twilio və e -poçta bildiriş göndəririk; nəticə "yalan" olduqda - yalnız e -poçt və twilio. Mesaj, əlavə şəkil və e -poçt mövzusu olan e -poçt üçün bir obyekt, mesajı olan twilio üçün bir obyekt yaradırıq. "TrustedPerson" doğru olarsa, Twitter üçün bir obyektə məlumat əlavə edirik. Sonra bu üç obyekti üç fərqli qovluğa göndərin.

Qeyd: Aşağıdakı düyün bir mesaj almazsa, ona "null" göndəririk.

Bildiriş üçün qovşaqları konfiqurasiya etməyin vaxtı gəldi!

Twitter Akışa "twitter" qovşağı əlavə edin. İki dəfə vuraraq açın. "Twitter ID" nin yanındakı qələmi vurun. Sonra "Twitter ilə kimlik doğrulaması üçün bura vurun" düyməsini basın. Twitter hesabınıza daxil olun və Node-Red-ə lazım olan icazələri verin.

"E -poçt" düyməsini axına əlavə edin. Gmail -dən istifadə etmirsinizsə, aşağıdakı sahələrdəki məlumatları dəyişdirməlisiniz - "Server" və "Liman" (istifadə etməli olduğunuz server və portu e -poçt agentinizin Yardım səhifələrində tapa bilərsiniz), əks halda bunları dəyişdirməyin. sahələr.

  • Mesajların göndəriləcəyi e -poçt ünvanına
  • Userid> e -poçtunuzdan daxil olun (bəlkə də "Kimə" sahəsiylə eynidir)
  • Şifrə> e -poçt hesabınızdan parol
  • Ad> bu qovşaq üçün ad

Twilio https://www.twilio.com/try-twilio ünvanına gedin və hesab yazın. Doğrulayın. Https://www.twilio.com/console səhifəsinə keçin. "Telefon Nömrələri" ni (böyük # işarəsi) vurun və pulsuz nömrə yaradın. ABŞ xaricindəsinizsə, GEO icazələrini əlavə etməlisiniz, https://www.twilio.com/console/sms/settings/geo-pe… ünvanına daxil olun və ölkənizi əlavə edin.

İndi Node-Red redaktoruna gedin, Twilio düyününü əlavə edin, konfiqurasiya etmək və bütün sahələri doldurmaq üçün üzərinə iki dəfə vurun:

  • Etimadnaməsi> Yerli Etimadnaməsini istifadə edin
  • Twilio> redaktə edin

    • SID hesabı> buradan götürün
    • > Yaratdığınız virtual nömrəni yazın
    • Token> buradan götürün
    • Adı> Twilio
  • Çıxış> SMS
  • > Telefon nömrənizə
  • Ad> bu qovşaq üçün ad.

Deploy düyməsini basın

İndi axınınız hazırdır! Göstərilən obyektlə POST sorğusu göndərərək test edə bilərsiniz!

Addım 6: Bütün Layihənin tərtib edilməsi

Bütün Layihənin tərtib edilməsi
Bütün Layihənin tərtib edilməsi
Bütün Layihənin tərtib edilməsi
Bütün Layihənin tərtib edilməsi

Addım Təsviri: Bu addımda bütün hissələri bir araya gətirəcəyik və ayrı bir sistem olaraq işləmələrini təmin edəcəyik.

Bu addımı atmalısınız:

  1. Köhnə smartfonu ip kamera kimi konfiqurasiya edin
  2. İş sensorları var
  3. Microsoft -un Face API -ni öyrətdi
  4. Konfiqurasiya edilmiş Düyün-Qırmızı axın

İndi 2 -ci addımda yazdığımız kodu təkmilləşdirməliyik. Daha doğrusu, şəxs qapını açanda çağırılan proses (). Bu funksiyada aşağıdakıları edəcəyik:

  1. IP kameradan şəkil alın və "image.jpg" adı ilə "/home/pi/" də qeyd edin ("getImage" faylında "fromIpCam" funksiyası)
  2. Şəkildəki şəxsin adını alın ("tanıma" faylında "checkPerson" funksiyası)
  3. Həmin şəxs üçün giriş icazəsini yoxlayın ("giriş" faylında "yoxlama" funksiyası)
  4. "Çek" funksiyasının nəticəsinə əsasən mesaj yazın
  5. Node-Red-ə bəstələnmiş mesaj göndərin ("sendData" faylında "toNodeRed" funksiyası)

Qeyd: göstərilən funksiyaların tam kodunu görmək üçün bu addıma əlavə edilmiş zip faylını yükləyin.

"FromIpCam" funksiyası haqqında. Bu funksiya ip kameranıza GET sorğusu göndərir, cavab olaraq fokuslanmış görüntü əldə edir və qeyd etdiyiniz yola saxlayır. Bu funksiyaya kamera ip ünvanını verməlisiniz.

"CheckPerson" funksiyası haqqında. Funksiya, parametrlər olaraq fotoşəkildən adam axtarmaq istədiyiniz görüntüyə və qrupa yol alır. Birincisi, təqdim olunan görüntüdə bir üz aşkar edir (Face.py faylı, "algılama" funksiyası). Cavab olaraq, üzün aşkarlandığı təqdirdə id alır. Sonra müəyyən edilmiş qrupdakı oxşar şəxsləri tapan "identifikasiya" funksiyasını (Face.py faylı) çağırır. Cavab olaraq, şəxs tapılarsa şəxsiyyət id nömrəsi alır. Sonra "şəxs" funksiyasını (şəxs Person.py) parametr olaraq şəxsiyyət identifikatoru ilə çağırın, "şəxs" funksiyası müəyyən edilmiş şəxsiyyəti olan şəxsi qaytarır, şəxsin adını alırıq və geri qaytarırıq.

"Çek" funksiyası haqqında. Bu funksiya, "giriş siyahısı" nı qlobal bir dəyişən olaraq yerləşdirdiyi "giriş" faylına yerləşdirilir (istədiyiniz kimi dəyişdirə bilərsiniz). Əvvəlki funksiyadan şəxsin adını alaraq "yoxla" funksiyası bu şəxsi giriş siyahısı ilə müqayisə edir və nəticəni qaytarır.

Qeyd: Tam layihə növbəti mərhələyə əlavə olunur.

Addım 7: Nəticə

Bu addımda açıb Raspberry Pi -yə yerləşdirməyiniz lazım olan bütün layihəni əlavə etdim.

Bu layihənin işləməsini təmin etmək üçün "main.py" faylını işlədin.

Raspberry Pi-ni SSH vasitəsilə idarə edirsinizsə, bir qabıqdan iki proqramı çalıştırmalısınız: python proqramı və Node-Red. Terminala aşağıdakıları daxil edin:

düyün qırmızı

"Ctrl + Z" düyməsini basın və yazın:

iş yerləri

Node-Red prosesini görürsünüz. Prosesin ID -yə baxın və yazın:

bg

İndi Node-Red arxa planda işə başlamalıdır. Sonra layihənizlə birlikdə qovluğa gedin və əsas proqramı işə salın:

python3 əsas.py

Qeyd: python fayllarında KEY (addım 4) və Node-Red axınında etimadnaməsini (addım 5) dəyişdirməyi unutmayın.

Bitdi! Soyuducunuz təhlükəsizdir!

Ümid edirəm ki, bu həll olunmazdan zövq aldınız! Fikirlərinizi şərhlərdə buraxmaqdan çekinmeyin.

Layihəmə səs versəniz minnətdar olaram =)

Çox sağ ol!

Tövsiyə: