Мазмуну:

Эшикте ким бар, Alexa иштеткен камера системасы: 3 кадам
Эшикте ким бар, Alexa иштеткен камера системасы: 3 кадам

Video: Эшикте ким бар, Alexa иштеткен камера системасы: 3 кадам

Video: Эшикте ким бар, Alexa иштеткен камера системасы: 3 кадам
Video: ВСЯ НОЧЬ С ПОЛТЕРГЕЙСТОМ В ЖИЛОМ ДОМЕ, я заснял жуткую активность. 2024, Ноябрь
Anonim
Эшикте ким бар, Alexa иштеткен камера системасы
Эшикте ким бар, Alexa иштеткен камера системасы
Эшикте ким бар, Alexa иштеткен камера системасы
Эшикте ким бар, Alexa иштеткен камера системасы
Эшикте ким бар, Alexa иштеткен камера системасы
Эшикте ким бар, Alexa иштеткен камера системасы

Кээде сыналгы көрүп жатып, маанилүү болбосо эшикти ачкың келбейт. Бул проект Amazon Echo түзмөгүнө "Alexa, эшиктин мониторун күйгүз" деп айтып, эшик алдында турган адамды көрүүгө мүмкүнчүлүк берет. Сиз сыналгы экранында ким пайда болгонун текшересиз, андан кийин кадимки "Alexa, сыналгыны күйгүзүү" телеберүүсүнө кайтыңыз. Система ошондой эле улгайган кишилер же балдар үчүн баалуу болушу мүмкүн, алар сатуучулардын, уурулардын жана ушул сыяктуу нерселердин кызыкчылыгына дуушар болушат. Бул сиздин оюн -зоок системаңыздын чоң экрандуу телевизоруна алдыңкы эшик камерасы үчүн гана эмес, башка коопсуздук камералары үчүн камера дисплейи болууга мүмкүндүк берет; Чындыгында, ал пляж камералары сыяктуу интернет камераларынан видеолорду көрсөтүү үчүн узартылышы мүмкүн.

Бөлүктөр:

Көңүл ачуу системасы:

Бир нече HDMI кириши бар сыналгы (көпчүлүк телевизорлордо бар)

Кабель же DVR кутуча

Роутер жана кабелдик кутуча аркылуу интернет байланышы (эгер сизде WiFi болсо, кереги жок болушу мүмкүн)

Amazon Echo ("Alexa")

Harmony Hub

Камералар

Эшик алдындагы IP камера (Power Over Ethernet -POE- түрү артыкчылыктуу)

Raspberry Pi3 HDMI кабели менен долбоор кутусунда (түпнуска Pi иштеши мүмкүн)

Arduino Pro Mini 8 МГц, 3.3v

IR модулу (эң кеңири таралган түрлөрү иштейт)

1 -кадам: Орнотуу, Алдын ала программалоо (тестирлөө)

Орнотуу, алдын ала программалоо (тестирлөө)
Орнотуу, алдын ала программалоо (тестирлөө)
Орнотуу, алдын ала программалоо (тестирлөө)
Орнотуу, алдын ала программалоо (тестирлөө)
Орнотуу, алдын ала программалоо (тестирлөө)
Орнотуу, алдын ала программалоо (тестирлөө)

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

Менин коопсуздук тутумумда бир нече камера болгондуктан, мен бир эле учурда 4 камераны көрсөтүү үчүн Pi менен иштөөчү монитор дисплейин колдондум, ошондой эле жеке камераларды толук экранда көрсөтүү. Бул көрсөтмөлөрдү аткарыңыз, бирок камераларды туруктуу түрдө көрсөтүү үчүн сизде көп кыйынчылыктар болот.

Көйгөйлөрдүн бири - программада көрсөтүлгөн 4 терезе өлчөмү сиздин өзгөчө ТВ токтомуңузга туура келбеши мүмкүн. Камераңыздын камера токтомун белгилеп, монитор кандай чечимдерди колдоорун табыңыз. Көпчүлүк IP камералар жогорку чечимге (1080p) жана төмөн чечимге (640x480) ээ, андыктан эгер сиз жөн гана алдыңкы эшиктин бир жогорку чечилиштүү видеосун кааласаңыз, жогорку чечим агымы rtsp: // форматына өтүңүз. 4 квадранттагы камералар үчүн төмөн чечим агымы менен өтүңүз, сиз кичинекей сүрөттүн өлчөмү менен көп деле айырманы байкабайсыз. Сиз менин bash сценарийим менен (test.sh) барсаңыз болот (1080p токтомдук режимде, 440 бирдей өлчөмдөгү 640x480 камера туура келет). Болбосо, сыналгы пикселдерин жайгаштыруу үчүн графикалык кагазды колдонуңуз, андан кийин бул аймакта канча тик бурчтук керектигин эскиздеңиз. Кийинки, канча 640x480 видео өтө көп аспектини өзгөртпөстөн туура келерин табыңыз (горизонталдуу сунуу вертикалдуу караганда жакшыраак көрүнөт). Мен чек араларды жакшы көрбөйм, андыктан алар үчүн эсептелген жок. Тик бурчтуктарды солдон оңго карай 1, 2, 3.. ж.б. Андан кийин терезе сандарынын тилкесин жасаңыз, бул сандардын ар бир сабы үчүн жогорку сол х, у пикселин жана төмөнкү оң пиксел x, y деп жазыңыз. Бул сандар скриптке ыңгайлаштырылган дисплейге алмаштырылат, эгер кааласаңыз 3 x 3 дисплейге ээ боло аласыз. Эгерде сиз бир эле дисплейди кааласаңыз, калган 3 камераны комментарийлеп, терезенин өлчөмүн толук экран чечимине айлантыңыз (жана жогорку чечилиштүү rtsp агымын колдонуңуз) жана скриптке "test1.sh" аталышын коюңуз. Каалаганча көп сценарийлерди түзүңүз, btn.py Python программасы GPIO казыктары Arduino тарабынан өзгөргөндө аларды чакырат.

Туруктуу дисплейди алуунун бир көйгөйү (сүрөттүн үстү жакшы, бирок төмөнкү вертикалдуу сызыктар), көптөгөн камералар tcp аркылуу rtsp аркылуу жакшыраак агат (мен Hikvision 2ден 5 мегапикселге чейинки IP камераларды колдоном). Андыктан omxplayerде көрсөтүлгөндөй "--avdict rtsp_transport: tcp" колдонуңуз. Башка пайдалуу omxplayer буйруктары-үн (--vol -6000 тилсиз) жана буфер (-видео кезеги x), мында x = 1 же андан көп.

IP камеранын жөндөөлөрү да omxplayer менен көйгөйлөрдү жаратышы мүмкүн. Бардык IP камералар секундасына бирдей кадрларга коюлушу керек, болбосо сүрөт бузулат. Түп -тамырынан бери башка кадр чендерине коюлганда, бир камера убактысынын штампында көрсөтүлгөн убакыт чындыгында бир нече секундага артка кеткен, андан кийин алдыга, анан кайра ж.

2 -кадам: Аны бириктирүү

Аны бириктирүү
Аны бириктирүү

Пи эшиктин камерасын көрсөтүүгө уруксат берүү үчүн кабелдик кутуну жана сыналгыны кол менен башкара аласыз. Бирок, бул бир нече баскычты басууну талап кылат, анын ичинде, HDMI кирүү булагын Pi камера декодерине (HDMI 2) өзгөртүүгө уруксат берүү үчүн универсалдуу пультту кабелдик режимден ТВ режимине которууну талап кылат. Эгерде сиз кошумча камера экрандарын көрсөтүүнү кааласаңыз, анда Arduino башкаруу үчүн универсалдуу пультту AUXка которушуңуз керек, ошону менен Pi камерасынын тандоосу. Бул процессти жөнөкөйлөтүү үчүн, Harmony Hub жана смартфондун тиешелүү Harmony тиркемесин колдонуңуз, аны бир Аракетте кадимки телекөрсөтүү үчүн сыналгыны жана кабелдик кутуну башкарууну үйрөтүңүз, андан кийин Pi видео мониторун көзөмөлдөө үчүн башка Аракетти түзүңүз. Иш -аракетке сыналгыны күйгүзүү, HDMI 2ге сыналгыны киргизүү жана виртуалдык NECx TV (б.а. Arduino жана Pi) баскычтарын 0ден 5ке чейин көзөмөлдөө кирет. Бул Harmony смартфону аркылуу баарын башкарууга мүмкүндүк берет. Ишти ого бетер жеңилдетүү үчүн, Amazon Echo Dot (Alexa) колдонмосун Harmony колдонмосу менен байланыштырып, сыналгыны же эшикти көзөмөлдөө функцияларын үн менен башкарыңыз. Harmony веб -сайты бул жаңы Alexa көндүмдөрүн кантип иштетүү керектиги жөнүндө маалымат берет. Жаңы көндүмдөр. Жаңы Alexa көндүмдөрү менен байланышкандан кийин, "Сыналгыны күйгүзүү" же "Эшиктин мониторун күйгүзүү" сыяктуу ачкыч сөздөр универсалдуу алыстан ИКга муктаж болбостон, тиешелүү аракеттерди иштетет.

Pi Ethernet аркылуу LANга, HDMI кабели аркылуу сыналгыга туташкан. Мен камерага кошумча которуштурууну кошуу үчүн 3.3 вольттуу Pro Miniди зым аркылуу Piге орноттум. Pro Miniди 3.3 вольттогу Пи менен иштетсе болот. IR модулу Arduino 2 пинге туташат жана тиркелген эскиз баскычтын кодун чечет 0дөн 5ке чейин (чындыгында 0дон 9га чейин, бирок кээ бир Arduino казыктары азырынча туташа элек). Arduino чыгуулары Pi санариптик кирүү GPIO казыктарына туташат, анда баш скрипт үзгүлтүккө учуроо кайсы "баскычтын" басылганын аныктайт, андан кийин дисплей көрүнүшүнүн бир вариантын токтотуп, экинчисин баштайт.

Менин кабелдик кутуча DCX3510 Motorola DVR модели болгон Spectrumдан (мурунку Time Warner Cable). Бул IR үчүн GI Cable протоколун колдонот. Sony TV Sony протоколун колдонот 2. Мен бул коддордун бири тигил же бул пи IR алуучуну көзөмөлдөп турса жакшы болмок деп ойлогом, же иштеди, бирок бул практикалык эмес. Алыстан башкаруу кошумча буйруктарды күтөт же 0дөн 9га чейин баскыч басылганда, киргизүү булагын автоматтык түрдө өзгөртөт. Ошондуктан, кабелдик тюнер же сыналгы менен иштебей турган башка кодду колдонууга туура келди. Мен универсалдуу пульттун AUX түзмөгүнүн мурда программаланган коду бар экенин билдим (ал эмнени көзөмөлдөгөнүн билбейм) жана аны колдонууну чечтим. Өндүрүлгөн коддор 32 бит коду NECx колдонулганын айтты, ошондуктан мен бул баскыч коддорун Arduino IR_Rev_Codes_Pi_Monitor эскизине киргиздим. Эгерде сизде башка модель болсо, программаны IRLib2де кабыл алуу программасын колдонуу менен өзгөртүп, баскычтар үчүн жаратуучуну, протоколду жана он алтылык маанилерди белгилеңиз.

3 -кадам: Жыйынтык

Жыйынтык
Жыйынтык
Жыйынтык
Жыйынтык
Жыйынтык
Жыйынтык

Эшиктин монитору - бул үйдү автоматташтыруу боюнча практикалык долбоор. Бул Python менен Pi программалоодогу биринчи тажрыйбам болду. Python үзгүлтүккө учуратууну программалоого мүмкүндүк берет, мен ойлойм, бул өзгөчөлүк микроконтроллерлер үчүн сакталган. Үзгүлтүк программаны кадимкидей иштетүүгө мүмкүндүк берет, omxplayer иштетип, дисплейди жаңы камера түрмөгүнө алмаштыруу сыяктуу дагы бир иш -аракет талап кылынарын такай текшерип турбастан. Бирок, эгерде үзгүлтүккө учураса, программа анда кайсы жаңы видео түрмөгүн алып келүүнү аныктайт. Arduino Python үзгүлтүккө учуроо үчүн импульсту камсыз кылуу үчүн орнотулган. Эгерде үзгүлтүккө учураса, анда программа кайсы Arduino чыгарылышы (IR алыстан баскычы басылганга тиешелүү) иштетилгенин издейт. Акыр -аягы, программа бардык учурдагы оюнчу дисплейин өлтүрөт жана жаңы оюнчу дисплейин баштайт.

Мен Pi өзүнүн GPIO казыктарын Arduino сыяктуу демейки түрдө киргизбестигин билдим- бул Пи күнөөсү эмес, бирок бул Broadcom BCM2837 фабрикадан чыккан жол. Мага 4 ядрону, 1.2 ГГц процессорду, HD кубаттуу видеону көрсөтө турган, аз кубаттуулуктагы, арзан компьютерди жактырам. IR баскычы 1 төрт дисплейди көрсөтөт, ал эми 2ден 5ке чейинки баскычтар ар бири жогорку сапаттагы камеранын чоң дисплейин көрсөтөт.

IR алыскы баскычын 0 басуу видео дисплейди жокко чыгарат жана Pi буйрук сабын көрсөтөт. Эгер сиз Youtube видеолорун же ушул сыяктуу нерселерди көргүңүз келсе, Bluetooth клавиатурасын колдонуңуз, "startx" териңиз жана Pi браузерин колдонуп Youtube видеосуна өтүңүз жана аны толук экранда жогорку сапатта ойнотуңуз.

Сунушталууда: