Sisällysluettelo:

Kuka on ovella, Alexa -kamerajärjestelmä: 3 vaihetta
Kuka on ovella, Alexa -kamerajärjestelmä: 3 vaihetta

Video: Kuka on ovella, Alexa -kamerajärjestelmä: 3 vaihetta

Video: Kuka on ovella, Alexa -kamerajärjestelmä: 3 vaihetta
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, Marraskuu
Anonim
Kuka on ovella, Alexa -kamerajärjestelmä
Kuka on ovella, Alexa -kamerajärjestelmä
Kuka on ovella, Alexa -kamerajärjestelmä
Kuka on ovella, Alexa -kamerajärjestelmä
Kuka on ovella, Alexa -kamerajärjestelmä
Kuka on ovella, Alexa -kamerajärjestelmä

Joskus television katselun aikana et halua vastata oveen, ellei se ole tärkeää. Tämän projektin avulla voit tarkastella ovella olevaa henkilöä yksinkertaisesti kertomalla Amazonin Echo -laitteelle "Alexa, kytke ovimonitori päälle". Tarkistat, kuka näkyy TV -ruudulla, ja palaat sitten normaaliin TV -ohjelmointiin "Alexa, kytke televisio päälle". Järjestelmä voi olla arvokas myös vanhemmille aikuisille tai lapsille, jotka ovat alttiita myyjien, varkaiden ja vastaavien hyväksikäytölle. Tämä mahdollistaa sen, että viihdejärjestelmäsi suuri näyttö -TV voi olla kameranäytönä etuoven kameran lisäksi myös muissa mahdollisissa turvakameroissa; Itse asiassa sitä voitaisiin jopa laajentaa näyttämään videoita Internet -kameroista, kuten rantakamerat jne.

Osat:

Viihdejärjestelmä:

TV, jossa on useita HDMI -tuloja (useimmissa televisioissa on niitä)

Kaapeli tai DVR -laatikko

Reititin ja internetyhteys kaapelilaatikon kautta (ei välttämättä tarvita, jos sinulla on WiFi)

Amazon Echo ("Alexa")

Harmony Hub

Kamera (t)

IP -kamera etuovessa (Power Over Ethernet -POE -tyyppi suositeltava)

Raspberry Pi3 projektikotelossa (alkuperäinen Pi saattaa toimia) HDMI -kaapelilla

Arduino Pro Mini 8 Mhz, 3.3v

IR -moduuli (yleisimmät tyypit toimivat)

Vaihe 1: Asennus, alustava ohjelmointi (testaus)

Asennus, alustava ohjelmointi (testaus)
Asennus, alustava ohjelmointi (testaus)
Asennus, alustava ohjelmointi (testaus)
Asennus, alustava ohjelmointi (testaus)
Asennus, alustava ohjelmointi (testaus)
Asennus, alustava ohjelmointi (testaus)

Tämä projekti perustuu Pi3 -omxplayeriin, joka purkaa videon laitteistokiihdytyksellä. Omxplayer voidaan testata Pi -päätelaitteen komentoriviltä käyttämällä sopivaa rtsp: // user@password@ipaddress -muotoa, jota kamera vaatii. Pi on kytkettävä Ethernetiin (vaikka Pi3 voitaisiin liittää myös WiFi: n kautta, mutta ei testattu) ja fyysisesti viihdekeskuksessa, jotta Pi: n HDMI -lähtökaapeli pääsee television HDMI -tuloliitäntään. Arduino- ja IR -moduuli muodostavat yhteyden Pi -laitteeseen ja välittävät TV: n kaukosäätimen painikkeiden lukemisesta saadut tiedot. Pi voisi tehdä tämän dekoodauksen suoraan IR -moduulista, mutta olen parempi Arduinon ohjelmoinnissa kuin Python -ohjelmointi ja lisäksi se säästää prosessoriresursseja Pi: n päätehtävään videovirran dekoodaamiseen.

Koska turvajärjestelmässäni on useita kameroita, käytin Pi -virtalähdenäyttöä keinona näyttää neljä kameraa samanaikaisesti sekä yksittäisten kameroiden koko näytön kokoinen näyttö. Noudata näitä ohjeita, mutta sinulla on todennäköisesti paljon ongelmia saada kamerat näkymään vakaasti.

Yksi ongelmista on, että ohjelmassa luetellut 4 ikkunakokoa eivät välttämättä sovi TV: n tarkkuuteen. Selvitä, mitä resoluutioita näyttösi tukee, ja huomioi samalla kameran resoluutio. Useimmissa IP -kameroissa on korkean resoluution (1080p) ja matalan resoluution (640x480) virta, joten jos haluat vain yhden korkean resoluution videon etuovesta, siirry korkean resoluution streamin rtsp: // muotoon. Siirry matalan resoluution kameroille neljässä neljänneksessä, et huomaa paljon eroa pienempien kuvakokojen kanssa. Voit käyttää bash -skriptini (test.sh) ikkunakokoa (1080p -tarkkuustilassa, näyttäen 4 samankokoista 640x480 -kameraa skaalattuna sopivaksi). Muussa tapauksessa käytä grafiikkapaperia TV -pikselien asetteluun ja luonnostele kuinka monta suorakulmiota haluat tällä alueella. Seuraavaksi selvitä, kuinka monta 640 x 480 videota mahtuu ilman, että kuvasuhde muuttuu liikaa (venyttäminen vaakasuunnassa näyttää paremmalta kuin pystysuunnassa). En pidä rajoista, joten en laskenut niitä. Numeroi suorakulmiot vasemmasta yläkulmasta oikeaan alakulmaan 1, 2, 3 … jne. Tee sitten sarake ikkunanumeroista, kirjoita kunkin numeron riville vasen ylempi x, y pikseli ja oikea alempi pikseli x, y. Nämä numerot korvataan sitten komentosarjalla mukautetun näytön saamiseksi, sinulla voi olla halutessasi 3 x 3 -näyttö. Jos haluat vain yhden näytön, kommentoi vain kolme muuta kameraa ja aseta ikkunan koko koko näytön resoluutio (ja käytä korkean resoluution rtsp -suoratoistoa) ja nimeä skripti "test1.sh". Tee niin monta skriptiä kuin haluat, btn.py Python -ohjelma kutsuu ne esiin, kun Arduino vaihtaa GPIO -nastat.

Yksi ongelma vakaan näytön saamisessa (kuvan yläreuna on hieno, mutta kuvan pystysuuntaiset juovat ovat pienemmät) on, että monet kamerat suoratoistavat paljon paremmin käyttämällä rtsp: tä yli tcp: n (käytän Hikvision 2–5 Mp: n IP -kameroita). Käytä siis "--avdict rtsp_transport: tcp" omxplayerissä kuvan mukaisesti. Muita hyödyllisiä omxplayer-komentoja ovat äänenvoimakkuus (--vol -6000 mykistykselle) ja puskuri (--videojono x), jossa x = 1 tai enemmän.

IP -kameran asetukset voivat myös aiheuttaa ongelmia omxplayerin kanssa. Kaikkien IP -kameroiden tulee olla samoja ruutuja sekunnissa, tai kuva hajoaa. Kun asetettu radikaalisti erilaisille kuvataajuuksille, yhden kameran aikaleimalla näytetty aika kului taaksepäin muutaman sekunnin, sitten eteenpäin ja sitten taaksepäin jne. Varmista, että omxplayer -ikkunat eivät ole päällekkäisiä tai päällekkäin oleva osa välkkyy.

Vaihe 2: Laita se yhteen

Yhdistäminen
Yhdistäminen

Voit ohjata kaapelilaatikkoa ja televisiota käsin, jotta Pi näyttää etuoven kameran. Tämä vaatii kuitenkin muutaman painalluksen, mukaan lukien yleiskaukosäätimen asianmukainen vaihtaminen kaapelitilasta TV -tilaan, jotta HDMI -tulolähde voidaan vaihtaa Pi -kameran dekooderiksi (HDMI 2). Jos haluat mahdollisuuden näyttää lisää kameranäyttöjä, sinun on myös kytkettävä yleiskaukosäädin AUX -tilaan Arduinon ja siten Pi -kameran valinnan ohjaamiseksi. Yksinkertaistaaksesi tätä prosessia, käytä Harmony Hubia ja siihen liittyvää Harmony -älypuhelinsovellusta opettamalla se ohjaamaan televisiota ja kaapelilaatikkoa normaaliin television katseluun yhdessä toiminnossa ja luomalla sitten toinen toiminto Pi -videomonitorin ohjaamiseksi. Toiminto sisältää television käynnistämisen, television tulon HDMI 2: een ja virtuaalisen NECx -television (eli Arduino- ja Pi -painikkeiden) ohjaamisen 0-5. Tämän avulla voit hallita kaikkea Harmony -älypuhelinsovelluksen kautta. Jotta asiat olisivat vieläkin helpompia, yhdistä Amazon Echo Dot (Alexa) -sovellus Harmony -sovellukseen television tai oven valvontatoimintojen puheohjausta varten. Harmony -verkkosivustolla on tietoja näiden uusien Alexa -taitojen käyttöönotosta. Uudet taidot. Kun avainsanat on yhdistetty uusiin Alexa -taitoihin, "Kytke televisio päälle" tai "Kytke ovimittari päälle" mahdollistavat tarvittavat toiminnot tarvitsematta infrapunaa yleiskauko -ohjaimesta.

Pi on kytketty Ethernetin kautta lähiverkkoosi ja HDMI -kaapelilla televisioon. Asensin 3,3 voltin Pro Mini -kaapelin kautta Pi: hen lisävaihtoehtona kameran lisäkytkennän lisäämiseksi. Pro Mini saa virtansa Pi: n 3,3 voltin nastasta. IR -moduuli muodostaa yhteyden Arduinon nastaan 2, ja liitteenä oleva luonnos purkaa painikkeen painalluksen 0-5 (itse asiassa 0-9, mutta joitain Arduino -nastoja ei ole vielä kytketty). Arduino -lähdöt kytkeytyvät Pi: n digitaalitulon GPIO -nastoihin, joissa bash -komentosarjan keskeytys määrittää, mitä "painiketta" painettiin, ja pysäyttää sitten yhden näytön katseluvaihtoehdon ja käynnistää toisen.

Kaapelilaatikoni on peräisin Spectrumista (aiemmin Time Warner Cable), joka on Motorola DVR -malli DCX3510. Se käyttää GI -kaapeliprotokollaa IR: lle. Sony TV käyttää Sony -protokollaa 2. Luulin, että yksi tai toinen näistä koodeista olisi hyvä ohjata Pi IR -vastaanotinta, ja joko toimi, vaikka se ei osoittautunut käytännölliseksi. Kaukosäädin odottaa lisäkomentoja tai vaihtaa automaattisesti myös tulolähteen, kun painiketta 0-9 painetaan. Siksi minun piti käyttää toista koodia, joka ei olisi vuorovaikutuksessa kaapelivirittimen tai television kanssa. Huomasin, että universaalisella kauko -ohjaimellani oli aiemmin ohjelmoitu koodi AUX -laitteelle (en tiedä mitä se hallitsi), ja päätin käyttää sitä. Tuotetuissa koodeissa sanottiin, että se käytti 32 -bittistä NECx -koodia, joten annoin nämä painikekoodit Arduino IR_Rev_Codes_Pi_Monitor -luonnokseen. Muuta ohjelmaa, jos sinulla on eri malli, käyttämällä vastaanotto -ohjelmaa IRLib2: ssa ja merkitse muistiin painikkeiden valmistaja-, protokolla- ja heksadesimaaliarvot.

Vaihe 3: Johtopäätös

Johtopäätös
Johtopäätös
Johtopäätös
Johtopäätös
Johtopäätös
Johtopäätös

Ovimonitori on käytännöllinen kodin automaatiohanke. Se oli ensimmäinen kokemukseni Pi: n ohjelmoinnista Pythonilla. Python mahdollistaa keskeytyksen ohjelmoinnin, ominaisuuden, jonka luulin olevan varattu mikro -ohjaimille. Keskeytyksen ansiosta ohjelma voi toimia normaalisti omxplayer -ohjelmaa tarkistamatta jatkuvasti, tarvitaanko muita toimintoja, kuten näytön vaihtaminen uuteen kamerasyöteeseen. Jos keskeytys kuitenkin tapahtuu, ohjelma määrittää sitten, mikä uusi videosyöttö tulee tuoda esiin. Arduino on asetettu tarjoamaan pulssi, joka laukaisee Python -keskeytyksen. Jos keskeytys tapahtuu, ohjelma etsii, mikä tietty Arduino -lähtö (joka vastaa IR -kaukosäätimen painiketta) on aktivoitu. Lopuksi ohjelma tappaa kaikki nykyiset omxplayer -näytöt ja käynnistää uuden omxplayer -näytön.

Opin, että Pi ei aseta GPIO-nastojaan syöttöön kuten Arduino tekee oletuksena- ei Pi: n vika, mutta näin Broadcom BCM2837 on tehtaalta. Pidän 4 ytimen, 1,2 GHz: n suorittimesta, pienitehoisesta ja edullisesta tietokoneesta, joka voi näyttää upeaa HD -videota. IR -painike 1 näyttää nelinäytön ja painikkeet 2-5 näyttävät kumpikin suuren teräväpiirtonäytön.

IR -kaukosäätimen painikkeen 0 painaminen peruuttaa videonäytön ja näyttää Pi -komentorivin. Jos haluat katsella Youtube -videoita tai vastaavia, käytä Bluetooth -näppäimistöä, kirjoita "startx" ja siirry Pi -selaimen avulla Youtube -videoon ja toista se koko näytön teräväpiirtona.

Suositeltava: