Мазмұны:

Raspberry Pi бар тоңазытқыш үшін бетті танудың қауіпсіздік жүйесі: 7 қадам (суреттермен)
Raspberry Pi бар тоңазытқыш үшін бетті танудың қауіпсіздік жүйесі: 7 қадам (суреттермен)

Бейне: Raspberry Pi бар тоңазытқыш үшін бетті танудың қауіпсіздік жүйесі: 7 қадам (суреттермен)

Бейне: Raspberry Pi бар тоңазытқыш үшін бетті танудың қауіпсіздік жүйесі: 7 қадам (суреттермен)
Бейне: Титаниктің құпиясы: олар айсбергті қалай байқамады?! Ең егжей-тегжейлі оқиға! 2024, Шілде
Anonim
Image
Image
Raspberry Pi бар тоңазытқыш үшін бетті танудың қауіпсіздік жүйесі
Raspberry Pi бар тоңазытқыш үшін бетті танудың қауіпсіздік жүйесі
Raspberry Pi бар тоңазытқыш үшін бетті танудың қауіпсіздік жүйесі
Raspberry Pi бар тоңазытқыш үшін бетті танудың қауіпсіздік жүйесі

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

Мен кез келген жерде қолдануға болатын қарапайым, арзан және қуатты шешім қабылдауға шешім қабылдадым! Арзан және қолдан жасалған қауіпсіздік жүйелерін құруға арналған көптеген нұсқаулықтар бар, бірақ мен олардың шын мәнінде бейтарап қолданылуын көрсеткім келеді - бетті танитын тоңазытқыштың қауіпсіздік жүйесі!

Бұл қалай жұмыс істейді? Тоңазытқыштың үстіне қойылған IP камера, сенсорлар (екі түйме) адамның тоңазытқыштың есігін ашқанын анықтайды, содан кейін Raspberry Pi сол адамның суретін алады (IP камерамен), содан кейін оны Microsoft Face API -ге жібереді. бейнені талдау және адамның атын алу. Бұл ақпаратпен Raspberry Pi «кіру тізімін» сканерлейді: егер адамның тоңазытқышқа кіруге рұқсаты болмаса, Raspberry иесіне электрондық пошта, мәтіндік хабарлама және твиттер арқылы хабарлайды! (Жоғарыдағы суреттерді қараңыз)

Неге? Бұл жүйе сіздің отбасы мүшелеріңізді бақылауға мүмкіндік береді, әсіресе олар диетаға отырғанда немесе түн ортасынан кейін тамақтанбауға тырысады! Немесе оны тек көңіл көтеру үшін қолданыңыз!

Сонымен қатар, сіз камераны алдыңғы есікке орнатып, жүйені сіз, сіздің отбасы мүшелері немесе достарыңыз жақындағанда есікті ашатын етіп конфигурациялай аласыз. Және бұл соңы емес! Қолданбаның мүмкіндіктері шексіз!

Бастайық!

1 -қадам: Дайындық

Дайындық
Дайындық

Саған қажет болады:

  • Raspberry Pi 3 (сіз ескі нұсқаларды пайдалана аласыз, бірақ үшінші буында Wi-Fi бар, сондықтан бұл өте ыңғайлы)
  • Түймелер
  • Сымдар
  • Ескі смартфон немесе Raspberry Pi камерасы

Сізге бірінші нәрсе - Raspberry Pi -ді конфигурациялау. Мұны қалай жасауға болатыны туралы егжей -тегжейлі нұсқауларды сіз осы жерден таба аласыз, бірақ біз осы нұсқаулықтағы ең маңызды қадамдарды қарастырамыз.

  1. Win32 DiskImager бағдарламасын осы жерден жүктеңіз (егер сіз Windows қолдансаңыз)
  2. Осы жерден SD форматтаушыны жүктеп алыңыз
  3. SD картасын компьютерге салыңыз және оны SD Formatter көмегімен пішімдеңіз
  4. Raspbian кескінін осы жерден жүктеп алыңыз («пиксельді Raspbian Jessie» таңдаңыз)
  5. Win32 DiskImager бағдарламасын іске қосыңыз, SD картасын таңдаңыз, Raspbian кескінінің жолын көрсетіңіз, «Жазу» түймесін басыңыз.
  6. SD картасын Raspberry Pi -ге салыңыз және қуатты қосыңыз!

Сонымен қатар, сізге Raspberry Pi -ді жүйеге SSH арқылы кіру үшін конфигурациялау қажет. Интернетте көптеген нұсқаулар бар, сіз мұны қолдана аласыз немесе монитор мен пернетақтаны қоса аласыз.

Енді сіздің Pi конфигурацияланды және сіз жалғастыруға дайынсыз!

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

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

Қадам сипаттамасы: Бұл қадамда біз тоңазытқыштың есігін ашатын және Raspberry Pi қосатын адамды анықтайтын сенсор жасаймыз.

Оны орнату үшін сізге бастапқыда дайындалған 2 түйме қажет. Бірінші түйме есік ашылғанда, екінші түйме есікті ашқан кезде, біз адамның фотосуретін түсіретін кезде анықталады.

  1. Дәнекерлеу сымдары түймелерге.
  2. Тоңазытқыштың есігіне бірінші түймені бекітіңіз, ол есік жабылған кезде басылады (жоғарыдағы суретті қараңыз)
  3. Тоңазытқыштың есігіне жоғарыдағы суретте көрсетілгендей екінші түймені бекітіңіз. Бұл түймені жүйенің суретке түсіретін нүктеге жеткенін қоспағанда, барлық уақытта жіберіп отыру керек. Оны орнату үшін тоңазытқышқа бір нәрсе бекіту керек, сонда есік қажетті мөлшерде ашылған кезде осы түйме басылады (жоғарыдағы суреттерді қараңыз).
  4. Түймелерден Raspberry Pi -ге сымдарды бекітіңіз: бірінші түймені GPIO 23 пен жерге, екінші түймені GPIO 24 пен жерге қосыңыз (фризинг диаграммасын қараңыз).

Ескерту: Мен BCM түйінін қолданамын (тақта емес), мұнда айырмашылық туралы толығырақ оқыңыз.

Питон қабығын іске қосу үшін Raspberry Pi -ге SSH арқылы қосылғаннан кейін терминалды теріңіз:

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, кері байланыс = sensor1, bouncetime = 300) GPIO.add_event_detect (24, GPIO. FALLING, кері байланыс = 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 веб -камерасы» деп аталатын біреуін таңдадым. Бұл ақысыз бағдарлама және оны конфигурациялау оңай.

Қолданбаны іске қосыңыз, фотосуреттердің ажыратымдылығын орнату үшін «Бейне параметрлері» бөліміне өтіңіз. Содан кейін «Серверді бастау» түймесін басыңыз (жоғарыдағы бірінші сурет). Экранның төменгі жағында камераның IP мекенжайын көру керек (жоғарыдағы екінші суретті қараңыз). Браузерге https://cam_ip_address/photo-j.webp

Соңында камераны тоңазытқышқа бекітіңіз (Жоғарыдағы соңғы сурет).

4 -қадам: Face API

Face API
Face API

Қадам сипаттамасы: Бұл қадамда біз бетті танитын және адамдарды анықтайтын Майкрософттың Face API туралы сөйлесетін боламыз.

Майкрософттың Face API - бұл бетті тану қызметі, оның көмегімен біз суреттерді талдай аламыз және ондағы адамдарды анықтай аламыз.

Біріншіден, сізге Microsoft Azure тіркелгісі қажет. Егер сізде жоқ болса, оны мұнда тегін жасай аласыз.

Екіншіден, https://portal.azure.com сайтына өтіңіз, сол жақтағы «Жаңа» түймесін басыңыз, «Cognitive Services APIs» пішінін енгізіңіз, оны таңдап, «Жасау» түймесін басыңыз. Немесе бұл сілтемені ашуға болады. Енді сіз қызмет атауын енгізуіңіз керек, жазылу түрін, сізге қажет API түрін (біздің жағдайда бұл Face API), орналасқан жерін, баға деңгейін, ресурстар тобын таңдап, заңды шарттармен келісуіңіз керек (осы қадамға қосылған скриншотты қараңыз).

Үшіншіден, «Барлық ресурстар» түймесін басыңыз, Face API қызметін таңдаңыз және пайдалану статистикасын, тіркелгі деректерін және т.б.

Face API мәліметтерін мұнда табуға болады, әр түрлі бағдарламалау тілдеріндегі мысалдар келтірілген. Бұл жоба үшін біз питонды қолданамыз. Сіз құжаттаманы оқи аласыз және функционалдылықтың жеке жиынтығын жасай аласыз немесе осында берілгенді пайдалана аласыз (бұл Майкрософт ұсынған функциялардың толық жиынтығы емес, тек осы жобаға қажет нүктелер). Менің python файлдарым осы қадамға бекітілген.

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> барлық ресурстар > face api қызметі (немесе қалай атадыңыз)> пернелер қойындысы. Сіз екі перненің кез келгенін қолдана аласыз.

Ескерту: мұнда біз адамдарды тануға Face API қызметін үйретеміз, сондықтан келесі әрекеттерді кез келген компьютерден жасауға болады (бұл үшін Raspberry Pi қажет емес) - өзгерістер Microsoft серверінде сақталады.

KEY -ді өзгерткеннен кейін, тану.py файлын іске қосыңыз және python қабығына келесі пәрменді енгізіңіз:

PersonGroup.create («отбасы», 'fff-fff')) // сіз өз атыңыз бен идентификаторыңызды пайдалана аласыз.

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

Сіз жаңа құрылған топ туралы деректерді көруіңіз керек. Енді енгізіңіз:

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

Енді сіз жеке куәлік аласыз. Барлық суреттерде осы адамның тұлғасы болуы үшін осы адамның суреттері бар қалта жасаңыз. Қандай фотосуреттерде бет анықталатынын көрсетеді. Енді команданы іске қосыңыз:

addFacesToPerson ('суреттері бар қалта', 'алдыңғы пәрменнен кейін алынған жеке идентификатор', 'fff-fff')

Содан кейін біз келесі әрекеттерді енгізу арқылы өз қызметімізді үйретуіміз керек:

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

Енді біздің топ дайындықтан өтіп, адамды анықтауға дайын.

Суреттегі адамды тексеру үшін сіз:

Face.checkPerson (сурет, 'fff-fff')

Жауап ретінде сіз кандидаттардың тізімін және фотодағы ықтималдықты аласыз.

Ескертпе: сіз топқа адам немесе тұлғаға бет қосқан сайын сіз топты жаттықтыруыңыз керек!

5-қадам: Қызыл-түйін конфигурациясы

Қызыл түйін конфигурациясы
Қызыл түйін конфигурациясы

Қадам сипаттамасы: Бұл қадамда біз тоңазытқышқа кірудің бұзылуы туралы сізге хабар беретін Node-Red ағыны жасаймыз =)

Егер сіздің Raspberry Pi Raspbian Jessie қарашасында 2015 немесе одан кейінгі нұсқасында жұмыс жасаса, Node-Red орнатудың қажеті жоқ, себебі ол алдын ала орнатылған. Сіз оны жаңартуыңыз керек. Мұнда нұсқаулықты қолданыңыз.

Енді біз Twilio түйінін Node-Red-ге орнатуымыз керек, сондықтан біз мәтіндік хабарды іске қосамыз. Терминалды ашып, теріңіз:

cd ~/.node-rednpm node-red-node-twilio орнатыңыз

Twilio түйіні туралы толығырақ мына жерде. Осыдан кейін терминалға теру арқылы Node-Red іске қосыңыз:

қызыл-түйін

Содан кейін мына жерге өтіңіз: https://127.0.0.1:1880/ - егер сіз Raspberry Pi браузерін ашсаңыз https:/// raspberry_pi_ip}: 1880/ - егер сіз Node -Red редакторын басқа компьютерден ашқыңыз келсе.

Raspberry pi -дің IP -мекен -жайын білу үшін осы нұсқаулықты қолданыңыз.

Енді сіз Twilio түйінін Node-Red редакторындағы түйіндер тізімінен табуыңыз керек (әдетте ол «әлеуметтік» тобынан кейін пайда болады).

Ағынды құрудың уақыты келді!

Ескерту: сіз бұл қадамға қосылған менің ағынымды пайдалана аласыз, бірақ түйіндерді конфигурациялауды ұмытпаңыз: электрондық пошта, twitter және twilio. Бұл туралы кейінірек оқыңыз.

Біздің ағын біздің негізгі бағдарламадан POST сұранысын қабылдайтын «хабарлау» түйінінен басталады, кірудің бұзылуы туралы кейбір деректермен (деректердің мысалын «объектілерді қабылдау туралы» түсініктеме торабынан табуға болады). Бұл түйін бірден «Жарайды» хабарымен жауап береді, сондықтан негізгі бағдарлама деректердің қабылданғанын біледі (Flow: /notify> Ok - жауаппен жауап> жауап). Төменде msg.payload аты бар жасыл түйін түзету мақсатында бар: егер бірдеңе жұмыс істемесе, оны қолдануға болады.

Бірінші түйіннен (/хабарлаудан) «Деректер тақырыбы» мен «Кескін тақырыбына» таралатын деректер сәйкесінше «деректер» мен «кескін» тақырыптары қосылады.

«Компиляция» түйінінде біз «деректер» тақырыбы бар деректерді (бірінші қадамда алатын) және «сурет» тақырыбы бар кескінді аламыз (сурет /home/pi/image-j.webp

Келесі қадам - біздің кіру тізіміндегі адамның немесе оның бөтен екенін тексеру (checkConditions түйіні). Біз алатын мәліметтерде «сенімді адам» өрісі бар: «шын» бұл адамды білетінімізді білдіреді, бірақ ол рұқсатты бұзды, «жалған» - бұл бейтаныс адам.

Нәтиже «шын» болғанда, біз twitter, twilio және электрондық поштаға хабарлама жібереміз; нәтиже «жалған» болғанда - тек электрондық пошта мен твилио. Біз хабарламасы бар электрондық поштаға арналған объект, тіркелген сурет және электрондық пошта тақырыбы, хабарламасы бар твилио объектісін жасаймыз. Твиттерде біз «ishonchli адам» шын болса, деректерді объектке қосамыз. Содан кейін бұл үш нысанды үш түрлі түйінге жіберіңіз.

Ескерту: Егер келесі түйінге хабарлама келмесе, біз оған «бос» жібереміз.

Хабарландыру үшін түйіндерді конфигурациялау уақыты келді!

Twitter Ағынға «twitter» түйінін қосыңыз. Оны екі рет басу арқылы ашыңыз. «Twitter идентификаторы» жанындағы қарындашты басыңыз. Содан кейін «Twitter арқылы аутентификациялау үшін мына жерді басыңыз» түймесін басыңыз. Twitter есептік жазбаңызға кіріңіз және Node-Red-ге қажетті рұқсаттарды беріңіз.

«Электрондық пошта» түйінін ағымға қосыңыз. Егер сіз Gmail -ді пайдаланбайтын болсаңыз, келесі өрістердегі деректерді өзгерту қажет болар еді - «Сервер» және «Порт» (электрондық пошта агентінің анықтама беттерінде қай сервер мен портты пайдалану керектігін білуге болады), әйтпесе оларды өзгертпеңіз. өрістер.

  • To> хабарламалар жіберілетін электрондық пошта мекенжайы
  • Userid> электрондық поштаңыздан кіріңіз (мүмкін «Кімге» өрісімен бірдей)
  • Құпия сөз> электрондық пошта тіркелгіңізден құпия сөз
  • Name> осы түйіннің атауы

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 есептік жазбасы> мына жерден алыңыз
    • > Сіз жасаған виртуалды нөмірді теріңіз
    • Токен> мына жерден алыңыз
    • Аты> Twilio
  • Шығу> SMS
  • > Сіздің телефон нөміріңізге
  • Name> осы түйіннің атауы.

Қолдану түймесін басыңыз

Енді сіздің ағыныңыз дайын! Сіз POST сұрауын көрсетілген нысанмен жіберу арқылы тексере аласыз!

6 -қадам: Толық жобаны құрастыру

Толық жобаны құрастыру
Толық жобаны құрастыру
Толық жобаны құрастыру
Толық жобаны құрастыру

Қадам сипаттамасы: Бұл қадамда біз барлық бөлшектерді біріктіріп, оларды бөлек жүйе ретінде жұмыс жасаймыз.

Бұл қадам бойынша сізге:

  1. Ескі смартфонды ip -камера ретінде конфигурациялаңыз
  2. Жұмыс датчиктері бар
  3. Майкрософттың Face API оқытылды
  4. Конфигурацияланған түйін-қызыл ағын

Енді біз 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 файлы). Жауап ретінде, егер адам табылса, ол жеке идентификатор алады. Содан кейін параметр ретінде жеке идентификаторы бар «person» (Person.py файлы) функциясын шақырыңыз, «адам» функциясы көрсетілген идентификаторы бар адамды қайтарады, біз адамның атын аламыз және оны қайтарамыз.

«Тексеру» функциясы туралы. Бұл функция «қатынау» файлында орналастырылған, онда «қатынау тізімін» жаһандық айнымалы ретінде орналастырады (оны қалағаныңызша өзгертуге болады). Алдыңғы функциядан адамның атын алу, «тексеру» функциясы бұл адамды кіру тізімімен салыстырады және нәтижені қайтарады.

Ескерту: толық жоба келесі қадамға қосылады.

7 -қадам: Қорытынды

Бұл қадамда мен Raspberry Pi -ге ашатын және орналастыратын толық жобаны қостым.

Бұл жобаның жұмысын жасау үшін «main.py» файлын іске қосыңыз.

Егер сіз Raspberry Pi-ді SSH арқылы басқарсаңыз, бір қабықтан екі бағдарламаны іске қосу керек: python бағдарламасы және Node-Red. Терминалға келесіні теріңіз:

қызыл-түйін

«Ctrl + Z» пернесін басып, теріңіз:

жұмыс орындары

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

бг

Енді Node-Red фондық режимде жұмысын бастау керек. Содан кейін жобаңызбен каталогқа өтіп, негізгі бағдарламаны іске қосыңыз:

python3 main.py

Ескерту: python файлдарындағы KEY (4-қадам) мен Node-Red ағынындағы тіркелгі деректерін өзгертуді ұмытпаңыз (5-қадам)

Орындалды! Сіздің тоңазытқыш қауіпсіз!

Сізге бұл шешімі ұнады деп үміттенемін! Пікірлерде өз ойларыңызды қалдырудан тартынбаңыз.

Егер сіз менің жобама дауыс берсеңіз риза болар едім =)

Рақмет сізге!

Ұсынылған: