Բովանդակություն:
- Քայլ 1: Նախադրյալներ
- Քայլ 2: CribSense ծրագրաշարի տեղադրում
- Քայլ 3: Սարքաշարի պատրաստում. Միացրեք ձեր տեսախցիկը
- Քայլ 4: Սարքաշարի պատրաստում. IR LED
- Քայլ 5: Սարքաշարի պատրաստում. Շասսի
- Քայլ 6: Սարքաշարի պատրաստում. Հավաքում
- Քայլ 7: Կալիբրացում
- Քայլ 8: rationուցադրություն
- Քայլ 9: Խնդիրների վերացում
Video: CribSense: Անկոնտակտ, տեսաֆիլմերի վրա հիմնված մանկական մոնիտոր. 9 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:49
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
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- ն գործարկելուց առաջ:
Այս քայլերի բոլոր նկարները կարգին են և հետևում են տեքստային քայլերին:
- Տեղադրեք Raspberry Pi- ն շասսիի մեջ: Ձայնային պորտը միացնելու համար ձեզ հարկավոր է մի փոքր թեքել այն, բայց երբ այն միացված է, աուդիո խցիկը կպահի այն տեղում: Տեղադրվելուց հետո համոզվեք, որ բոլոր նավահանգիստներին դեռ հասանելի կլինի (օրինակ ՝ կարող եք միացնել հոսանքի մալուխը):
- Հաջորդը, տաք սոսինձով Pi- ն ամրացրեք տեղում և տեսախցիկը ամրացրեք Pi- ին: Կան նաև պտուտակային անցքեր, եթե նախընտրում եք դրանք օգտագործել:
- Այժմ, LED- ն ու տեսախցիկը սոսնձեք առջևի ծածկին (նկարում): Սկսեք ՝ NoIR տեսախցիկը տաք սոսնձելով տեսախցիկի անցքին: Համոզվեք, որ տեսախցիկը ամուր է և շարված է շասսիով: Մի օգտագործեք շատ սոսինձ; հակառակ դեպքում, դուք չեք կարողանա տեսախցիկը տեղավորել հիմնական պատյանում: Անպայման միացրեք Pi- ն և նայեք տեսախցիկին (օրինակ ՝ «raspistill -v») ՝ համոզվելու համար, որ այն լավ է թեքված և ունի լավ տեսադաշտ: Եթե դա այդպես չէ, հեռացրեք տաք սոսինձը և տեղադրեք այն:
- Հաջորդը, կպցրեք IR LED- ը կափարիչի պարանոցի փոսին: Պարանոցը 45 աստիճանի անկյան տակ է `օրորոցը կողքի լուսավորելու համար, ինչը թույլ լուսավորության պայմաններում ավելի շատ ստվերների պատճառ է դառնում: Սա ավելի շատ հակադրություն է հաղորդում պատկերին, ինչը հեշտացնում է շարժման հայտնաբերումը:
- Կցեք IR LED լարերը Raspberry Pi- ի վերնագրի կապումներին, ինչպես ցույց է տրված սխեմատիկ նկարում:
- Մալուխները փաթեթավորեք շասսիի մեջ այնպես, որ դրանք չծռվեն կամ չլարվեն: Մենք ավարտեցինք ծալելով մալուխի ակորդեոնի ոճը, քանի որ մեր տեսախցիկի ճկուն մալուխը չափազանց երկար էր:
- Ամեն ինչ խճճված, տաք սոսինձ այն եզրերի շուրջ, որտեղ երկու կտորները հանդիպում են ՝ դրանք կնքելով տեղում:
Քայլ 7: Կալիբրացում
Կազմաձևման պարամետրերի մասին մանրամասները կարող եք գտնել 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ուցադրություն
Ահա մի փոքրիկ ցուցադրում, թե ինչպես է աշխատում 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- ում:
- Ի՞նչ ճանապարհ կտրամադրվի, եթե վարեք «ո՞ր օրորոցը»:
Խորհուրդ ենք տալիս:
Եղանակի վրա հիմնված երաժշտության գեներատոր (ESP8266 վրա հիմնված միջինի գեներատոր). 4 քայլ (նկարներով)
Եղանակի վրա հիմնված երաժշտության գեներատոր (ESP8266 Based Midi Generator). Բարև, այսօր ես կբացատրեմ, թե ինչպես պատրաստել ձեր սեփական եղանակի վրա հիմնված փոքր երաժշտության գեներատոր: Այն հիմնված է ESP8266- ի վրա, որը նման է Arduino- ին և արձագանքում է ջերմաստիճանին, անձրևին: և լույսի ուժգնություն: Մի ակնկալեք, որ այն ամբողջ երգեր կամ ակորդներ կհաղորդի
ESP32- ի վրա հիմնված M5Stack M5stick C Եղանակի մոնիտոր DHT11- ով - Վերահսկեք ջերմաստիճանի խոնավության և ջերմության ինդեքսը M5stick-C- ի վրա DHT11: 6 քայլով
ESP32- ի վրա հիմնված M5Stack M5stick C Եղանակի մոնիտոր DHT11- ով | Վերահսկեք ջերմաստիճանի խոնավության և ջերմության ինդեքսը M5stick-C- ի վրա DHT11- ով: Ողջույն, տղերք, այս հրահանգներում մենք կսովորենք, թե ինչպես միացնել DHT11 ջերմաստիճանի տվիչը m5stick-C- ի հետ (զարգացման տախտակ m5stack- ով) և ցուցադրել այն m5stick-C- ի ցուցադրման վրա: Այսպիսով, այս ձեռնարկում մենք կկարդանք ջերմաստիճանը, խոնավությունը & շոգ եմ
SilverLight: Arduino- ի վրա հիմնված բնապահպանական մոնիտոր սերվերային սենյակների համար. 3 քայլ (նկարներով)
SilverLight: Arduino- ի վրա հիմնված բնապահպանական մոնիտոր սերվերային սենյակների համար. Մի անգամ ինձ հանձնարարվեց որոնել բնապահպանական զոնդ `իմ ընկերության սերվերային սենյակում ջերմաստիճանը վերահսկելու համար: Իմ առաջին գաղափարն էր. Ինչու ոչ միայն օգտագործել Raspberry PI և DHT տվիչ, այն կարող է կարգավորվել մեկ ժամից պակաս ժամանակում ՝ ներառյալ ՕՀ -ն
Oածր ծախսերի IoT օդի որակի մոնիտոր ՝ հիմնված RaspberryPi 4: 15 քայլերի վրա (նկարներով)
Oածր ծախսերի IoT օդի որակի մոնիտոր, որը հիմնված է RaspberryPi 4-ի վրա. Սանտյագո, Չիլի ձմեռային բնապահպանական արտակարգ իրավիճակներում արտոնություն ունեն ապրելու աշխարհի ամենագեղեցիկ երկրներից մեկում, բայց, ցավոք, դա բոլորը վարդեր չեն: Ձմեռային սեզոնի ընթացքում Չիլին շատ է տուժում օդի աղտոտվածությունից
Arduino- ի վրա հիմնված ատամի խոզանակի տվյալների մոնիտոր. 4 քայլ (նկարներով)
Arduino- ի վրա հիմնված ատամի խոզանակի տվյալների մոնիտոր. Arduino- ի վրա հիմնված ատամի խոզանակը թույլ է տալիս վերահսկել նախշերը `օգտագործելով 3 առանցքային արագացման տվյալները