Kazalo:

Kdo je pri vratih, sistem kamere, ki ga aktivira Alexa: 3 koraki
Kdo je pri vratih, sistem kamere, ki ga aktivira Alexa: 3 koraki

Video: Kdo je pri vratih, sistem kamere, ki ga aktivira Alexa: 3 koraki

Video: Kdo je pri vratih, sistem kamere, ki ga aktivira Alexa: 3 koraki
Video: Я работаю в Страшном музее для Богатых и Знаменитых. Страшные истории. Ужасы. 2024, November
Anonim
Kdo je pri vratih, sistem za kamero, ki ga aktivira Alexa
Kdo je pri vratih, sistem za kamero, ki ga aktivira Alexa
Kdo je pri vratih, sistem kamere, ki ga aktivira Alexa
Kdo je pri vratih, sistem kamere, ki ga aktivira Alexa
Kdo je pri vratih, sistem za kamero, ki ga aktivira Alexa
Kdo je pri vratih, sistem za kamero, ki ga aktivira Alexa

Včasih med gledanjem televizije ne želite odpreti vrat, razen če je to pomembno. Ta projekt vam omogoča, da si ogledate osebo pred vrati, tako da preprosto rečete Amazonovi napravi Echo "Alexa, vklopi monitor za vrata". Preverite, kdo se prikaže na TV -zaslonu, nato pa se vrnite na običajno TV -programiranje "Alexa, vklopi televizor". Sistem bi lahko bil pomemben tudi za starejše odrasle ali otroke, ki bi bili ranljivi, da bi jih izkoristili prodajalci, tatovi in podobno. To omogoča, da je TV z velikim zaslonom vašega razvedrilnega sistema monitor zaslona kamere ne samo za kamero na sprednjih vratih, ampak tudi za vse druge varnostne kamere, ki jih morda imate; pravzaprav bi ga lahko celo razširili na prikaz videoposnetkov z internetnih kamer, kot so kamere na plaži itd.

Deli:

Zabavni sistem:

TV z več vhodi HDMI (večina televizorjev jih ima)

Kabel ali DVR škatla

Usmerjevalnik in internetna povezava prek kabelske omarice (morda ne potrebujete, če imate WiFi)

Amazon Echo ("Alexa")

Harmony Hub

Kamere

IP kamera na vhodnih vratih (zaželena vrsta napajanja prek Etherneta -POE)

Raspberry Pi3 v projektni škatli (original Pi lahko deluje) s kablom HDMI

Arduino Pro Mini 8 Mhz, 3.3v

IR modul (najpogostejše vrste bodo delovale)

1. korak: Nastavitev, predhodno programiranje (testiranje)

Nastavitev, predhodno programiranje (testiranje)
Nastavitev, predhodno programiranje (testiranje)
Nastavitev, predhodno programiranje (testiranje)
Nastavitev, predhodno programiranje (testiranje)
Nastavitev, predhodno programiranje (testiranje)
Nastavitev, predhodno programiranje (testiranje)

Ta projekt temelji na omiljenem predvajalniku Pi3, ki dekodira video s strojnim pospeševanjem. Omxplayer lahko poskusno zaženete iz ukazne vrstice v terminalu Pi z uporabo ustrezne oblike zapisa rtsp: // user@password@ipaddress, ki jo potrebuje vaša kamera. Pi mora biti priključen na ethernet (čeprav bi bil lahko Pi3 povezan tudi prek WiFi, vendar ni preizkušen) in fizično nameščen v razvedrilnem centru, tako da lahko izhodni kabel HDMI Pi doseže vhodni priključek HDMI televizorja. Modul Arduino in IR se bo povezal s Pi in prenašal podatke, pridobljene pri branju pritiskov na gumbih za daljinsko upravljanje televizorja. Pi bi lahko to dekodiranje izvedel neposredno iz IR modula, vendar sem pri programiranju Arduino boljši od programiranja Python in poleg tega prihrani procesorske vire za Pi -jevo glavno nalogo dekodiranja videotokov.

Ker ima moj varnostni sistem več kamer, sem uporabil nadzorni zaslon s pogonom Pi kot način za prikaz 4 kamer hkrati in prikaz posameznih kamer na celotnem zaslonu. Upoštevajte ta navodila, vendar boste verjetno imeli veliko težav, da bodo kamere stabilno prikazane.

Ena od težav je, da 4 velikosti oken, navedene v programu, morda ne ustrezajo vaši ločljivosti televizorja. Ugotovite, katere ločljivosti podpira vaš monitor, pri tem pa upoštevajte ločljivost kamere, ki jo imajo vaše kamere. Večina kamer IP ima tok visoke ločljivosti (1080p) in nizko ločljivost (640x480), zato, če želite le en video vhodnih vrat z visoko ločljivostjo, uporabite format visoke ločljivosti rtsp: // format. Pojdite z nizko ločljivostjo za kamere v 4 kvadrantih, pri manjših velikostih slike ne boste opazili velike razlike. Uporabite lahko okna mojega bash skripta (test.sh) (v načinu ločljivosti 1080p, ki prikazuje 4 kamere velikosti 640x480 enake velikosti, prilagojene). V nasprotnem primeru uporabite grafični papir za postavitev televizijskih pik in nato narišite, koliko pravokotnikov želite na tem področju. Nato poiščite, koliko videoposnetkov velikosti 640x480 se bo prilegalo, ne da bi se preveč spreminjal vidik (vodoravno raztezanje izgleda bolje kot navpično). Ne maram meja, zato nisem računala zanje. Oštevilčite pravokotnike od zgoraj levo do desno spodaj 1, 2, 3 itd. Nato naredite stolpec s številkami oken, za vsako vrstico teh številk zapišite zgornji levi x, y slikovni pik in spodnji desni pikslen x, y. Te številke se nato nadomestijo v skript, da dobite prikaz po meri, po želji pa bi lahko imel zaslon 3 x 3. Če želite samo en zaslon, samo komentirajte ostale 3 kamere in nastavite velikost okna na celozaslonsko ločljivost (in uporabite tok visoke ločljivosti rtsp) ter skript naslovite "test1.sh". Naredite kolikor želite skriptov, program Python btn.py jih bo poklical, ko bo Arduino spremenil zatiče GPIO.

Ena težava pri pridobivanju stabilnega zaslona (vrh slike je v redu, vendar nižje navpične črte slike) je, da številne kamere pretakajo veliko bolje z uporabo rtsp preko tcp (uporabljam Hikvision 2 do 5 Mp IP kamere). Zato v omxplayerju uporabite "--avdict rtsp_transport: tcp", kot je prikazano. Drugi uporabni ukazi omxplayerja so glasnost (--vol -6000 za izklop zvoka) in medpomnilnik (--video čakalna vrsta x), kjer je x = 1 ali več.

Nastavitve IP kamere lahko povzročijo težave tudi z omxplayerjem. Vse kamere IP morajo biti nastavljene na enake sličice na sekundo, sicer se bo slika zlomila. Ko je nastavljen na radikalno drugačno hitrost sličic, se je čas, prikazan na eni časovni oznaki kamere, dejansko za nekaj sekund vrnil nazaj, nato naprej, nazaj itd. Prepričajte se, da se okna omxplayerja ne prekrivajo, sicer bo prekrivajoči se del utripal.

2. korak: Sestavite skupaj

Sestavljanje skupaj
Sestavljanje skupaj

Lahko bi ročno upravljali kabelsko omarico in televizijo, da bi Pi prikazali kamero vhodnih vrat. Vendar pa to zahteva kar nekaj pritiskov na tipke, vključno z ustreznim preklopom univerzalnega daljinskega upravljalnika iz kabelskega v TV način, da se omogoči sprememba vhodnega vira HDMI v dekoder Pi kamere (HDMI 2). Če želite prikazati dodatne zaslone fotoaparatov, morate tudi univerzalni daljinski upravljalnik preklopiti na AUX za nadzor Arduina in s tem izbire kamere Pi. Če želite poenostaviti ta postopek, uporabite Harmony Hub in povezano aplikacijo za pametni telefon Harmony, ki ga naučite upravljati televizor in kabelsko omarico za normalno gledanje televizije v eni dejavnosti, nato pa ustvarite drugo dejavnost za nadzor video monitorja Pi. Dejavnost vključuje vklop televizorja, TV vhoda na HDMI 2 in nadzor navideznih televizorjev NECx (tj. Arduino in Pi) od 0 do 5. To omogoča nadzor nad vsem prek aplikacije za pametni telefon Harmony. Če želite stvari še olajšati, povežite aplikacijo Amazon Echo Dot (Alexa) z aplikacijo Harmony za glasovni nadzor nad funkcijami televizorja ali vrat. Spletno mesto Harmony vsebuje podrobnosti o tem, kako omogočiti te nove veščine Alexa. Nove veščine. Ko bodo povezane z novimi znanji Alexa, bodo ključne besede, kot sta »Vklopi televizor« ali »Vklopi nadzor vrat«, omogočile ustrezna dejanja, ne da bi potrebovali IR z univerzalnega daljinskega upravljalnika.

Pi je prek etherneta povezan z lokalnim omrežjem, prek kabla HDMI pa s televizorjem. Namestil sem 3,3 voltni Pro Mini prek žic na Pi kot možnost za dodajanje dodatnega preklopa kamere. Pro Mini se lahko napaja iz 3,3 -voltnega vtiča Pi. IR -modul se poveže z nožico 2 Arduina, priložena skica pa dekodira pritisk gumba od 0 do 5 (dejansko 0 do 9, vendar nekateri zatiči Arduino še niso povezani). Arduino izhodi se povežejo z vhodi PiIO za digitalni vhod GPIO, kjer prekinitev bash skripta določi, kateri "gumb" je bil pritisnjen, nato ustavi eno možnost prikaza zaslona in zažene drugo.

Moja kabelska omarica je iz Spectruma (prej Time Warner Cable), ki je model Motorola DVR DCX3510. Za IR uporablja protokol GI Cable. Televizor Sony uporablja protokol Sony 2. Mislil sem, da bi ena ali druga od teh kod bila v redu za nadzor sprejemnika Pi IR in je bodisi delovalo, čeprav se je izkazalo, da ni praktično. Daljinski upravljalnik bi pričakoval dodatne ukaze ali pa samodejno spremeni tudi vhodni vir, ko pritisnete gumb od 0 do 9. Zato sem moral uporabiti drugo kodo, ki ne bi delovala s kabelskim sprejemnikom ali televizorjem. Ugotovil sem, da ima moj univerzalni daljinski upravljalnik predhodno programirano kodo za napravo AUX (ne vem, kaj nadzoruje), in se odločil, da jo uporabim. Proizvedene kode pravijo, da uporablja 32 -bitno kodo NECx, zato sem te kode gumbov vnesel v skico Arduino IR_Rev_Codes_Pi_Monitor. Če imate drug model, spremenite program z uporabo programa za sprejem v IRLib2 in upoštevajte izdelovalca, protokol in šestnajstiške vrednosti za pritisnjene gumbe.

3. korak: Zaključek

Zaključek
Zaključek
Zaključek
Zaključek
Zaključek
Zaključek

Monitor vrat je praktičen projekt avtomatizacije doma. To je bila moja prva izkušnja s programiranjem Pi s Pythonom. Python omogoča programiranje prekinitve, funkcija, za katero sem mislil, da je rezervirana za mikrokrmilnike. Prekinitev omogoča, da se program normalno izvaja z izvajanjem omxplayerja, ne da bi nenehno preverjal, ali je potrebno kakšno drugo dejanje, na primer sprememba prikaza na nov vir kamere. Če pa pride do prekinitve, program nato določi, kateri nov video vir naj se prikaže. Arduino je nastavljen tako, da zagotavlja impulz za sprožitev prekinitve Python. Če pride do prekinitve, program poišče, kateri aktivirani izhod Arduino (ki ustreza pritisnjenemu gumbu daljinskega upravljalnika IR). Končno program ubije kateri koli trenutni prikaz omxplayerja in zažene nov prikaz omxplayerja.

Spoznal sem, da Pi ne prilagodi svojih zatičev GPIO tako, kot to privzeto počne Arduino- ni napaka Pi, je pa način, kako je Broadcom BCM2837 iz tovarne. Všeč mi je 4 -jedrni, 1,2 Ghz procesor, nizkocenovni in poceni računalnik, ki lahko prikaže odlične HD video posnetke. IR gumb 1 prikazuje štirikotni zaslon, vsak od gumbov 2 do 5 pa prikazuje en sam velik zaslon kamere v visoki ločljivosti.

S pritiskom na gumb IR na daljinskem upravljalniku 0 prekinete prikaz videa in prikaže ukazno vrstico Pi. Če želite gledati videoposnetke Youtube ali podobno, uporabite tipkovnico Bluetooth, vnesite "startx" in se z brskalnikom Pi pomaknite do videoposnetka Youtube in ga predvajajte na celotnem zaslonu v visoki ločljivosti.

Priporočena: