Turinys:

Kas yra prie durų, „Alexa“valdoma kamerų sistema: 3 žingsniai
Kas yra prie durų, „Alexa“valdoma kamerų sistema: 3 žingsniai

Video: Kas yra prie durų, „Alexa“valdoma kamerų sistema: 3 žingsniai

Video: Kas yra prie durų, „Alexa“valdoma kamerų sistema: 3 žingsniai
Video: Ezviz DP2C Durų skambutis - belaidė kamera. Išmani namų apsauga / EP68 2024, Lapkritis
Anonim
Kas yra prie durų, „Alexa“valdoma kamerų sistema
Kas yra prie durų, „Alexa“valdoma kamerų sistema
Kas yra prie durų, „Alexa“valdoma kamerų sistema
Kas yra prie durų, „Alexa“valdoma kamerų sistema
Kas yra prie durų, „Alexa“valdoma kamerų sistema
Kas yra prie durų, „Alexa“valdoma kamerų sistema

Kartais žiūrėdami televizorių nenorite atsakyti į duris, nebent tai svarbu. Šis projektas leidžia jums pamatyti žmogų prie durų, tiesiog pasakius „Amazon“„Echo“įrenginiui „Alexa, įjunk durų monitorių“. Jūs patikrinate, kas rodomas televizoriaus ekrane, tada grįžkite prie įprasto televizijos programavimo „Alexa, įjunkite televizorių“. Sistema taip pat gali būti naudinga vyresnio amžiaus žmonėms ar vaikams, kurie būtų pažeidžiami, kai jais pasinaudos pardavėjai, vagys ir pan. Tai leidžia jūsų pramogų sistemos didelio ekrano televizoriui būti ne tik priekinių durų kameros, bet ir visų kitų jūsų turimų apsaugos kamerų ekranu; Tiesą sakant, jis netgi galėtų būti išplėstas, kad būtų rodomas vaizdo įrašas iš interneto kamerų, tokių kaip paplūdimio kameros ir kt.

Dalys:

Pramogų sistema:

Televizorius su keliais HDMI įėjimais (dauguma televizorių turi juos)

Kabelis arba DVR dėžutė

Maršrutizatorius ir interneto ryšys per kabelinę dėžę (gali būti nereikalinga, jei turite „WiFi“)

„Amazon Echo“(„Alexa“)

„Harmony Hub“

Fotoaparatas (-ai)

IP kamera prie durų (pageidautina „Power Over Ethernet“- POE tipo)

Raspberry Pi3 projekto dėžutėje (originalus Pi gali veikti) su HDMI kabeliu

Arduino Pro Mini 8 Mhz, 3.3v

IR modulis (dažniausiai naudojami tipai)

1 žingsnis: sąranka, preliminarus programavimas (bandymas)

Sąranka, preliminarus programavimas (testavimas)
Sąranka, preliminarus programavimas (testavimas)
Sąranka, preliminarus programavimas (testavimas)
Sąranka, preliminarus programavimas (testavimas)
Sąranka, preliminarus programavimas (testavimas)
Sąranka, preliminarus programavimas (testavimas)

Šis projektas remiasi „Pi3 omxplayer“, kuris dekoduoja vaizdo įrašus su aparatūros pagreičiu. „Omxplayer“galima išbandyti iš komandų eilutės Pi terminale, naudojant atitinkamą formatą rtsp: // user@password@ipaddress, kurio reikalauja jūsų fotoaparatas. „Pi“turėtų būti prijungtas prie „Ethernet“(nors „Pi3“taip pat gali būti prijungtas per „WiFi“, bet nebuvo išbandytas) ir fiziškai įrengtas pramogų centre, kad „Pi“HDMI išvesties kabelis galėtų pasiekti televizoriaus HDMI įvesties lizdą. „Arduino“ir IR modulis prisijungs prie „Pi“ir perduos informaciją, gautą skaitant televizoriaus nuotolinio valdymo pulto mygtukus. „Pi“galėtų atlikti šį dekodavimą tiesiai iš IR modulio, bet aš geriau moku programuoti „Arduino“nei „Python“, be to, jis sutaupo procesoriaus išteklius pagrindinei „Pi“užduočiai dekoduoti vaizdo srautą (-us).

Kadangi mano apsaugos sistemoje yra kelios kameros, aš naudoju „Pi“maitinimo stebėjimo ekraną kaip būdą rodyti 4 kameras vienu metu, taip pat rodyti atskiras kameras per visą ekraną. Vykdykite šias instrukcijas, tačiau tikriausiai turėsite daug problemų, kad fotoaparatai būtų rodomi stabiliai.

Viena iš problemų yra ta, kad programoje išvardyti 4 langų dydžiai gali neatitikti jūsų konkrečios televizoriaus skiriamosios gebos. Sužinokite, kokias rezoliucijas palaiko jūsų monitorius, atkreipdami dėmesį į fotoaparatų skiriamąją gebą. Dauguma IP kamerų turi didelės skiriamosios gebos (1080p) ir mažos skiriamosios gebos (640x480) srautą, taigi, jei norite tik vieno didelės skiriamosios gebos vaizdo įrašo iš priekinių durų, naudokite didelės skiriamosios gebos srautą rtsp: //. Naudokitės mažos skiriamosios gebos kameromis 4 kvadrantuose, nepastebėsite didelio skirtumo su mažesniais vaizdo dydžiais. Galite naudoti mano „bash“scenarijaus (test.sh) langų dydžius (1080p raiškos režimu rodant 4 vienodo dydžio 640x480 fotoaparatus, pritaikytus). Priešingu atveju naudokite grafinį popierių, kad išdėstytumėte televizoriaus pikselius, tada eskizuokite, kiek toje srityje reikia stačiakampių. Toliau raskite, kiek 640 x 480 vaizdo įrašų tilps per daug nekeičiant aspektų (ištempimas horizontaliai atrodo geriau nei vertikaliai). Nemėgstu sienų, todėl neskaičiavau. Skaičiuokite stačiakampius iš viršaus į kairę iki apatinės dešinės 1, 2, 3..tt. Tada sudarykite langų skaičių stulpelį, kiekvienai tų skaičių eilutei užrašykite viršutinį kairįjį x, y pikselį ir apatinį dešinįjį pikselį x, y. Tada šie skaičiai pakeičiami scenarijumi, kad būtų rodomas tinkintas ekranas, jei norite, galite turėti 3 x 3 ekraną. Jei norite tik vieno ekrano, tiesiog pakomentuokite kitas 3 kameras ir nustatykite viso ekrano skiriamąją gebą (ir naudokite didelės skiriamosios gebos rtsp srautą) ir pavadinkite scenarijų „test1.sh“. Sukurkite tiek scenarijų, kiek norite, „btn.py Python“programa juos iškvies, kai „Arduino“pakeis GPIO kaiščius.

Viena problema norint gauti stabilų ekraną (vaizdo viršuje gerai, bet mažesni vertikalūs dryžiai) yra tai, kad daugelis kamerų transliuoja daug geriau, naudojant rtsp per tcp (aš naudoju „Hikvision“2–5 Mp IP kameras). Todėl „omxplayer“naudokite „--avdict rtsp_transport: tcp“, kaip parodyta. Kitos naudingos „omxplayer“komandos yra garsumas (--vol -6000, jei norite nutildyti) ir buferis (-vaizdo įrašų eilė x), kur x = 1 ar daugiau.

IP kameros nustatymai taip pat gali sukelti problemų su „omxplayer“. Visos IP kameros turėtų būti nustatytos į tuos pačius kadrus per sekundę, kitaip vaizdas suskaidys. Kai nustatytas radikaliai skirtingas kadrų dažnis, vienos kameros laiko žymoje rodomas laikas iš tikrųjų keletą sekundžių nukrypo atgal, paskui į priekį, tada atgal ir tt. Įsitikinkite, kad „omxplayer“langai nesutampa, arba persidengianti dalis mirksės.

2 žingsnis: sujungimas

Sujungimas
Sujungimas

Galite rankiniu būdu valdyti kabelių dėžę ir televizorių, kad Pi galėtų rodyti priekinių durų kamerą. Tačiau tam reikia paspausti keletą mygtukų, įskaitant tinkamą universaliojo nuotolinio valdymo pulto perjungimą iš kabelinio režimo į TV režimą, kad būtų galima pakeisti HDMI įvesties šaltinį į „Pi“kameros dekoderį (HDMI 2). Jei norite, kad būtų rodomi papildomi fotoaparatų ekranai, taip pat turite perjungti universalųjį nuotolinio valdymo pultą į AUX, kad galėtumėte valdyti „Arduino“, taigi ir „Pi“fotoaparato pasirinkimą. Norėdami supaprastinti šį procesą, naudokite „Harmony Hub“ir susijusią „Harmony“išmaniųjų telefonų programą, išmokydami ją valdyti televizorių ir kabelių dėžutę, kad galėtumėte normaliai žiūrėti televiziją per vieną veiklą, tada sukurkite kitą veiklą, kad valdytumėte „Pi“vaizdo monitorių. Veikla apima televizoriaus įjungimą, televizoriaus įvestį į HDMI 2 ir virtualių „NECx“televizorių (ty „Arduino“ir „Pi“) valdymą nuo 0 iki 5. Tai leidžia viską valdyti naudojant „Harmony“išmaniojo telefono programą. Kad viskas būtų dar lengviau, susiekite „Amazon Echo Dot“(„Alexa“) programą su „Harmony“programa, kad galėtumėte valdyti televizorių ar durų stebėjimo funkcijas balsu. „Harmony“svetainėje pateikiama išsami informacija apie tai, kaip įjungti šiuos naujus „Alexa“įgūdžius. Nauji įgūdžiai. Sujungus naujus „Alexa“įgūdžius, tokie raktiniai žodžiai kaip „Įjungti televizorių“arba „Įjungti durų monitorių“įgalins reikiamus veiksmus, nereikalaujant IR iš universalaus nuotolinio valdymo pulto.

„Pi“yra prijungtas prie eterneto prie jūsų LAN ir HDMI kabeliu prie televizoriaus. Aš įdiegiau 3,3 voltų „Pro Mini“per laidus į „Pi“kaip papildomą fotoaparato perjungimo parinktį. „Pro Mini“gali būti maitinamas iš 3,3 voltų „Pi“kaiščio. IR modulis jungiamas prie „Arduino“2 kaiščio, o pridėtas eskizas dekoduoja mygtuko paspaudimą nuo 0 iki 5 (iš tikrųjų nuo 0 iki 9, tačiau kai kurie „Arduino“kaiščiai dar nėra prijungti). „Arduino“išėjimai jungiasi prie „Pi“skaitmeninių įvesties GPIO kaiščių, kur „bash“scenarijaus pertraukimas nustato, kuris „mygtukas“buvo paspaustas, tada sustabdo vieną ekrano peržiūros parinktį ir pradeda kitą.

Mano kabelių dėžutė yra iš „Spectrum“(anksčiau „Time Warner Cable“), kuris yra „Motorola“DVR modelis DCX3510. Jis naudoja GI kabelio protokolą IR. „Sony“televizorius naudoja „Sony“protokolą 2. Aš maniau, kad vienas ar kitas iš šių kodų būtų tinkamas valdyti „Pi IR“imtuvą ir arba veikė, nors pasirodė, kad tai nėra praktiška. Nuotolinio valdymo pultas tikisi papildomų komandų arba automatiškai pakeis įvesties šaltinį, kai paspausite mygtuką nuo 0 iki 9. Todėl turėjau naudoti kitą kodą, kuris nesąveikautų su kabeliniu imtuvu ar televizoriumi. Radau, kad mano universalus nuotolinio valdymo pultas turėjo anksčiau užprogramuotą AUX įrenginio kodą (nežinau, ką jis valdė), ir nusprendžiau jį naudoti. Gaminami kodai sakė, kad naudojamas NECx, 32 bitų kodas, todėl aš įvedžiau tuos mygtukų kodus į „Arduino IR_Rev_Codes_Pi_Monitor“eskizą. Pakeiskite programą, jei turite kitokį modelį, naudodami IRLib2 gavimo programą ir atkreipkite dėmesį į paspaudžiamų mygtukų gamintoją, protokolą ir šešioliktainę reikšmę.

3 žingsnis: Išvada

Išvada
Išvada
Išvada
Išvada
Išvada
Išvada

Durų monitorius yra praktiškas namų automatizavimo projektas. Tai buvo mano pirmoji patirtis programuojant „Pi“su „Python“. „Python“leidžia programuoti pertrauką, kuri, mano manymu, buvo skirta mikrovaldikliams. Pertraukimas leidžia programai veikti normaliai, paleidžiant „omxplayer“, nuolat netikrinant, ar reikia atlikti kitą veiksmą, pvz., Pakeisti ekraną į naują fotoaparato kanalą. Tačiau, jei pertrauka įvyksta, programa nustato, kuris naujas vaizdo įrašas turėtų būti pateiktas. „Arduino“yra sukurtas taip, kad suteiktų impulsą, kuris suaktyvintų „Python“pertrauką. Jei pertrauka įvyksta, programa ieško, kuri konkreti „Arduino“išvestis (atitinkanti nuspaustą IR nuotolinio valdymo pulto mygtuką) yra suaktyvinta. Galiausiai programa užmuša bet kurį dabartinį „omxplayer“ekraną ir paleidžia naują „omxplayer“ekraną.

Sužinojau, kad „Pi“nenustato savo GPIO kaiščių įvesties, kaip tai daro „Arduino“pagal nutylėjimą- tai nėra „Pi“klaida, tačiau „Broadcom BCM2837“yra iš gamyklos. Man patinka 4 branduolių, 1,2 Ghz procesorius, mažos galios ir nebrangus kompiuteris, galintis rodyti puikų HD vaizdo įrašą. IR mygtukas 1 rodo keturių ekranų vaizdą, o 2–5 mygtukai rodo vieną didelį didelės raiškos fotoaparato ekraną.

Paspaudus IR nuotolinio valdymo pulto mygtuką 0, vaizdo ekranas atšaukiamas ir rodoma komandinė eilutė Pi. Jei norite žiūrėti „Youtube“vaizdo įrašus ar pan., Naudokite „Bluetooth“klaviatūrą, įveskite „startx“ir naudokitės „Pi“naršykle, kad pereitumėte prie „Youtube“vaizdo įrašo ir paleistumėte jį visu ekranu didelės raiškos režimu.

Rekomenduojamas: