Satura rādītājs:

Kas atrodas pie durvīm, Alexa iedarbināta kameru sistēma: 3 soļi
Kas atrodas pie durvīm, Alexa iedarbināta kameru sistēma: 3 soļi

Video: Kas atrodas pie durvīm, Alexa iedarbināta kameru sistēma: 3 soļi

Video: Kas atrodas pie durvīm, Alexa iedarbināta kameru sistēma: 3 soļi
Video: Nikola Tesla's Warning of the Philadelphia Experiment & Time Travel 2024, Novembris
Anonim
Kas atrodas pie durvīm, Alexa iedarbināta kameru sistēma
Kas atrodas pie durvīm, Alexa iedarbināta kameru sistēma
Kas atrodas pie durvīm, Alexa iedarbināta kameru sistēma
Kas atrodas pie durvīm, Alexa iedarbināta kameru sistēma
Kas atrodas pie durvīm, Alexa iedarbināta kameru sistēma
Kas atrodas pie durvīm, Alexa iedarbināta kameru sistēma

Dažreiz, skatoties televizoru, jūs nevēlaties atbildēt uz durvīm, ja vien tas nav svarīgi. Šis projekts ļauj apskatīt personu pie durvīm, vienkārši sakot Amazon Echo ierīcei "Alexa, ieslēdz durvju monitoru". Jūs pārbaudāt, kas parādās televizora ekrānā, un pēc tam atgriežaties pie parastās TV programmas "Alexa, ieslēdziet televizoru". Sistēma varētu būt noderīga arī vecākiem pieaugušajiem vai bērniem, kuri būtu neaizsargāti pret to, ka tos varētu izmantot pārdevēji, zagļi un tamlīdzīgi. Tas ļauj jūsu izklaides sistēmas lielā ekrāna televizoram kļūt par kameras displeja monitoru ne tikai priekšējo durvju kamerai, bet arī jebkurai citai drošības kamerai, kas jums varētu būt; patiesībā to pat varētu paplašināt, lai parādītu video no interneta kamerām, piemēram, pludmales kamerām utt.

Daļas:

Izklaides sistēma:

TV ar vairākām HDMI ieejām (lielākajā daļā televizoru tās ir)

Kabelis vai DVR kārba

Maršrutētājs un interneta savienojums, izmantojot kabeļtelevīziju (iespējams, nav nepieciešams, ja jums ir WiFi)

Amazon Echo ("Alexa")

Harmonijas centrs

Kamera (-as)

IP kamera pie priekšējām durvīm (vēlams izmantot Power over Ethernet - POE tipa)

Raspberry Pi3 projekta kastē (oriģinālais Pi var darboties) ar HDMI kabeli

Arduino Pro Mini 8 Mhz, 3.3v

IR modulis (visbiežāk izmantotie veidi darbosies)

1. darbība: iestatīšana, sākotnējā programmēšana (testēšana)

Iestatīšana, sākotnējā programmēšana (testēšana)
Iestatīšana, sākotnējā programmēšana (testēšana)
Iestatīšana, sākotnējā programmēšana (testēšana)
Iestatīšana, sākotnējā programmēšana (testēšana)
Iestatīšana, sākotnējā programmēšana (testēšana)
Iestatīšana, sākotnējā programmēšana (testēšana)

Šis projekts balstās uz Pi3 omxplayer, kas atšifrē video ar aparatūras paātrinājumu. Omxplayer var izmēģināt, izmantojot komandrindu Pi terminālī, izmantojot atbilstošo formātu rtsp: // user@password@ipaddress, kas nepieciešams jūsu kamerai. Pi jābūt savienotam ar Ethernet (lai gan Pi3 varētu savienot arī, izmantojot WiFi, bet netiktu pārbaudīts), un fiziski jāatrodas izklaides centrā, lai Pi HDMI izejas kabelis varētu sasniegt televizora HDMI ieejas ligzdu. Arduino un IR modulis izveidos savienojumu ar Pi un pārraidīs informāciju, kas iegūta, lasot televizora tālvadības pults pogas. Pi varētu šo dekodēšanu veikt tieši no IR moduļa, bet es labāk pārvaldu Arduino programmēšanu nekā Python programmēšana, turklāt tas ietaupa procesora resursus Pi galvenajam uzdevumam - video straumes (-u) dekodēšanai.

Tā kā manai drošības sistēmai ir vairākas kameras, es izmantoju ar Pi darbināmu pārraudzības displeju, lai vienlaikus parādītu 4 kameras, kā arī atsevišķu kameru pilnekrāna režīmu. Izpildiet šos norādījumus, taču, iespējams, jums būs daudz problēmu, lai kameras parādītu stabili.

Viena no problēmām ir tā, ka programmā norādītie 4 loga izmēri var neatbilst jūsu konkrētajai TV izšķirtspējai. Uzziniet, kādas izšķirtspējas jūsu monitors atbalsta, vienlaikus ievērojot jūsu kameru izšķirtspēju. Lielākajai daļai IP kameru ir augstas izšķirtspējas (1080p) un zemas izšķirtspējas (640x480) straume, tādēļ, ja vēlaties tikai vienu augstas izšķirtspējas video no ieejas durvīm, izmantojiet augstas izšķirtspējas straumi rtsp: //. Iet ar zemas izšķirtspējas straumi kamerām 4 kvadrantos, jūs nepamanīsit lielas atšķirības ar mazākiem attēla izmēriem. Jūs varat izmantot manu bash skripta (test.sh) logu izmērus (1080p izšķirtspējas režīmā, parādot 4 vienāda izmēra 640x480 kameras, kas pielāgotas). Pretējā gadījumā izmantojiet grafisko papīru, lai izkārtotu televizora pikseļus, un pēc tam ieskicējiet, cik taisnstūru vēlaties šajā apgabalā. Tālāk noskaidrojiet, cik 640 x 480 videoklipu būs piemēroti, nemainot pārāk daudz aspektu (stiepšanās horizontāli izskatās labāk nekā vertikāli). Man nepatīk robežas, tāpēc es par tām nerēķināju. Numurējiet taisnstūrus no augšas pa kreisi uz leju pa labi 1, 2, 3 … utt. Pēc tam izveidojiet loga numuru kolonnu, katrai šo skaitļu rindai pierakstiet augšējo kreiso x, y pikseļu un apakšējo labo pikseļu x, y. Pēc tam šie skaitļi tiek aizstāti skriptā, lai iegūtu pielāgotu displeju. Ja vēlaties, jums var būt 3 x 3 displejs. Ja vēlaties tikai vienu displeju, vienkārši komentējiet pārējās 3 kameras un iestatiet loga izmēru pilnekrāna izšķirtspējā (un izmantojiet augstas izšķirtspējas rtsp straumi) un nosauciet skriptu "test1.sh". Izveidojiet tik daudz skriptu, cik vēlaties, programma btn.py Python tos izsauks, kad Arduino mainīs GPIO tapas.

Viena problēma, lai iegūtu stabilu displeju (attēla augšdaļa ir smalka, bet zemākas attēla vertikālas svītras) ir tā, ka daudzas kameras straumē daudz labāk, izmantojot rtsp pār tcp (es izmantoju Hikvision 2 līdz 5 Mp IP kameras). Tāpēc lietojiet "--avdict rtsp_transport: tcp" omxplayer, kā parādīts attēlā. Citas noderīgas omxplayer komandas ir skaļums (--vol -6000, lai izslēgtu skaņu) un buferis (--video rinda x), kur x = 1 vai vairāk.

IP kameras iestatījumi var radīt arī problēmas ar omxplayer. Visām IP kamerām jābūt iestatītām vienādiem kadriem sekundē, pretējā gadījumā attēls sadalīsies. Kad iestatīts radikāli atšķirīgs kadru ātrums, vienas kameras laika zīmogā parādītais laiks faktiski uz dažām sekundēm pagāja atpakaļ, pēc tam uz priekšu, tad atpakaļ utt. Pārliecinieties, vai jūsu atskaņotāja logi nepārklājas, vai arī daļa, kas pārklājas, mirgo.

2. solis: salieciet to kopā

Liekot to kopā
Liekot to kopā

Jūs varētu manuāli kontrolēt kabeļtelevīziju un televizoru, lai ļautu Pi parādīt priekšējo durvju kameru. Tomēr tas prasa diezgan daudz pogu nospiešanu, ieskaitot atbilstošu universālā tālvadības pults pārslēgšanu no kabeļa režīma uz TV režīmu, lai varētu mainīt HDMI ievades avotu uz Pi kameras dekodētāju (HDMI 2). Ja vēlaties iespēju parādīt papildu kameru ekrānus, jums arī jāpārslēdz universālā tālvadības pults uz AUX, lai kontrolētu Arduino un līdz ar to arī Pi kameras izvēli. Lai vienkāršotu šo procesu, izmantojiet Harmony Hub un saistīto viedtālruņu lietotni Harmony, iemācot tai kontrolēt televizoru un kabeļtelevīziju normālai TV skatīšanai vienā darbībā, pēc tam izveidojiet citu darbību, lai kontrolētu Pi video monitoru. Darbības ietver televizora ieslēgšanu, televizora ieeju HDMI 2 un virtuālā NECx TV (ti, Arduino un Pi) pogu kontroli no 0 līdz 5. Tas ļauj visu kontrolēt, izmantojot viedtālruņa lietotni Harmony. Lai padarītu lietas vēl vienkāršākas, savienojiet lietotni Amazon Echo Dot (Alexa) ar lietotni Harmony, lai balss vadītu TV vai durvju uzraudzības funkcijas. Harmony vietnē ir sniegta informācija par to, kā iespējot šīs jaunās Alexa prasmes. Jaunas prasmes. Tiklīdz atslēgvārdi, piemēram, “Ieslēgt televizoru” vai “Ieslēgt durvju monitoru”, būs saistīti ar jaunām Alexa prasmēm, ļaus veikt atbilstošas darbības, neprasot IS no universālās tālvadības pults.

Pi ir savienots, izmantojot Ethernet, ar jūsu LAN, un, izmantojot HDMI kabeli, ar televizoru. Es instalēju 3,3 voltu Pro Mini, izmantojot vadus, Pi kā iespēju pievienot papildu kameras pārslēgšanu. Pro Mini var darbināt no Pi 3,3 voltu tapas. IR modulis tiek savienots ar Arduino 2. tapu, un pievienotā skice dekodē pogas nospiešanu no 0 līdz 5 (faktiski no 0 līdz 9, bet dažas Arduino tapas vēl nav pievienotas). Arduino izejas savienojas ar Pi digitālās ievades GPIO tapām, kur bash skripta pārtraukums nosaka, kura "poga" tika nospiesta, pēc tam aptur vienu displeja skata opciju un sāk citu.

Mana kabeļu kaste ir no Spectrum (agrāk Time Warner Cable), kas ir Motorola DVR modelis DCX3510. Tas izmanto GI Cable protokolu IR. Sony televizors izmanto Sony protokolu 2. Es domāju, ka viens vai otrs no šiem kodiem būtu piemērots, lai kontrolētu Pi IR uztvērēju, un vai nu tas darbojās, lai gan izrādījās, ka tas nav praktiski. Tālvadības pults gaidīs papildu komandas vai automātiski mainīs ievades avotu, nospiežot pogu 0 līdz 9. Tāpēc man bija jāizmanto cits kods, kas nevarētu mijiedarboties ar kabeļu uztvērēju vai televizoru. Es atklāju, ka manā universālajā tālvadības pultī bija iepriekš ieprogrammēts AUX ierīces kods (nezinu, ko tā kontrolē), un nolēmu to izmantot. Sagatavotajos kodos bija teikts, ka tiek izmantots 32 bitu kods NECx, tāpēc es ievadīju šos pogu kodus Arduino IR_Rev_Codes_Pi_Monitor skicē. Mainiet programmu, ja jums ir cits modelis, izmantojot saņemšanas programmu IRLib2, un atzīmējiet nospiesto pogu veidotāja, protokola un sešstūra vērtības.

3. solis: secinājums

Secinājums
Secinājums
Secinājums
Secinājums
Secinājums
Secinājums

Durvju monitors ir praktisks mājas automatizācijas projekts. Tā bija mana pirmā pieredze programmēšanā Pi ar Python. Python ļauj programmēt pārtraukumu, kas, manuprāt, bija rezervēts mikrokontrolleriem. Pārtraukums ļauj programmai darboties normāli, palaižot omxplayer, nepārtraukti nepārbaudot, vai ir nepieciešama cita darbība, piemēram, displeja maiņa uz jaunu kameras plūsmu. Tomēr, ja notiek pārtraukums, programma nosaka, kura jaunā video plūsma ir jāuzsāk. Arduino ir iestatīts, lai nodrošinātu impulsu, lai izraisītu Python pārtraukumu. Ja notiek pārtraukums, programma meklē, kura konkrētā Arduino izeja (kas atbilst nospiestajai IR tālvadības pogai) ir aktivizēta. Visbeidzot, programma nogalina jebkuru pašreizējo omxplayer displeju un sāk jaunu omxplayer displeju.

Es uzzināju, ka Pi nenosaka GPIO tapas ievadīšanai kā Arduino pēc noklusējuma- tas nav Pi vaina, bet tas ir veids, kā Broadcom BCM2837 ir no rūpnīcas. Man patīk 4 kodolu, 1,2 Ghz procesors, mazjaudas un lētu datoru, kas var parādīt lielisku HD video. IR poga 1 parāda četrkāršo displeju, un pogas 2 līdz 5 parāda vienu lielu kameras displeju augstas izšķirtspējas režīmā.

Nospiežot IR tālvadības pogu 0, tiek atcelts video displejs un parādīta komandrinda Pi. Ja vēlaties skatīties Youtube videoklipus vai tamlīdzīgi, izmantojiet Bluetooth tastatūru, ierakstiet "startx" un izmantojiet Pi pārlūku, lai pārietu uz Youtube videoklipu un atskaņotu to pilnekrāna režīmā augstas izšķirtspējas režīmā.

Ieteicams: