Përmbajtje:

Kush është në derë, një sistem kamera i aktivizuar nga Alexa: 3 hapa
Kush është në derë, një sistem kamera i aktivizuar nga Alexa: 3 hapa

Video: Kush është në derë, një sistem kamera i aktivizuar nga Alexa: 3 hapa

Video: Kush është në derë, një sistem kamera i aktivizuar nga Alexa: 3 hapa
Video: НЕ ВЗДУМАЙ снимать аккумулятор с машины. Делай это ПРАВИЛЬНО ! 2024, Korrik
Anonim
Kush është në derë, një sistem kamera i aktivizuar nga Alexa
Kush është në derë, një sistem kamera i aktivizuar nga Alexa
Kush është në derë, një sistem kamera i aktivizuar nga Alexa
Kush është në derë, një sistem kamera i aktivizuar nga Alexa
Kush është në derë, një sistem kamera i aktivizuar nga Alexa
Kush është në derë, një sistem kamera i aktivizuar nga Alexa

Ndonjëherë ndërsa shikoni TV nuk doni të përgjigjeni në derë nëse nuk është e rëndësishme. Ky projekt ju lejon të shihni personin në derë thjesht duke i thënë pajisjes Amazon Echo "Alexa, ndiz monitorin e derës". Ju shikoni se kush shfaqet në ekranin e televizorit, pastaj ktheheni në programin normal televiziv "Alexa, ndez televizorin". Sistemi gjithashtu mund të jetë me vlerë për të rriturit më të vjetër ose fëmijët që do të ishin të prekshëm nga përfitimet nga shitësit, hajdutët dhe të ngjashmit. Kjo lejon që televizori me ekran të madh të sistemit tuaj argëtues të jetë monitor i ekranit të kamerës jo vetëm për kamerën e derës së përparme, por për çdo kamera tjetër të sigurisë që mund të keni; në fakt madje mund të zgjerohet për të shfaqur video nga kamerat e internetit, si kamerat e plazhit, etj.

Pjesët:

Sistemi i argëtimit:

TV me disa hyrje HDMI (shumica e televizorëve i kanë ato)

Kabllo ose kuti DVR

Ruteri dhe lidhja e internetit përmes kutisë kabllore (mund të mos jetë e nevojshme nëse keni WiFi)

Amazon Echo ("Alexa")

Harmony Hub

Kamera (t)

Kamera IP në derën e përparme (preferohet lloji Power Over Ethernet -POE)

Raspberry Pi3 në një kuti projekti (Pi origjinal mund të funksionojë) me kabllo HDMI

Arduino Pro Mini 8 Mhz, 3.3v

Moduli IR (llojet më të zakonshme do të funksionojnë)

Hapi 1: Konfigurimi, Programimi Paraprak (testimi)

Konfigurimi, Programimi Paraprak (testimi)
Konfigurimi, Programimi Paraprak (testimi)
Konfigurimi, Programimi Paraprak (testimi)
Konfigurimi, Programimi Paraprak (testimi)
Konfigurimi, Programimi Paraprak (testimi)
Konfigurimi, Programimi Paraprak (testimi)

Ky projekt mbështetet në Pi3 omxplayer i cili deshifron video me përshpejtim të harduerit. Omxplayer mund të testohet nga një linjë komande në terminalin Pi duke përdorur formatin e duhur rtsp: // user@password@ipaddress që kërkon kamera juaj. Pi duhet të lidhet me Ethernet (megjithëse Pi3 mund të lidhet edhe me WiFi, por jo i testuar) dhe të jetë fizikisht i vendosur në qendrën argëtuese, kështu që kablloja dalëse e Pi Pi HDMI mund të arrijë në folenë hyrëse të TV HDMI. Moduli Arduino dhe IR do të lidhen me Pi dhe do të transmetojnë informacionin e marrë nga leximi i shtypjeve të butonave të telekomandës së televizorit. Pi mund ta bëjë këtë deshifrim direkt nga moduli IR, por unë jam më i mirë në programimin Arduino sesa programimi Python dhe përveç kësaj kursen burimet e procesorit për detyrën kryesore të Pi për të deshifruar rrjedhën (et) e videos.

Meqenëse sistemi im i sigurisë ka kamera të shumta, kam përdorur ekranin e monitorimit të mbështetur nga Pi si një mënyrë për të shfaqur 4 kamera në të njëjtën kohë, plus shfaqjen e kamerave individuale në ekran të plotë. Ndiqni ato udhëzime, megjithatë me siguri do të keni shumë probleme që kamerat të shfaqen në mënyrë të qëndrueshme.

Një nga problemet është se 4 madhësitë e dritareve të listuara në program mund të mos i përshtaten rezolucionit tuaj të veçantë të televizorit. Gjeni se çfarë rezolucioni mbështet monitori juaj duke vënë në dukje rezolucionin e kamerës që kanë kamerat tuaja. Shumica e kamerave IP kanë një transmetim me rezolucion të lartë (1080p) dhe një rezolucion të ulët (640x480), kështu që nëse dëshironi vetëm një video me rezolucion të lartë të derës së përparme, shkoni me rrjedhën me rezolucion të lartë rtsp: // format. Shkoni me rrjedhën me rezolucion të ulët për kamerat në 4 kuadrate, nuk do të vini re shumë ndryshim me madhësitë më të vogla të figurës. Mund të shkoni me madhësitë e dritareve të skriptit tim bash (test.sh) (në modalitetin e rezolucionit 1080p, duke shfaqur 4 kamera me madhësi të barabartë 640x480 të shkallëzuara për t'u përshtatur). Përndryshe, përdorni letër grafike për të paraqitur pikselët e televizorit tuaj dhe më pas vizatoni sa drejtkëndësha dëshironi në atë zonë. Tjetra gjeni sa video 640x480 do të përshtaten pa ndryshuar shumë aspekt (shtrirja horizontale duket më mirë sesa vertikalisht). Nuk më pëlqejnë kufijtë, kështu që nuk i llogaris ato. Numëroni drejtkëndëshat nga lart majtas poshtë poshtë djathtas 1, 2, 3..etj. Pastaj bëni një kolonë të numrave të dritares, për secilën rresht të atyre numrave shënoni sipër majtas x, piksel y dhe piksel poshtë djathtas x, y. Ata numra pastaj zëvendësohen në skenar për të marrë një ekran të personalizuar, nëse dëshironi, mund të keni një ekran 3 x 3. Nëse dëshironi vetëm një ekran, thjesht komentoni 3 kamerat e tjera dhe bëni madhësinë e dritares me rezolucionin e ekranit të plotë (dhe përdorni rrjedhën rtsp me rezolucion të lartë) dhe titullojeni skenarin "test1.sh". Bëni sa më shumë skripta që dëshironi, programi btn.py Python do t'i thërrasë ato kur kunjat e GPIO ndryshojnë nga Arduino.

Një problem në marrjen e një ekrani të qëndrueshëm (në majë të imazhit të mirë, por vija vertikale më të ulëta të imazhit) është se shumë kamera transmetojnë shumë më mirë duke përdorur rtsp mbi tcp (unë përdor kamera IP Hikvision 2 deri në 5 Mp). Prandaj, përdorni "--avdict rtsp_transport: tcp" në omxplayer siç tregohet. Komanda të tjera të dobishme të omxplayer janë volumi (--vol -6000 për heshtjen) dhe tamponi (-radhë video x) ku x = 1 ose më shumë.

Cilësimet e kamerës IP gjithashtu mund të shkaktojnë probleme me omxplayer. Të gjitha kamerat IP duhet të vendosen në të njëjtat korniza për sekondë ose fotografia do të prishet. Kur vendoset në norma kornizash krejtësisht të ndryshme, koha e shfaqur në një pullë kohore të kamerës në të vërtetë shkoi prapa për disa sekonda, pastaj përpara pastaj prapa, etj. Sigurohuni që dritaret tuaja omxplayer të mos mbivendosen, ose pjesa e mbivendosur do të dridhet.

Hapi 2: Vendosja së bashku

Duke e vënë atë së bashku
Duke e vënë atë së bashku

Ju mund të kontrolloni manualisht kutinë kabllore dhe TV për të lejuar që Pi të shfaqë kamerën e derës së përparme. Sidoqoftë, kjo kërkon mjaft shtypje të butonave, përfshirë kalimin e duhur të telekomandës universale nga modaliteti kabllor në modalitetin TV për të lejuar ndryshimin e burimit të hyrjes HDMI në dekoduesin e kamerës Pi (HDMI 2). Nëse doni aftësinë për të shfaqur ekrane shtesë të kamerës, atëherë gjithashtu duhet të kaloni telekomandën universale në AUX për të kontrolluar Arduino dhe kështu zgjedhjen e kamerës Pi. Për të thjeshtuar këtë proces, përdorni një Harmony Hub dhe aplikacionin Harmony për smartphone, duke e mësuar atë të kontrollojë TV dhe kabllon për shikimin normal të TV në një Aktivitet, pastaj të krijojë një Aktivitet tjetër për të kontrolluar video monitorin Pi. Aktiviteti përfshin ndezjen e televizorit, hyrjen e televizorit në HDMI 2 dhe kontrollin e butonave virtualë të NECx TV (dmth., Arduino dhe Pi) 0 deri në 5. Kjo ju lejon të kontrolloni gjithçka përmes aplikacionit smartphone të Harmony. Për t'i bërë gjërat edhe më të lehta, lidhni aplikacionin Amazon Echo Dot (Alexa) me aplikacionin Harmony për të kontrolluar me zë funksionet e monitorimit të televizorit ose derës. Faqja e internetit Harmony ofron detaje se si të aktivizoni këto aftësi të reja Alexa. Aftësi të reja. Pasi lidhen me aftësitë e reja Alexa, fjalët kyçe si "Ndiz TV" ose "Ndiz monitorin e derës" do të mundësojnë veprimet e duhura pa pasur nevojë për IR nga telekomanda universale.

Pi lidhet përmes Ethernet me LAN -in tuaj, dhe nëpërmjet kabllit HDMI me televizorin. Unë instalova një Pro Mini 3.3 volt përmes telave në Pi si një opsion për të shtuar ndërrimin shtesë të kamerës. Pro Mini mund të mundësohet nga kunja 3.3 volt e Pi. Një modul IR lidhet me kunjin 2 të Arduino, dhe skica e bashkangjitur dekodon shtypjen e butonit 0 në 5 (në fakt 0 deri në 9, por disa kunja Arduino nuk janë lidhur akoma). Daljet Arduino lidhen me pinet dixhitale GPIO të Pi, ku një ndërprerje e shkrimit bash përcakton se cili "buton" është shtypur, pastaj ndalon një opsion të pamjes së ekranit dhe fillon një tjetër.

Kutia ime kabllore është nga Spectrum (më parë Time Warner Cable), e cila është një model Motorola DVR DCX3510. Ai përdor protokollin GI Cable për IR. Televizori Sony përdor protokollin Sony 2. Mendova se njëri ose tjetri nga ato kode do të ishte mirë të kontrollonte marrësin Pi IR dhe ose funksionoi, edhe pse doli të mos ishte praktik. Telekomanda do të priste komanda shtesë, ose do të ndryshonte automatikisht burimin e hyrjes gjithashtu kur të ishte shtypur një buton 0 deri në 9. Prandaj, më është dashur të përdor një kod tjetër që nuk do të ndërveprojë me akorduesin kabllor ose televizorin. Kam gjetur se telekomanda ime universale kishte një kod të programuar më parë për një pajisje AUX (nuk e di se çfarë kontrollonte) dhe vendosa ta përdor atë. Kodet e prodhuara thanë se përdorte NECx, një kod 32 bit, kështu që unë i futa ato kode butoni në skicën Arduino IR_Rev_Codes_Pi_Monitor. Ndryshoni programin nëse keni një model tjetër duke përdorur programin e marrjes në IRLib2 dhe vini re vlerat e krijuesit, protokollit dhe gjashtëkëndëshit për butonat e shtypur.

Hapi 3: Përfundimi

Përfundim
Përfundim
Përfundim
Përfundim
Përfundim
Përfundim

Monitori i derës është një projekt praktik i automatizimit të shtëpisë. Ishte përvoja ime e parë në programimin e Pi me Python. Python lejon programimin e një ndërprerjeje, një veçori që mendova se ishte e rezervuar për mikrokontrolluesit. Ndërprerja lejon që programi të funksionojë normalisht, duke punuar me omxplayer, pa kontrolluar vazhdimisht nëse kërkohet një veprim tjetër si ndryshimi i ekranit në një burim të ri të kamerës. Sidoqoftë, nëse ndodh ndërprerja, programi më pas përcakton se cila burim i ri video duhet të shfaqet. Arduino është krijuar për të siguruar një impuls për të shkaktuar ndërprerjen e Python. Nëse ndodh ndërprerja, atëherë programi kërkon se cila dalje e veçantë Arduino (që korrespondon me butonin IR të largët të shtypur) është aktivizuar. Së fundi, programi vret çdo ekran aktual të omxplayer dhe fillon ekranin e ri omxplayer.

Mësova se Pi nuk i vendos kunjat e tij GPIO në hyrje siç bën Arduino si parazgjedhje- nuk është faj i Pi, por është mënyra se si Broadcom BCM2837 është nga fabrika. Më pëlqen procesori 4 bërthamor, 1.2 Ghz, një kompjuter me fuqi të ulët dhe me kosto të ulët që mund të shfaqë video të shkëlqyera HD. Butoni IR 1 tregon ekranin kuadratik, dhe butonat 2 deri në 5 secili tregojnë një ekran të vetëm të madh të një kamere në definicion të lartë.

Shtypja e butonit IR të largët 0 anulon shfaqjen e videos dhe tregon vijën e komandës Pi. Nëse dëshironi të shikoni video në Youtube ose të ngjashme, përdorni një tastierë Bluetooth, shkruani "startx" dhe përdorni shfletuesin Pi për të lundruar në videon në Youtube dhe për ta luajtur atë në ekran të plotë në definicion të lartë.

Recommended: