Sadržaj:
- Korak 1: Preduvjeti
- Korak 2: Instaliranje softvera CribSense
- Korak 3: Priprema hardvera: Povežite kameru
- Korak 4: Priprema hardvera: IR LED
- 5. korak: Priprema hardvera: Šasija
- Korak 6: Priprema vašeg hardvera: Montaža
- Korak 7: Kalibracija
- Korak 8: Demonstracija
- Korak 9: Rješavanje problema
Video: CribSense: beskontaktni video nadzorni monitor za bebe: 9 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:36
CribSense je videokontakt, beskontaktni monitor za bebe koji možete sami izraditi, a da pritom ne pokvarite banku
CribSense je C ++ implementacija povećanja videozapisa podešena za rad na Raspberry Pi 3 modelu B. Tijekom vikenda možete postaviti vlastiti monitor za dječje krevete koji podiže alarm ako se vaše dijete prestane kretati. Kao bonus, sav softver je besplatan za korištenje u nekomercijalne svrhe i lako se proširuje.
Cijelo spremište koje sadrži izvorne datoteke i dokumentaciju može se pronaći na
Iako mislimo da je CribSense prilično zabavan, važno je zapamtiti da ovo zapravo nije certificiran, siguran uređaj za sigurnost. Odnosno, za rad mora biti pravilno konfiguriran i imati dobro kontrolirano okruženje. Na primjer, ako nije dobro kalibriran i/ili okruženje u videozapisu nije pogodno za povećanje videa, možda ga nećete moći koristiti. Napravili smo ovo kao zabavan projekt kako bismo vidjeli koliko bismo mogli imati kompjuterski težak softver poput povećanja videa koji radi na hardveru ograničenom na računanje, poput Raspberry Pi. Svaki pravi proizvod zahtijevao bi mnogo više testiranja nego mi. Dakle, ako koristite ovaj projekt, uzmite ga za ono što jest: kratko istraživanje povećanja videa na Pi -u.
Što će vam trebati:
Raspberry Pi + Camera + Konfiguracijski alati:
- Raspberry Pi 3 Model B
- 5V 2.5A Micro USB napajanje
- Modul kamere Raspberry Pi NoIR V2
- MicroSD kartica (koristili smo karticu Class 10 od 16 GB)
- Savitljivi kabel za Raspberry Pi kameru (12 ")
- Zvučnici s ulazom od 3,5 mm
- HDMI monitor
- USB tipkovnica
- USB miš
- [izborno] Raspberry Pi hladnjak (ako ste zabrinuti zbog topline, možete jedan od ovih staviti na svoj Pi)
IC LED krug za rad pri slabom osvjetljenju:
- [3x] 1N4001 diode
- 1 Ohm, 1W otpornik
- 1W IR LED
- 2 žice za spajanje LED diode na Pi
- Lemilica
Šasija:
- Pristup 3D pisaču (minimalni volumen izrade = 9,9 "D x 7,8" Š x 5,9 "V) za ispis naše šasije. Međutim, slobodno napravite svoj vlastiti.
- Ljepilo (bilo koja vrsta ljepila će raditi, ali vruće ljepilo se preporučuje za izradu prototipa).
Korak 1: Preduvjeti
Prije nego započnete naš korak-po-korak vodič, trebali ste već instalirati najnoviju verziju Raspbiana na svoju SD karticu i uvjeriti se da je vaš Pi funkcionalan. Također ćete morati omogućiti modul kamere da biste mogli pristupiti kameri.
Korak 2: Instaliranje softvera CribSense
CribSense ovisi o autoconf, libtool, OpenCV i libcanberra, kao i uobičajenim softverskim alatima.
- autoconf i libtool koriste se za automatsko konfiguriranje makefila i izradu skripti za CribSense na mnogim platformama (poput Linuxa, OSX -a i Raspberry Pi -a).
- OpenCV je moćan paket za računalni vid koji se koristi za obradu slike i osnova je koda za povećanje videa i detekcije pokreta. Ima veliku podršku, jednostavan je za korištenje i dobre performanse.
- libcanberra je jednostavna biblioteka za reprodukciju zvukova događaja. Koristi se za reprodukciju zvuka alarma za CribSense.
Posjetite njihove pojedinačne stranice kako biste saznali sve pojedinosti.
Instalirajte ih otvaranjem terminala na svom Pi -u i pokretanjem:
sudo apt-get install git build-essential autoconf libtool libopencv-dev libcanberra-dev
Zatim morate postaviti upravljački program kamere za automatsko učitavanje dodavanjem bcm2835-v4l2 u `/etc/modules-load.d/modules.conf`. Vaši moduli.conf trebali bi izgledati ovako:
# /etc /modules: moduli jezgre za učitavanje pri pokretanju.
# # Datoteka sadrži nazive jezgrenih modula koje bi trebalo učitati # u vrijeme pokretanja, jedan po retku. Redovi koji počinju s "#" zanemaruju se. i2c-dev bcm2835-v4l2
Nakon što je datoteka uređena, morate ponovno pokrenuti Pi. Ovaj upravljački program koristi CribSense za izravno izvlačenje okvira s NoIR kamere.
Zatim možete klonirati spremište pokretanjem:
git clone
Zatim prijeđite u spremište i izradite softver pokretanjem
cd CribSense
./autogen.sh --prefix =/usr --sysconfdir =/etc --disable-debug make sudo make install install sudo systemctl daemon-reload
Čestitamo, instalirali ste sav potreban softver!
Konfiguracija
CribSense se može prilagoditi pomoću jednostavne INI konfiguracijske datoteke. Nakon pokretanja `make install`, konfiguracijska datoteka nalazi se na /etc/cribsense/config.ini. Ove parametre možete pregledati i urediti pokretanjem
sudo nano /etc/cribsense/config.ini
Kratko objašnjenje svakog parametra dano je u zadanoj konfiguraciji, ali više detalja dostupno je na https://lukehsiao.github.io/CribSense/setup/config/. Također ćemo razgovarati o kalibraciji i konfiguraciji na kraju ovog vodiča.
Pokretanje CribSense -a
CribSense je dizajniran za pokretanje pri pokretanju pomoću usluge systemd. Dok ste na svoj Raspberry Pi povezani tipkovnicom i mišem, morate se pobrinuti da konfiguracijski parametri rade za vaš krevetić. Možda ćete morati ponovno podesiti ove parametre ako ih premjestite.
Dok podešavate parametre, možete pokrenuti cribsense po želji iz naredbenog retka pokretanjem
cribsense --config /etc/cribsense/config.ini
Nakon što ste zadovoljni, možete omogućiti automatsko pokretanje pokretanjem
sudo systemctl omogućiti cribsense
Možete spriječiti automatsko pokretanje cribsense pokretanjem
sudo systemctl onemogućiti cribsense
Pregled softvera
Srce i duša ovog projekta je softver CribSense. Vidjeli smo neke od sjajnih demonstracija video povećanja s MIT -a i htjeli smo isprobati sličan algoritam na Raspberry Pi. To je zahtijevalo više od 10x ubrzanja od rada tbl3rd-a na njegovoj C ++ implementaciji video povećanja kako bi se mogao izvoditi u stvarnom vremenu na Pi-u. Potrebne optimizacije vodile su naš dizajn softvera.
Na visokoj razini, CribSense opetovano prolazi kroz stroj za stanje softvera. Prvo dijeli svaki video okvir veličine 640x480 u sivim tonovima na 3 vodoravna dijela (640x160) radi bolje lokacije predmemorije. Zatim povećava svaki pojas u zasebnoj niti i prati kretanje vidljivo u kadru. Nakon nekoliko sekundi praćenja kretanja, određuje primarno područje kretanja i obrezuje okvir prema njemu. Time se smanjuje ukupni broj piksela koje algoritam treba obraditi. Zatim, CribSense nadzire količinu kretanja u izrezanom toku i oglašava alarm ako se gibanje ne opazi kroz određeno vrijeme. Povremeno će CribSense ponovno otvarati pogled kako bi nadzirao cijeli kadar u slučaju da se dijete pomaknulo i ponovno obrezalo novo primarno područje kretanja.
Povećanje videa koristi se za povećanje omjera signala i šuma suptilnih pokreta poput disanja dojenčadi. Ne bi bilo potrebno za veće pokrete, ali može pomoći za vrlo suptilne pokrete. Imajte na umu da se naša implementacija labavo temelji na algoritmu opisanom u MIT -ovim radovima i ne radi tako dobro kao njihov vlasnički kod.
Optimizacije poput višeslojnog, prilagodljivog obrezivanja i optimizacije prevoditelja donijele su nam približno 3x, 3x i 1,2x ubrzanje. To nam je omogućilo ubrzanje od 10x potrebno za pokretanje u stvarnom vremenu na Pi-u.
Potpuni detalji mogu se pronaći na stranici Arhitektura softvera u spremištu CribSense.
Ako ste zainteresirani za povećanje slike, posjetite stranicu MIT -a.
Korak 3: Priprema hardvera: Povežite kameru
Najprije morate zamijeniti 6 "kabel koji ste dobili uz kameru s 12" kabelom. Da biste to učinili, jednostavno slijedite ovaj vodič o tome kako zamijeniti kabel kamere.
Ukratko, vidjet ćete gurnuti/povući jezičak na stražnjoj strani fotoaparata koji možete izvući kako biste oslobodili fleksibilni kabel. Zamijenite kratki kabel s dužim i gurnite jezičak natrag.
Primijetit ćete da na našim slikama imamo kabel od 24 ". Bio je predug. Kabel od 12" na popisu materijala mnogo je razumnije duljine.
Korak 4: Priprema hardvera: IR LED
CribSense je relativno jednostavan za izgradnju i uglavnom se sastoji od komercijalno dostupnih dijelova. Kao što se vidi na gornjoj slici, postoji 5 glavnih hardverskih komponenti, od kojih su samo 2 po mjeri. Ova stranica će proći kroz način izgradnje IC LED sklopa, a sljedeća stranica će proučiti kako konstruirati šasiju.
Za ovaj dio trebate nabaviti lemilicu, žice, diode, IC LED i otpornik. Konstruirat ćemo krug prikazan na drugoj slici. Ako ste tek počeli s lemljenjem, evo lijepog vodiča koji će vas sustići. Iako se u ovom vodiču raspravlja o lemljenju kroz rupe, možete koristiti iste osnovne tehnike za povezivanje ovih komponenti zajedno kao što je prikazano na 3. slici.
Kako bismo osigurali primjereno osvjetljenje noću, koristimo IC LED, koja nije vidljiva ljudskom oku, ali je vidljiva NoIR kameri. IR LED ne troši puno energije u usporedbi s Raspberry Pi, pa ostavljamo IC LED uključen radi jednostavnosti.
U ranijim verzijama Pi -a, maksimalni strujni izlaz ovih pinova bio je 50mA. Raspberry Pi B+ povećao je to na 500mA. Međutim, radi jednostavnosti koristimo samo 5V priključke za napajanje koji mogu napajati do 1.5A. Prema našim mjerenjima, prednji napon IR LED je oko 1,7 ~ 1,9 V. Iako IR LED može izvući 500 mA bez oštećenja, mi smanjujemo struju na oko 200 mA kako bismo smanjili toplinu i ukupnu potrošnju energije. Eksperimentalni rezultati također pokazuju da je IR LED dovoljno svijetla s 200mA ulazne struje. Kako bismo premostili jaz između 5V i 1.9V, koristimo tri 1N4001 diode i 1 Ohm otpornik u nizu s IC LED. Pad napona na žici, diodama i otporniku je oko 0,2V, 0,9V (za svaku) odnosno 0,2V. Dakle, napon preko IC LED diode je 5V - 0.2V - (3 * 0.9V) - 0.2V = 1.9V. Rasipanje topline preko LED diode iznosi 0,18 W i 0,2 W preko otpornika, sve unutar svojih maksimalnih vrijednosti.
Ali još nismo završili! Kako bismo se bolje uklopili u 3D tiskano kućište, želimo da IR LED leća viri iz našeg kućišta i da PCB ploča bude u ravnini s rupom. Mala fotodioda u donjem desnom kutu će vam stati na put. Da bismo to riješili, odspojimo ga i okrenemo na suprotnu stranu ploče kao što je prikazano na posljednje dvije fotografije. Fotodioda nije potrebna jer želimo da LED uvijek svijetli. Jednostavnim prebacivanjem na suprotnu stranu izvorni LED krug ostaje nepromijenjen.
Prilikom lemljenja na žice, pazite da žice budu dugačke najmanje 12 inča i imaju pin zaglavlja koja mogu kliziti preko Pi -jevih GPIO -ova.
5. korak: Priprema hardvera: Šasija
Izvorne datoteke:
- Slučaj STL
- Case Makerbot
- Pokrijte STL
- Cover Makerbot
Koristili smo jednostavnu 3D tiskanu šasiju za smještaj Pi, kamere i LED diode. Korištenje našeg kućišta nije obavezno, iako se preporučuje kako bi se spriječilo da mala djeca dodiruju izložena elektronička kola. Svaka jaslica je drugačija, pa naša šasija ne uključuje držač za montažu. Nekoliko mogućnosti montaže može uključivati:
- Kabelske veze
- 3M dvostruka brava
- Čičak
- Traka
Ako imate pristup MakerBot Replikatoru (5. generacija), možete jednostavno preuzeti.makerbot datoteke za kućište i omot na svoj MakerBot Replikator te ispisati. Za ispis kućišta potrebno je oko 6 sati, a za naslovnicu 3 sata. Ako koristite drugu vrstu 3D pisača, nastavite čitati.
Za ispis CribSense -a potreban je minimalni volumen izrade od 9,9 "(D) x 7,8" (Š) x 5,9 "(V). Ako nemate pristup 3D pisaču s ovim volumenom izrade, možete koristiti mrežni 3D ispis usluga (kao što su Shapeways ili Sculpteo) za ispis CribSense -a. Minimalna razlučivost ispisa je 0,015 ". Ako koristite 3D pisač od taljenih vlakana, to znači da promjer vaše mlaznice mora biti 0,015 "ili manji. Pisači s nižom razlučivošću ispisa (veći promjeri mlaznica) mogu raditi, ali Raspberry Pi možda neće stati u kućište. Preporučujemo PLA (polilaktična kiselina) kao preferirani tiskarski materijal. Druge plastike mogu raditi, ali Raspberry Pi možda neće odgovarati u slučaju ako je koeficijent toplinskog širenja odabrane plastike veći od koeficijenta PLA. Ako vaš 3D pisač ima zagrijanu građevinsku ploču, isključite grijač prije nego nastavite.
Orijentacija modela na ploči za izradu vašeg pisača ključna je za uspješan ispis. Ovi su modeli pažljivo dizajnirani pa ih nije potrebno ispisivati s potpornim materijalom, čime se štedi plastika i poboljšava kvaliteta ispisa. Prije nego nastavite, preuzmite 3D datoteke za kućište i omot. Prilikom ispisa ovih modela vrat CribSense -a mora ležati ravno na ploči za izradu. Time se osigurava da svi kutovi prevjesa na modelima ne prelaze 45 stupnjeva, čime se uklanja zahtjev za potpornim materijalom. Upute o usmjeravanju 3D modela u volumenu vašeg pisača potražite u priručniku s uputama koji ste dobili s 3D pisačem. Primjeri za orijentaciju konstrukcije kućišta i poklopca prikazani su gore.
Osim što vrat CribSense -a stavljate ravno uz ploču za izradu, možete primijetiti da se modeli okreću oko okomite osi. To može biti potrebno kako bi se model uklopio u volumen izrade vašeg 3D pisača. Ova rotacija nije obavezna ako je duljina vašeg volumena izrade dovoljno duga da primi CribSense.
Korak 6: Priprema vašeg hardvera: Montaža
Nakon što ste pripremili sav hardver, možete započeti montažu. U ovom se procesu može koristiti bilo koje ljepilo, ali preporučujemo vruće ljepilo iz dva glavna razloga. Vruće ljepilo se brzo suši pa ne morate dugo čekati da se ljepilo osuši. Osim toga, vruće ljepilo se može ukloniti ako pogriješite. Da biste uklonili osušeno vruće ljepilo, namočite vruće ljepilo u trljajući (izopropil) alkohol. Preporučujemo 90% koncentraciju ili veću, ali 70% koncentracija će i dalje uspjeti. Natapanje osušenog vrućeg ljepila u izopropil alkoholu oslabit će vezu između ljepila i podloge, omogućujući vam da čisto odlijepite ljepilo. Prilikom natapanja ljepila u izopropilni alkohol, Raspberry Pi treba isključiti iz napajanja. Prije ponovnog nanošenja vrućeg ljepila i dizanja Raspberry Pi -a ostavite da se sve osuši.
Sve slike za ove korake su redom i slijede zajedno s tekstualnim koracima.
- Umetnite Raspberry Pi u kućište. Morat ćete ga malo savijati da biste utaknuli audio priključak, ali nakon što je umetnut, audio utičnica će ga zadržati na mjestu. Nakon što je postavljen, provjerite mogu li se pristupiti svim priključcima (npr. Možete priključiti kabel za napajanje).
- Zatim pomoću vrućeg ljepila pričvrstite Pi na mjesto i pričvrstite kameru na Pi. Postoje i rupe za vijke ako ih više volite koristiti.
- Sada zalijepite LED i kameru na prednji poklopac (na slici). Počnite vrućim lijepljenjem NoIR kamere na otvor za kameru. Uvjerite se da je kamera dobro pripijena i postavljena uz kućište. Nemojte koristiti previše ljepila; u protivnom nećete moći postaviti kameru u glavno kućište. Uključite Pi i pogledajte kameru (na primjer, `raspistill -v`) kako biste bili sigurni da je dobro nagnuta i ima dobro vidno polje. Ako nije, uklonite vruće ljepilo i ponovno ga postavite.
- Zatim zalijepite IC LED diodu na rupu na vratu poklopca. Vrat je pod kutom od 45 stupnjeva bočno osvijetlio krevetić, što rezultira većim sjenama u uvjetima slabog osvjetljenja. Ovo dodaje veći kontrast slici, olakšavajući otkrivanje pokreta.
- Priključite IC LED žice na zaglavlje Raspberry Pi zaglavlja kao što je prikazano na shematskoj slici.
- Spakirajte kabele u kućište na način da ih ne naborate i ne napnete. Na kraju smo složili kabelsku harmoniku jer je naš kabel za savijanje kamere bio predug.
- Uz sve ugurano, vruće ljepilo oko rubova gdje se dva dijela spajaju, brtveći ih na mjestu.
Korak 7: Kalibracija
Pojedinosti o konfiguracijskim parametrima mogu se pronaći u dokumentaciji spremišta CribSense. Pogledajte i video kako biste vidjeli primjer kako možete kalibrirati CribSense nakon što sve postavite.
Evo primjera konfiguracijske datoteke:
[io]; I/O konfiguracija
; input = path_to_file; Ulazna datoteka za korištenje input_fps = 15; fps ulaza (40 max, 15 preporučeno ako koristite kameru) full_fps = 4,5; fps pri kojima se mogu obrađivati puni okviri crop_fps = 15; fps pri kojima se mogu obraditi izrezani kadrovi camera = 0; Širina kamere = 640; Širina visine ulaznog videa = 480; Visina ulaznog video zapisa time_to_alarm = 10; Koliko sekundi čekati bez pokreta prije alarma. [obrezivanje]; Adaptive Cropping Settings crop = true; Hoće li se obrezati frame_to_settle = 10; # okvira za čekanje nakon resetiranja prije obrade roi_update_interval = 800; # okvira između ponovnog izračuna ROI -a roi_window = 50; # okvira za praćenje prije odabira ROI -a [kretanje]; Postavke otkrivanja pokreta erode_dim = 4; dimenzija erodirajuće jezgre dilate_dim = 60; dimenzija proširene jezgre diff_threshold = 8; aps razlika potrebna prije prepoznavanja trajanja promjene = 1; # okvira za održavanje kretanja prije označavanja true pixel_threshold = 5; # piksela koji se moraju razlikovati za označavanje kao motion show_diff = false; prikaz razlike između 3 okvira [povećanje]; Postavke povećavanja videa amplify = 25; % Pojačanja željena niska granična vrijednost = 0,5; Niska frekvencija pojasa. visoka granica = 1,0; Visoka frekvencija pojasa. prag = 50; Fazni prag kao % pi. show_magnification = false; Prikaži izlazne okvire svakog povećanja [ispravljanje pogrešaka] print_times = false; Ispis vremena analize
Kalibracija algoritma je iterativni napor, bez točnog rješenja. Potičemo vas da eksperimentirate s različitim vrijednostima, kombinirajući ih sa značajkama otklanjanja pogrešaka, kako biste pronašli kombinaciju parametara koji najviše odgovaraju vašem okruženju. Prije nego započnete kalibraciju, provjerite jesu li show_diff i show_magnification postavljeni na true.
Kao smjernica, povećanje vrijednosti pojačanja i faznog praga povećava količinu uvećanja primijenjenu na ulazni video. Te biste vrijednosti trebali mijenjati sve dok jasno ne vidite kretanje koje želite pratiti u okviru video zapisa. Ako vidite artefakte, moglo bi pomoći smanjenje faznog praga uz zadržavanje istog pojačanja.
Parametri detekcije pokreta pomažu u kompenzaciji buke. Prilikom otkrivanja područja gibanja, erode_dim i dilate_dim koriste se za određivanje dimenzija OpenCV jezgri koje se koriste za nagrizanje i širenje kretanja tako da se šum prvo erodira, a zatim se preostali signal kretanja značajno proširi kako bi područja kretanja postala očita. Ove će se parametre možda također morati prilagoditi ako je vaš krevetić u postavkama vrlo visokog kontrasta. Općenito, za postavke visokog kontrasta trebat će vam veći erode_dim, a za niži kontrast manji erode_dim.
Ako pokrenete CribSense s show_diff = true i primijetite da je previše izlaza akumulatora bijelo ili se neki potpuno nepovezani dio videozapisa otkrije kao kretanje (npr. Trepereća svjetiljka), povećajte erode_dim do samo dijela videozapisa koji odgovara vašoj bebi najveći je dio bijele boje. Prva slika prikazuje primjer gdje je dimenzija erozije premala za količinu kretanja u okviru, dok sljedeća prikazuje dobro kalibrirani okvir.
Nakon što je to kalibrirano, provjerite je li pixel_threshold postavljen na vrijednost tako da "Pixel Movement" izvješćuje samo o najvećim vrijednostima kretanja piksela, a ne o svim (što znači da morate isključiti šum). U idealnom slučaju, ovakav izlaz ćete vidjeti na svom terminalu, gdje postoji jasan periodični uzorak koji odgovara kretanju:
[info] Pokret piksela: 0 [info] Procjena kretanja: 1.219812 Hz
[info] Pokret piksela: 0 [info] Procjena gibanja: 1.219812 Hz [info] Pokret piksela: 0 [info] Procjena gibanja: 1.219812 Hz [info] Pokret piksela: 0 [info] Procjena kretanja: 1.219812 Hz [info] Pokret piksela: 44 [info] Procjena gibanja: 1.219812 Hz [info] Pokret piksela: 0 [info] Procjena gibanja: 1.219812 Hz [info] Kretanje piksela: 161 [info] Procjena kretanja: 1.219812 Hz [info] Pokret piksela: 121 [info] Procjena gibanja: 0,841416 Hz [info] Pokret piksela: 0 [info] Procjena kretanja: 0,841416 Hz [info] Pokret piksela: 86 [info] Procjena kretanja: 0,841416 Hz [info] Pokret piksela: 0 [info] Procjena kretanja: 0,841416 Hz [info] Pokret piksela: 0 [info] Procjena kretanja: 0,841416 Hz [info] Pokret piksela: 0 [info] Procjena gibanja: 0,841416 Hz [info] Pokret piksela: 0 [info] Procjena kretanja: 0,841416 Hz [info] Pokret piksela: 0 [info] Procjena kretanja: 0,841416 Hz [info] Pokret piksela: 0 [info] Procjena gibanja: 0,841416 Hz [info] Kretanje piksela: 0 [info] Procjena kretanja: 0,841416 Hz [info] Pixel Movem ulaz: 0 [info] Procjena kretanja: 0,841416 Hz [info] Pokret piksela: 0 [info] Procjena gibanja: 0,841416 Hz [info] Pokret piksela: 0 [info] Procjena kretanja: 0,841416 Hz [info] Pokret piksela: 0 [info] Procjena gibanja: 0,841416 Hz [info] Pokret piksela: 0 [info] Procjena kretanja: 0,841416 Hz [info] Kretanje piksela: 0 [info] Procjena gibanja: 0,841416 Hz [info] Pomicanje piksela: 0 [info] Procjena gibanja: 0,841416 Hz [info] Kretanje piksela: 0 [info] Procjena kretanja: 0,841416 Hz [info] Pomicanje piksela: 97 [info] Procjena kretanja: 0,841416 Hz [info] Kretanje piksela: 74 [info] Procjena kretanja: 0,839298 Hz [info] Pixel Pokret: 0 [info] Procjena kretanja: 0,839298 Hz [info] Pokret piksela: 60 [info] Procjena gibanja: 0,839298 Hz [info] Pokret piksela: 0 [info] Procjena kretanja: 0,839298 Hz [info] Pomicanje piksela: 0 [info] Procjena kretanja: 0,839298 Hz [info] Pokret piksela: 0 [info] Procjena gibanja: 0,839298 Hz [info] Kretanje piksela: 0 [info] Procjena kretanja: 0,839298 Hz [info] Pokret piksela: 48 [info] Pokret Procjena: 0,839298 Hz [info] Pokret piksela: 38 [info] Procjena kretanja: 0,839298 Hz [info] Pokret piksela: 29 [info] Procjena gibanja: 0,839298 Hz [info] Pomicanje piksela: 28 [info] Procjena gibanja: 0,839298 Hz [info] Pokret piksela: 22 [info] Procjena gibanja: 0,839298 Hz [info] Pokret piksela: 0 [info] Procjena gibanja: 0,839298 Hz [info] Pokret piksela: 0 [info] Procjena kretanja: 0,839298 Hz [info] Pokret piksela: 0 [info] Procjena kretanja: 0,839298 Hz [info] Kretanje piksela: 0 [info] Procjena kretanja: 0,839298 Hz
Ako vaš ispis više izgleda ovako:
[info] Pokret piksela: 921 [info] Procjena kretanja: 1,352046 Hz
[info] Pokret piksela: 736 [info] Procjena gibanja: 1.352046 Hz [info] Kretanje piksela: 666 [info] Procjena gibanja: 1.352046 Hz [info] Pokret piksela: 663 [info] Procjena kretanja: 1.352046 Hz [info] Pokret piksela: 1196 [info] Procjena gibanja: 1.352046 Hz [info] Pokret piksela: 1235 [info] Procjena gibanja: 1.352046 Hz [info] Pokret piksela: 1187 [info] Procjena kretanja: 1.456389 Hz [info] Pokret piksela: 1115 [info] Procjena gibanja: 1.456389 Hz [info] Pomicanje piksela: 959 [info] Procjena kretanja: 1.456389 Hz [info] Pomicanje piksela: 744 [info] Procjena gibanja: 1.456389 Hz [info] Pomicanje piksela: 611 [info] Procjena gibanja: 1.456389 Hz [info] Pokret piksela: 468 [info] Procjena gibanja: 1.456389 Hz [info] Pokret piksela: 371 [info] Procjena kretanja: 1.456389 Hz [info] Pokret piksela: 307 [info] Procjena kretanja: 1.456389 Hz [info] Pokret piksela: 270 [info] Procjena gibanja: 1.456389 Hz [info] Pokret piksela: 234 [info] Procjena gibanja: 1.456389 Hz [info] Kretanje piksela: 197 [info] Procjena kretanja: 1.456389 Hz [info] Pokret piksela: 179 [info] Procjena gibanja: 1.456389 Hz [info] Pokret piksela: 164 [info] Procjena gibanja: 1.456389 Hz [info] Pokret piksela: 239 [info] Procjena gibanja: 1.456389 Hz [info] Pokret piksela: 733 [info] Procjena gibanja: 1.456389 Hz [info] Kretanje piksela: 686 [info] Procjena kretanja: 1.229389 Hz [info] Pokret piksela: 667 [info] Procjena kretanja: 1.229389 Hz [info] Pokret piksela: 607 [info] Procjena gibanja: 1.229389 Hz [info] Kretanje piksela: 544 [info] Procjena gibanja: 1.229389 Hz [info] Kretanje piksela: 499 [info] Procjena kretanja: 1.229389 Hz [info] Kretanje piksela: 434 [info] Procjena kretanja: 1.229389 Hz [info] Pokret piksela: 396 [info] Procjena gibanja: 1.229389 Hz [info] Pokret piksela: 375 [info] Procjena gibanja: 1.229389 Hz [info] Pokret piksela: 389 [info] Procjena gibanja: 1.229389 Hz [info] Pokret piksela: 305 [info] Procjena gibanja: 1.312346 Hz [info] Kretanje piksela: 269 [info] Procjena kretanja: 1.312346 Hz [info] Pokret piksela: 1382 [info] Pokret E stimate: 1.312346 Hz [info] Pokret piksela: 1086 [info] Procjena gibanja: 1.312346 Hz [info] Pokret piksela: 1049 [info] Procjena gibanja: 1.312346 Hz [info] Kretanje piksela: 811 [info] Procjena gibanja: 1.312346 Hz [info] Kretanje piksela: 601 [info] Procjena kretanja: 1.312346 Hz [info] Kretanje piksela: 456 [info] Procjena kretanja: 1.312346 Hz
Prilagodite pixel_threshold i diff_threshold dok se ne vide samo vrhovi, a u suprotnom je kretanje piksela 0.
Korak 8: Demonstracija
Evo male demonstracije kako CribSense radi. Morat ćete zamisliti da je ovo pričvršćeno sa strane krevetića.
Kad postavite CribSense iznad vašeg krevetića, morat ćete optimizirati udaljenost između dojenčeta i fotoaparata. U idealnom slučaju, grudi vašeg djeteta napuniće manje od 1/3 okvira. Dijete ne smije biti predaleko, inače će se video niske rezolucije boriti da pronađe dovoljno detalja za povećanje. Ako je kamera preblizu, fotoaparat možda neće moći vidjeti vaše dijete ako se otkotrlja ili se pomakne iz okvira. Slično, ako je dijete ispod "šatoraste" deke, gdje postoji ograničen kontakt između deke i djetetovih prsa, može biti teško otkriti kretanje. Dobro ih ugurajte!
Također ćete htjeti razmotriti stanje osvjetljenja oko vašeg krevetića. Ako je vaš krevetić odmah do prozora, možda ćete dobiti pokretne sjene ili promijeniti svjetlosnu vrijednost jer sunce zaklanjaju oblaci ili se kretanje događa izvan prozora. Negdje s dosljednom rasvjetom je najbolje.
Uz još malo rada, mislimo da bi netko mogao poboljšati naš softver tako da je kalibracija mnogo glatkiji proces. U budućnosti bi se mogle dodati i dodatne značajke poput push obavijesti.
Korak 9: Rješavanje problema
Prilikom postavljanja CribSense -a možete naići na nekoliko uobičajenih problema. Na primjer, imate problema pri izgradnji/pokretanju programa ili ne čujete zvuk. Upamtite, CribSense nije savršeno pouzdan monitor za bebe. Pozdravljali bismo doprinose na našem GitHub spremištu dok unosite poboljšanja!
Evo nekoliko savjeta za rješavanje problema koje smo prikupili pri izradi CribSense -a.
Ne oglašava se alarm
- Rade li vam zvučnici?
- Možete li reproducirati druge zvukove s Pi izvan alarma CribSense?
- Ako vaš Pi pokušava reproducirati zvuk putem HDMI -a, a ne putem audio priključka? Provjerite stranicu Raspberry Pi Audio Configuration kako biste bili sigurni da ste odabrali ispravan izlaz.
- Otkriva li softver CribSense kretanje? Ako CribSense radi u pozadini, možete provjeriti pomoću journalctl -f u terminalu.
- Ako CribSense osjeća puno kretanja, možda ćete morati kalibrirati CribSense.
IR LED ne radi
- Možete li vidjeti slabu crvenu boju kada pogledate IC LED? Slab crveni prsten trebao bi biti vidljiv kada je LED uključena.
- Provjerite polaritet spojeva. Ako su +5V i GND obrnuti, neće raditi.
- Spojite LED na napajanje s ograničenjem napona/struje od 5V/0.5A. Normalno, trebao bi trošiti 0,2A na 5V. Ako se to ne dogodi, vaša LED dioda možda ne radi.
CribSense detektira kretanje iako nema dojenčeta
- Jeste li pravilno kalibrirali CribSense?
- Upamtite, CribSense samo traži promjene u vrijednostima piksela
- Postoje li sjene u okviru?
- Postoji li treperenje ili promjena osvjetljenja?
- Je li CribSense montiran na stabilnu površinu (tj. Nešto što se neće tresti ako ljudi prolaze pored njega)?
- Postoje li neki drugi izvori kretanja u okviru (ogledala koja hvataju refleksije itd.)?
CribSense NE detektira kretanje iako postoji
- Jeste li pravilno kalibrirali CribSense?
- Ima li što na putu kamere?
- Možete li se uopće povezati s kamerom s Raspberry Pi -a? Provjerite pokretanjem raspistill -v u terminalu da biste otvorili kameru na Pi na nekoliko sekundi.
- Ako pogledate sudo systemctl status cribsense, radi li zapravo CribSense?
- Je li vaše dijete pod pokrivačem koji je "podignut" tako da ne ostvaruje kontakt s djetetom? Ako postoje značajni zračni zazori između deke i djeteta, deka može prikriti kretanje.
- Možete li vidjeti kretanje ako pojačate video?
- Možete li vidjeti kretanje ako podesite granične vrijednosti niske i visoke frekvencije?
- Ako se to događa samo pri slabom osvjetljenju, jeste li bili sigurni da kalibracija radi pri slabom osvjetljenju?
CribSense se ne gradi
Jeste li instalirali sve ovisnosti?
Ne mogu pokrenuti cribsense iz naredbenog retka
- Jeste li tijekom pokretanja softvera slučajno nešto pogrešno napisali./autogen.sh --prefix =/usr --sysconfdir =/etc --disable-debug?
- Je li cribsense prisutan u /usr /bin?
- Koji je put omogućen ako pokrenete "which cribsense"?
Preporučeni:
Beskontaktni midi kontroler: 6 koraka (sa slikama)
Midi kontroler bez kontakta: U današnje vrijeme trend je učiniti beskontaktnim. Napravio sam jednostavan midi kontroler koristeći Arduino Pro micro i neku ploču za detektore IR-blizine koja ima ugrađeni usporednik, to bi trebalo biti dostupno prilično jednostavno i jeftino. Ovaj projekt može
Koristite pametni telefon kao beskontaktni termometar / prijenosni termometar: 8 koraka (sa slikama)
Koristite pametni telefon kao beskontaktni termometar / prijenosni termometar: Mjerenje tjelesne temperature beskontaktnim / beskontaktnim poput termo pištolja. Napravio sam ovaj projekt jer je Thermo Gun sada jako skup, pa moram pronaći alternativu za izradu DIY -a. A svrha je napraviti s niskobudžetnom verzijom.SuppliesMLX90614Ardu
Brojač radioaktivnosti (IoT) i nadzorni ekosustav: 6 koraka (sa slikama)
Brojač radioaktivnosti (IoT) i ekosustav za praćenje: Status: Neobjavljeno. Posljednje ažuriranje firmvera C-GM 10. lipnja 2019. s novom verzijom 1.3 Zadnja nadogradnja aplikacije GM-GM 25. studenog 2019. s novom verzijom 1.3. 50 USD/43 €) Projekt C-GM Counter pruža hardver i firmver za izgradnju
Beskontaktni detektor napona: 5 koraka (sa slikama)
Beskontaktni detektor napona: U ovom uputstvu pokazat ću vam kako možete izgraditi beskontaktni detektor napona za provjeru žica pod naponom. Korišteni alati i materijali (partnerske veze): Tranzistori http://s.click.aliexpress.com /e/bWomecjILEDs http://s.click.aliexpress.com/e
Beskontaktni detektor napona: 15 koraka (sa slikama)
Beskontaktni detektor napona: 3 načina izgradnje vlastitog beskontaktnog detektora napona za manje od dolara Uvod ------------ Kada se električnom energijom ne rukuje pravilno, dolazi do električnih udara s neugodnim iskustvom; zbog čega sigurnost mora biti na prvom mjestu pri radu