Բովանդակություն:

CribSense: Անկոնտակտ, տեսաֆիլմերի վրա հիմնված մանկական մոնիտոր. 9 քայլ (նկարներով)
CribSense: Անկոնտակտ, տեսաֆիլմերի վրա հիմնված մանկական մոնիտոր. 9 քայլ (նկարներով)

Video: CribSense: Անկոնտակտ, տեսաֆիլմերի վրա հիմնված մանկական մոնիտոր. 9 քայլ (նկարներով)

Video: CribSense: Անկոնտակտ, տեսաֆիլմերի վրա հիմնված մանկական մոնիտոր. 9 քայլ (նկարներով)
Video: CribSenseSetup 2024, Նոյեմբեր
Anonim
CribSense. Անկոնտակտ, տեսաֆիլմերի վրա հիմնված մանկական մոնիտոր
CribSense. Անկոնտակտ, տեսաֆիլմերի վրա հիմնված մանկական մոնիտոր
CribSense: Անկոնտակտ, տեսաֆիլմերի վրա հիմնված մանկական մոնիտոր
CribSense: Անկոնտակտ, տեսաֆիլմերի վրա հիմնված մանկական մոնիտոր

CribSense- ը տեսաֆիլմերի վրա հիմնված, անհպում մանկական մոնիտոր է, որը կարող եք ինքներդ պատրաստել ՝ առանց բանկը կոտրելու:

CribSense- ը C ++ վիդեո խոշորացման ծրագիր է, որը կարգավորվում է Raspberry Pi 3 մոդել Բ-ով աշխատելու համար: Հանգստյան օրերին դուք կարող եք տեղադրել ձեր սեփական մանկական օրորոցային մոնիտորը, որն ահազանգ է տալիս, եթե ձեր երեխան դադարեցնի շարժվելը: Որպես բոնուս, ամբողջ ծրագրակազմն անվճար է օգտագործման համար ոչ առևտրային նպատակներով և հեշտությամբ ընդարձակելի է:

Աղբյուրի ֆայլերը և փաստաթղթերը պարունակող ամբողջական շտեմարանը կարելի է գտնել https://github.com/lukehsiao/CribSense կայքում:

Մինչ մենք կարծում ենք, որ CribSense- ը բավականին զվարճալի է, կարևոր է հիշել, որ սա իրականում սերտիֆիկացված, անթերի անվտանգության սարք չէ: Այսինքն, այն պետք է պատշաճ կազմաձևվի և ունենա լավ վերահսկվող միջավայր `աշխատելու համար: Օրինակ, եթե այն լավ չափաբերված չէ և/կամ տեսանյութի միջավայրը չի նպաստում տեսանյութի խոշորացմանը, գուցե չկարողանաք օգտագործել այն: Մենք սա պատրաստել ենք որպես զվարճալի նախագիծ ՝ տեսնելու համար, թե որքան լավ կարող ենք ունենալ հաշվողական ծանրակշիռ ծրագրակազմ, ինչպիսին է վիդեո խոշորացումը, որն աշխատում է հաշվողական սահմանափակ ապարատով, ինչպիսին է Raspberry Pi- ն: Realանկացած իրական արտադրանք կպահանջեր շատ ավելի շատ փորձարկում, քան մենք արել ենք: Այսպիսով, եթե դուք օգտագործում եք այս նախագիծը, ընդունեք այն այնպիսին, ինչպիսին այն է. Pi- ի վրա տեսանյութերի խոշորացման կարճ հետազոտություն:

Այն, ինչ ձեզ հարկավոր կլինի

Raspberry Pi + Camera + Կազմաձևման գործիքներ.

  • Ազնվամորի Pi 3 մոդել B
  • 5V 2.5A միկրո USB սնուցման աղբյուր
  • Raspberry Pi NoIR Camera Module V2
  • MicroSD քարտ (մենք օգտագործել ենք 16 ԳԲ 10 -րդ դասի քարտ)
  • Flex մալուխ Raspberry Pi տեսախցիկի համար (12 ")
  • 3.5 մմ մուտքով բարձրախոսներ
  • HDMI մոնիտոր
  • USB ստեղնաշար
  • USB մկնիկ
  • [ըստ ցանկության] Raspberry Pi Heatsink (եթե ձեզ անհանգստացնում է ջերմությունը, կարող եք դրանցից մեկը կպցնել ձեր Pi- ին)

IR LED միացում ցածր լուսավորության համար.

  • [3x] 1N4001 դիոդներ
  • 1 Օմ, 1 Վ դիմադրություն
  • 1W IR LED
  • 2 լար `LED- ը Pi- ին ամրացնելու համար
  • Oldոդման երկաթ

Շասսի:

  • Մատչելիություն 3D տպիչին (կառուցման նվազագույն ծավալը = 9.9 "L x 7.8" W x 5.9 "H)` մեր շասսին տպելու համար: Այնուամենայնիվ, ազատ զգալ կառուցեք ձեր սեփականը:
  • Սոսինձ (ցանկացած տեսակի սոսինձ կաշխատի, բայց նախատիպավորման համար խորհուրդ է տրվում տաք սոսինձ):

Քայլ 1: Նախադրյալներ

Մեր քայլ առ քայլ ուղեցույցը սկսելուց առաջ դուք պետք է արդեն տեղադրած լինեք Raspbian- ի վերջին տարբերակը ձեր SD քարտի վրա և համոզվեք, որ ձեր Pi- ն գործում է: Տեսախցիկ մուտք գործելու համար անհրաժեշտ կլինի նաև միացնել տեսախցիկի մոդուլը:

Քայլ 2: CribSense ծրագրաշարի տեղադրում

CribSense- ը կախված է autoconf- ից, libtool- ից, OpenCV- ից և libcanberra- ից, ինչպես նաև սովորական ծրագրային գործիքներից:

  • autoconf- ը և libtool- ը օգտագործվում են makefiles- ի ինքնաբերաբար կազմաձևման և CribSense- ի համար սցենարներ կառուցելու բազմաթիվ հարթակներում (ինչպես Linux, OSX և Raspberry Pi):
  • OpenCV- ն համակարգչային տեսողության հզոր փաթեթ է, որն օգտագործվում է պատկերի մշակման համար և հանդիսանում է տեսանյութերի խոշորացման և շարժման հայտնաբերման կոդի հիմքը: Այն ունի մեծ աջակցություն, հեշտ է օգտագործել և ունի լավ կատարում:
  • libcanberra- ն իրադարձությունների հնչյունների նվագարկման պարզ գրադարան է: Այն օգտագործվում է CribSense- ի համար ահազանգը հնչեցնելու համար:

Այցելեք նրանց առանձին էջերը ՝ ամբողջական մանրամասներ ստանալու համար:

Տեղադրեք դրանք ՝ ձեր Pi- ի վրա տերմինալ բացելով և գործարկելով.

sudo apt-get տեղադրել git build- հիմնական autoconf libtool libopencv-dev libcanberra-dev

Հաջորդը, դուք պետք է տեսախցիկի վարորդը դնեք ինքնաբեռնման վրա `bcm2835-v4l2 ավելացնելով«/etc/modules-load.d/modules.conf »: Ձեր modules.conf- ը պետք է ունենա այս տեսքը.

# /etc /modules: միջուկի մոդուլներ `բեռնման ժամանակ բեռնման համար:

# # Ֆայլը պարունակում է միջուկի մոդուլների անուններ, որոնք պետք է բեռնվեն # բեռնման ժամանակ, մեկ տողում: «#» - ով սկսվող տողերն անտեսվում են: i2c-dev bcm2835-v4l2

Երբ ֆայլը խմբագրվել է, դուք պետք է վերագործարկեք ձեր Pi- ն: Այս վարորդը CribSense- ի կողմից օգտագործվում է NoIR տեսախցիկից շրջանակներ ուղղակիորեն քաշելու համար:

Այնուհետև կարող եք կլոնավորել պահեստը ՝ գործարկելով.

git կլոն

Հաջորդը, անցեք պահեստ և գործարկեք ծրագրակազմը

cd CribSense

./autogen.sh --prefix =/usr --sysconfdir =/etc-անջատել-կարգաբերել sudo make install sudo systemctl daemon-reload

Շնորհավորում ենք, դուք տեղադրել եք բոլոր անհրաժեշտ ծրագրակազմը:

Կազմաձևում

CribSense- ը կարող է հարմարեցվել INI պարզ կազմաձևման ֆայլի միջոցով: «Make install» գործարկելուց հետո կազմաձևման ֆայլը գտնվում է /etc/cribsense/config.ini հասցեում: Դուք կարող եք դիտել և խմբագրել այս պարամետրերը ՝ գործարկելով

sudo nano /etc/cribsense/config.ini

Լռելյայն կազմաձևում տրված է յուրաքանչյուր պարամետրի համառոտ բացատրություն, սակայն ավելի մանրամասն հասանելի է https://lukehsiao.github.io/CribSense/setup/config/ հասցեով: Մենք նաև կքննարկենք չափագրման և կազմաձևման այս ուղեցույցի վերջում:

CribSense- ի գործարկում

CribSense- ը նախագծվել է գործարկման ժամանակ `օգտագործելով համակարգային ծառայությունը: Մինչ դուք միացված եք ձեր Raspberry Pi- ին ձեր ստեղնաշարով և մկնիկով, դուք պետք է համոզվեք, որ կազմաձևման պարամետրերն աշխատում են ձեր օրորոցի համար: Հնարավոր է, որ անհրաժեշտ լինի նորից կարգավորել այս պարամետրերը, եթե այն տեղափոխեք:

Մինչ դուք կարգավորում եք պարամետրերը, կարող եք ցանկության դեպքում օրորոց գործարկել հրամանի տողից `գործարկելով

cribsense --config /etc/cribsense/config.ini

Գոհ լինելուց հետո կարող եք միացնել autorun- ը `գործարկելով

sudo systemctl- ը հնարավորություն է տալիս օրհնություն տալ

Դուք կարող եք դադարեցնել օրհներգի գործարկումը ինքնաբերաբար գործարկելով

sudo systemctl անջատել օրհներգը

Softwareրագրային ապահովման ակնարկ

CribSense ծրագրակազմը այս նախագծի սիրտն ու հոգին է: Մենք տեսանք MIT- ի տեսանյութերի խոշորացման մի քանի հիանալի ցուցադրական ցուցադրություններ և ցանկացանք փորձել և գործարկել նմանատիպ ալգորիթմ Raspberry Pi- ի վրա: Սա պահանջում էր ավելի քան 10x արագացում tbl3rd- ի աշխատանքից ՝ տեսախցիկի C ++ իրագործման վրա, որպեսզի Pi- ով իրական ժամանակում աշխատի: Պահանջվող օպտիմալացումներն ուղղորդեցին ծրագրակազմի մեր դիզայնը:

Բարձր մակարդակով CribSense- ը բազմիցս շրջում է ծրագրային ապահովման պետական մեքենայի միջոցով: Նախ, այն յուրաքանչյուր 640x480, մոխրագույն մասշտաբով տեսաֆիլմերի շրջանակը բաժանում է 3 հորիզոնական հատվածի (640x160) `ավելի լավ քեշի տեղայնացման համար: Այնուհետև այն մեծացնում է յուրաքանչյուր ժապավենը առանձին թելի մեջ և վերահսկում շրջանակում տեսանելի շարժումը: Շարժումը մի քանի վայրկյան վերահսկելուց հետո այն որոշում է շարժման հիմնական տարածքը և կտրում շրջանակը դեպի այն: Սա նվազեցնում է պիքսելների ընդհանուր քանակը, որոնք անհրաժեշտ է մշակել ալգորիթմը: Այնուհետև CribSense- ը վերահսկում է կտրված հոսքի շարժման ծավալը և ահազանգում, եթե ոչ մի շարժում չի ընկալվում կարգավորելի քանակությամբ: Պարբերաբար, CribSense- ը նորից կբացի իր տեսադաշտը ՝ ամբողջ շրջանակը վերահսկելու համար, եթե երեխան տեղափոխվի և նորից կտրվի շարժման նոր հիմնական տարածքի շուրջը:

Տեսանյութի խոշորացումն օգտագործվում է ազդանշանի և աղմուկի հարաբերակցությունը բարձրացնելու համար `երեխայի շնչառության նման: Ավելի մեծ շարժումների համար դա անհրաժեշտ չէր, բայց կարող է օգնել շատ նուրբ շարժումների համար: Նկատի ունեցեք, որ մեր իրականացումը թույլ է հիմնված MIT- ի փաստաթղթերում նկարագրված ալգորիթմի վրա և չի գործում այնքան լավ, որքան նրանց սեփականության ծածկագիրը:

Օպտիմալացումները, ինչպիսիք են բազմատեքստը, հարմարվողական կտրումը և կոմպիլյատորների օպտիմալացումը, մեզ տվեցին համապատասխանաբար մոտավորապես 3x, 3x և 1.2x արագացում: Սա մեզ թույլ տվեց հասնել 10 անգամ արագացման, որը պահանջվում է Pi- ով իրական ժամանակում աշխատելու համար:

Ամբողջական մանրամասները կարող եք գտնել CribSense շտեմարանի Software Architecture էջում:

Եթե ձեզ հետաքրքրում է տեսանյութերի խոշորացումը, խնդրում ենք այցելել MIT- ի էջ:

Քայլ 3: Սարքաշարի պատրաստում. Միացրեք ձեր տեսախցիկը

Սարքաշարի պատրաստում. Միացրեք ձեր տեսախցիկը
Սարքաշարի պատրաստում. Միացրեք ձեր տեսախցիկը

Նախ, դուք պետք է փոխեք 6 դյույմ մալուխը, որն ուղեկցվել է տեսախցիկով, 12 դյույմ մալուխով: Դա անելու համար պարզապես կարող եք հետևել այս ձեռնարկին, թե ինչպես փոխարինել տեսախցիկի մալուխը:

Ամփոփելով ՝ տեսախցիկի հետևի մասում կտեսնեք հրում/քաշման ներդիր, որը կարող եք հանել ճկվող մալուխը բաց թողնելու համար: Փոխարինեք կարճ մալուխը ավելի երկարով և հետ մղեք ներդիրը:

Դուք կնկատեք, որ մեր նկարներում մենք ունենք 24 "մալուխ: Այն չափազանց երկար էր: Նյութերի ցուցակի 12" մալուխը շատ ավելի ողջամիտ երկարություն ունի:

Քայլ 4: Սարքաշարի պատրաստում. IR LED

Սարքաշարի պատրաստում. IR LED
Սարքաշարի պատրաստում. IR LED
Սարքաշարի պատրաստում. IR LED
Սարքաշարի պատրաստում. IR LED
Սարքաշարի պատրաստում. IR LED
Սարքաշարի պատրաստում. IR LED

CribSense- ը համեմատաբար հեշտ է կառուցել և հիմնականում բաղկացած է առևտրային հասանելի մասերից: Ինչպես երևում է վերևի նկարում, կան 5 հիմնական ապարատային բաղադրիչներ, որոնցից միայն 2 -ն են պատվերով պատրաստված: Այս էջը կքննարկի, թե ինչպես կարելի է կառուցել IR LED միացում, իսկ հաջորդ էջը կանդրադառնա, թե ինչպես կարելի է կառուցել շասսի:

Այս մասի համար դուք պետք է ձեռք բերեք ձեր զոդման երկաթ, լարեր, դիոդներ, IR LED և ռեզիստոր: Մենք կկառուցենք 2 -րդ նկարում ներկայացված սխեմա: Եթե դուք նոր եք զոդման, ահա մի գեղեցիկ ուղեցույց, որը ձեզ կհասցնի: Մինչ այս ուղեցույցը քննարկում է անցքերի միջոցով եռակցումը, դուք կարող եք օգտագործել նույն հիմնական տեխնիկան `այս բաղադրիչներն իրար միացնելու համար, ինչպես ցույց է տրված 3-րդ նկարում:

Գիշերը համարժեք լուսավորություն ապահովելու համար մենք օգտագործում ենք IR LED, որը տեսանելի չէ մարդու աչքին, բայց տեսանելի է NoIR տեսախցիկով: IR LED- ը Raspberry Pi- ի համեմատ շատ էներգիա չի սպառում, այնպես որ մենք թողնում ենք IR LED- ը միացված լինելու համար ՝ պարզության համար:

Pi- ի ավելի վաղ տարբերակներում այս կապումների առավելագույն ընթացիկ ելքը 50 մԱ էր: Raspberry Pi B+ - ը բարձրացրեց այն մինչև 500 մԱ: Այնուամենայնիվ, մենք պարզապես օգտագործում ենք 5V հոսանքի կապերը պարզության համար, որոնք կարող են մատակարարել մինչև 1.5A: Մեր չափումների համաձայն, IR LED- ի առաջային լարումը մոտ 1.7 ~ 1.9 Վ է: Չնայած IR LED- ն կարող է 500 մԱ քաշել առանց ինքն իրեն վնասելու, մենք նվազեցնում ենք հոսանքը մինչև 200 մԱ ՝ նվազեցնելու ջերմությունը և էներգիայի ընդհանուր սպառումը: Փորձնական արդյունքները նաև ցույց են տալիս, որ IR LED- ն բավականաչափ պայծառ է ՝ 200 մԱ մուտքային հոսանքով: 5V- ի և 1.9V- ի միջև եղած բացը հաղթահարելու համար մենք օգտագործում ենք երեք 1N4001 դիոդ և 1 Օմ դիմադրություն IR LED- ով: Լարի, դիոդների և ռեզիստորի վրա լարման անկումը համապատասխանաբար կազմում է մոտավորապես 0.2 Վ, 0.9 Վ (յուրաքանչյուրի համար) և 0.2 Վ: Այսպիսով, IR LED- ի լարումը 5V - 0.2V - (3 * 0.9V) - 0.2V = 1.9V է: LED- ի վրա ջերմության տարածումը 0.18W է և 0.2W ՝ ռեզիստորի վրա, և բոլորը `իրենց առավելագույն գնահատականների սահմաններում:

Բայց մենք դեռ չենք ավարտել: Եռաչափ տպված շասսիի մեջ ավելի լավ տեղավորվելու համար մենք ցանկանում ենք, որ IR LED ոսպնյակը դուրս գա մեր շասսիից և PCB տախտակը հարթեցվի անցքով: Ներքևի աջ մասում գտնվող փոքր ֆոտոդիոդը կխոչընդոտի: Դա շտկելու համար մենք ապամոնտաժում ենք այն և շրջում տախտակի հակառակ կողմը, ինչպես ցույց է տրված վերջին երկու լուսանկարներում: Ֆոտոդիոդի կարիքը չկա, քանի որ մենք ցանկանում ենք, որ LED- ը միշտ միացված լինի: Ուղղակի այն հակառակ կողմը փոխելը թողնում է սկզբնական LED միացումն անփոփոխ:

Լարերին զոդելիս համոզվեք, որ մետաղալարերը առնվազն 12 դյույմ երկարություն ունեն և ունեն կապի վերնագրեր, որոնք կարող են սահել Pi- ի GPIO- ների վրայով:

Քայլ 5: Սարքաշարի պատրաստում. Շասսի

Սարքաշարի պատրաստում. Շասսի
Սարքաշարի պատրաստում. Շասսի
Սարքաշարի պատրաստում. Շասսի
Սարքաշարի պատրաստում. Շասսի
Սարքաշարի պատրաստում. Շասսի
Սարքաշարի պատրաստում. Շասսի

Աղբյուրի ֆայլեր.

  • Գործ STL
  • Case Makerbot
  • Կազմ STL
  • Verածկեք Makerbot- ը

Մենք օգտագործեցինք պարզ տպված 3D շասսի ՝ Pi- ն, տեսախցիկը և LED- ը տեղավորելու համար: Մեր շասսիի օգտագործումը պարտադիր չէ, չնայած խորհուրդ է տրվում կանխել փոքր երեխաներին ձեռք չտալ բացված էլեկտրոնային սխեմաները: Յուրաքանչյուր օրորոց տարբեր է, ուստի մեր շասսիի մեջ ներառված չէ ամրացման բրա: Մոնտաժման մի քանի տարբերակ կարող է ներառել.

  • Մալուխային կապեր
  • 3M երկակի կողպեք
  • Velcro
  • Կասետային

Եթե մուտք ունեք MakerBot Replicator (5 -րդ սերունդ), կարող եք պարզապես ներբեռնել գործի համար նախատեսված.makerbot ֆայլերը և ծածկել ձեր MakerBot Replicator- ում և տպել: Գործի տպագրությունը տեւում է մոտ 6 ժամ, իսկ կազմը տպելու համար `3 ժամ: Եթե դուք օգտագործում եք այլ տեսակի 3D տպիչ, շարունակեք կարդալ:

CribSense- ը տպելու համար պահանջվում է կառուցման նվազագույն ծավալը ՝ 9,9 "(L) x 7,8" (W) x 5,9 "(H): Եթե այս կառուցվածքի ծավալով 3D տպիչ չունեք, կարող եք օգտագործել առցանց 3D տպագրություն CribSense տպելու ծառայություն (օրինակ ՝ Shapeways կամ Sculpteo): Տպման նվազագույն թույլատրելիությունը 0.015 է: Եթե դուք օգտագործում եք միաձուլված թելերի պատրաստման տիպի 3D տպիչ, դա նշանակում է, որ ձեր վարդակի տրամագիծը պետք է լինի 0,015 "կամ ավելի փոքր: Տպման ավելի ցածր թույլատրությամբ տպիչներ (վարդակի ավելի մեծ տրամագծեր) կարող են աշխատել, բայց Raspberry Pi- ն չի կարող տեղավորվել շասսիի մեջ: Մենք խորհուրդ ենք տալիս PLA- ն (պոլիլակտիկ թթու) որպես նախընտրելի տպագրական նյութ: Այլ պլաստմասսա կարող է աշխատել, սակայն Raspberry Pi- ն չի կարող տեղավորվել այն դեպքում, եթե ընտրված պլաստիկի ջերմային ընդլայնման գործակիցը ավելի մեծ է, քան PLA- ն: Եթե ձեր 3D տպիչն ունի ջեռուցվող կառուցման ափսե, անջատելուց առաջ անջատեք ջեռուցիչը:

Ձեր տպիչի կառուցման ափսեի վրա մոդելը կողմնորոշելը կարևոր է հաջող տպագրության համար: Այս մոդելները մանրակրկիտ նախագծված են, որպեսզի կարիք չունեն տպագրվելու օժանդակ նյութով ՝ այդպիսով խնայելով պլաստիկը և բարելավելով տպման որակը: Շարունակելուց առաջ ներբեռնեք պատյանների և ծածկույթի 3D ֆայլերը: Այս մոդելները տպելիս CribSense- ի վիզը պետք է հարթ ընկած լինի կառուցապատման ափսեի վրա: Սա ապահովում է, որ մոդելների վրա բոլոր անկյունների անկյունները չգերազանցեն 45 աստիճանը `դրանով իսկ վերացնելով օժանդակ նյութի պահանջը: Ձեր տպիչի կառուցվածքում 3D մոդելների կողմնորոշման վերաբերյալ հրահանգների համար տեսեք ձեր 3D տպիչի հետ բերված հրահանգները: Պատյանների և ծածկույթի կառուցվածքի կողմնորոշման օրինակները ներկայացված են վերևում:

Բացի CribSense- ի վիզը կառուցապատման ափսեի վրա դնելուց, կարող եք նկատել, որ մոդելները պտտվում են ուղղահայաց առանցքի շուրջը: Սա կարող է անհրաժեշտ լինել մոդելը ձեր 3D տպիչի կառուցվածքի ծավալի մեջ տեղավորելու համար: Այս պտույտը կամընտիր է, եթե ձեր կառուցվածքի ծավալի երկարությունը բավական երկար է CribSense- ին տեղավորելու համար:

Քայլ 6: Սարքաշարի պատրաստում. Հավաքում

Սարքաշարի պատրաստում. Հավաքում
Սարքաշարի պատրաստում. Հավաքում
Սարքաշարի պատրաստում. Հավաքում
Սարքաշարի պատրաստում. Հավաքում
Սարքաշարի պատրաստում. Հավաքում
Սարքաշարի պատրաստում. Հավաքում
Սարքաշարի պատրաստում. Հավաքում
Սարքաշարի պատրաստում. Հավաքում

Բոլոր սարքավորումները պատրաստ լինելուց հետո կարող եք սկսել հավաքումը: Այս գործընթացում կարող է օգտագործվել ցանկացած սոսինձ, բայց մենք խորհուրդ ենք տալիս տաք սոսինձ երկու հիմնական պատճառով: Տաք սոսինձը արագ չորանում է, այնպես որ պետք չէ երկար սպասել, որ սոսինձը չորանա: Բացի այդ, տաք սոսինձը շարժական է, եթե սխալ եք թույլ տալիս: Չորացրած տաք սոսինձը հեռացնելու համար տաք սոսինձը թրջեք քսուքի (իզոպրոպիլ) սպիրտի մեջ: Մենք խորհուրդ ենք տալիս 90% կամ ավելի բարձր կոնցենտրացիա, սակայն 70% կոնցենտրացիան դեռ կաշխատի: Չորացրած տաք սոսինձը թրջելով իզոպրոպիլային սպիրտի մեջ կթուլացնի սոսնձի և հիմքի մակերևույթի միջև կապը ՝ թույլ տալով մաքուր մաքրել սոսինձը: Երբ սոսինձը թրջում եք իզոպրոպիլ սպիրտի մեջ, Raspberry Pi- ն պետք է անջատված լինի և անջատված լինի վարդակից: Անպայման թողեք, որ ամեն ինչ չորանա, նախքան տաք սոսինձը կրկին կիրառելը և Raspberry Pi- ն գործարկելուց առաջ:

Այս քայլերի բոլոր նկարները կարգին են և հետևում են տեքստային քայլերին:

  1. Տեղադրեք Raspberry Pi- ն շասսիի մեջ: Ձայնային պորտը միացնելու համար ձեզ հարկավոր է մի փոքր թեքել այն, բայց երբ այն միացված է, աուդիո խցիկը կպահի այն տեղում: Տեղադրվելուց հետո համոզվեք, որ բոլոր նավահանգիստներին դեռ հասանելի կլինի (օրինակ ՝ կարող եք միացնել հոսանքի մալուխը):
  2. Հաջորդը, տաք սոսինձով Pi- ն ամրացրեք տեղում և տեսախցիկը ամրացրեք Pi- ին: Կան նաև պտուտակային անցքեր, եթե նախընտրում եք դրանք օգտագործել:
  3. Այժմ, LED- ն ու տեսախցիկը սոսնձեք առջևի ծածկին (նկարում): Սկսեք ՝ NoIR տեսախցիկը տաք սոսնձելով տեսախցիկի անցքին: Համոզվեք, որ տեսախցիկը ամուր է և շարված է շասսիով: Մի օգտագործեք շատ սոսինձ; հակառակ դեպքում, դուք չեք կարողանա տեսախցիկը տեղավորել հիմնական պատյանում: Անպայման միացրեք Pi- ն և նայեք տեսախցիկին (օրինակ ՝ «raspistill -v») ՝ համոզվելու համար, որ այն լավ է թեքված և ունի լավ տեսադաշտ: Եթե դա այդպես չէ, հեռացրեք տաք սոսինձը և տեղադրեք այն:
  4. Հաջորդը, կպցրեք IR LED- ը կափարիչի պարանոցի փոսին: Պարանոցը 45 աստիճանի անկյան տակ է `օրորոցը կողքի լուսավորելու համար, ինչը թույլ լուսավորության պայմաններում ավելի շատ ստվերների պատճառ է դառնում: Սա ավելի շատ հակադրություն է հաղորդում պատկերին, ինչը հեշտացնում է շարժման հայտնաբերումը:
  5. Կցեք IR LED լարերը Raspberry Pi- ի վերնագրի կապումներին, ինչպես ցույց է տրված սխեմատիկ նկարում:
  6. Մալուխները փաթեթավորեք շասսիի մեջ այնպես, որ դրանք չծռվեն կամ չլարվեն: Մենք ավարտեցինք ծալելով մալուխի ակորդեոնի ոճը, քանի որ մեր տեսախցիկի ճկուն մալուխը չափազանց երկար էր:
  7. Ամեն ինչ խճճված, տաք սոսինձ այն եզրերի շուրջ, որտեղ երկու կտորները հանդիպում են ՝ դրանք կնքելով տեղում:

Քայլ 7: Կալիբրացում

Image
Image
Կալիբրացիա
Կալիբրացիա

Կազմաձևման պարամետրերի մասին մանրամասները կարող եք գտնել CribSense պահեստի փաստաթղթերում: Նաև դիտեք տեսանյութը ՝ տեսնելու օրինակ, թե ինչպես կարող եք չափագրել CribSense- ը ամեն ինչ կարգավորելուց հետո:

Ահա կազմաձևման ֆայլի օրինակ.

[io]; I/O կոնֆիգուրացիա

; մուտքագրում = path_to_file; Մուտքային ֆայլ ՝ input_fps = 15 օգտագործելու համար; fps մուտքագրում (առավելագույնը 40, տեսախցիկ օգտագործելիս խորհուրդ է տրվում 15) full_fps = 4.5; fps, որի դեպքում կարելի է մշակել ամբողջական շրջանակները crop_fps = 15; fps, որի դեպքում կտրված շրջանակները կարող են մշակվել տեսախցիկ = 0; Տեսախցիկ ՝ լայնություն օգտագործելու համար = 640; Մուտքային տեսանյութի բարձրության լայնությունը = 480; Տեսանյութի մուտքի ժամանակի_բարձրությունը = տագնապ = 10; Քանի վայրկյան սպասել առանց շարժման նախքան ահազանգը: [կտրում]; Adaptive Cropping Settings crop = true; Անկախ նրանից, թե ոչ, շրջանակները կտրատել թե ոչ = 10; # շրջանակ, որը պետք է սպասել վերագործարկումից առաջ roi_update_interval = 800; # շրջանակ ROI_window- ի վերահաշվարկի միջև = 50; # շրջանակ ՝ ROI ընտրելու համար [շարժում]; Շարժման հայտնաբերման կարգավորումներ erode_dim = 4; էրոզիայի միջուկի չափս dilate_dim = 60; ընդլայնվող միջուկի չափը diff_threshold = 8; abs տարբերություն, որն անհրաժեշտ է փոփոխության տևողությունը ճանաչելուց առաջ = 1; # շրջանակ ՝ շարժումը պահպանելու համար ՝ նախքան իրական պիքսել_շեմը նշելը = 5; # պիքսել, որոնք պետք է տարբերվեն դրոշմից ՝ որպես շարժում show_diff = false; ցուցադրել տարբերությունը 3 շրջանակների միջև [խոշորացում]; Տեսանյութի խոշորացման կարգավորումները ուժեղացնել = 25; % Ուժեղացում ցանկալի ցածր անջատում = 0.5; Theածր հաճախականությունը bandpass. բարձր կտրվածք = 1.0; Խողովակաշարի բարձր հաճախականությունը: շեմ = 50; Ֆազային շեմը որպես pi %: ցույց տալ_մեծացում = կեղծ; Showույց տալ յուրաքանչյուր խոշորացման [debug] print_times = false; Տպել վերլուծության ժամանակները

Ալգորիթմի ճշգրտումը կրկնվող ջանք է ՝ ճշգրիտ լուծում չունենալով: Մենք խրախուսում ենք ձեզ փորձարկել տարբեր արժեքներ ՝ դրանք համատեղելով վրիպազերծման գործառույթների հետ, գտնելու ձեր միջավայրին առավել հարմար պարամետրերի համադրությունը: Նախքան ստուգաչափումը սկսելը, համոզվեք, որ show_diff- ը և show_magnification- ը ճշմարիտ են:

Որպես ուղեցույց, ուժեղացումն ու փուլային_շեմային արժեքները մեծացնում են մուտքային տեսանյութի նկատմամբ կիրառվող խոշորացման չափը: Դուք պետք է փոխեք այս արժեքները, մինչև տեսանելի չտեսնեք շարժումը, որը ցանկանում եք հետևել տեսանյութի շրջանակում: Եթե դուք տեսնում եք արտեֆակտներ, նվազեցնելով փուլային շեմը ՝ միևնույն ուժեղացումը պահպանելով, կարող է օգնել:

Շարժման հայտնաբերման պարամետրերը օգնում են փոխհատուցել աղմուկը:Շարժման շրջանները հայտնաբերելիս, erode_dim և dilate_dim օգտագործվում են OpenCV միջուկների չափերը չափելու համար, որոնք օգտագործվում են շարժումը քայքայելու և ընդլայնելու համար, որպեսզի աղմուկը նախ քայքայվի, այնուհետև մնացած շարժման ազդանշանը զգալիորեն ընդլայնվի `շարժման շրջաններն ակնհայտ դարձնելու համար: Այս պարամետրերը կարող են նաև ճշգրտվել, եթե ձեր օրորոցը գտնվում է շատ բարձր կոնտրաստային պայմաններում: Ընդհանուր առմամբ, բարձր կոնտրաստ պարամետրերի համար ձեզ հարկավոր կլինի ավելի բարձր erode_dim, իսկ ցածր հակադրության դեպքում `ավելի ցածր erode_dim:

Եթե դուք գործարկում եք CribSense- ը show_diff = true- ով և նկատում եք, որ կուտակիչի արտադրանքի չափազանց մեծ մասը սպիտակ է, կամ տեսահոլովակի բոլորովին չկապված մասը հայտնաբերվում է որպես շարժում (օրինակ ՝ թրթռացող լամպ), բարձրացրեք erode_dim- ը մինչև տեսանյութի միայն մի մասը: ձեր երեխային համապատասխանող սպիտակ գույնի ամենամեծ հատվածն է: Առաջին նկարը ցույց է տալիս մի օրինակ, որտեղ էրոզիայի չափը չափազանց ցածր է շրջանակի շարժման չափի համար, իսկ հաջորդը ցույց է տալիս լավ ճշգրտված շրջանակ:

Երբ դա ճշգրտվի, համոզվեք, որ pixel_threshold- ը սահմանվել է այնպիսի արժեքի, որ «Pixel Movement» - ը հաղորդում է միայն պիքսելային շարժման գագաթնակետային արժեքները, և ոչ բոլորը (ինչը նշանակում է, որ դուք պետք է կտրեք աղմուկը): Իդեալում, դուք կտեսնեք այսպիսի ելք ձեր տերմինալում, որտեղ շարժմանը համապատասխան հստակ պարբերական օրինակ կա.

[info] Պիքսելային շարժում ՝ 0 [տեղեկություն] Շարժման նախահաշիվ ՝ 1.219812 Հց

[info] Pixel Movement: 0 [info] Motion Estimate: 1.219812 Hz [info] Pixel Movement: 0 [info] Motion Estimate: 1.219812 Hz [info] Pixel Movement: 0 [info] Motion Estimate: 1.219812 Hz [info] Pixel Movement ՝ 44 [տեղեկատվություն] Շարժման գնահատում ՝ 1.219812 Հց [տեղեկություն] Պիքսելային շարժում ՝ 0 [տեղեկատվություն] Շարժման գնահատում ՝ 1.219812 Հց [տեղեկություն] Պիքսելների շարժում ՝ 161 [տեղեկատվություն] Շարժման գնահատում ՝ 1.219812 Հց [տեղեկատվություն] Պիքսելային շարժում ՝ 121 [տեղեկություն] Շարժման գնահատում ՝ 0.841416 Հց [տեղեկություն] Պիքսելային շարժում ՝ 0 [տեղեկություն] Շարժման գնահատում ՝ 0.841416 Հց [տեղեկություն] Պիքսելային շարժում ՝ 86 [տեղեկատվություն] Շարժման գնահատական ՝ 0.841416 Հց [տեղեկություն] Պիքսելային շարժում ՝ 0 [տեղեկություն] Շարժման գնահատում ՝ 0.841416 Հց [info] Pixel Movement: 0 [info] Motion Estimate: 0.841416 Hz [info] Pixel Movement: 0 [info] Motion Estimate: 0.841416 Hz [info] Pixel Movement: 0 [info] Motion Estimate: 0.841416 Hz [info] Pixel Movement 0 ent: 0 [տեղեկատվություն] Շարժման գնահատում ՝ 0.841416 Հց [տեղեկություն] Պիքսելային շարժում ՝ 0 [տեղեկություն] Շարժման գնահատական ՝ 0.841416 Հց [տեղեկություն] Պիքսելների շարժում ՝ 0 [տեղեկություն] Շարժման գնահատում ՝ 0.841416 Հց [տեղեկատվություն] Պիքսելային շարժում ՝ 0 [տեղեկություն] Շարժման գնահատում ՝ 0.841416 Հց [տեղեկություն] Պիքսելային շարժում ՝ 0 [տեղեկություն] Շարժման գնահատում ՝ 0.841416 Հց [տեղեկություն] Պիքսելային շարժում ՝ 0 [տեղեկատվություն] Շարժման գնահատական ՝ 0.841416 Հց [տեղեկություն] Պիքսելային շարժում ՝ 0 [տեղեկություն] Շարժման գնահատում ՝ 0.841416 Հց [տեղեկություն] Պիքսելների շարժում ՝ 0 [տեղեկատվություն] Շարժման գնահատում ՝ 0.841416 Հց [տեղեկություն] Պիքսելների շարժում ՝ 97 [տեղեկություններ] Շարժման գնահատական ՝ 0.841416 Հց [տեղեկություններ] Պիքսելների շարժում ՝ 74 [տեղեկություններ] Շարժման գնահատական ՝ 0.839298 Հց [տեղեկություններ] Պիքսել Շարժում ՝ 0 [տեղեկություն] Շարժման գնահատում ՝ 0.839298 Հց [տեղեկություն] Պիքսելային շարժում ՝ 60 [տեղեկություն] Շարժման գնահատում ՝ 0.839298 Հց [տեղեկատվություն] Պիքսելային շարժում ՝ 0 [տեղեկություն] Շարժման գնահատում ՝ 0.839298 Հց [տեղեկատվություն] Պիքսելային շարժում ՝ 0 [տեղեկություն] Շարժման գնահատում ՝ 0.839298 Հց [տեղեկություն] Պիքսելային շարժում ՝ 0 [տեղեկություն] Շարժման գնահատում ՝ 0.839298 Հց [տեղեկություն] Պիքսելների շարժում ՝ 0 [տեղեկատվություն] Շարժման գնահատական ՝ 0.839298 Հց [տեղեկատվություն] Պիքսելային շարժում ՝ 48 [տեղեկություն] Շարժում Գնահատում ՝ 0.839298 Հց [տեղեկատվություն] Պիքսելային շարժում ՝ 38 [տեղեկություն] Շարժման գնահատում ՝ 0.839298 Հց [տեղեկություն] Պիքսելային շարժում ՝ 29 [տեղեկատվություն] Շարժման գնահատական ՝ 0.839298 Հց [տեղեկատվություն] Պիքսելային շարժում ՝ 28 [տեղեկատվություն] Շարժման գնահատում ՝ 0.839298 Հց [info] Pixel Movement: 22 [info] Motion Estimate: 0.839298 Hz [info] Pixel Movement: 0 [info] Motion Estimate: 0.839298 Hz [info] Pixel Movement: 0 [info] Motion Estimate: 0.839298 Hz [info] Pixel Movement: 0 [info] Շարժման գնահատում ՝ 0.839298 Հց [տեղեկություն] Պիքսելային շարժում ՝ 0 [տեղեկություն] Շարժման գնահատում ՝ 0.839298 Հց

Եթե ձեր ելքն ավելի նման է այսպիսին.

[info] Pixel շարժում ՝ 921 [info] Շարժման գնահատում ՝ 1.352046 Հց

[info] Pixel Movement: 736 [info] Motion Estimate: 1.352046 Hz [info] Pixel Movement: 666 [info] Motion Estimate: 1.352046 Hz [info] Pixel Movement: 663 [info] Motion Estimate: 1.352046 Hz [info] Pixel Movement ՝ 1196 [տեղեկություն] Շարժման գնահատում ՝ 1.352046 Հց [տեղեկություն] Պիքսելային շարժում ՝ 1235 [տեղեկություն] Շարժման գնահատում ՝ 1.352046 Հց [տեղեկատվություն] Պիքսելների շարժում ՝ 1187 [տեղեկատվություն] Շարժման գնահատում ՝ 1.456389 Հց [տեղեկատվություն] Պիքսելային շարժում ՝ 1115 [տեղեկություն] Շարժման գնահատում ՝ 1.456389 Հց [տեղեկություն] Պիքսելային շարժում ՝ 959 [տեղեկություն] Շարժման գնահատում ՝ 1.456389 Հց [տեղեկություն] Պիքսելային շարժում ՝ 744 [տեղեկատվություն] Շարժման գնահատում ՝ 1.456389 Հց [տեղեկատվություն] Պիքսելային շարժում ՝ 611 [տեղեկություն] Շարժման գնահատում ՝ 1.456389 Հց [info] Pixel Movement: 468 [info] Motion Estimate: 1.456389 Hz [info] Pixel Movement: 371 [info] Motion Estimate: 1.456389 Hz [info] Pixel Movement: 307 [info] Motion Estimate: 1.456389 Hz [info] Pixel Movement ՝ 270 [տեղեկություն] Շարժման գնահատում ՝ 1.456389 Հց [տեղեկություն] Պիքսելային շարժում ՝ 234 [տեղեկատվություն] Շարժման գնահատում ՝ 1.456389 Հց [տեղեկատվություն] Պիքսելների շարժում ՝ 197 [տեղեկատվություն] Շարժման գնահատում ՝ 1.456389 Հց [տեղեկություն] Պիքսելային շարժում ՝ 179 [տեղեկություն] Շարժման գնահատում ՝ 1.456389 Հց [տեղեկություն] Պիքսելների շարժում ՝ 164 [տեղեկատվություն] Շարժման գնահատական ՝ 1.456389 Հց [տեղեկատվություն] Պիքսելային շարժում ՝ 239 [տեղեկություն] Շարժման գնահատում ՝ 1.456389 Հց [տեղեկություն] Պիքսելային շարժում ՝ 733 [տեղեկատվություն] Շարժման գնահատում ՝ 1.456389 Հց [տեղեկություն] Պիքսելային շարժում ՝ 686 [տեղեկություն] Շարժման գնահատում ՝ 1.229389 Հց [տեղեկատվություն] Պիքսելային շարժում ՝ 667 [տեղեկատվություն] Շարժման գնահատում ՝ 1.229389 Հց [տեղեկություն] Պիքսելային շարժում ՝ 607 [info] Շարժման գնահատում ՝ 1.229389 Հց [տեղեկություն] Պիքսելային շարժում ՝ 544 [տեղեկատվություն] Շարժման գնահատում ՝ 1.229389 Հց [տեղեկություն] Պիքսելային շարժում ՝ 499 [տեղեկատվություն] Շարժման գնահատում ՝ 1.229389 Հց [տեղեկատվություն] Պիքսելային շարժում ՝ 434 [տեղեկություն] Շարժման գնահատում ՝ 1.229389 Հց [տեղեկություն] Պիքսելային շարժում ՝ 396 [տեղեկություն] Շարժման գնահատում ՝ 1.229389 Հց [տեղեկություն] Պիքսելային շարժում ՝ 375 [տեղեկատվություն] Շարժման գնահատական ՝ 1.229389 Հց [տեղեկատվություն] Պիքսելային շարժում ՝ 389 [տեղեկատվություն] Շարժման գնահատում ՝ 1.229389 Հց [տեղեկություն] Պիքսելային շարժում ՝ 305 [տեղեկատվություն] Շարժման գնահատում ՝ 1.312346 Հց [տեղեկություն] Պիքսելային շարժում ՝ 269 [տեղեկատվություն] Շարժման գնահատում ՝ 1.312346 Հց [տեղեկատվություն] Պիքսելային շարժում ՝ 1382 [տեղեկատվություն] Շարժում Ե stimate: 1.312346 Hz [info] Pixel Movement: 1086 [info] Motion Estimate: 1.312346 Hz [info] Pixel Movement: 1049 [info] Motion Estimate: 1.312346 Hz [info] Pixel Movement: 811 [info] Motion Estimate: 1.312346 Hz [տեղեկություններ] Pixel շարժում ՝ 601 [info] Շարժման գնահատում ՝ 1.312346 Հց [տեղեկություն] Pixel շարժում ՝ 456 [տեղեկատվություն] Շարժման գնահատում ՝ 1.312346 Հց

Կարգավորեք pixel_threshold և diff_threshold մինչև միայն գագաթները տեսանելի լինեն, իսկ հակառակ դեպքում պիքսելների շարժը 0 է:

Քայլ 8: rationուցադրություն

Image
Image

Ահա մի փոքրիկ ցուցադրում, թե ինչպես է աշխատում CribSense- ը: Դուք պետք է պատկերացնեք, որ սա ամրացված է օրորոցի կողքին:

Երբ դուք տեղադրում եք CribSense- ը ձեր օրորոցի վրա, ձեզ հարկավոր է օպտիմալացնել փոքրիկի և տեսախցիկի միջև եղած հեռավորությունը: Իդեալում, ձեր երեխայի կրծքավանդակը կլրացնի շրջանակի 1/3 -ից պակաս: Երեխան չպետք է շատ հեռու լինի, հակառակ դեպքում ցածր թույլատրելիությամբ տեսանյութը կպայքարի մեծ մանրամասներ գտնելու համար: Եթե տեսախցիկը չափազանց մոտ է, հնարավոր է, որ տեսախցիկը չկարողանա տեսնել ձեր երեխային, եթե նա գլորվի կամ դուրս գա շրջանակից: Նմանապես, եթե երեխան գտնվում է «վրանային» վերմակի տակ, որտեղ վերմակի և կրծքավանդակի միջև շփումը սահմանափակ է, շարժումը հայտնաբերելը դժվար կլինի: Լավ խրիր դրանք:

Դուք նաև կցանկանաք հաշվի առնել ձեր օրորոցի շուրջ լուսավորության վիճակը: Եթե ձեր օրորոցը հենց պատուհանի կողքին է, կարող եք շարժվող ստվերներ կամ լույսի արժեքներ փոխել, քանի որ արևը փակվում է ամպերով, կամ շարժումը տեղի է ունենում պատուհանից դուրս: Ինչ -որ տեղ հետևողական լուսավորությամբ լավագույնն է:

Ավելի շատ աշխատանք կատարելով ՝ մենք կարծում ենք, որ ինչ -որ մեկը կարող է բարելավել մեր ծրագրաշարը, որպեսզի չափագրումը շատ ավելի սահուն գործընթաց լինի: Ապագայում կարող են ավելացվել նաև լրացուցիչ հնարավորություններ, ինչպիսիք են push ծանուցումները:

Քայլ 9: Խնդիրների վերացում

CribSense- ը ստեղծելիս կարող եք հանդիպել մի քանի սովորական խնդիրների: Օրինակ ՝ ծրագրի կառուցման/գործարկման հետ կապված խնդիրներ ունենալը կամ որևէ աուդիո չլսելը: Հիշեք, CribSense- ը կատարյալ հուսալի մանկական մոնիտոր չէ: Մենք ողջունում ենք ներդրումները մեր GitHub շտեմարանում, երբ բարելավումներ եք կատարում:

Ահա որոշ խնդիրներ լուծելու խորհուրդներ, որոնք մենք հավաքել ենք CribSense- ը պատրաստելիս:

Ոչ մի ահազանգ չի հնչում

  • Ձեր խոսնակներն աշխատո՞ւմ են:
  • Կարո՞ղ եք Pi- ի այլ հնչյուններ նվագարկել CribSense ահազանգից դուրս:
  • Եթե ձեր Pi- ն փորձում է աուդիո խաղալ ոչ թե աուդիո պորտի, այլ HDMI- ի՞ միջոցով: Ստուգեք Raspberry Pi Audio Configuration էջը `համոզվելու համար, որ դուք ընտրել եք ճիշտ ելքը:
  • Արդյո՞ք CribSense ծրագրակազմը հայտնաբերում է շարժումը: Եթե CribSense- ն աշխատում է հետին պլանում, ապա կարող եք տերմինալում ստուգել journalctl -f- ով:
  • Եթե CribSense- ը շատ շարժումներ է զգում, գուցե անհրաժեշտ լինի CribSense- ը չափագրել:

IR LED- ը չի աշխատում

  • Կարո՞ղ եք տեսնել թույլ կարմիր գույն, երբ նայում եք IR LED- ին: Թույլ կարմիր մատանին պետք է տեսանելի լինի, երբ LED- ը միացված է:
  • Ստուգեք կապերի բևեռականությունը: Եթե +5V և GND հակադարձվեն, այն չի աշխատի:
  • Միացրեք LED- ը 5V/0.5A լարման/հոսանքի սահմանաչափով սնուցման աղբյուրին: Սովորաբար, այն պետք է սպառում 0.2 Ա 5 Վ լարման դեպքում: Եթե դա այդպես չէ, ձեր LED- ը կարող է անսարք լինել:

CribSense- ը հայտնաբերում է շարժումը, չնայած երեխա չկա

  • Դուք ճիշտ չափաբերե՞լ եք CribSense- ը:
  • Հիշեք, CribSense- ը պարզապես պիքսելային արժեքների փոփոխություններ է փնտրում

    • Շրջանակի ներսում շարժվող ստվերներ կա՞ն:
    • Կա՞ թարթում կամ փոփոխվող լուսավորություն:
    • Արդյո՞ք CribSense- ը տեղադրված է կայուն մակերևույթի վրա (այսինքն ՝ մի բան, որը չի ցնցվի, եթե մարդիկ քայլեն դրա կողքով):
    • Կա՞ արդյոք շարժման այլ աղբյուրներ շրջանակում (հայելիներ, որոնք բռնում են արտացոլումը և այլն):

CribSense- ը չի հայտնաբերում շարժումը, չնայած շարժում կա

  • Դուք ճիշտ չափաբերե՞լ եք CribSense- ը:
  • Տեսախցիկի ճանապարհին ինչ -որ բան կա՞:
  • Կարո՞ղ եք ընդհանրապես միանալ տեսախցիկին Raspberry Pi- ից: Ստուգեք ՝ օգտագործելով raspistill -v տերմինալում, Pi- ով տեսախցիկը մի քանի վայրկյան բացելու համար:
  • Եթե նայեք sudo systemctl status cribsense- ին, իրականում CribSense- ը գործարկվա՞ծ է:
  • Արդյո՞ք ձեր երեխան վերմակի տակ է, որը «վրան» ծածկված է, որպեսզի երեխայի հետ շփում չունենա: Եթե վերմակի և երեխայի միջև զգալի օդային բացեր կան, վերմակը կարող է քողարկել շարժումը:
  • Կարո՞ղ եք տեսնել շարժումը, եթե ավելի ուժեղացնեք տեսանյութը:
  • Կարո՞ղ եք տեսնել շարժումը, եթե կարգաբերեք ցածր և բարձր հաճախականության անջատումները:
  • Եթե դա տեղի է ունենում միայն ցածր լույսի ներքո, համոզվե՞լ եք, որ ձեր չափագրումն աշխատում է ցածր լույսի ներքո:

CribSense- ը չի կառուցվում

Տեղադրե՞լ եք բոլոր կախվածությունները:

Հրամանի տողից ես չեմ կարող օրհնություն վարել

  • Ձեր ծրագրային ապահովման ստեղծման ժամանակ պատահաբար սխալ ինչ-որ բան սխալ մուտքագրե՞լ եք:
  • Արդյո՞ք օրհնությունը առկա է /usr /bin- ում:
  • Ի՞նչ ճանապարհ կտրամադրվի, եթե վարեք «ո՞ր օրորոցը»:

Խորհուրդ ենք տալիս: