INHOUDSOPGAWE:

Wie is by die deur, 'n Alexa -bediende kamerastelsel: 3 stappe
Wie is by die deur, 'n Alexa -bediende kamerastelsel: 3 stappe

Video: Wie is by die deur, 'n Alexa -bediende kamerastelsel: 3 stappe

Video: Wie is by die deur, 'n Alexa -bediende kamerastelsel: 3 stappe
Video: Буэнос-Айрес - Невероятно яркая и душевная столица Аргентины. Гостеприимная и легкая для иммиграции 2024, November
Anonim
Who's at the Door, 'n Alexa -bediende kamerastelsel
Who's at the Door, 'n Alexa -bediende kamerastelsel
Who's at the Door, 'n Alexa -bediende kamerastelsel
Who's at the Door, 'n Alexa -bediende kamerastelsel
Who's at the Door, 'n Alexa -bediende kamerastelsel
Who's at the Door, 'n Alexa -bediende kamerastelsel

Soms wil u nie deur die TV kyk terwyl u TV kyk nie, tensy dit belangrik is. Met hierdie projek kan u die persoon by die deur sien deur eenvoudig aan Amazon se Echo -toestel te sê "Alexa, skakel die deurmonitor aan". U kyk wie op die TV -skerm verskyn, en dan terug na die normale TV -program "Alexa, skakel die TV aan". Die stelsel kan ook van waarde wees vir ouer volwassenes of kinders wat kwesbaar is vir die gebruik daarvan deur verkoopspersone, diewe en dies meer. Hierdeur kan die grootskerm -TV van u vermaaklikheidstelsel nie net die voordeurkamera nie, maar ook die ander sekuriteitskameras is; in werklikheid kan dit selfs uitgebrei word om video van internetkameras, soos strandkameras, ens.

Dele:

Vermaakstelsel:

TV met verskeie HDMI -ingange (die meeste TV -toestelle het dit)

Kabel- of DVR -boks

Router en internetverbinding via kabelbus (is dalk nie nodig as u WiFi het nie)

Amazon Echo ("Alexa")

Harmony Hub

Kamera (s)

IP -kamera by die voordeur (Power Over Ethernet -POE -tipe verkies)

Framboos Pi3 in 'n projekkas (oorspronklike Pi werk moontlik) met 'n HDMI -kabel

Arduino Pro Mini 8 Mhz, 3.3v

IR -module (die mees algemene tipes werk)

Stap 1: Opstelling, voorlopige programmering (toetsing)

Opstelling, voorprogrammering (toets)
Opstelling, voorprogrammering (toets)
Opstelling, voorprogrammering (toets)
Opstelling, voorprogrammering (toets)
Opstelling, voorprogrammering (toets)
Opstelling, voorprogrammering (toets)

Hierdie projek maak staat op die Pi3 omxplayer wat video met hardewareversnelling dekodeer. Omxplayer kan vanaf 'n opdragreël in die Pi -terminale getoets word met behulp van die toepaslike rtsp: // user@password@ipaddress -formaat wat u kamera benodig. Die Pi moet aan Ethernet gekoppel wees (alhoewel Pi3 ook via WiFi gekoppel kan word, maar nie getoets word nie) en fisies by die vermaaklikheidsentrum geleë wees, sodat die HDMI -uitgangskabel van die Pi by die TV -HDMI -ingang kan kom. Die Arduino- en IR -module sal aan die Pi koppel, en die inligting wat deur die lees van die TV -afstandsbedienings knoppies oorgedra word, deurgee. Die Pi kan hierdie dekodering direk vanaf die IR -module doen, maar ek is beter in Arduino -programmering as met Python -programmering, en dit bespaar ook verwerkerhulpbronne vir die belangrikste taak van die Pi om die videostrome (s) te ontsyfer.

Aangesien my sekuriteitstelsel verskeie kameras het, het ek die Pi -aangedrewe moniteringsskerm gebruik as 'n manier om 4 kameras tegelyk te vertoon, plus individuele kameras op die volledige skerm. Volg die instruksies, maar u sal waarskynlik baie probleme ondervind om die kameras stabiel te laat vertoon.

Een van die probleme is dat die vier venstergroottes wat in die program genoem word, moontlik nie by u spesifieke TV -resolusie pas nie. Vind uit watter resolusies u monitor ondersteun terwyl u let op die kamera -resolusie wat u kameras het. Die meeste IP -kameras het 'n hoë resolusie (1080p) en 'n lae resolusie (640x480) stroom, so as u net een hoë resolusie video van die voordeur wil hê, kan u die rtsp: // -formaat met 'n hoë resolusie gebruik. Gaan saam met die lae resolusiestroom vir kameras in 4 kwadrante; u sal nie veel verskil sien met die kleiner prentgroottes nie. U kan my venstergroottes vir bash script (test.sh) gebruik (in die resolusiemodus van 1080p, met 4 ewe groot 640x480 kameras wat geskaal is om te pas). Gebruik anders grafiekpapier om u TV -pixels uit te lê, en teken dan hoeveel reghoeke u in die gebied wil hê. Vind vervolgens hoeveel 640x480 video's sal pas sonder dat die aspek te veel verander (horisontaal strek lyk beter as vertikaal). Ek hou nie van grense nie, so ek het nie daarvoor bereken nie. Nommer die reghoeke van links bo na regs onder 1, 2, 3..etc. Maak dan 'n kolom met venstergetalle, skryf vir elke ry van die getalle die boonste linker x, y pixel en onderste regter pixel x, y neer. Die getalle word dan in die script vervang om 'n pasgemaakte skerm te kry; u kan 'n 3 x 3 -skerm hê indien nodig. As u net een skerm wil hê, kan u slegs die ander 3 kameras kommentaar lewer en die venstergrootte die volle skermresolusie maak (en die rtsp -stroom met hoë resolusie gebruik) en die skrif 'test1.sh' noem. Maak soveel skrifte as wat u wil, die btn.py Python -program sal dit oproep as die GPIO -penne verander word deur die Arduino.

'N Probleem om 'n stabiele skerm te kry (bo -op die prentjie fyn, maar laer vertikale strepe) is dat baie kameras baie beter stroom met rtsp oor tcp (ek gebruik Hikvision 2 tot 5 Mp IP -kameras). Gebruik daarom "--avdict rtsp_transport: tcp" in omxplayer soos getoon. Ander nuttige omxplayer-opdragte is volume (--vol -6000 vir demp) en buffer (--video tou x) waar x = 1 of meer.

IP -kamera -instellings kan ook probleme met die omxplayer veroorsaak. Alle IP -kameras moet op dieselfde rame per sekonde gestel word, anders breek die prentjie af. As dit ingestel is op radikaal verskillende raamkoerse, het die tyd wat op die kamera se tydstempel verskyn, 'n paar sekondes agteruit gegaan, dan vorentoe en terug, ens.

Stap 2: Saamvoeg

Saamvoeg
Saamvoeg

U kan die kabeldoos en TV handmatig beheer sodat die Pi die voordeurkamera kan wys. Dit vereis egter 'n hele paar knoppies, insluitend die gepaste omskakeling van die universele afstandsbediening van die kabelmodus na die TV -modus om die HDMI -invoerbron na die Pi -kamera -dekodeerder (HDMI 2) te verander. As u ekstra kameraskerms wil wys, moet u ook die universele afstandsbediening oorskakel na AUX om die Arduino en dus die Pi -kamera -keuse te beheer. Om hierdie proses te vereenvoudig, gebruik 'n Harmony Hub en 'n gepaardgaande Harmony -slimfoonprogram, en leer hom om die TV en kabeldoos te beheer vir normale TV -kyk in een aktiwiteit, en skep dan 'n ander aktiwiteit om die Pi -videomonitor te beheer. Die aktiwiteit sluit in die aanskakel van die TV, die TV -ingang na HDMI 2 en die beheer van die virtuele NECx TV (dws die Arduino en Pi) knoppies 0 tot 5. Dit stel u in staat om alles deur die Harmony -slimfoon -app te beheer. Om dinge nog makliker te maak, koppel die Amazon Echo Dot (Alexa) -program met die Harmony -app om die TV- of deurmoniteringsfunksies te beheer. Die Harmony -webwerf bied besonderhede oor hoe om hierdie nuwe Alexa -vaardighede in staat te stel. Nuwe vaardighede. Sodra dit gekoppel is aan nuwe Alexa -vaardighede, sal sleutelwoorde soos "Skakel die TV aan" of "Skakel die deurmonitor" die toepaslike aksies moontlik sonder dat IR van die universele afstandsbediening nodig is.

Die Pi is via Ethernet aan u LAN gekoppel, en via HDMI -kabel na die TV. Ek het 'n 3.3 Volt Pro Mini via drade na die Pi geïnstalleer as 'n opsie om ekstra kameraskakeling by te voeg. Die Pro Mini kan aangedryf word vanaf die 3.3 volt -pen van die Pi. 'N IR -module word verbind met pen 2 van die Arduino, en die aangehegte skets dekodeer die druk van die knoppie 0 tot 5 (eintlik 0 tot 9, maar sommige Arduino -penne is nog nie verbind nie). Die Arduino -uitsette maak verbinding met die digitale ingang GPIO -penne van die Pi, waar 'n bash script -onderbreking bepaal watter 'knoppie' gedruk is, stop dan die een vertoonweergawe -opsie en begin 'n ander.

My kabeldoos kom van Spectrum (voorheen Time Warner Cable), 'n Motorola DVR -model DCX3510. Dit gebruik GI -kabelprotokol vir IR. Die Sony TV gebruik die Sony -protokol 2. Ek het gedink dat die een of die ander kodes goed sou wees om die Pi IR -ontvanger te beheer, en dit het ook gewerk, hoewel dit nie prakties blyk te wees nie. Die afstandbeheer sou ekstra opdragte verwag, of ook die invoerbron outomaties verander as 'n knoppie 0 tot 9 gedruk word. Daarom moes ek 'n ander kode gebruik wat nie met die kabeltuner of TV kon skakel nie. Ek het gevind dat my universele afstandsbediening 'n voorheen geprogrammeerde kode vir 'n AUX -toestel het (weet nie wat dit beheer nie) en besluit om dit te gebruik. Die geproduseerde kodes het gesê dit gebruik NECx, 'n 32 -bis -kode, so ek het die knoppiekodes in die Arduino IR_Rev_Codes_Pi_Monitor -skets ingevoer. Verander die program as u 'n ander model het deur die ontvangsprogram in IRLib2 te gebruik, en let op die maker, protokol en hex -waardes vir die gedrukte knoppies.

Stap 3: Gevolgtrekking

Afsluiting
Afsluiting
Afsluiting
Afsluiting
Afsluiting
Afsluiting

Die deurmonitor is 'n praktiese tuisautomatiseringsprojek. Dit was my eerste ervaring om die Pi met Python te programmeer. Python laat die programmering van 'n onderbreking toe, 'n funksie wat ek gedink het gereserveer is vir mikrobeheerders. Die onderbreking laat die program toe om normaal te werk, terwyl die omxplayer uitgevoer word, sonder om voortdurend na te gaan of 'n ander aksie nodig is, soos om die skerm na 'n nuwe kamerastroom te verander. As die onderbreking egter plaasvind, bepaal die program dan watter nuwe videostroom moet verskyn. Die Arduino is ingestel om 'n pols te gee om die Python -onderbreking te aktiveer. As die onderbreking plaasvind, soek die program na watter spesifieke Arduino -uitset (wat ooreenstem met die ingedrukte IR -knoppie ingedruk). Laastens maak die program enige huidige omxplayer -skerm dood en begin die nuwe omxplayer -vertoning.

Ek het geleer dat die Pi nie sy GPIO-penne stel om in te voer soos die Arduino by verstek nie- nie 'n fout van die Pi nie, maar dit is die manier waarop die Broadcom BCM2837 van die fabriek af is. Ek hou van die 4 -kern, 1,2 Ghz -verwerker, 'n laer krag, 'n goedkoop rekenaar wat uitstekende HD -video kan vertoon. IR -knoppie 1 toon die vierkante skerm, en knoppies 2 tot 5 wys elkeen 'n enkele groot skerm van 'n kamera in High Definition.

Deur op die afstandsbedieningsknoppie 0 te druk, word die videovertoning gekanselleer en die Pi -opdragreël vertoon. As u na YouTube -video's of dies meer wil kyk, gebruik 'n Bluetooth -sleutelbord, tik "startx" en gebruik die Pi -blaaier om na die Youtube -video te gaan en dit op volle skerm in hoë definisie te speel.

Aanbeveel: