Sadržaj:

Tko je pred vratima, sustav Alexa kamere aktiviran: 3 koraka
Tko je pred vratima, sustav Alexa kamere aktiviran: 3 koraka

Video: Tko je pred vratima, sustav Alexa kamere aktiviran: 3 koraka

Video: Tko je pred vratima, sustav Alexa kamere aktiviran: 3 koraka
Video: Cамая МАЛЕНЬКАЯ поворотная камера 5G Wifi СЛЕЖЕНИЕ 2024, Srpanj
Anonim
Tko je pred vratima, Alexa sustav kamere
Tko je pred vratima, Alexa sustav kamere
Tko je pred vratima, Alexa sustav kamere
Tko je pred vratima, Alexa sustav kamere
Tko je pred vratima, Alexa sustav kamere
Tko je pred vratima, Alexa sustav kamere

Ponekad tijekom gledanja televizije ne želite otvoriti vrata osim ako je to važno. Ovaj vam projekt omogućuje da vidite osobu na vratima tako što ćete jednostavno reći Amazonovom Echo uređaju "Alexa, uključi monitor za vrata". Provjerite tko se pojavljuje na TV ekranu, pa se vratite na uobičajeno TV programiranje "Alexa, uključi televizor". Sustav bi također mogao biti vrijedan starijim odraslima ili djeci koji bi bili osjetljivi na iskorištavanje od strane prodavača, lopova i slično. To omogućuje da televizor velikog ekrana vašeg zabavnog sustava bude monitor zaslona kamere ne samo za kameru prednjih vrata, već i za sve druge sigurnosne kamere koje možda imate; zapravo bi se čak moglo proširiti za prikaz videa s internetskih kamera, poput kamera na plaži itd.

Dijelovi:

Sustav zabave:

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

Kabelska ili DVR kutija

Usmjerivač 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 (preferira se Power Over Ethernet -POE -tip)

Raspberry Pi3 u kutiji za projekt (originalni Pi može raditi) s HDMI kabelom

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 se projekt oslanja na Pi3 omxplayer koji dekodira video zapise hardverskim ubrzanjem. Omxplayer se može testirati iz naredbenog retka na terminalu Pi pomoću odgovarajućeg formata rtsp: // user@password@ipaddress koji vaš fotoaparat zahtijeva. Pi bi trebao biti spojen na Ethernet (iako bi se Pi3 mogao povezati i putem WiFi -a, ali ne i testirati) i fizički se nalaziti u zabavnom centru tako da Pi -jev HDMI izlazni kabel može doći do HDMI ulazne utičnice televizora. Arduino i IC modul spojit će se na Pi i prenijeti informacije dobivene čitanjem pritiska na tipku daljinskog upravljača televizora. Pi bi ovo dekodiranje mogao izravno izvesti iz IR modula, ali ja sam bolji u programiranju Arduina nego u Python programiranju i osim toga štedi procesorska sredstva za Pi -jev glavni zadatak dekodiranja videotoka.

Budući da moj sigurnosni sustav ima više kamera, upotrijebio sam Pi monitor monitor za način prikaza 4 kamere odjednom, plus prikaz pojedinačnih kamera na cijelom ekranu. Slijedite ove upute, no vjerojatno ćete imati puno problema s stabilizacijom 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 razlučivost kamere koju vaše kamere imaju. Većina IP kamera ima stream visoke razlučivosti (1080p) i niske razlučivosti (640x480), pa ako želite samo jedan video zapis visoke rezolucije ulaznih vrata, idite s formatom toka visoke razlučivosti rtsp: //. Idite uz stream niske razlučivosti 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 načinu razlučivosti 1080p, prikazujući 4 kamere jednake veličine 640x480 prilagođene veličini). U suprotnom, pomoću grafičkog papira rasporedite svoje TV piksele, a zatim skicirajte koliko pravokutnika želite u tom području. Zatim saznajte koliko će videozapisa 640x480 stati bez previše promjene aspekta (vodoravno rastezanje izgleda bolje nego okomito). Ne volim granice pa nisam računao za njih. Numerirajte pravokutnike odozgo lijevo dolje desno 1, 2, 3 itd. Zatim napravite stupac s 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, po želji biste mogli imati prikaz 3 x 3. Ako želite samo jedan zaslon, samo komentirajte ostale 3 kamere i postavite veličinu prozora na punu razlučivost zaslona (i koristite rtsp stream visoke razlučivosti) i naslovite skriptu "test1.sh". Napravite koliko god skripti želite, program btn.py Python će ih pozvati kako Arduino promijeni GPIO pinove.

Jedan od problema u postizanju stabilnog prikaza (vrh slike u redu, ali niže okomite crte) je što mnoge kamere struje puno 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 naredbe omxplayera su volumen (--vol -6000 za isključenje 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. Kad se postavi na radikalno različite brzine kadrova, vrijeme prikazano na jednoj vremenskoj oznaci kamere zapravo se vratilo unatrag nekoliko sekundi, zatim naprijed pa natrag itd. Pazite 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 biste ručno upravljati kabelskom kutijom i televizorom kako biste Pi mogli prikazati 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 zaslona kamere, tada morate i univerzalni daljinski upravljač prebaciti na AUX za upravljanje Arduinom, a time i odabirom Pi kamere. Da biste pojednostavili ovaj postupak, upotrijebite Harmony Hub i povezanu aplikaciju za pametni telefon Harmony, naučivši ga upravljati televizorom i kabelskim prijemnikom za normalno gledanje televizije u jednoj aktivnosti, a zatim izradite drugu aktivnost za upravljanje Pi video monitorom. Aktivnost uključuje uključivanje TV -a, TV ulaza na HDMI 2 i upravljanje virtualnim NECx TV -om (tj. Arduino i Pi) tipkama od 0 do 5. To omogućuje kontrolu svega putem aplikacije za pametni telefon 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 nudi detalje o tome kako omogućiti te 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 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 s 3,3 voltnog pina Pi. IC modul spaja se na pin 2 Arduina, a priložena skica dekodira tipku pritisnutu od 0 do 5 (zapravo 0 do 9, no neki Arduino pinovi još nisu spojeni). Arduino izlazi spajaju se na GPIO pinove digitalnog ulaza Pi -a, gdje prekid bash skripte određuje koji je "gumb" pritisnut, zatim zaustavlja jednu opciju prikaza prikaza 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 Sonyjev protokol 2. Mislio sam da bi jedan ili drugi od ovih kodova bili u redu za kontrolu Pi IR prijemnika i da su ili uspjeli, iako se pokazalo da to nije praktično. Daljinski upravljač bi očekivao dodatne naredbe 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 televizorom. Otkrio sam da moj univerzalni daljinski upravljač ima prethodno programirani kod za AUX uređaj (ne znam što kontrolira) i odlučio sam ga upotrijebiti. Proizvedeni kodovi kažu da koristi NECx, 32 -bitni kôd, pa sam te kodove gumba unio u Arduino IR_Rev_Codes_Pi_Monitor skicu. Promijenite program ako imate drugačiji model pomoću programa za primanje u IRLib2 i zabilježite vrijednosti proizvođača, protokola i heksadecimalnih vrijednosti za pritisnute gumbe.

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 s Pythonom. Python omogućuje programiranje prekida, značajku za koju sam mislio da je rezervirana za mikrokontrolere. Prekid omogućuje programu da radi normalno, pokrećući omxplayer, bez stalne provjere je li potrebna druga radnja, poput promjene zaslona na novi izvor kamere. Međutim, ako dođe do prekida, program tada određuje koji novi video feed treba otvoriti. Arduino je postavljen tako 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 gumbu IR daljinskog upravljača) aktiviran. Konačno, program ubija bilo koji trenutni zaslon omxplayera i pokreće novi zaslon omxplayera.

Naučio sam da Pi ne postavlja svoje GPIO pinove za unos kao što to Arduino čini prema zadanim postavkama- to nije greška Pi, već je to način na koji je Broadcom BCM2837 tvornički. Sviđa mi se 4 jezgreni procesor, 1,2 Ghz, računalo male snage i niske cijene koje može prikazati odlične HD video zapise. IR tipka 1 prikazuje quad zaslon, a svaka tipka 2 do 5 prikazuje jedan veliki zaslon kamere u visokoj razlučivosti.

Pritiskom na IR daljinski gumb 0 otkazuje se video prikaz i prikazuje Pi naredbeni redak. 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 zaslonu u visokoj razlučivosti.

Preporučeni: