Мазмұны:

Есікте кім, Alexa іске қосылған камералық жүйе: 3 қадам
Есікте кім, Alexa іске қосылған камералық жүйе: 3 қадам

Бейне: Есікте кім, Alexa іске қосылған камералық жүйе: 3 қадам

Бейне: Есікте кім, Alexa іске қосылған камералық жүйе: 3 қадам
Бейне: Woori Juntos - Harris County Commissioner Court 2024, Қараша
Anonim
Есікте кім бар, Alexa басқаратын камералық жүйе
Есікте кім бар, Alexa басқаратын камералық жүйе
Есікте кім, Alexa іске қосылған камералық жүйе
Есікте кім, Alexa іске қосылған камералық жүйе
Есікте кім, Alexa іске қосылған камералық жүйе
Есікте кім, Alexa іске қосылған камералық жүйе

Кейде теледидар көріп отырған кезде, егер маңызды болмаса, есікті ашқыңыз келмейді. Бұл жоба Amazon -дың Эхо құрылғысына «Alexa, есік мониторын қос» деп айту арқылы адамды есік алдында қарауға мүмкіндік береді. Сіз теледидар экранында кімнің пайда болатынын тексересіз, содан кейін «Alexa, теледидарды қосыңыз» қалыпты теледидар бағдарламасына оралыңыз. Бұл жүйе егде жастағы адамдар үшін де, балалар үшін де маңызды болуы мүмкін, олар сатушылардың, ұрылардың және т.б. Бұл сіздің ойын -сауық жүйеңіздің үлкен экранды теледидарын тек алдыңғы есік камерасы үшін ғана емес, сонымен қатар сізде болуы мүмкін кез келген басқа қауіпсіздік камералары үшін де камера мониторы болуға мүмкіндік береді; іс жүзінде оны жағажай камералары сияқты интернет камераларынан бейнелерді көрсету үшін ұзартуға болады.

Бөлшектер:

Көңіл көтеру жүйесі:

Бірнеше HDMI кірісі бар теледидар (көптеген теледидарда олар бар)

Кабель немесе DVR қорабы

Маршрутизатор мен кабельдік қорап арқылы интернет байланысы (егер сізде WiFi болса, қажет болмауы мүмкін)

Amazon Echo («Alexa»)

Үйлесімділік орталығы

Камералар

Алдыңғы есікте IP камера (Power Over Ethernet -POE- түрі қолайлы)

Raspberry Pi3 HDMI кабелі бар жоба қорабында (түпнұсқа Pi жұмыс істеуі мүмкін)

Arduino Pro Mini 8 МГц, 3.3в

IR модулі (ең көп таралған түрлері жұмыс істейді)

1 -қадам: Орнату, алдын ала бағдарламалау (тестілеу)

Орнату, алдын ала бағдарламалау (тестілеу)
Орнату, алдын ала бағдарламалау (тестілеу)
Орнату, алдын ала бағдарламалау (тестілеу)
Орнату, алдын ала бағдарламалау (тестілеу)
Орнату, алдын ала бағдарламалау (тестілеу)
Орнату, алдын ала бағдарламалау (тестілеу)

Бұл жоба аппараттық жеделдету арқылы бейнені шешетін Pi3 omxplayer -ге негізделген. Omxplayer камера талап ететін сәйкес rtsp: // user@password@ipaddress пішімі арқылы Pi терминалындағы пәрмен жолынан сынақтан өтуі мүмкін. Pi Ethernet желісіне қосылуы керек (Pi3 WiFi арқылы да қосылуы мүмкін, бірақ тексерілмеген) және ойын -сауық орталығында физикалық түрде орналасуы керек, сондықтан Pi шығыс HDMI кабелі теледидардың HDMI кіріс ұясына жетуі мүмкін. Arduino мен IR модулі Pi -ге қосылады және теледидардың қашықтан басқару пультінің батырмасын оқудан алынған ақпаратты жібереді. Pi бұл декодтауды IR модулінен тікелей жасай алады, бірақ мен Arduino бағдарламалауда Python бағдарламалауға қарағанда жақсырақпын, сонымен қатар Pi ағынының ағындарын декодтаудың негізгі міндеті үшін процессор ресурстарын үнемдейді.

Қауіпсіздік жүйесінде бірнеше камера болғандықтан, мен бір мезгілде 4 камераны көрсету үшін Pi қуатымен жұмыс істейтін монитор дисплейін қолдандым, сонымен қатар жеке камераларды толық экранға шығардым. Осы нұсқауларды орындаңыз, бірақ сізде камераларды тұрақты түрде көрсетуге көптеген қиындықтар туындауы мүмкін.

