Sadržaj:

Ko je pred vratima, sistem kamera sa Alexa aktiviranjem: 3 koraka
Ko je pred vratima, sistem kamera sa Alexa aktiviranjem: 3 koraka

Video: Ko je pred vratima, sistem kamera sa Alexa aktiviranjem: 3 koraka

Video: Ko je pred vratima, sistem kamera sa Alexa aktiviranjem: 3 koraka
Video: Я работаю в Страшном музее для Богатых и Знаменитых. Страшные истории. Ужасы. 2024, Juli
Anonim
Ko je pred vratima, sistem kamera sa aktiviranjem Alexa
Ko je pred vratima, sistem kamera sa aktiviranjem Alexa
Ko je pred vratima, sistem kamera sa aktiviranjem Alexa
Ko je pred vratima, sistem kamera sa aktiviranjem Alexa
Ko je pred vratima, sistem kamera sa aktiviranjem Alexa
Ko je pred vratima, sistem kamera sa aktiviranjem Alexa

Ponekad dok gledate televiziju ne želite otvoriti vrata osim ako je to važno. Ovaj projekat vam omogućava da vidite osobu na vratima tako što ćete jednostavno reći Amazonovom Echo uređaju "Alexa, uključi monitor za vrata". Provjerite ko se pojavljuje na TV ekranu, pa se vratite na uobičajeno TV programiranje "Alexa, uključi TV". Sistem bi također mogao biti vrijedan starijim odraslima ili djeci koja bi bila podložna iskorištavanju od strane prodavača, lopova i slično. Ovo omogućava da veliki ekran vašeg zabavnog sistema bude monitor ekrana kamere ne samo za kameru prednjih vrata, već i za sve druge sigurnosne kamere koje možda imate; u stvari, čak bi se moglo proširiti za prikaz video zapisa s internetskih kamera, poput kamera na plaži itd.

Dijelovi:

Zabavni sistem:

TV sa nekoliko HDMI ulaza (većina televizora ih ima)

Kabelska ili DVR kutija

Ruter i internetska veza putem kabelske kutije (možda neće biti potrebni ako imate WiFi)

Amazon Echo ("Alexa")

Harmony Hub

Kamere

IP kamera na ulaznim vratima (preferiran Power Over Ethernet -POE -tip)

Raspberry Pi3 u projektnoj kutiji (originalni Pi može raditi) sa HDMI kablom

Arduino Pro Mini 8 Mhz, 3.3v

IC modul (najčešći tipovi će raditi)

Korak 1: Postavljanje, prethodno programiranje (testiranje)

Postavljanje, prethodno programiranje (testiranje)
Postavljanje, prethodno programiranje (testiranje)
Postavljanje, prethodno programiranje (testiranje)
Postavljanje, prethodno programiranje (testiranje)
Postavljanje, prethodno programiranje (testiranje)
Postavljanje, prethodno programiranje (testiranje)

Ovaj projekt se oslanja na Pi3 omxplayer koji dekodira video zapise hardverskim ubrzanjem. Omxplayer se može testirati iz komandne linije na terminalu Pi koristeći odgovarajući format rtsp: // user@password@ipaddress koji vaša kamera zahtijeva. Pi bi trebao biti spojen na Ethernet (iako bi se Pi3 mogao povezati i putem WiFi -a, ali ne i testiran) i fizički se nalaziti u zabavnom centru tako da Pi -jev HDMI izlazni kabel može doći do HDMI ulaznog priključka TV -a. Arduino i IC modul će se spojiti na Pi i prenijeti informacije prikupljene čitanjem pritiska na tipkama daljinskog upravljača televizora. Pi bi ovo dekodiranje mogao izvesti direktno s IC modula, ali ja sam bolji u Arduino programiranju od Python programiranja i osim toga štedi procesorske resurse za Pi -jev glavni zadatak dekodiranja video tokova.

Budući da moj sigurnosni sistem ima više kamera, koristio sam monitor sa Pi napajanjem kao način za prikaz 4 kamere odjednom, plus prikaz pojedinačnih kamera na cijelom ekranu. Slijedite ta uputstva, međutim vjerovatno ćete imati puno problema pri stabilizaciji prikaza kamera.

Jedan od problema je što 4 veličine prozora navedene u programu možda ne odgovaraju vašoj rezoluciji televizora. Pronađite rezolucije koje vaš monitor podržava, a pritom zabilježite rezoluciju kamere koju vaše kamere imaju. Većina IP kamera ima tok visoke rezolucije (1080p) i niske rezolucije (640x480), pa ako želite samo jedan video zapis visoke rezolucije na ulaznim vratima, idite uz format strcanja visoke rezolucije rtsp: //. Idite s nizom rezolucije za kamere u 4 kvadranta, nećete primijetiti veliku razliku s manjim veličinama slike. Možete koristiti veličinu prozora moje bash skripte (test.sh) (u režimu rezolucije 1080p, prikazujući 4 kamere jednake veličine 640x480 prilagođene veličini). U suprotnom, pomoću grafičkog papira postavite TV piksele, a zatim skicirajte koliko pravokutnika želite u tom području. Zatim saznajte koliko će videozapisa 640x480 stati bez previše mijenjanja aspekta (vodoravno istezanje izgleda bolje nego okomito). Ne volim granice, pa nisam računao za njih. Numerirajte pravokutnike odozgo lijevo do dolje desno 1, 2, 3 itd. Zatim napravite kolonu sa brojevima prozora, za svaki red tih brojeva zapišite gornji lijevi x, y piksel i donji desni piksel x, y. Ti se brojevi zatim zamjenjuju u skripti kako bi se dobio prilagođeni prikaz. Ako želite, mogli biste imati prikaz 3 x 3. Ako želite samo jedan ekran, samo komentirajte ostale 3 kamere i postavite veličinu prozora na cijelu rezoluciju ekrana (i koristite rtsp stream visoke rezolucije) i naslovite skriptu "test1.sh". Napravite koliko god skripti želite, program btn.py Python će ih pozvati kako Arduino promijeni GPIO pinove.

Jedan problem u postizanju stabilnog prikaza (vrh slike u redu, ali niže vertikalne crte slike) je što mnoge kamere struje mnogo bolje koristeći rtsp preko tcp (ja koristim Hikvision 2 do 5 Mp IP kamere). Stoga koristite "--avdict rtsp_transport: tcp" u omxplayeru kao što je prikazano. Druge korisne komande omxplayera su volumen (--vol -6000 za isključivanje zvuka) i međuspremnik (--video red x) gdje je x = 1 ili više.

Postavke IP kamere također mogu uzrokovati probleme s omxplayerom. Sve IP kamere trebaju biti postavljene na iste kadrove u sekundi ili će se slika raspasti. Kada se postavi na radikalno različite brzine kadrova, vrijeme prikazano na jednoj vremenskoj oznaci kamere je zapravo krenulo unazad nekoliko sekundi, zatim naprijed pa natrag itd. Uvjerite se da se vaši prozori omxplayera ne preklapaju ili će preklapajući dio treperiti.

Korak 2: Sastavite to zajedno

Sastavljajući to zajedno
Sastavljajući to zajedno

Mogli ste ručno kontrolirati kabelsku kutiju i TV kako biste omogućili Pi -u da prikaže kameru prednjih vrata. Međutim, za to je potrebno nekoliko pritisaka tipki, uključujući odgovarajuće prebacivanje univerzalnog daljinskog upravljača iz načina kabela u način TV -a kako bi se omogućilo mijenjanje HDMI ulaznog izvora u dekoder Pi kamere (HDMI 2). Ako želite mogućnost prikaza dodatnih ekrana kamere, tada morate i univerzalni daljinski upravljač prebaciti na AUX kako biste kontrolirali Arduino, a time i odabir Pi kamere. Da biste pojednostavili ovaj proces, upotrijebite Harmony Hub i povezanu aplikaciju za pametni telefon Harmony, naučivši je upravljati televizorom i kabelskim prijemnikom za normalno gledanje televizije u jednoj aktivnosti, a zatim stvorite drugu aktivnost za kontrolu Pi video monitora. Aktivnost uključuje uključivanje televizora, TV ulaza na HDMI 2 i upravljanje virtualnim NECx TV -om (tj. Arduino i Pi) tipkama od 0 do 5. To omogućava kontrolu svega putem aplikacije za pametne telefone Harmony. Da biste stvari učinili još lakšima, povežite aplikaciju Amazon Echo Dot (Alexa) s aplikacijom Harmony za glasovno upravljanje funkcijama nadzora televizora ili vrata. Web stranica Harmony pruža detalje o tome kako omogućiti ove nove Alexa vještine. Nove vještine. Nakon što se povežu s novim Alexa vještinama, ključne riječi poput "Uključi televizor" ili "Uključi monitor za vrata" omogućit će odgovarajuće radnje bez potrebe za IC -om s univerzalnog daljinskog upravljača.

Pi je povezan putem Etherneta na vaš LAN, a putem HDMI kabela na televizor. Instalirao sam Pro Mini od 3,3 volta putem žica na Pi kao opciju za dodavanje dodatnog prebacivanja kamere. Pro Mini se može napajati sa 3,3 voltnog pina Pi -a. IC modul se spaja na pin 2 Arduina, a priložena skica dekodira tipku pritisnutu od 0 do 5 (zapravo 0 do 9, ali neki Arduino pinovi još nisu povezani). Arduino izlazi se spajaju na GPIO pinove digitalnog ulaza Pi -a, gdje prekid bash skripte određuje koje je "dugme" pritisnuto, zatim zaustavlja jednu opciju prikaza ekrana i pokreće drugu.

Moja kabelska kutija je iz Spectruma (ranije Time Warner Cable), koji je Motorola DVR model DCX3510. Koristi GI Cable protokol za IC. Sony TV koristi Sony protokol 2. Mislio sam da će jedan ili drugi od ovih kodova biti u redu za kontrolu Pi IR prijemnika i oba su radila, iako se pokazalo da nije praktično. Daljinski upravljač bi očekivao dodatne komande ili bi automatski promijenio i ulazni izvor pri pritisku tipke 0 do 9. Stoga sam morao koristiti drugačiji kôd koji ne bi komunicirao s kabelskim prijemnikom ili TV -om. Otkrio sam da moj univerzalni daljinski upravljač ima prethodno programirani kod za AUX uređaj (ne znam čime upravlja) i odlučio sam ga upotrijebiti. Proizvedeni kodovi kažu da koristi NECx, 32 -bitni kôd, pa sam te kodove kodova unio u skicu Arduino IR_Rev_Codes_Pi_Monitor. Promijenite program ako imate drugi model pomoću programa za primanje u IRLib2 i zabilježite vrijednosti proizvođača, protokola i heksadecimalnih vrijednosti za pritisnute tipke.

Korak 3: Zaključak

Zaključak
Zaključak
Zaključak
Zaključak
Zaključak
Zaključak

Monitor vrata praktičan je projekt kućne automatizacije. To je bilo moje prvo iskustvo programiranja Pi sa Pythonom. Python dozvoljava programiranje prekida, funkcija za koju sam mislio da je rezervirana za mikrokontrolere. Prekid omogućava programu da radi normalno, pokrećući omxplayer, bez stalne provjere je li potrebna druga radnja, poput promjene prikaza na novi izvor kamere. Međutim, ako dođe do prekida, program tada određuje koji novi video feed treba pokrenuti. Arduino je postavljen da daje impuls za aktiviranje Python prekida. Ako dođe do prekida, program traži za koji je određeni Arduino izlaz (što odgovara pritisnutom IR daljinskom gumbu) aktiviran. Konačno, program ubija bilo koji trenutni prikaz omxplayera i pokreće novi prikaz omxplayera.

Naučio sam da Pi ne postavlja svoje GPIO pinove za unos kao što to Arduino čini prema zadanim postavkama- nije kriva Pi, već je to način na koji je Broadcom BCM2837 tvornički. Sviđa mi se 4 -jezgreni procesor, 1,2 Ghz, kompjuter male snage i niske cijene koji može prikazati odlične HD video zapise. IR dugme 1 prikazuje četvorostruki ekran, a svaki od tastera 2 do 5 prikazuje jedan veliki ekran kamere u visokoj rezoluciji.

Pritiskom na IR daljinsko dugme 0 otkazuje se video prikaz i prikazuje Pi komandna linija. Ako želite gledati Youtube videozapise ili slično, upotrijebite Bluetooth tipkovnicu, upišite "startx" i upotrijebite preglednik Pi za navigaciju do Youtube videa i reprodukciju na cijelom ekranu u visokoj rezoluciji.

Preporučuje se: