Բովանդակություն:
- Քայլ 1: Նախապատրաստում
- Քայլ 2: Սենսոր պատրաստելը
- Քայլ 3: Կարգավորեք IP տեսախցիկը
- Քայլ 4: Face API
- Քայլ 5: Հանգույց-կարմիր կազմաձևում
- Քայլ 6: Ամբողջ նախագծի կազմում
- Քայլ 7: Եզրակացություն
Video: Raspberry Pi- ով սառնարանի համար դեմքի ճանաչման անվտանգության համակարգ. 7 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:49
Ինտերնետ դիտելիս ես հայտնաբերեցի, որ անվտանգության համակարգերի գները տատանվում են 150 $ -ից մինչև 600 $ և ավելի բարձր, բայց ոչ բոլոր լուծումները (նույնիսկ շատ թանկ լուծումները) կարող են ինտեգրվել ձեր տան այլ խելացի գործիքների հետ: Օրինակ, դուք չեք կարող անվտանգության տեսախցիկ տեղադրել ձեր առջևի դռան մոտ, այնպես որ այն ինքնաբերաբար դուռը բացում է ձեր կամ ձեր ընկերների համար:
Ես որոշեցի պատրաստել մի պարզ, էժան և հզոր լուծում, որը կարող եք օգտագործել ցանկացած վայրում: Կան բազմաթիվ ձեռնարկներ, թե ինչպես կարելի է ստեղծել էժան և ինքնաշեն անվտանգության համակարգեր, սակայն ես ուզում եմ ցույց տալ դրանց իսկապես ոչ մանրակրկիտ կիրառումը `դեմքի ճանաչմամբ սառնարանի անվտանգության համակարգը:
Ինչպես է դա աշխատում? Սառնարանի վերևում տեղադրված IP տեսախցիկը, սենսորները (երկու կոճակ) հայտնաբերում են, երբ մարդը բացում է սառնարանի դուռը, որից հետո Raspberry Pi- ն լուսանկարում է այդ անձին (IP տեսախցիկով), այնուհետև այն ուղարկում Microsoft Face API վերլուծել պատկերը և ստանալ անձի անունը: Այս տեղեկատվության շնորհիվ Raspberry Pi- ն սկանավորում է «մուտքի ցուցակը». Եթե անձը չունի սառնարան մուտք գործելու թույլտվություն, ազնվամորին սեփականատիրոջը տեղեկացնում է էլ. Փոստի, տեքստային հաղորդագրության և Twitter- ի միջոցով: (Տե՛ս վերևի նկարները)
Ինչո՞ւ: Համակարգը թույլ է տալիս վերահսկել ձեր ընտանիքի անդամներին, հատկապես երբ նրանք դիետա են պահում կամ կեսգիշերից հետո դժվարանում են սնվել: Կամ օգտագործեք այն պարզապես հաճույքի համար:
Ավելին, դուք կարող եք իրականում տեղադրել տեսախցիկը ձեր առջևի դռան մոտ և կարգավորել դուռը բացելու համակարգը, երբ դուք, ձեր ընտանիքի անդամները կամ ընկերները մոտենում են: Եվ սա դեռ վերջը չէ! Դիմումի հնարավորություններն անսպառ են:
Եկեք սկսենք!
Քայլ 1: Նախապատրաստում
Ձեզ հարկավոր կլինի.
- Raspberry Pi 3 (կարող եք օգտագործել հին տարբերակները, բայց երրորդ սերունդը ունի Wi-Fi, այնպես որ դա շատ հարմար է)
- Կոճակներ
- Լարերը
- Հին սմարթֆոն կամ Raspberry Pi տեսախցիկ
Առաջին բանը, որ դուք պետք է անեք, ձեր Raspberry Pi- ի կազմաձևումն է: Մանրամասն հրահանգներ, թե ինչպես դա անել, կարող եք գտնել այստեղ և այստեղ, բայց մենք կներկայացնենք այս ձեռնարկի ամենակարևոր քայլերը:
- Ներբեռնեք Win32 DiskImager- ը այստեղից (եթե օգտագործում եք Windows)
- Ներբեռնեք SD ձևաչափը այստեղից
- Տեղադրեք SD քարտը ձեր համակարգչի մեջ և ձևաչափեք այն SD ձևաչափով
- Ներբեռնեք Raspbian պատկերը այստեղից (Ընտրեք «Raspbian Jessie with pixel»)
- Գործարկեք Win32 DiskImager- ը, ընտրեք ձեր SD քարտը, նշեք Raspbian պատկերի ուղին, կտտացրեք «Գրեք»
- Տեղադրեք SD քարտ ձեր Raspberry Pi- ի մեջ և միացրեք էներգիան:
Բացի այդ, դուք պետք է կազմաձևեք ձեր Raspberry Pi- ն ՝ SSH- ի միջոցով համակարգ մուտք գործելու համար: Ինտերնետում կան բազմաթիվ հրահանգներ, կարող եք օգտագործել դրանք, օրինակ, կամ կարող եք կցել մոնիտոր և ստեղնաշար:
Այժմ ձեր Pi- ն կազմաձևված է, և դուք պատրաստ եք շարունակել:
Քայլ 2: Սենսոր պատրաստելը
Քայլ Նկարագրություն. Այս քայլում մենք կկատարենք սենսոր, որը կբացահայտի, երբ մարդը բացում է սառնարանի դուռը և ակտիվացնում Raspberry Pi- ն:
Այն կարգավորելու համար ձեզ հարկավոր կլինեն սկզբնական պատրաստած 2 կոճակները: Առաջին կոճակը կբացահայտի դուռը բացելիս, երկրորդ կոճակը կբացահայտի, երբ դուռը բացվի այն կետին, երբ մենք լուսանկարում ենք անձին:
- Լարերը կպցրեք կոճակներին:
- Սառնարանի դուռին ամրացրեք առաջին կոճակը, որպեսզի այն սեղմվի, երբ դուռը փակվի (տես վերևի նկարը)
- Կցեք երկրորդ կոճակը սառնարանի դռանը, ինչպես ցույց է տրված վերևում գտնվող լուսանկարում: Այս կոճակը պետք է բաց թողնել միշտ, բացառությամբ այն դեպքերի, երբ դուռը հասնում է այն կետին, երբ համակարգը նկարում է: Այն կարգավորելու համար հարկավոր է ինչ -որ բան ամրացնել ձեր սառնարանին, որպեսզի դուռը ցանկալի չափով բացելիս սեղմվի այս կոճակը (տե՛ս վերևի լուսանկարները):
- Կոճակներից լարեր ամրացրեք Raspberry Pi- ին. Առաջին կոճակը GPIO 23 -ին և գետնին, երկրորդ կոճակը GPIO 24 -ին և գետնին (տես սառցապատման դիագրամ):
Նշում. Ես օգտագործում եմ BCM pinout (ոչ տախտակ), տարբերության մասին ավելին կարդացեք այստեղ:
SSH- ի միջոցով ձեր Raspberry Pi- ին միանալուց հետո, python shell- ը գործարկելու համար մուտքագրեք տերմինալը.
պիթոն 3
Եթե մոնիտորը և ստեղնաշարը կցում եք Raspberry Pi- ին, պարզապես ընտրացանկից գործարկեք «Python 3 IDLE»:
Հաջորդ քայլն այն է, որ Raspberry Pi- ն աշխատի կոճակներով: Մենք կցուցադրենք հատուկ ունկնդիրներ GPIO 23 և 24 կապում, որոնք կլսեն «բարձրացող եզր» իրադարձության և «ընկնելու եզր» իրադարձությունը այդ կապում: Միջոցառման դեպքում ունկնդիրները կկանչեն մեր սահմանած գործառույթները: «Բարձրացող եզր» նշանակում է, որ կոճակը սեղմված է և այժմ բաց է թողնված (առաջին կոճակը - դուռը բացվում է), «ընկնելու եզրը» նշանակում է, որ կոճակը բաց է թողնված և այժմ սեղմված է (երկրորդ կոճակը - դուռը հասել է որոշակի կետի): Ավելին կոճակների ֆունկցիոնալության մասին `այստեղ:
Նախ, ներմուծեք գրադարան, որը մեզ հնարավորություն է տալիս մուտք գործել կապում.
ներմուծեք RPi. GPIO- ն որպես 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, callback = sensor2, bouncetime = 300)
Այժմ դուք կարող եք փորձարկել այն: Եթե սեղմում եք կոճակը 1 -ին, «սենսոր 1 -ը գործարկվել է» տերմինալում կտեսնեք հաղորդագրություն, 2 -րդ կոճակը ձեզ տալիս է «սենսոր 2 գործարկված է» հաղորդագրություն:
Նշում. Փորձարկումներն ավարտելուց հետո մի մոռացեք կանչել հետևյալ գործառույթը ՝ GPIO.cleanup ():
Եկեք ստեղծենք ևս մեկ գործառույթ, որը կոչվում է, երբ դուռը հասնում է այն կետին, որտեղ մենք լուսանկարում ենք: Դուք կարող եք դա անել ինքներդ կամ օգտագործել իմ կատարումը, որը ես կցել եմ այստեղ (sensor.py)
Նշում. Sensor.py- ն օգտագործվում է միայն փորձարկման նպատակների համար, որոնք լրիվ ֆունկցիոնալությամբ ֆայլերը կցել եմ վերջին քայլին:
Քայլ 3: Կարգավորեք IP տեսախցիկը
Քայլ նկարագրություն. Այժմ մենք պատրաստվում ենք կարգավորել հին սմարթֆոնը որպես IP տեսախցիկ:
Սմարթֆոնը որպես IP տեսախցիկ օգտագործելը կատարվում է հավելվածի միջոցով: Android- ի, iOS- ի, Windows Phone- ի համար կան տարբեր ծրագրեր, որոնք կարող եք օգտագործել: Android- ի համար ընտրեցի «IP վեբ -տեսախցիկ» անվանումը: Սա անվճար ծրագիր է և հեշտ է կազմաձևել:
Գործարկեք ծրագիրը, անցեք «Տեսանյութի նախապատվություններ» ՝ հավելվածի տրամադրած լուսանկարների լուծաչափը կարգավորելու համար: Այնուհետև կտտացրեք «Սկսել սերվերը» (առաջին պատկերը վերևում): Էկրանի ներքևում դուք պետք է տեսնեք տեսախցիկի IP հասցեն (տես երկրորդ նկարը վերևում): Բրաուզերում կարող եք մուտքագրել https://cam_ip_address/photo-j.webp
Վերջապես, տեսախցիկը ամրացրեք սառնարանին (Վերջին նկարը վերևում):
Քայլ 4: Face API
Քայլ Նկարագրություն. Այս քայլում մենք կխոսենք Microsoft- ի Face API- ի մասին, որը կատարում է դեմքի ճանաչում և նույնականացնում մարդկանց:
Microsoft- ի Face API- ն դեմքի ճանաչման ծառայություն է, որի միջոցով մենք կարող ենք վերլուծել լուսանկարները և բացահայտել դրանց վրա գտնվող մարդկանց:
Նախ, ձեզ հարկավոր է Microsoft Azure հաշիվ: Եթե չունեք, կարող եք անվճար ստեղծել այստեղ:
Երկրորդ, գնացեք https://portal.azure.com, ձախ կողմում կտտացրեք «Նոր», մուտքագրեք «ognանաչողական ծառայությունների API» ձևը, ընտրեք այն և կտտացրեք «Ստեղծել»: Կամ կարող եք բացել այս հղումը: Այժմ դուք պետք է մուտքագրեք ձեր ծառայության անունը, ընտրեք բաժանորդագրության տեսակը, ձեզ անհրաժեշտ API- ի տեսակը (մեր դեպքում դա Face API- ն է), գտնվելու վայրը, գնագոյացման մակարդակը, ռեսուրսների խումբը և համաձայնեք իրավական պայմաններին (տես այս քայլին ավելացված սքրինշոթը):
Երրորդ, կտտացրեք «Բոլոր ռեսուրսները», ընտրեք Face API ծառայությունը և տեսեք օգտագործման վիճակագրությունը, հավատարմագրերը և այլն:
Face API- ի մանրամասները կարելի է գտնել այստեղ, տրամադրվում են ծրագրավորման տարբեր լեզուներով օրինակներ: Այս նախագծի համար մենք օգտագործում ենք python: Կարող եք կարդալ փաստաթղթեր և կատարել ձեր սեփական գործառույթների փաթեթը կամ կարող եք օգտագործել այստեղ տրվածը (սա Microsoft- ի կողմից տրամադրված գործառույթների ամբողջական փաթեթը չէ, այլ միայն այն կետերը, որոնք անհրաժեշտ են այս նախագծի համար): Այս քայլին կցված են իմ python ֆայլերը:
Եկեք անցնենք Face API- ի հետ աշխատանքի կառուցվածքին: «Նույնականացում» գործառույթն օգտագործելու համար մենք պետք է ստեղծենք մարդկանց գրադարան, որոնց միջոցով Face API ծառայությունը կճանաչի հավելվածի կողմից արված լուսանկարները: Այն կարգավորելու համար հետևեք հետևյալ քայլերին.
- Ստեղծել խումբ
- Այս խմբին ավելացրեք անձինք
- Այս անձանց ավելացրեք դեմքեր
- Գնացքների խումբ
- Ներկայացրեք լուսանկար այն անձի հետ, ում ցանկանում եք նույնականացնել (դուք պետք է տրամադրեք լուսանկար և խմբի ID, որի ծառայությունը կփնտրի թեկնածուներին)
- Արդյունք. Ի պատասխան, դուք կստանաք այն թեկնածուների ցուցակը, ովքեր կարող են լինել ձեր ներկայացրած լուսանկարում:
Ես ստեղծել եմ երեք ֆայլ `հատուկ ֆունկցիոնալությամբ, որը թույլ է տալիս աշխատել խմբերի, միայնակ մարդկանց և միայնակ լուսանկարների հետ.
- PersonGroup.py - պարունակում է հնարավորություններ, որոնք թույլ են տալիս ՝ ստեղծել խումբ, ստանալ տեղեկատվություն խմբի մասին, ստանալ ձեր բոլոր խմբերի ցանկը, վերապատրաստել խումբը և ստանալ վերապատրաստման կարգավիճակ
- Person.py - պարունակում է հնարավորություններ, որոնք թույլ են տալիս. Ստեղծել մարդ, ստանալ անձի մասին տեղեկություններ, թվարկել նշված խմբի բոլոր անձանց, ավելացնել դեմքեր նշված անձին
- Face.py - պարունակում է առանձնահատկություններ, որոնք թույլ են տալիս. Հայտնաբերել դեմքի պատկերը, նույնականացնել անձին, ստանալ նույնականացված անձի անունը
«Ճանաչում. Py» կոչվող ֆայլում ես տալիս եմ հնարավորություններ, որոնք թույլ են տալիս ստուգել, արդյոք պատկերը դեմք է պարունակում և դեմքեր ավելացնել նշված անձին (ինքնաբերաբար ավելացնում է դեմքը բազմաթիվ պատկերներից նշված թղթապանակից):
Ներբեռնեք այս քայլին կից ֆայլը, բացեք այն, փոխեք «KEY» գլոբալ փոփոխականը այս երեք ֆայլերում ՝ PersonGroup.py, Person.py և Face.py ձեր սեփական բանալին, որը կարող եք գտնել ՝ portal.azure.com> բոլոր ռեսուրսները: > face api ծառայություն (կամ ինչպես եք այն անվանել)> ստեղների ներդիր: Դուք կարող եք օգտագործել երկու բանալիներից որևէ մեկը:
Նշում. Այստեղ մենք պատրաստելու ենք Face API ծառայությունը `մարդկանց ճանաչելու համար, այնպես որ հետևյալ գործողությունները կարող են կատարվել ցանկացած համակարգչից (դրա համար Raspberry Pi- ն անհրաժեշտ չէ). Փոփոխությունները պահվում են Microsoft- ի սերվերում:
KEY- ը փոխելուց հետո գործարկեք ճանաչումը. Py և մուտքագրեք հետևյալ հրամանը python shell- ում.
PersonGroup.create («ընտանիք», «fff-fff»)) // կարող եք օգտագործել ձեր սեփական անունն ու id- ը
խումբ printResJson (PersonGroup.getPersonGroup ('fff-fff'))
Դուք պետք է տեսնեք ձեր ստեղծած խմբի տվյալները: Այժմ մուտքագրեք.
printResJson (Person.createPerson («fff-fff», «անունը անձի»))
Այժմ դուք ստանում եք անձը հաստատող փաստաթուղթ: Ստեղծեք թղթապանակ այս անձի պատկերներով, որպեսզի բոլոր պատկերները պարունակեն այս անձի դեմքը: Դուք կարող եք օգտագործել deteFaceOnImages գործառույթը nas.py- ում, որը ցույց է տալիս, թե որ լուսանկարների վրա է հայտնաբերվում դեմքը: Այժմ գործարկեք հրամանը.
addFacesToPerson («պատկերներով թղթապանակ», «անձի ID, որը ստացել եք նախորդ հրամանից հետո», «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- ում դիտարկիչ եք բացում
Ազնվամորու pi- ի IP հասցեն իմանալու համար օգտագործեք այս հրահանգը:
Այժմ դուք պետք է Twilio հանգույցը գտնեք ձեր Node-Red խմբագրիչի հանգույցների ցանկում (սովորաբար այն հայտնվում է «սոցիալական» խմբից հետո):
Theամանակն է հոսք ստեղծելու:
Նշում. Կարող եք օգտագործել այս քայլին կցված իմ հոսքը, բայց մի մոռացեք կարգավորել հանգույցները `էլ. Փոստ, թվիթեր և թվիլիո: Այդ մասին կարդացեք ավելի ուշ:
Մեր հոսքը սկսվում է «ծանուցել» հանգույցից, որն ընդունում է մեր հիմնական ծրագրից POST- ի հայտը ՝ մուտքի խախտման վերաբերյալ որոշ տվյալներով (տվյալների օրինակները կարելի է գտնել «օբյեկտներ ստանալու մասին» մեկնաբանության հանգույցում): Այս հանգույցն անմիջապես պատասխանում է «Լավ» հաղորդագրությամբ, այնպես որ հիմնական ծրագիրը իմանա, որ տվյալները ստացվել են (հոսք. /Ծանուցել> պատասխանը Ok> պատասխանի հետ): Կանաչ հանգույցը ներքևում ՝ msg.payload- ով կա վրիպազերծման նպատակով. Եթե ինչ -որ բան չի աշխատում, կարող եք օգտագործել այն:
«Տվյալների թեմա» և «Պատկեր թեմա» տարածվող բռունցքի հանգույցի (/ծանուցման) տվյալները, որտեղ համապատասխանաբար ավելացվել են «տվյալներ» և «պատկեր» թեմաները:
«Կազմել» հանգույցում մենք ստանում ենք տվյալներ (որոնք ստանում ենք առաջին քայլի ընթացքում) «տվյալներ» թեմայով և պատկեր «պատկեր» թեմայով (պատկերը վերցված է /home/pi/image-j.webp
Հաջորդ քայլը ստուգելն է ՝ արդյոք մեր մուտքի ցուցակից անձը, թե օտար է (checkConditions հանգույց): Մեր ստացած տվյալների մեջ կա «վստահելի անձ» դաշտ. «Ճշմարիտ» նշանակում է, որ մենք ճանաչում ենք այս անձին, բայց նա խախտել է մուտքի թույլտվությունը, «կեղծ» նշանակում է, որ տվյալ անձը օտար է:
Երբ արդյունքը «ճշմարիտ» է, մենք ծանուցում ենք ուղարկում twitter, twilio և էլ. երբ արդյունքը «կեղծ» է `միայն էլ. փոստ և twilio: Մենք ստեղծում ենք էլ. Նամակի համար հաղորդագրություն, կցված պատկեր և էլ. Փոստի թեմա, օբյեկտ ՝ twilio- ի համար ՝ հաղորդագրությամբ: Թվիթերի համար մենք տվյալներ ենք ավելացնում օբյեկտի վրա, եթե «trustedPerson» - ը ճշմարիտ է: Այնուհետեւ ուղարկեք այս երեք օբյեկտները երեք տարբեր հանգույցների:
Նշում. Եթե հետևյալ հանգույցը չպետք է հաղորդագրություն ստանա, մենք նրան պարզապես ուղարկում ենք «null»:
It'sամանակն է կարգավորել ծանուցումների համար հանգույցները:
Twitter Ավելացնել «twitter» հանգույց հոսքին: Բացեք այն կրկնակի սեղմումով: Կտտացրեք մատիտին «Twitter ID» - ի կողքին: Այնուհետև կտտացրեք «Կտտացրեք այստեղ ՝ Twitter- ով վավերացնելու համար»: Մուտք գործեք ձեր twitter հաշիվ և տվեք Node-Red- ի անհրաժեշտ թույլտվությունները:
EmailAl հոսքին ավելացնել «էլփոստի» հանգույց: Եթե դուք չեք օգտագործում 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: Ամբողջ նախագծի կազմում
Քայլ նկարագրություն. Այս քայլում մենք բոլոր մասերը միասին կդնենք և կստիպենք աշխատել որպես առանձին համակարգ:
Այս քայլով դուք պետք է.
- Կարգավորեք հին սմարթֆոնը որպես ip տեսախցիկ
- Ունեն աշխատանքային սենսորներ
- Սովորեցրեց Microsoft- ի Face API- ն
- Կարգավորված հանգույց-կարմիր հոսք
Այժմ մենք պետք է բարելավենք ծածկագիրը, որը գրել ենք 2 -րդ քայլում: Ավելի կոնկրետ գործառական գործընթացը (), որը կոչվում է այն ժամանակ, երբ անձը բացում է դուռը: Այս գործառույթում մենք կանենք հետևյալը.
- Ստացեք պատկեր ip տեսախցիկից և պահեք այն «/home/pi/» - ում ՝ «image.jpg» անունով («getImage» ֆայլում «fromIpCam» գործառույթը)
- Ստացեք այդ պատկերի անձի անունը (գործառույթ «checkPerson» ֆայլում «ճանաչում»)
- Ստուգեք այդ անձի մուտքի թույլտվությունը (գործառույթ «ստուգել» ֆայլում «մուտք»)
- «Ստուգման» գործառույթի արդյունքի հիման վրա կազմեք հաղորդագրություն
- Ուղարկեք կազմված հաղորդագրություն Node-Red- ին (գործառույթը «toNodeRed» ՝ «sendData» ֆայլում)
Նշում. Նշված գործառույթների ամբողջական ծածկագիրը տեսնելու համար խնդրում ենք ներբեռնել այս քայլին կցված zip ֆայլը:
«FromIpCam» գործառույթի մասին: Այս գործառույթը կատարեք GET- ի հարցումը ձեր ip տեսախցիկին, ի պատասխան կենտրոնացեք պատկերի վրա և պահեք այն ձեր կողմից նշված ճանապարհին: Այս գործառույթին պետք է տրամադրեք տեսախցիկի IP հասցեն:
«CheckPerson» գործառույթի մասին: Ֆունկցիան ստանում է դեպի այն պատկերի և խմբի ուղին, որում դուք ցանկանում եք մարդուն փնտրել լուսանկարից որպես պարամետրեր: Նախ, այն հայտնաբերում է մատուցվող պատկերի դեմքը (ֆայլ Face.py, «հայտնաբերել» գործառույթը): Ի պատասխան այն ստանում է id, եթե հայտնաբերված դեմքը: Այնուհետև այն կանչում է «նույնականացման» գործառույթ (Face.py ֆայլ), որը գտնում է նման անձանց նշված խմբում: Ի պատասխան այն ստանում է անձի ID, եթե անձը գտնվի: Այնուհետև կանչեք «անձ» (ֆայլ Person.py) գործառույթ ՝ անձի ID- ն որպես պարամետր, «անձ» գործառույթը վերադարձնում է նշված ID ունեցող անձին, մենք ստանում ենք անձի անուն և վերադարձնում այն:
«Ստուգում» գործառույթի մասին: Այս գործառույթը տեղադրված է «մուտք» ֆայլում, որտեղ տեղադրված է նաև «մուտքի ցուցակը» որպես գլոբալ փոփոխական (կարող եք փոփոխել այն, ինչպես ցանկանում եք): Ստանալով անձի անունը նախորդ գործառույթից, «ստուգել» գործառույթը համեմատել այս անձի մուտքի ցուցակի հետ և վերադարձնել արդյունքը:
Նշում. Նախագիծը կցված է հաջորդ քայլին:
Քայլ 7: Եզրակացություն
Այս քայլին ես կցեցի ամբողջական նախագիծը, որը դուք պետք է բացեք և տեղադրեք ձեր Raspberry Pi- ին:
Այս նախագիծը աշխատեցնելու համար գործարկեք «main.py» ֆայլը:
Եթե դուք վերահսկում եք Raspberry Pi- ն SSH- ի միջոցով, դուք պետք է գործարկեք երկու ծրագիր մեկ պատյանից `python ծրագիր և Node-Red: Տերմինալում մուտքագրեք հետևյալը.
հանգույց-կարմիր
Ներկայացրեք «Ctrl + Z» և մուտքագրեք.
աշխատատեղեր
Դուք տեսել եք Node-Red գործընթացը: Նայեք գործընթացի ID- ին և տեսակին.
բգ
Այժմ Node-Red- ը պետք է սկսի աշխատել հետին պլանում: Այնուհետև ձեր նախագծով գնացեք գրացուցակ և գործարկեք հիմնական ծրագիրը.
python3 main.py
Նշում. Մի մոռացեք փոխել KEY- ը python ֆայլերում (քայլ 4) և հավատարմագրերը Node-Red հոսքում (քայլ 5)
Կատարած! Ձեր սառնարանն անվտանգ է:
Հուսով եմ, որ ձեզ դուր եկավ այս անքննելիությունը: Ազատորեն թողեք ձեր միտքը մեկնաբանություններում:
Շնորհակալ կլինեմ, եթե քվեարկեք իմ նախագծի համար =)
Շնորհակալություն!
Խորհուրդ ենք տալիս:
Abellcadabra (Դեմքի ճանաչման դռների կողպման համակարգ) ՝ 9 քայլ
Աբելկադաբրա (Դեմքի ճանաչման դռների կողպման համակարգ). Կարանտինի ընթացքում պառկած ՝ ես փորձեցի գտնել ժամանակը սպանելու միջոց ՝ տան դռան դեմքի ճանաչում կառուցելով: Ես այն անվանեցի Աբելկադաբրա - որը Աբրակադաբրայի միջև համադրություն է, կախարդական արտահայտություն դռան զանգով, որը ես վերցնում եմ միայն զանգը: LOL
Գաղտնի խցիկով դեմքի ճանաչման հայելի ՝ 15 քայլ (նկարներով)
Գաղտնի խցիկով դեմքի ճանաչման հայելին. Ինձ միշտ հետաքրքրում էին պատմվածքներում, ֆիլմերում և նման այլ բաներում օգտագործվող մշտապես ստեղծվող գաղտնի բաժանմունքները: Այսպիսով, երբ տեսա Գաղտնի կուպեի մրցույթը, որոշեցի ինքս փորձարկել այդ գաղափարը և պատրաստել սովորական տեսք ունեցող հայելի, որը բացում է
PLC անվտանգության համար անլար անվտանգության կոճակ. 6 քայլ (նկարներով)
PLC- ի անվտանգության համար անլար անվտանգության կոճակ. Այս նախագիծը IoT և (ի վերջո) ռոբոտաշինության օգտագործման հայեցակարգի իմ ապացույցն է `վտանգավոր արտադրական օբյեկտների անվտանգության լրացուցիչ շերտ ստեղծելու համար: Այս կոճակը կարող է օգտագործվել բազմաթիվ գործընթացներ սկսելու կամ դադարեցնելու համար, ներառյալ ազդանշանի վերահսկումը
Սառնարանի պահակ. Փակեք ձեր սառնարանի դուռը `6 քայլ
Սառնարանի պահակ. Փակեք դռան հիշեցումը ձեր սառնարանի համար. Երբեմն, երբ սառնարանից շատ բաներ եմ հանում, ես ազատ ձեռքը չունեմ դուռը փակելու համար, իսկ հետո դուռը բաց է մնում երկար ժամանակ: Երբեմն, երբ ես չափազանց շատ ուժ եմ օգտագործում սառնարանի դուռը փակելու համար, այն ցատկում է, բայց ես դա չեմ նկատում
Սառնարանի կամ սառնարանի ջերմաստիճանի վերահսկում `7 քայլ
Freeերմաստիճանի վերահսկում սառնարանի կամ սառնարանի համար. Այս հրահանգը ներառում է Johnson Controls- ի ջերմաստիճանի հսկիչի ինտեգրումը երկարացման լարին `անջատիչով և սառնարանը վերահսկելու էլեկտրական վարդակով: Գարեջրի խմորման համար կրծքավանդակի սառնարանը ֆանտաստիկ հարթակ է, բայց գործարանը շարունակում է