Мәселелердің бірі - бағдарламада көрсетілген 4 терезе өлшемі сіздің теледидардың ажыратымдылығына сәйкес келмеуі мүмкін. Камераның ажыратымдылығын ескере отырып, сіздің мониторыңыз қандай ажыратымдылықтарды қолдайтынын табыңыз. Көптеген IP камералардың ажыратымдылығы жоғары (1080p) және ажыратымдылығы төмен (640x480) ағыны бар, сондықтан егер сіз тек алдыңғы есіктің бір жоғары ажыратымдылықтағы бейнесін алғыңыз келсе, rtsp: // жоғары ажыратымдылықтағы ағынмен өтіңіз. 4 квадранттағы камералар үшін төмен ажыратымдылық ағынымен өтіңіз, сіз кішірек сурет өлшемдерінен көп айырмашылықты байқамайсыз. Сіз менің bash сценарийіммен (test.sh) терезе өлшемдерімен жүре аласыз (1080p ажыратымдылық режимінде, 440 өлшемді 640x480 өлшемді камералар сәйкес келетін етіп көрсетіледі). Әйтпесе, теледидар пикселдерін орналастыру үшін графикалық қағазды пайдаланыңыз, содан кейін сол аймақта қанша тіктөртбұрыш қажет екенін сызыңыз. Әрі қарай, 640x480 қанша бейненің тым көп аспектісін өзгертпей сәйкес келетінін табыңыз (көлденеңінен созылу тігінен қарағанда жақсы көрінеді). Мен шекараны ұнатпаймын, сондықтан олар үшін есептемедім. Тік төртбұрыштарды жоғарыдан солға қарай оңға қарай нөмірлеңіз 1, 2, 3..т.б. Содан кейін терезе сандарының бағанын жасаңыз, сол сандардың әр жолы үшін жоғарғы сол жақтағы x, y пиксельді және төменгі оң жақтағы x, y пикселін жазыңыз. Бұл сандар арнайы дисплей алу үшін сценариймен ауыстырылады, егер қаласаңыз, сізде 3х3 дисплей болуы мүмкін. Егер сіз тек бір дисплей алғыңыз келсе, қалған 3 камераны түсіндіріп, терезенің өлшемін толық экран ажыратымдылығына айналдырыңыз (және rtsp жоғары ажыратымдылығын қолданыңыз) және «test1.sh» сценарийін атаңыз. Қалағаныңызша сценарийлерді жасаңыз, btn.py Python бағдарламасы оларды GPU түйреуіштерін Arduino ауыстырған кезде шақырады.

Тұрақты дисплейді алудың бір мәселесі (суреттің жоғарғы жағы жақсы, бірақ кескіннің тік сызықтары төмен) - көптеген камералар rtsp арқылы tcp арқылы жақсы ағып кетеді (мен Hikvision 2 -ден 5 Мп IP камераларын қолданамын). Сондықтан omxplayer-де көрсетілгендей «--avdict rtsp_transport: tcp» пайдаланыңыз. Басқа пайдалы ойыншы командалары-бұл дыбыс (--vol -6000 дыбыссыз) және буфер (-бейне кезегі x), онда x = 1 немесе одан көп.

IP камера параметрлері, сонымен қатар, omxplayer проблемаларын тудыруы мүмкін. Барлық IP камералар секундына бірдей кадрға орнатылуы керек, әйтпесе сурет үзіледі. Кадрлық жылдамдықтың түбегейлі өзгеруіне орнатылған кезде, бір камераның уақыт белгісінде көрсетілген уақыт бірнеше секундқа артқа, содан кейін алға, содан кейін артқа қарай жылжиды. Сіздің ойыншылардың терезелері бір -біріне сәйкес келмейтініне көз жеткізіңіз, әйтпесе қабаттасатын бөлігі жыпылықтайды.

2 -қадам: оны біріктіру

Оны біріктіру
Оны біріктіру

Pi -ге алдыңғы есік камерасын көрсетуге рұқсат беру үшін кабельдік қорап пен теледидарды қолмен басқаруға болады. Дегенмен, бұл үшін HDMI кіріс көзін Pi камера декодеріне (HDMI 2) өзгертуге мүмкіндік беретін әмбебап пультті теледидар режиміне ауыстыруды қоса алғанда, бірнеше түймені басу қажет. Егер сіз қосымша камера экрандарын көрсету мүмкіндігін қаласаңыз, Arduino -ды басқару үшін әмбебап пультті AUX -ке ауыстыруыңыз керек, осылайша Pi камерасын таңдау керек. Бұл процесті жеңілдету үшін Harmony Hub пен смартфонды байланыстыратын қосымшаны қолданыңыз, оны бір әрекетте теледидар мен кабельдік қорапты басқаруға үйретіңіз, содан кейін Pi бейне мониторын басқару үшін басқа әрекетті жасаңыз. Әрекетке теледидарды қосу, теледидардың кірісін HDMI 2 -ге қосу және виртуалды NECx теледидарын (мысалы, Arduino және Pi) 0 -ден 5 -ке дейінгі түймелерін басқару кіреді. Бұл Harmony смартфон қосымшасы арқылы бәрін басқаруға мүмкіндік береді. Жұмысты жеңілдету үшін Amazon Echo Dot (Alexa) қосымшасын Harmony қосымшасымен байланыстырып, теледидарды немесе есікті бақылау функцияларын дауыспен басқарыңыз. Harmony веб -сайты осы жаңа Alexa дағдыларын қалай қосуға болатыны туралы толық ақпарат береді. Жаңа дағдылар. Alexa -ның жаңа дағдыларымен байланыстырылғаннан кейін «Теледидарды қосу» немесе «Есік мониторын қосу» сияқты кілт сөздер әмбебап қашықтан басқару құралынан ИҚ -ны қажет етпестен тиісті әрекеттерді қосуға мүмкіндік береді.

Pi Ethernet арқылы жергілікті желіге, ал HDMI кабелі арқылы теледидарға қосылған. Мен 3,3 вольтты Pro Mini -ді сым арқылы Pi -ге қосымша камералық коммутацияны қосу үшін орнаттым. Pro Mini -ді 3.3 вольтты Пи істікшесінен қуаттауға болады. IR модулі Arduino -ның 2 -ші түйреуішіне қосылады, ал бекітілген эскиз түйменің кодын шешеді: 0 -ден 5 -ке дейін (іс жүзінде 0 -ден 9 -ға дейін, бірақ кейбір Arduino түйреуіштері әлі қосылмаған). Arduino шығысы Pi цифрлық GPIO түйреуіштеріне қосылады, мұнда bash сценарийі үзіліс қай «түйме» басылғанын анықтайды, содан кейін дисплей көрінісінің бір опциясын тоқтатады және екіншісін бастайды.

Менің кабель қорапшам - Motorola DVR DCX3510 үлгісіндегі Spectrum (бұрынғы Time Warner Cable). Ол IR үшін GI Cable хаттамасын қолданады. Sony теледидары Sony 2 протоколын қолданады. Менің ойымша, бұл кодтардың біреуі немесе екіншісі Pi IR қабылдағышты басқаруға жарайды деп ойладым, немесе ол жұмыс істеді, бірақ бұл практикалық емес. Қашықтан басқару құралы қосымша командаларды күтеді немесе 0 -ден 9 -ға дейінгі түйме басылғанда кіріс көзін автоматты түрде өзгертеді. Сондықтан мен кабельдік тюнермен немесе теледидармен байланыспайтын басқа кодты қолдануға тура келді. Мен әмбебап қашықтан басқару пультінде AUX құрылғысының бұрын бағдарламаланған коды бар екенін білдім (ол не басқаратынын білмеймін) және оны қолдануға шешім қабылдадым. Шығарылған кодтар 32 бит кодты NECx қолданатынын айтты, сондықтан мен бұл түйме кодтарын Arduino IR_Rev_Codes_Pi_Monitor эскизіне енгіздім. Егер сізде басқа модель болса, бағдарламаны IRLib2 бағдарламасында қабылдау бағдарламасын қолданып өзгертіңіз және басылған түймелер үшін жасаушыға, хаттамаға және он алтылық мәндерге назар аударыңыз.

3 -қадам: Қорытынды

Қорытынды
Қорытынды
Қорытынды
Қорытынды
Қорытынды
Қорытынды

Есік мониторы - бұл үйді автоматтандырудың практикалық жобасы. Бұл Pi -ді Python -мен бағдарламалаудағы алғашқы тәжірибем болды. Python үзуді бағдарламалауға мүмкіндік береді, бұл функция микроконтроллерлер үшін сақталған деп ойладым. Үзіліс бағдарламаны қалыпты жұмыс істеуге мүмкіндік береді, дисплейді жаңа камераға беру сияқты басқа әрекеттің қажет еместігін үнемі тексермей. Алайда, егер үзіліс орын алса, онда бағдарлама қандай жаңа бейне арнаны алу керектігін анықтайды. Arduino Python үзілісін іске қосу үшін импульсті қамтамасыз ету үшін орнатылған. Егер үзіліс орын алса, онда бағдарлама Arduino шығысы (IR қашықтан басқару пультінің батырмасына сәйкес келетін) іске қосылғанын іздейді. Ақырында, бағдарлама кез келген ойыншы дисплейін өлтіреді және жаңа ойыншы дисплейін бастайды.

Мен Pi GPU түйреуіштерін Arduino сияқты әдепкі бойынша енгізбейтінін білдім- бұл Pi қатесі емес, бірақ бұл Broadcom BCM2837 зауыттан шығарылған әдіс. Маған 4 ядролы, 1,2 ГГцтік процессор, қуаты төмен, бағасы өте жоғары HD бейнелерін көрсете алатын компьютер ұнайды. IR түйме 1 квадратты дисплейді көрсетеді, ал 2 -ден 5 -ке дейінгі түймелердің әрқайсысы жоғары ажыратымдылықтағы камераның бір үлкен дисплейін көрсетеді.

IR қашықтан басқару пультінің 0 түймесін басу бейне дисплейден бас тартады және Pi пәрмен жолын көрсетеді. Егер сіз Youtube бейнелерін немесе сол сияқтыларды көргіңіз келсе, Bluetooth пернетақтасын пайдаланыңыз, «startx» теріңіз және Pi шолғышын қолданыңыз, Youtube бейнесіне өтіп, оны толық ажыратымдылықта ойнаңыз.

Ұсынылған: