Sisukord:
- 1. samm: eeltingimused
- 2. samm: tarkvara CribSense installimine
- Samm: riistvara ettevalmistamine: ühendage kaamera
- Samm: riistvara ettevalmistamine: IR -LED
- Samm: riistvara ettevalmistamine: šassii
- 6. samm: riistvara ettevalmistamine: kokkupanek
- Samm: kalibreerimine
- 8. samm: tutvustamine
- 9. samm: tõrkeotsing
Video: CribSense: kontaktivaba videopõhine beebimonitor: 9 sammu (koos piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
CribSense on videopõhine kontaktivaba beebimonitor, mille saate ise teha ilma panka rikkumata
CribSense on video suurendamise C ++ rakendus, mis on häälestatud töötama Raspberry Pi 3 mudelil B. Nädalavahetusel saate seadistada oma võrevoodi peal oleva beebimonitori, mis tekitab häire, kui teie laps ei liigu. Boonusena on kogu tarkvara tasuta kasutamiseks mitteärilistel eesmärkidel ja seda saab hõlpsasti laiendada.
Lähtefailide ja dokumentatsiooni sisaldava täieliku hoidla leiate aadressilt
Kuigi me arvame, et CribSense on päris lõbus, on oluline meeles pidada, et see pole tegelikult sertifitseeritud, lollikindel turvaseade. See tähendab, et see peab töötamiseks olema korralikult konfigureeritud ja hästi kontrollitud keskkonnaga. Näiteks kui see pole hästi kalibreeritud ja/või video keskkond ei soodusta video suurendamist, ei pruugi te seda kasutada. Tegime selle lõbusa projektina, et näha, kui hästi suudaksime arvutusmahukat tarkvara, näiteks video suurendust, kasutada arvutuspiiranguga riistvaral, näiteks Raspberry Pi. Iga tõeline toode nõuaks palju rohkem testimist kui oleme teinud. Niisiis, kui kasutate seda projekti, võtke see selliseks, nagu see on: lühike uurimus video suurendamise kohta Pi -l.
Mida vajate:
Raspberry Pi + kaamera + seadistustööriistad:
- Vaarika Pi 3 Mudel B
- 5V 2,5A mikro -USB toiteallikas
- Raspberry Pi NoIR kaameramoodul V2
- MicroSD -kaart (kasutasime 16 GB klassi 10 kaarti)
- Paindlik kaabel Raspberry Pi kaamera jaoks (12 ")
- 3,5 mm sisendiga kõlarid
- HDMI monitor
- USB klaviatuur
- USB hiir
- [valikuline] Raspberry Pi jahutusradiaator (kui olete mures kuumuse pärast, võite ühe neist oma Pi külge kleepida)
IR LED-ahel hämaras töötamiseks:
- [3x] 1N4001 dioodid
- 1 oom, 1W takisti
- 1W IR LED
- 2 juhtmest LED -i ühendamiseks Pi -ga
- Jootekolb
Šassii:
- Juurdepääs meie šassii printimiseks 3D -printerile (minimaalne ehitusmaht = 9,9 "L x 7,8" W x 5,9 "H). Ehitage aga julgelt oma.
- Liim (mis tahes tüüpi liim sobib, kuid prototüüpimiseks on soovitatav kasutada kuuma liimi).
1. samm: eeltingimused
Enne meie samm-sammult juhendi alustamist peaksite olema oma SD-kaardile juba installinud Raspbiani uusima versiooni ja veendunud, et teie Pi on funktsionaalne. Enne kaamerale juurdepääsu avamist peate ka kaamera mooduli lubama.
2. samm: tarkvara CribSense installimine
CribSense sõltub autoconfist, libtoolist, OpenCVst ja libcanberrast, samuti tavalistest tarkvaratööriistadest.
- Autoconf'i ja libtooli kasutatakse make -failide automaatseks konfigureerimiseks ja CribSense'i skriptide loomiseks paljudel platvormidel (nt Linux, OSX ja Raspberry Pi).
- OpenCV on võimas arvutivisioonipakett, mida kasutatakse pilditöötluseks ning on video suurendamise ja liikumise tuvastamise koodi aluseks. Sellel on suur tugi, seda on lihtne kasutada ja sellel on hea jõudlus.
- libcanberra on lihtne raamatukogu sündmuste helide esitamiseks. Seda kasutatakse CribSense'i äratusheli esitamiseks.
Täieliku teabe saamiseks külastage nende üksikuid lehti.
Installige need, avades oma Pi terminali ja käivitades:
sudo apt-get install git build-essential autoconf libtool libopencv-dev libcanberra-dev
Järgmisena peate seadistama kaamera draiveri automaatseks laadimiseks, lisades faili bcm2835-v4l2 faili „/etc/modules-load.d/modules.conf“. Teie modules.conf peaks välja nägema selline:
# /etc /modules: kerneli moodulid, mis laaditakse alglaadimise ajal.
# # Fail sisaldab kerneli moodulite nimesid, mis tuleks laadida # alglaadimise ajal, üks rea kohta. "#" -Ga algavaid ridu eiratakse. i2c-dev bcm2835-v4l2
Kui faili on muudetud, peate Pi taaskäivitama. Seda draiverit kasutab CribSense NoIR -kaamerast kaadrite otse tõmbamiseks.
Seejärel saate hoidlat kloonida, käivitades:
git kloon
Seejärel liikuge hoidlasse ja ehitage tarkvara käivitades
cd CribSense
./autogen.sh-eesliide =/usr --sysconfdir =/etc --disable-debug make sudo make install sudo systemctl daemon-reload
Palju õnne, olete installinud kogu vajaliku tarkvara!
Seadistamine
CribSense on kohandatav lihtsa INI konfiguratsioonifaili kaudu. Pärast käsu make make käivitamist asub konfiguratsioonifail aadressil /etc/cribsense/config.ini. Neid parameetreid saate vaadata ja muuta käivitades
sudo nano /etc/cribsense/config.ini
Iga parameetri lühikirjeldus on antud vaikekonfiguratsioonis, kuid lisateavet leiate aadressilt https://lukehsiao.github.io/CribSense/setup/config/. Selle juhendi lõpus käsitleme ka kalibreerimist ja konfigureerimist.
CribSense'i käivitamine
CribSense oli loodud käivitamiseks süsteemiteenust kasutades. Kui olete oma klaviatuuri ja hiirega oma Raspberry Pi -ga ühendatud, peaksite veenduma, et teie võrevoodi jaoks sobivad konfiguratsiooniparameetrid. Kui teisaldate, peate võib-olla need parameetrid uuesti häälestama.
Parameetrite häälestamise ajal saate käivitada käsurealt käsitsisüsti
võrevoodi --config /etc/cribsense/config.ini
Kui olete rahul, saate autorun käivitada
sudo systemctl lubab võrevoodi
Jooksuga saate võrevoodi automaatse töötamise peatada
sudo systemctl keela häll
Tarkvara ülevaade
CribSense tarkvara on selle projekti süda ja hing. Nägime mõningaid suurepäraseid video suurendamise demosid MIT -st ja tahtsime proovida sarnase algoritmi käivitamist Raspberry Pi -l. See nõudis rohkem kui 10-kordset kiirendust tbl3rdi töölt video suurenduse C ++ rakendamisel, et töötada reaalajas Pi-ga. Nõutavad optimeerimised juhtisid meie tarkvara kavandamist.
CribSense liigub kõrgel tasemel korduvalt läbi tarkvara oleku masina. Esiteks jagab see iga 640x480 halltoonides videokaadri kolmeks horisontaalseks osaks (640x160), et parandada vahemälu asukohta. Seejärel suurendab see iga riba eraldi lõimes ja jälgib kaadris nähtud liikumist. Pärast liikumise jälgimist mitu sekundit määrab see esmase liikumisala ja kärbib raami sellele. See vähendab algoritmi töötlemiseks vajalike pikslite koguarvu. Seejärel jälgib CribSense kärbitud voos liikumise hulka ja annab häire, kui seadistatav aja jooksul liikumist ei tajuta. Perioodiliselt avab CribSense uuesti oma vaate, et jälgida täiskaadrit juhuks, kui laps on liikunud, ja kärbib ümber uue esmase liikumisala.
Video suurendust kasutatakse signaali ja müra suhte suurendamiseks peentes liigutustes, nagu imikute hingamine. Suuremate liigutuste jaoks pole see vajalik, kuid võib aidata väga peentel liigutustel. Pange tähele, et meie rakendamine põhineb lõdvalt MIT -i dokumentides kirjeldatud algoritmil ja ei toimi nii hästi kui nende omandikood.
Sellised optimeerimised nagu mitmekeelne lõime, adaptiivne kärpimine ja kompilaatori optimeerimine andsid meile vastavalt umbes 3x, 3x ja 1,2x kiirenduse. See võimaldas meil saavutada 10-kordse kiirenduse, mis on vajalik Pi-ga reaalajas töötamiseks.
Täielikud üksikasjad leiate CribSense'i hoidla tarkvaraarhitektuuri lehelt.
Kui olete huvitatud video suurendamisest, külastage MIT -i lehte.
Samm: riistvara ettevalmistamine: ühendage kaamera
Esiteks vahetage kaameraga kaasas olnud 6 -tolline kaabel 12 -tollise kaabliga. Selleks võite lihtsalt järgida seda juhendit, kuidas kaamera kaablit vahetada.
Kokkuvõttes näete kaamera tagaküljel lükkamis-/tõmbamiskaarti, mille saate paindkaabli vabastamiseks välja tõmmata. Asendage lühike kaabel pikemaga ja lükake sakk tagasi.
Märkate, et meie piltidel on 24 -tolline kaabel. See oli liiga pikk. Materjalide loendis olev 12 -tolline kaabel on palju mõistlikuma pikkusega.
Samm: riistvara ettevalmistamine: IR -LED
CribSense'i on suhteliselt lihtne ehitada ja see koosneb suures osas kaubanduslikult saadavatest osadest. Nagu ülaltoodud jooniselt näha, on 5 peamist riistvarakomponenti, millest ainult 2 on eritellimusel valmistatud. Sellel lehel käsitletakse IR -LED -ahela ehitamist ja järgmisel lehel käsitletakse šassii ehitamist.
Selle osa jaoks peate hankima jootekolvi, juhtmed, dioodid, IR -LED ja takisti. Ehitame skeemi, mis on näidatud teisel joonisel. Kui te pole jootmisega veel tuttav, siis siin on kena juhend, mis teid tabab. Kuigi selles juhendis käsitletakse aukudega jootmist, saate nende komponentide ühendamiseks kasutada samu põhitehnikaid, nagu on näidatud kolmandal joonisel.
Öösel piisava valgustuse tagamiseks kasutame IR -LED -i, mis pole inimsilmale nähtav, kuid NoIR -kaamerale nähtav. IR -LED ei tarbi palju energiat võrreldes Raspberry Pi -ga, seega jätame IR -LED lihtsuse huvides sisse.
Pi varasemates versioonides oli nende tihvtide maksimaalne voolutugevus 50 mA. Raspberry Pi B+ suurendas seda 500 mA -ni. Lihtsuse huvides kasutame aga lihtsalt 5V toitepinge, mis võivad toita kuni 1,5A. IR -valgusdioodi edasipinge on meie mõõtmiste kohaselt umbes 1,7 ~ 1,9 V. Kuigi IR -LED võib tõmmata 500 mA, ilma et see kahjustaks end ise, vähendame soojuse ja üldise energiatarbimise vähendamiseks voolu umbes 200 mA -ni. Katsetulemused näitavad ka, et IR -valgusdiood on piisavalt hele 200mA sisendvooluga. 5V ja 1,9V vahelise lõhe ületamiseks kasutame IR -LED -iga järjestikku kolme 1N4001 dioodi ja 1 oomi takistit. Pingelangus üle traadi, dioodide ja takisti on vastavalt umbes 0,2 V, 0,9 V (igaüks) ja 0,2 V. Seega on IR -LED -i pinge 5V - 0,2V - (3 * 0,9V) - 0,2V = 1,9V. Soojuse hajumine LED -i kohal on 0,18 W ja takisti kohal 0,2 W, mis kõik on maksimaalsete nimiväärtuste piires.
Aga me pole veel valmis! 3D -prinditud šassii paremaks sobitamiseks soovime, et IR LED -objektiiv ulatuks meie šassiist välja ja trükkplaat oleks auguga samal tasemel. Väike fotodiood paremas alanurgas takistab. Selle parandamiseks lammutame selle lahti ja pöörame tahvli vastasküljele, nagu on näidatud kahel viimasel fotol. Fotodioodi pole vaja, kuna soovime, et LED oleks alati sisse lülitatud. Lihtsalt selle vastasküljele lülitamine jätab esialgse LED -ahela muutumatuks.
Juhtmete külge jootmisel veenduge, et juhtmed on vähemalt 12 tolli pikad ja neil on tihvtide päised, mis võivad libiseda üle Pi GPIO -de.
Samm: riistvara ettevalmistamine: šassii
Allikafailid:
- Juhtum STL
- Juhtum Makerbot
- Kate STL
- Kaane Makerbot
Pi, kaamera ja LED -i majutamiseks kasutasime lihtsat 3D -trükitud šassii. Meie šassii kasutamine on valikuline, kuigi soovitatav, et väikelapsed ei puutuks kokku avatud elektroonikaga. Iga võrevoodi on erinev, seega ei sisalda meie šassii kinnitusklambrit. Mitmed paigaldusvõimalused võivad hõlmata järgmist:
- Kaablisidemed
- 3M topeltlukk
- Velcro
- Lint
Kui teil on juurdepääs MakerBoti replikatsioonile (5. põlvkond), saate lihtsalt korpuse ja kaane.makerbot failid MakerBoti replikaatorile alla laadida ja printida. Korpuse printimiseks kulub umbes 6 tundi ja kaane printimiseks 3 tundi. Kui kasutate teist tüüpi 3D -printerit, jätkake lugemist.
CribSense'i printimiseks on vaja minimaalset koostamismahtu 9,9 "(L) x 7,8" (W) x 5,9 "(H). Kui teil pole selle ehituse mahuga 3D -printerile juurdepääsu, saate kasutada veebipõhist 3D -printimist teenus (näiteks Shapeways või Sculpteo) CribSense'i printimiseks. Minimaalne printimisresolutsioon on 0,015 ". Kui kasutate sulatatud hõõgniidi valmistamise tüüpi 3D -printerit, tähendab see, et teie düüside läbimõõt peab olema 0,015 tolli või väiksem. Madalama printimisresolutsiooniga (suuremad düüside läbimõõdud) printerid võivad töötada, kuid Raspberry Pi ei pruugi šassiisse sobida. Soovitame eelistatud trükimaterjalina PLA -d (polüpiimhape). Muud plastid võivad töötada, kuid Raspberry Pi ei pruugi sobida juhul, kui valitud plasti soojuspaisumistegur on suurem kui PLA -l. Kui teie 3D -printeril on soojendusega ehitusplaat, lülitage enne jätkamist kütteseade välja.
Mudeli orienteerimine printeri ehitusplaadile on eduka printimise jaoks ülioluline. Need mudelid olid hoolikalt kavandatud, nii et neid ei ole vaja trükkida tugimaterjaliga, säästes seega plastikut ja parandades prindikvaliteeti. Enne jätkamist laadige korpuse ja kaane 3D -failid alla. Nende mudelite printimisel peab CribSense'i kael jääma ehitusplaadile. See tagab, et mudelite kõik üleulatuvad nurgad ei ületa 45 kraadi, seega puudub nõue tugimaterjali järele. Juhiseid 3D -mudelite orienteerimiseks oma printeri kogumahus leiate 3D -printeriga kaasasolevast kasutusjuhendist. Korpuse ja katte ehituse orientatsiooni näited on toodud ülal.
Lisaks sellele, et CribSense'i kael asetatakse tasase vastu ehitusplaati, võite märgata, et mudeleid pööratakse ümber vertikaaltelje. See võib olla vajalik mudeli sobitamiseks teie 3D -printeri kogumahuga. See pööramine on valikuline, kui teie kogumahu pikkus on CribSense'i jaoks piisavalt pikk.
6. samm: riistvara ettevalmistamine: kokkupanek
Kui kogu riistvara on valmis, võite alustada monteerimist. Selles protsessis võib kasutada mis tahes liimi, kuid soovitame kuuma liimi kahel peamisel põhjusel. Kuum liim kuivab kiiresti, nii et te ei pea liimi kuivamist kaua ootama. Lisaks on kuumliim vea korral eemaldatav. Kuivatatud kuuma liimi eemaldamiseks leotage kuuma liimi hõõruvas (isopropüülalkoholis). Soovitame kontsentratsiooni 90% või rohkem, kuid 70% kontsentratsioon töötab ikkagi. Kuivatatud kuuma liimi leotamine isopropüülalkoholis nõrgendab liimi ja aluspinna vahelist sidet, võimaldades liimi puhtalt maha koorida. Liimi isopropüülalkoholis leotamisel tuleb Raspberry Pi välja lülitada ja vooluvõrgust eemaldada. Enne kuuma liimi uuesti pealekandmist ja Raspberry Pi käivitamist laske kindlasti kõik kuivada.
Kõik nende sammude pildid on korras ja järgivad teksti samme.
- Sisestage Raspberry Pi šassii. Helipordi sisestamiseks peate seda veidi painutama, kuid kui see on sisse lülitatud, hoiab helipistik selle paigal. Kui see on paigas, veenduge, et kõikidele portidele on endiselt juurdepääs (nt saate toitekaabli ühendada).
- Seejärel kasutage Pi liimimiseks kuuma liimi ja kinnitage kaamera Pi külge. Seal on ka kruviaugud, kui eelistate neid kasutada.
- Nüüd liimige LED ja kaamera esikaanele (pildil). Alustuseks liimige NoIR kaamera kuumalt kaameraava külge. Veenduge, et kaamera on tihedalt kinnitatud ja ühendatud šassiiga. Ärge kasutage liiga palju liimi; vastasel juhul ei saa te kaamerat põhikorpusesse mahutada. Lülitage Pi kindlasti sisse ja vaadake kaamerat (näiteks raspistill -v), et veenduda, et see on hästi nurga all ja hea vaateväljaga. Kui ei, siis eemaldage kuum liim ja asetage see tagasi.
- Seejärel liimige IR -LED kaane kaela auku. Kael on võrevoodi külgvalgustuse suhtes 45 kraadise nurga all, mistõttu vähese valguse korral tekib rohkem varje. See lisab pildile rohkem kontrasti, muutes liikumise tuvastamise lihtsamaks.
- Kinnitage IR LED juhtmed Raspberry Pi päisepistikute külge, nagu on näidatud skemaatilisel pildil.
- Pakkige kaablid šassii nii, et need ei kortsuks ega pingutaks. Lõpetasime kaabli akordioni stiili voltimise, kuna meie kaamera paindkaabel oli liiga pikk.
- Kui kõik on kokku pandud, kuum liim servade ümber, kus kaks tükki kohtuvad, tihendades need oma kohale.
Samm: kalibreerimine
Üksikasju konfiguratsiooniparameetrite kohta leiate CribSense'i hoidla dokumentatsioonist. Vaadake ka videot, et näha näidet selle kohta, kuidas saate CribSense'i kalibreerida pärast seda, kui olete kõik seadistanud.
Siin on näide konfiguratsioonifailist:
[io]; I/O konfiguratsioon
; sisend = tee_fail; Sisendfail input_fps = 15 kasutamiseks; sisendi kaadrit / s (maksimaalselt 40, kaamera kasutamisel soovitatav 15) full_fps = 4,5; fps, mille korral saab täiskaadreid töödelda crop_fps = 15; fps, mille juures kärbitud kaadreid saab töödelda kaamera = 0; Kasutatav kaamera laius = 640; Sisendvideo kõrguse laius = 480; Sisendvideo kõrgus time_to_alarm = 10; Mitu sekundit enne äratust liikumata oodata. [kärpimine]; Adaptive Cropping Settings crop = tõene; Kas kärpida kaadreid_to_asett = 10; # kaadrit pärast lähtestamist oodata enne töötlemist roi_update_interval = 800; # kaadrit ROI ümberarvutamise vahel roi_window = 50; # kaadrit, mida jälgida enne ROI [motion] valimist; Liikumistuvastuse seaded erode_dim = 4; erodeerituuma mõõde dilate_dim = 60; laienenud kerneli mõõde diff_threshold = 8; enne muutuse kestuse äratundmist vajalik abs erinevus = 1; # kaadrit liikumise säilitamiseks enne tõelise piksli_läve = 5 märkimist; # pikslit, mis peavad olema erinevad, kui märkida liikumisshow_diff = false; kuvab erinevuse 3 kaadri vahel [suurendus]; Video suurendamise seaded võimendavad = 25; Soovitud võimendusprotsent % madal piirväärtus = 0,5; Ribalaiuse madal sagedus. kõrge piir = 1,0; Ribapääsme kõrge sagedus. lävi = 50; Faasilävi protsendina pi. show_magnification = vale; Näita iga suurenduse väljundraame [silumine] print_times = false; Prindi analüüsi ajad
Algoritmi kalibreerimine on korduv pingutus, ilma täpse lahenduseta. Soovitame teil katsetada erinevate väärtustega, kombineerides need silumisfunktsioonidega, et leida teie keskkonnale kõige sobivam parameetrite kombinatsioon. Enne kalibreerimise alustamist veenduge, et show_diff ja show_magnification on seatud väärtusele true.
Juhendina suurendab võimenduse ja faasi läve väärtuste suurendamine sisendvideole rakendatavat suurendust. Peaksite neid väärtusi muutma, kuni näete selgelt videokaadris liikumist, mida soovite jälgida. Kui näete esemeid, võib aidata faasi_läve vähendamine, säilitades sama võimenduse.
Liikumise tuvastamise parameetrid aitavad müra kompenseerida. Liikumispiirkondade tuvastamisel kasutatakse erode_dim ja dilate_dim liikumise kahjustamiseks ja laiendamiseks kasutatud OpenCV tuumade mõõtmete suuruse määramiseks nii, et müra esmalt väheneb, seejärel laiendatakse ülejäänud liikumissignaal oluliselt, et muuta liikumispiirkonnad ilmselgeks. Neid parameetreid võib olla vaja ka häälestada, kui teie võrevoodi on väga suure kontrastsusega. Üldiselt vajate suure kontrastsusega seadete jaoks suuremat erode_dim ja madalama kontrastsusega madalamat erode_dim.
Kui käivitate programmi CribSense parameetriga show_diff = true ja märkate, et liiga suur osa aku väljundist on valge või mõni video täiesti mitteseotud osa tuvastatakse liikumisena (nt vilkuv lamp), suurendage erode_dim väärtust seni, kuni ainult video osa teie beebile vastav valge osa on suurim. Esimene joonis näitab näidet, kus erodeerimismõõtmed on kaadris oleva liikumise jaoks liiga madalad, samas kui järgmine näitab hästi kalibreeritud kaadrit.
Kui see on kalibreeritud, veenduge, et pixel_threshold on seatud sellisele väärtusele, et "Pixel Movement" teataks ainult pikslite liikumise tippväärtusi ja mitte kõiki neid (mis tähendab, et peate müra välja lülitama). Ideaalis näete oma terminalis sellist väljundit, kus liikumisele on selge perioodiline muster:
[info] Pikslite liikumine: 0 [info] Liikumise hinnang: 1,219812 Hz
[info] Piksli liikumine: 0 [info] Liikumise hinnang: 1,219812 Hz [info] Piksli liikumine: 0 [info] Liikumise hinnang: 1,219812 Hz [info] Piksli liikumine: 0 [info] Liikumise hinnang: 1,219812 Hz [info] Piksli liikumine: 44 [info] Liikumise prognoos: 1,219812 Hz [info] Piksli liikumine: 0 [info] Liikumise prognoos: 1,219812 Hz [info] Piksli liikumine: 161 [info] Liikumise hinnang: 1,219812 Hz [info] Piksli liikumine: 121 [teave] Liikumise hinnang: 0,841416 Hz [info] Pikslite liikumine: 0 [info] Liikumise prognoos: 0,841416 Hz [info] Piksliliikumine: 86 [info] Liikumise hinnang: 0,841416 Hz [info] Piksli liikumine: 0 [info] Liikumise hinnang: 0,841416 Hz [info] Piksli liikumine: 0 [info] Liikumise hinnang: 0,841416 Hz [info] Piksli liikumine: 0 [info] Liikumise hinnang: 0,841416 Hz [info] Piksli liikumine: 0 [info] Liikumise hinnang: 0,841416 Hz [info] Piksli liikumine: 0 [info] liikumise prognoos: 0,841416 Hz [info] piksliliikumine: 0 [info] liikumise prognoos: 0,841416 Hz [info] piksli liikumine: 0 [info] liikumise hinnang: 0,841416 Hz [info] piksliliikumine ent: 0 [info] Liikumise prognoos: 0,841416 Hz [info] Piksli liikumine: 0 [info] Liikumise hinnang: 0,841416 Hz [info] Piksli liikumine: 0 [info] Liikumise hinnang: 0,841416 Hz [info] Piksli liikumine: 0 [teave] Liikumise hinnang: 0,841416 Hz [info] Pikslite liikumine: 0 [info] Liikumise prognoos: 0,841416 Hz [info] Piksliliikumine: 0 [info] Liikumise hinnang: 0,841416 Hz [info] Piksli liikumine: 0 [info] Liikumise prognoos: 0,841416 Hz [info] piksliliikumine: 0 [info] liikumise hinnang: 0,841416 Hz [info] piksli liikumine: 97 [info] liikumise hinnang: 0,841416 Hz [info] piksli liikumine: 74 [info] liikumise hinnang: 0,839298 Hz [info] piksel Liikumine: 0 [info] Liikumise hinnang: 0,839298 Hz [info] Piksli liikumine: 60 [info] Liikumise hinnang: 0,839298 Hz [info] Piksli liikumine: 0 [info] Liikumise hinnang: 0,839298 Hz [info] Piksli liikumine: 0 [teave] Liikumise hinnang: 0,839298 Hz [info] Pikslite liikumine: 0 [info] Liikumise prognoos: 0,839298 Hz [info] Pikslite liikumine: 0 [info] Liikumise hinnang: 0,839298 Hz [info] Piksli liikumine: 48 [teave] Liikumine Hinnang: 0,839298 Hz [info] Pikslite liikumine: 38 [info] Liikumise hinnang: 0,839298 Hz [info] Pikslite liikumine: 29 [info] Liikumise hinnang: 0,839298 Hz [info] Pikslite liikumine: 28 [info] Liikumise hinnang: 0,839298 Hz [info] Piksli liikumine: 22 [info] Liikumise hinnang: 0,839298 Hz [info] Piksli liikumine: 0 [info] Liikumise hinnang: 0,839298 Hz [info] Piksli liikumine: 0 [info] Liikumise hinnang: 0,839298 Hz [info] Piksli liikumine: 0 [info] Liikumise prognoos: 0,839298 Hz [info] Piksli liikumine: 0 [info] Liikumise hinnang: 0,839298 Hz
Kui teie väljund näeb välja rohkem selline:
[info] Pikslite liikumine: 921 [info] Liikumise hinnang: 1,352046 Hz
[info] Piksli liikumine: 736 [info] Liikumise prognoos: 1,352046 Hz [info] Piksli liikumine: 666 [info] Liikumise hinnang: 1,352046 Hz [info] Piksli liikumine: 663 [info] Liikumise hinnang: 1,352046 Hz [info] Piksli liikumine: 1196 [info] Liikumise prognoos: 1,352046 Hz [info] Pikslite liikumine: 1235 [info] Liikumise prognoos: 1,352046 Hz [info] Piksli liikumine: 1187 [info] Liikumise hinnang: 1,456389 Hz [info] Pikslite liikumine: 1115 [info] Liikumise prognoos: 1,456389 Hz [info] Pikslite liikumine: 959 [info] Liikumise prognoos: 1,456389 Hz [info] Piksli liikumine: 744 [info] Liikumise hinnang: 1,456389 Hz [info] Piksliliikumine: 611 [info] Liikumise hinnang: 1,456389 Hz [info] Piksli liikumine: 468 [info] Liikumise prognoos: 1,456389 Hz [info] Piksli liikumine: 371 [info] Liikumise hinnang: 1,456389 Hz [info] Piksli liikumine: 307 [info] Liikumise hinnang: 1,456389 Hz [info] Piksli liikumine: 270 [info] liikumise prognoos: 1,456389 Hz [info] piksliliikumine: 234 [info] liikumise hinnang: 1,456389 Hz [info] piksli liikumine: 197 [info] liikumise hinnang: 1,456389 Hz [info] Pikslite liikumine: 179 [info] Liikumise hinnang: 1,456389 Hz [info] Piksliliikumine: 164 [info] Liikumise hinnang: 1,456389 Hz [info] Piksli liikumine: 239 [info] Liikumise hinnang: 1,456389 Hz [info] Piksli liikumine: 733 [info] Liikumise hinnang: 1,456389 Hz [info] Piksli liikumine: 686 [info] Liikumise hinnang: 1,229389 Hz [info] Piksli liikumine: 667 [info] Liikumise hinnang: 1,229389 Hz [info] Piksli liikumine: 607 [info] Liikumise prognoos: 1,229389 Hz [info] Pikslite liikumine: 544 [info] Liikumise hinnang: 1,229389 Hz [info] Piksli liikumine: 499 [info] Liikumise prognoos: 1,229389 Hz [info] Piksli liikumine: 434 [info] Liikumise hinnang: 1,229389 Hz [info] Piksli liikumine: 396 [info] Liikumise hinnang: 1,229389 Hz [info] Piksli liikumine: 375 [info] Liikumise hinnang: 1,229389 Hz [info] Piksli liikumine: 389 [info] Liikumise hinnang: 1,229389 Hz [info] Piksli liikumine: 305 [info] Liikumise hinnang: 1,312346 Hz [info] Piksli liikumine: 269 [info] Liikumise hinnang: 1,312346 Hz [info] Piksli liikumine: 1382 [info] Liikumine E hinnang: 1,312346 Hz [info] Pikslite liikumine: 1086 [info] Liikumise hinnang: 1,312346 Hz [info] Piksliliikumine: 1049 [info] Liikumise hinnang: 1,312346 Hz [info] Piksliliikumine: 811 [info] Liikumise hinnang: 1,312346 Hz [info] Piksli liikumine: 601 [info] Liikumise hinnang: 1,312346 Hz [info] Piksli liikumine: 456 [info] Liikumise hinnang: 1,312346 Hz
Reguleerige pixel_threshold ja diff_threshold, kuni on näha ainult piigid ja muidu on pikslite liikumine 0.
8. samm: tutvustamine
Siin on väike demo, kuidas CribSense töötab. Peate ette kujutama, et see on võrevoodi küljele kinnitatud.
Kui asetate CribSense'i oma võrevoodi kohale, peate optimeerima imiku ja kaamera vahelise kauguse. Ideaalis täidab teie imiku rindkere vähem kui 1/3 raamist. Laps ei tohiks olla liiga kaugel, vastasel juhul on madala eraldusvõimega video võimeline suurendamiseks piisavalt üksikasju leidma. Kui kaamera on liiga lähedal, ei pruugi kaamera teie last näha, kui ta veereb või kaadrist välja liigub. Sarnaselt, kui laps on "telgitud" teki all, kus tekk ja lapse rindkere vahel on piiratud kontakt, võib liikumise tuvastamine olla keeruline. Pange need hästi sisse!
Samuti peaksite kaaluma võrevoodi ümbritsevat valgustust. Kui teie võrevoodi asub otse akna kõrval, võite saada liikuvaid varje või muutuda valgusväärtusi, kuna päike on pilvede poolt blokeeritud või kui aknast väljaspool liigutakse. Kusagil, kus on pidev valgustus, on parim.
Veel mõne tööga arvame, et keegi võiks meie tarkvara täiustada, nii et kalibreerimine oleks palju sujuvam protsess. Tulevikus võib lisada ka lisafunktsioone, nagu tõukemärguanded.
9. samm: tõrkeotsing
CribSense'i seadistamisel võib tekkida mõningaid levinud probleeme. Näiteks kui teil on probleeme programmi koostamise/käitamisega või ei kuule heli. Pidage meeles, et CribSense ei ole täiesti usaldusväärne beebimonitor. Paranduste tegemisel ootame kaastööd meie GitHubi hoidlasse!
Siin on mõned tõrkeotsingu näpunäited, mille oleme kogunud CribSense'i tegemise ajal.
Alarmi ei esitata
- Kas teie kõlarid töötavad?
- Kas saate mängida muid helisid Pi -st väljaspool CribSense'i äratust?
- Kui teie Pi proovib heli esitada HDMI kaudu, mitte helipordi kaudu? Kontrollige Raspberry Pi helikonfiguratsiooni lehte ja veenduge, et olete valinud õige väljundi.
- Kas CribSense tarkvara tuvastab liikumist? Kui CribSense töötab taustal, saate seda kontrollida terminalis journalctl -f.
- Kui CribSense tajub palju liikumist, peate võib -olla CribSense'i kalibreerima.
IR -LED ei tööta
- Kas IR -LED -i vaadates näete nõrka punast värvi? Kui valgusdiood põleb, peaks olema nähtav nõrk punane rõngas.
- Kontrollige ühenduste polaarsust. Kui +5V ja GND on vastupidised, siis see ei tööta.
- Ühendage LED toiteallikaga, mille pinge/vool on 5V/0,5A. Tavaliselt peaks see tarbima 0,2 A 5 V juures. Kui see nii ei ole, võib teie valgusdiood viga saada.
CribSense tuvastab liikumist, kuigi imikut pole
- Kas olete CribSense'i õigesti kalibreerinud?
-
Pidage meeles, et CribSense otsib lihtsalt muutusi piksliväärtustes
- Kas kaadris liiguvad varjud?
- Kas vilgub või muutub valgustus?
- Kas CribSense on paigaldatud stabiilsele pinnale (st miski, mis ei värise, kui inimesed sellest mööda kõnnivad)?
- Kas kaadris on muid liikumisallikaid (peeglid, mis püüavad peegeldusi jne)?
CribSense EI tuvasta liikumist, kuigi seal on liikumist
- Kas olete CribSense'i õigesti kalibreerinud?
- Kas kaameraga on midagi takistatud?
- Kas saate Raspberry Pi kaameraga üldse ühenduse luua? Kontrollige, käivitades terminalis raspistill -v, et avada Pi -l mõni sekund kaamera.
- Kui vaatate sudo systemctl oleku cribsense, kas CribSense tegelikult töötab?
- Kas teie imik on teki all, mis on telgis, nii et see ei kontakteeruks lapsega? Kui teki ja lapse vahel on märkimisväärsed õhuvahed, võib tekk liikumist varjata.
- Kas näete liikumist, kui videot rohkem võimendate?
- Kas näete liikumist, kui häälestate madal- ja kõrgsageduslülitusi?
- Kui see juhtub ainult vähese valguse korral, kas veendusite, et teie kalibreerimine töötab hämaras?
CribSense ei ehita
Kas installisite kõik sõltuvused?
Ma ei saa käsurealt käsklust käivitada
- Kas sisestasite kogemata tarkvara käivitamisel midagi valesti./autogen.sh --prefix =/usr --sysconfdir =/etc --disable-debug
- Kas võrevoodi on kaustas /usr /bin?
- Milline tee on ette nähtud, kui käivitate "millise hälli"?
Soovitan:
Kontaktivaba midi -kontroller: 6 sammu (piltidega)
Kontaktivaba midi-kontroller: asjade mittekontaktseks muutmine on tänapäeval olnud trend. Lõin lihtsa midi-kontrolleri, kasutades Arduino Pro micro ja mõnda IR-lähedusandurite tahvlit, millel on sisseehitatud võrdlus, see peaks olema üsna lihtne ja odav. See projekt on
Kontaktivaba purskkaev: 9 sammu (piltidega)
Kontaktivaba purskkaev: MCT üliõpilasena esimese kursuse lõpuks tehti mulle ülesandeks teha projekt, mis hõlmaks kõiki oskusi, mida olin aasta jooksul kursustel omandanud. Otsisin projekti, mis kontrolliks kõiki kehtestatud nõudeid minu õpetajate poolt ja
DIY kontaktivaba kätepuhastusvahendi dosaator ilma Arduino või mikrokontrollerita: 17 sammu (piltidega)
DIY kontaktivaba kätepuhastusvahendi dosaator ilma Arduino või mikrokontrollerita: Nagu me kõik teame, tabas COVID-19 puhang kogu maailma ja muutis meie elustiili. Sellises olukorras on alkohol ja käte desinfitseerimisvahendid elutähtsad vedelikud, kuid neid tuleb õigesti kasutada. Alkoholimahutite või käte desinfitseerimisvahendite puudutamine nakatunud kätega
LittleUnicorn: Raspberry Pi beebimonitor: 5 sammu
LittleUnicorn: Raspberry Pi beebimonitor: mul on noored kaksikud ja heliline beebimonitor rõhutab mind. Iga kord, kui see kustub, tekib mul närviline higi, kui see tähendab veel ühte magamata ööd. Nii et ma tegin väikese ükssarviku. See on visuaalne beebimonitor, mis on valmistatud: 2 x vaarikapisist, Pimoroni Unicorn H
Arduino beebimonitor Java -vaatajaga: 8 sammu (piltidega)
Arduino beebimonitor Java Vieweriga: looge ruumis valitsevate tingimuste jälgimiseks Arduino-põhine mitme anduriga seade. See seade tunneb niiskust, temperatuuri, liikumist ja heli. Lisatud on javapõhine vaataja, mis võtab arduinolt vastu jadaandmeid