Мазмуну:

Муздаткычта Raspberry Pi менен жүздү таануунун коопсуздук тутуму: 7 кадам (сүрөттөр менен)
Муздаткычта Raspberry Pi менен жүздү таануунун коопсуздук тутуму: 7 кадам (сүрөттөр менен)

Video: Муздаткычта Raspberry Pi менен жүздү таануунун коопсуздук тутуму: 7 кадам (сүрөттөр менен)

Video: Муздаткычта Raspberry Pi менен жүздү таануунун коопсуздук тутуму: 7 кадам (сүрөттөр менен)
Video: ПРОСТОЕ БЛЮДО‼ ПОДОЙДЁТ К МЯСУ РЫБЕ. ХРЕНОВИНА. КОМЕДИЯ 2024, Июль
Anonim
Image
Image
Raspberry Pi менен муздаткычтын бет таануу коопсуздук тутуму
Raspberry Pi менен муздаткычтын бет таануу коопсуздук тутуму
Raspberry Pi менен муздаткычтын бет таануу коопсуздук тутуму
Raspberry Pi менен муздаткычтын бет таануу коопсуздук тутуму

Интернетте серептөө Мен коопсуздук системаларынын баасы 150 доллардан 600 долларга чейин жана андан жогору экенин билдим, бирок чечимдердин баары (атүгүл абдан кымбат тургандары да) үйүңүздөгү башка акылдуу куралдар менен бириктирилбейт! Мисалы, алдыңкы эшигиңизде коопсуздук камерасын орното албайсыз, ошондуктан ал сизге же досторуңузга автоматтык түрдө эшикти ачат!

Мен каалаган жерде колдоно турган, жөнөкөй, арзан жана күчтүү чечим чыгарууну чечтим! Кантип арзан жана үй коопсуздук системаларын түзүү боюнча көптөгөн колдонмолор бар, бирок мен алардын чындыгында нонтивдүү эмес колдонулушун көрсөткүм келет - security system for a refrigerator for yuz таануу!

Бул кантип иштейт? Муздаткычтын үстүнө коюлган IP камера, сенсорлор (эки баскыч) муздаткычтын эшигин ачкан адамды аныктайт, андан кийин Raspberry Pi ошол кишинин сүрөтүн алат (IP камерасы менен), анан аны Microsoft Face APIге жөнөтөт. сүрөттү талдоо жана адамдын атын алуу. Бул маалымат менен Raspberry Pi "кирүү тизмесин" сканерлейт: эгерде адамдын муздаткычка кирүүгө уруксаты жок болсо, Raspberry ээсине электрондук почта, текст жана twitter аркылуу кабарлайт! (Жогорудагы сүрөттөрдү караңыз)

Неге? Система үй -бүлөңүздүн мүчөлөрүн, өзгөчө диетага отурганда же түн ортосунан кийин тамак ичпей коюу менен күрөшүүгө мүмкүнчүлүк берет! Же жөн эле көңүл ачуу үчүн колдонуңуз!

Мындан тышкары, сиз камераны алдыңкы эшигиңизге орнотуп, системаны өзүңүз, үй -бүлөңүз же досторуңуз жакындаганда эшикти ачууга конфигурациялай аласыз. Жана бул аягы эмес! Колдонмонун мүмкүнчүлүктөрү чексиз!

Баштайлы!

1 -кадам: даярдоо

Даярдоо
Даярдоо

Сага керек болот:

  • Raspberry Pi 3 (эски версияларды колдонсоңуз болот, бирок үчүнчү муунда Wi-Fi бар, ошондуктан бул абдан ыңгайлуу)
  • Баскычтар
  • Зымдар
  • Эски смартфон же Raspberry Pi камерасы

Сиз кыла турган биринчи нерсе - Raspberry Pi конфигурациялоо. Муну кантип жасоо боюнча деталдуу көрсөтмөлөрдү бул жерден жана бул жерден таба аласыз, бирок биз бул колдонмодогу эң маанилүү кадамдарды камтыйбыз.

  1. Win32 DiskImagerди бул жерден жүктөп алыңыз (эгер сиз Windows колдонсоңуз)
  2. SD Formatterди бул жерден жүктөп алыңыз
  3. SD картаны компьютериңизге салыңыз жана аны SD Formatter менен форматтаңыз
  4. Бул жерден Raspbian сүрөтүн жүктөп алыңыз ("Пиксел менен Raspbian Jessie" тандаңыз)
  5. Win32 DiskImager программасын иштетип, SD картаңызды тандап, Raspbian сүрөтүнүн жолун көрсөтүңүз, "Жазуу" баскычын басыңыз.
  6. SD картаны Raspberry Pi'ге салып, кубатты күйгүзүңүз!

Кошумча катары, сиз Raspberry Piңизди системага SSH аркылуу кирүү үчүн конфигурациялашыңыз керек. Интернетте көптөгөн көрсөтмөлөр бар, сиз муну колдонсоңуз болот, же монитор менен клавиатураны тиркей аласыз.

Эми сиздин Pi конфигурацияланды жана сиз улантууга даярсыз!

2 -кадам: сенсор жасоо

Сенсор жасоо
Сенсор жасоо
Сенсор жасоо
Сенсор жасоо
Сенсор жасоо
Сенсор жасоо

Step Description: Бул кадамда биз муздаткычтын эшигин ачып, Raspberry Pi'ди иштеткен адамды аныктоочу сенсор жасайбыз.

Аны орнотуу үчүн сизге башында даярдалган 2 баскыч керек. Биринчи баскыч эшик ачылганда, экинчи баскычы эшик ачылганда, биз адамдын сүрөтүн тартып жатканда аныкталат.

  1. Лайк баскычтарына зымдар.
  2. Биринчи баскычты муздаткычтын эшигине жабыңыз, ал эшик жабылганда басылат (өйдөдөгү сүрөттү караңыз)
  3. Экинчи баскычты муздаткычтын эшигине өйдөдөгү сүрөттө көрсөтүлгөндөй бекиңиз. Бул баскыч ар дайым кое берилиши керек, бирок эшик тутум сүрөт тартып турган чекке жеткенде. Аны орнотуу үчүн муздаткычка бир нерсе тиркөө керек, ошондо эшик каалагандай ачылганда бул баскыч басылат (жогорудагы сүрөттөрдү караңыз).
  4. Зымдарды баскычтардан Raspberry Pi -ге тиркеңиз: биринчи баскыч GPIO 23 жана жерге, экинчи баскыч GPIO 24 жана жерге (Fritzing диаграммасын караңыз).

Эскертүү: Мен BCM pinout (Board эмес) колдоном, бул жерде окуңуз.

SSH аркылуу Raspberry Pi менен туташкандан кийин, питон кабыгын иштетүү үчүн терминалды териңиз:

python3

Эгерде сиз Raspberry Piге монитор менен клавиатураны тиркеп жатсаңыз, менюдан "Python 3 IDLE" иштетиңиз.

Кийинки кадам - Raspberry Pi баскычтары менен иштөө. Биз GPIO 23 жана 24 төөнөгүчтөргө атайын угуучуларды тиркеп коёбуз, алар ошол казыктарда "көтөрүлүп бараткан" окуяны жана "жыгылып жаткан" окуяны угушат. Окуя болгон учурда, угуучулар биз аныктаган функцияларды чакырышат. "Көтөрүлүүчү жээк" - бул баскыч басылып, азыр кое берилгендигин билдирет (биринчи баскыч - эшик ачылат), "түшүүчү жээк" - бул баскыч бошотулуп, азыр басылганын билдирет (экинчи баскыч - эшик белгилүү чекитке жеткен). Баскычтардын иштеши жөнүндө көбүрөөк - бул жерде.

Биринчиден, бизге казыктарга кирүүгө мүмкүнчүлүк берген китепкананы импорттоо:

GPO катары RPi. GPIO импорттоо

Эми окуя башталганда чакырыла турган атайын функцияларды аныктаңыз:

def sensor1 (канал): басып чыгаруу ("сенсор 1 иштетилди") def sensor2 (канал): басып чыгаруу ("сенсор 2 иштетилди)

Кирүү түрүн коюу:

GPIO.setmode (GPIO. BCM)

Пиндерди конфигурациялоо:

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

Угуучуларды тиркөө:

GPIO.add_event_detect (23, GPIO. RISING, callback = sensor1, bouncetime = 300) GPIO.add_event_detect (24, GPIO. FALLING, callback = sensor2, bouncetime = 300)

Эми аны сынап көрсөңүз болот! Эгер сиз 1 -баскычты бассаңыз, терминалда "сенсор 1 иштетилди" деген билдирүү пайда болот, 2 -баскыч сизге "сенсор 2 ишке киргизилди" деген кабар берет.

Эскертүү: Эксперимент бүткөндөн кийин, төмөнкү функцияны чакырууну унутпаңыз: GPIO.cleanup ().

Дагы бир функцияны орнотолу, эшик биз сүрөткө түшкөн жерге жеткенде! Сиз муну өзүңүз жасай аласыз же менин тиркегенимди колдоно аласыз (sensor.py)

Эскертүү: sensor.py тестирлөө максатында гана колдонулат, мен акыркы кадамга тиркелген толук функционалдуу файлдар.

3 -кадам: IP камераны конфигурациялоо

IP Камераны конфигурациялоо
IP Камераны конфигурациялоо
IP Камераны конфигурациялоо
IP Камераны конфигурациялоо
IP Камераны конфигурациялоо
IP Камераны конфигурациялоо

Кадамдын сүрөттөлүшү: Эми биз эски смартфонду IP камера катары конфигурациялайбыз.

IP камера катары смартфонду колдонуу колдонмо аркылуу ишке ашат. Сиз колдоно турган Android, iOS, Windows Phone үчүн ар кандай колдонмолор бар. Мен Android үчүн "IP Webcam" деп аталган бирин тандадым. Бул бекер колдонмо жана аны конфигурациялоо оңой.

Колдонмону иштетип, колдонмонун камсыз кыла турган сүрөттөрүнүн чечилишин орнотуу үчүн "Видео тандоолоруна" өтүңүз. Андан кийин "Серверди баштоо" баскычын басыңыз (Жогорудагы биринчи сүрөт). Экрандын ылдый жагында сиз камеранын IP дарегин көрүшүңүз керек (Жогорудагы экинчи сүрөттү караңыз). Браузерде https://cam_ip_address/photo-j.webp

Акырында, камераны муздаткычка тиркеңиз (Жогорудагы акыркы сүрөт).

4 -кадам: Face API

Face API
Face API

Step Description: Бул кадамда биз Microsoftтун Face API жөнүндө сүйлөшөбүз, ал жүздү таанат жана адамдарды аныктайт.

Microsoftтун Face API - бул жүздү таануу кызматы, анын жардамы менен биз сүрөттөрдү анализдеп, андагы адамдарды аныктай алабыз.

Биринчиден, сизге Microsoft Azure каттоо эсеби керек. Эгер сизде жок болсо, аны бул жерден бекер түзө аласыз.

Экинчиден, https://portal.azure.com сайтына өтүңүз, сол жагындагы "Жаңы" баскычын басыңыз, "Cognitive Services APIs" формасына терип, аны тандап, "Create" чыкылдатыңыз. Же бул шилтемени ача аласыз. Эми сиз өзүңүздүн кызматтын атын киргизишиңиз керек, жазылуу түрүн, сизге керектүү API түрүн (биздин учурда бул Face API), жайгашкан жерди, баалардын деңгээлин, ресурстар тобун тандап, Юридикалык шарттарга макул болушуңуз керек (бул кадамга кошулган скриншотту караңыз).

Үчүнчүдөн, "Бардык ресурстарды" чыкылдатып, Face API кызматын тандап, колдонуу статистикасын, ишеним грамоталарын ж.

Face API чоо -жайын бул жерден тапса болот, ар кандай программалоо тилдериндеги мисалдар келтирилген. Бул долбоор үчүн биз python колдонуп жатабыз. Сиз документтерди окуй аласыз жана өзүңүздүн функционалдык топтомуңузду жасай аласыз же бул жерде берилгенди колдоно аласыз (бул Microsoft тарабынан берилген толук функционалдык топтом эмес, бул долбоор үчүн керектүү пункттар гана). Менин питон файлдарым бул кадамга тиркелген.

Face API менен иштөө структурасына өтөлү. "Идентификация" функциясын колдонуу үчүн, колдонмо тарабынан тартылган сүрөттөрдү Face API кызматы тааный турган адамдардын китепканасын түзүшүбүз керек. Аны орнотуу үчүн, төмөнкү кадамдарды аткарыңыз:

  1. Топ түзүү
  2. Бул группага адамдарды кошуу
  3. Бул адамдарга жүз кошуңуз
  4. Поезд тобу
  5. Сүрөтүңүздү ким экенин тактаңыз
  6. Жыйынтык: жооп катары сиз тапшырган сүрөттө боло турган талапкерлердин тизмесин аласыз.

Мен топтор, жалгыз адамдар жана жалгыз сүрөттөр менен иштөөгө мүмкүндүк берген белгилүү бир функционалдык үч файлды түздүм:

  • PersonGroup.py - мүмкүндүк берген өзгөчөлүктөрдү камтыйт: топ түзүү, топ жөнүндө маалымат алуу, бардык топторуңуздун тизмесин алуу, тренинг тобу жана окуу статусун алуу.
  • Person.py - төмөнкүлөргө мүмкүндүк берген өзгөчөлүктөрдү камтыйт: адам түзүү, адам жөнүндө маалымат алуу, көрсөтүлгөн топтогу бардык адамдарды тизмектөө, көрсөтүлгөн адамга жүз кошуу
  • Face.py - мүмкүндүк берген өзгөчөлүктөрдү камтыйт: сүрөттөгү жүздү аныктоо, адамды аныктоо, таанылган адамдын атын алуу

"Tanınүү.py" деп аталган файлда мен сүрөттүн жүзү бар экенин текшерүүгө жана көрсөтүлгөн адамга жүздөрдү кошууга мүмкүнчүлүк берген функцияларды берем (көрсөтүлгөн папкадан көптөгөн сүрөттөрдөн автоматтык түрдө жүз кошулат).

Бул кадамга тиркелген файлды жүктөп алыңыз, аны ачыңыз, ушул үч файлдагы 'KEY' глобалдык өзгөрмөсүн өзгөртүңүз: PersonGroup.py, Person.py жана Face.py сизге ачкычыңыз бар: portal.azure.com> бардык ресурстар > бет api кызматы (же сиз аны кантип атадыңыз)> баскычтар өтмөгү. Сиз эки ачкычтын бирин колдоно аласыз.

Эскертүү: бул жерде биз Face API кызматын адамдарды таанууга үйрөтөбүз, андыктан төмөнкү аракеттерди каалаган компьютерден жасаса болот (ал үчүн Raspberry Pi кереги жок) - өзгөртүүлөр Microsoftтун серверинде сакталат.

KEY баскычын өзгөрткөндөн кийин, launch.py файлын иштетип, python shellге төмөнкү буйрукту киргизиңиз:

PersonGroup.create ("үй-бүлө", 'fff-fff')) // сиз өз атыңызды жана идентификаторуңузду колдоно аласыз

printResJson тобу (PersonGroup.getPersonGroup ('fff-fff'))

Сиз жаңы эле түзүлгөн топ жөнүндө маалыматтарды көрүшүңүз керек. Эми киргизиңиз:

printResJson (Person.createPerson ('fff-fff', 'адамдын аты'))

Эми сиз жеке ID аласыз. Бардык сүрөттөрдө бул адамдын жүзү камтылышы үчүн, бул кишинин сүрөттөрү бар папканы түзүңүз. Тааныш функциясын пайдалана аласыз. Эми, команданы иштетүү:

addFacesToPerson ('сүрөттөрү бар папка', 'мурунку буйруктан кийин алган адам ID', 'fff-fff')

Андан кийин биз төмөнкүлөрдү киргизүү менен биздин кызматты үйрөтүшүбүз керек:

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

Азыр биздин топ машыккан жана адамды аныктоого даяр.

Сүрөттөгү адамды текшерүү үчүн сиз:

Face.checkPerson (сүрөт, 'fff-fff')

Жооп катары сиз суроттогу талапкерлердин тизмесин жана ыктымалдыгын аласыз.

Эскертүү: топко бир адамга же адамга жүз кошкон сайын, сиз топту машыктырышыңыз керек!

5-кадам: Node-Red конфигурациясы

Node-Red конфигурациясы
Node-Red конфигурациясы

Step Description: Бул кадамда биз муздаткычыңызга кирүүнүн бузулушу жөнүндө сизге кабарлай турган Node-Red агымын түзөбүз =)

Эгерде сиздин Raspberry Pi Raspbian Jessie November 2015 же андан кийинки версиясында иштесе, Node-Redди орнотуунун кажети жок, анткени ал мурунтан эле орнотулган. Сиз жөн гана аны жаңыртууңуз керек. Сураныч, бул жерде колдонмону колдонуңуз.

Эми биз Twilio түйүнүн Node-Redге орнотушубуз керек, андыктан биз текст кабарын иштете алабыз. Терминалды ачыңыз жана териңиз:

cd ~/.node-rednpm node-red-node-twilio орнотуу

Twilio түйүнү жөнүндө көбүрөөк бул жерде. Андан кийин, Node-Red'ди терминалга терүү менен иштетиңиз:

түйүн-кызыл

Андан кийин төмөнкүгө өтүңүз: https://127.0.0.1:1880/ - эгер сиз браузериңизди Raspberry Pihthtp: // {raspberry_pi_ip}: 1880/ - эгерде Node -Red редакторун башка компьютерден ачкыңыз келсе

Малинанын пиинин IP дарегин билүү үчүн бул көрсөтмөнү колдонуңуз.

Эми сиз Node-Red редакторуңуздагы түйүндөрдүн тизмесинен Twilio түйүнүн табышыңыз керек (көбүнчө "социалдык" топтон кийин пайда болот).

Агымды түзүүгө убакыт келди!

Эскертүү: бул кадамга тиркелген менин агымымды колдонсоңуз болот, бирок түйүндөрдү конфигурациялоону унутпаңыз: электрондук почта, twitter жана twilio. Бул тууралуу кийинчерээк окуңуз.

Биздин агым негизги программанын POST өтүнүчүн кабыл алуучу "кабарлоо" түйүнүнөн башталат, кээ бир маалыматтар жеткиликтүүлүктүн бузулушу жөнүндө (маалыматтардын мисалын "объекттерди алуу жөнүндө" комментарий түйүнүнөн тапса болот). Бул түйүн дароо "Ok" билдирүүсү менен жооп берет, андыктан негизги программа маалыматтар алынганын билишет (Flow: /notify> Ok менен жооп> жооп). Төмөндө жашыл түйүн msg.payload аты менен мүчүлүштүктөрдү оңдоо үчүн бар: эгер бир нерсе иштебесе, аны колдонсоңуз болот.

Биринчи маалымат түйүнүнөн (/кабарлоо) "Маалымат темасы" жана "Сүрөт темасы" таркатылган маалыматтар тиешелүү түрдө "маалыматтар" жана "сүрөт" темалары кошулган.

"Компиляция" түйүнүндө биз "маалымат" темасы жана "сүрөт" темасы бар сүрөт (сүрөт /home/pi/image.jpgден алынган) маалыматтарды алабыз (биринчи кадамда алабыз). Бул эки билдирүүнү бир объектке чогултуу керек, бирок эки объект башка убакта кабыл алынат! Муну чечүү үчүн биз функцияны чакыруунун ортосунда маалыматтарды сактоого мүмкүндүк берген "контекст" мүмкүнчүлүгүн колдонобуз.

Кийинки кадам - бул биздин кирүү тизмесиндеги адам же чоочун экенин текшерүү (checkConditions түйүнү). Биз алган маалыматтарда "ишенимдүү адам" талаасы бар: "чын" бул адамды тааныйбыз дегенди билдирет, бирок ал кирүү уруксатын бузган, "жалган" адам бейтааныш экенин билдирет.

Жыйынтык "чын" болгондо, биз twitter, twilio жана электрондук почтага билдирүү жөнөтөбүз; натыйжа "жалган" болгондо - бир гана электрондук почта жана twilio. Биз билдирүү менен электрондук почта үчүн объект, тиркелген сүрөт жана электрондук почта темасы, кабар менен twilio үчүн объект түзөбүз. Twitter үчүн, эгерде "trustPerson" чын болсо, биз объектке маалыматтарды кошобуз. Андан кийин бул үч объектти үч башка түйүнгө жөнөтүңүз.

Эскертүү: Эгерде төмөнкү түйүнгө билдирүү келбесе, биз ага жөн гана "нөл" жөнөтөбүз.

Түйүндөрдү кабарлоо үчүн конфигурациялоого убакыт келди!

Twitter Агымга "twitter" түйүнүн кошуңуз. Аны эки чыкылдатуу менен ачыңыз. "Twitter ID" жанындагы карандашты басыңыз. Андан кийин "Twitter менен аныктыгын текшерүү үчүн бул жерди басыңыз" дегенди басыңыз. Твиттер эсебиңизге кирип, Node-Redге керектүү уруксаттарды бериңиз.

"Электрондук почта" түйүнүн агымга кошуңуз. Эгерде сиз Gmailди колдонбосоңуз, анда төмөнкү талаалардагы маалыматты өзгөртүүңүз керек болот - "Сервер" жана "Порт" (кайсы серверди жана портту электрондук почта агентиңиздин Жардам барактарынан колдонсоңуз болорун таба аласыз), антпесе буларды өзгөртпөңүз. талаалар.

  • Билдирүүлөр жөнөтүлө турган электрондук почта дарегине
  • Userid> электрондук почтаңыздан кирүү (балким "Кимге" талаасы менен бирдей)
  • Сырсөз> сиздин электрондук почта эсебиңизден сырсөз
  • Аты> бул түйүндүн аты

Twilio https://www.twilio.com/try-twilio дарегине өтүп, каттоо эсебин каттаңыз. Аны ырастаңыз. Https://www.twilio.com/console дарегине өтүңүз. "Телефон номерлерин" чыкылдатыңыз (чоң # сөлөкөтү) жана бекер номер түзүңүз. Эгерде сиз АКШдан башка жерде болсоңуз, анда GEO уруксаттарын кошушуңуз керек, https://www.twilio.com/console/sms/settings/geo-pe… дарегине кирип, өлкөнү кошуңуз.

Эми, Node-Red редакторуна барып, Twilio түйүнүн кошуп, конфигурациялоо үчүн эки жолу чыкылдатыңыз жана бардык талааларды толтуруңуз:

  • Ишеним грамоталары> Жергиликтүү Ишеним грамоталарын колдонуу
  • Twilio> түзөтүү

    • Эсеп SID> бул жерден алыңыз
    • From> сиз түзгөн виртуалдык номерди териңиз
    • Токен> бул жерден алыңыз
    • Аты> Twilio
  • Чыгуу> SMS
  • > Сиздин телефон номериңизге
  • Аты> бул түйүндүн аты.

Орнотууну чыкылдатыңыз

Эми сиздин агым даяр! Сиз көрсөтүлгөн объект менен POST сурамын жөнөтүү менен текшере аласыз!

6 -кадам: Бүт долбоорду түзүү

Бүтүндөй долбоорду түзүү
Бүтүндөй долбоорду түзүү
Бүтүндөй долбоорду түзүү
Бүтүндөй долбоорду түзүү

Step Description: Бул кадамда биз бардык бөлүктөрдү бириктирип, аларды өзүнчө система катары иштетебиз.

Бул кадам менен сиз:

  1. Эски смартфонду IP камера катары конфигурациялаңыз
  2. Иштөө сенсорлору бар
  3. Microsoftтун Face API үйрөтүлгөн
  4. Конфигурацияланган Node-Red агымы

Эми биз 2 -кадамда жазган кодду өркүндөтүшүбүз керек. Тагыраак айтканда, process () функциясы адам эшикти ачканда чакырылат. Бул функцияда биз төмөнкүлөрдү аткарабыз:

  1. IP камерадан сүрөт алыңыз жана аны "/home/pi/" ичине "image.jpg" аты менен сактаңыз ("getImage" файлындагы "fromIpCam" функциясы)
  2. Ошол сүрөттөгү адамдын атын алыңыз ("таануу" файлындагы "checkPerson" функциясы)
  3. Ал адамга кирүүгө уруксатты текшериңиз ("кирүү" файлындагы "текшерүү" функциясы)
  4. "Текшерүү" функциясынын жыйынтыгы боюнча билдирүү жазуу
  5. Түзүлгөн билдирүүнү Node-Redге жөнөтүү ("sendData" файлындагы "toNodeRed" функциясы)

Эскертүү: айтылган функциялардын толук кодун көрүү үчүн бул кадамга тиркелген zip файлын жүктөп алыңыз.

"FromIpCam" функциясы жөнүндө. Бул функция IP камераңызга GET өтүнүчүн берет, жооп катары фокусталган сүрөттү алат жана аны сиз белгилеген жолго сактайт. Бул функцияга камеранын IP дарегин берүүңүз керек.

"CheckPerson" функциясы жөнүндө. Функция сүрөт катары адамды издеп келген сүрөттүн жана топтун жолун алат. Биринчиден, ал берилген сүрөттөгү жүздү аныктайт (Face.py файлы, "аныктоо" функциясы). Жооп катары, эгерде жүзү аныкталса, ал идентификаторду алат. Андан кийин ал "аныктоо" функциясын чакырат (Face.py файлы), көрсөтүлгөн топтогу окшош адамдарды табат. Жооп катары, эгер адам табылса, ал адамдын идентификаторун алат. Андан кийин функция катары "ID" функциясын чакырыңыз (Person.py файлы), "person" функциясы көрсөтүлгөн ID менен адамды кайтарат, биз адамдын атын алып, аны кайтарабыз.

"Текшерүү" функциясы жөнүндө. Бул функция "кирүү" файлына жайгаштырылган, анда глобалдык өзгөрмө катары "кирүү тизмесин" да жайгаштырууга болот (сиз каалагандай өзгөртө аласыз). Адамдын атын мурунку функциядан алуу, "текшерүү" функциясы бул адамды кирүү тизмеси менен салыштырып, натыйжасын кайтарат.

Эскертүү: толук долбоор кийинки кадамга тиркелет.

7 -кадам: Жыйынтык

Бул кадамда мен Raspberry Piге ачуу керек болгон долбоорду толуктадым.

Бул долбоордун иштеши үчүн "main.py" файлын иштетиңиз.

Эгерде сиз Raspberry Pi'ди SSH аркылуу башкарсаңыз, бир кабыктан эки программаны иштетишиңиз керек: python программасы жана Node-Red. Терминалга төмөнкүлөрдү териңиз:

түйүн-кызыл

"Ctrl + Z" баскычын басып, териңиз:

жумуштар

Сиз Node-Red процессин көрдүңүз. Процестин идентификаторун караңыз жана териңиз:

bg

Эми Node-Red фондо иштей башташы керек. Андан кийин долбооруңуз менен каталогго өтүңүз жана негизги программаны иштетиңиз:

python3 main.py

Эскертүү: python файлдарындагы ачкычты (4-кадам) жана Node-Red агымындагы ишеним грамоталарын өзгөртүүнү унутпаңыз (5-кадам)

Бүттү! Сиздин муздаткыч коопсуз!

Бул татаал нерсе сизге жакты деп ишенем! Ой -пикириңизди комментарийге калтырыңыз.

Эгерде сиз менин долбоорума добуш берсеңиз мен ыраазы болом =)

Рахмат!

Сунушталууда: