Mündəricat:

Alexa Aktivləşdirilmiş Kamera Sistemi Qapıda Kimdir: 3 Adım
Alexa Aktivləşdirilmiş Kamera Sistemi Qapıda Kimdir: 3 Adım

Video: Alexa Aktivləşdirilmiş Kamera Sistemi Qapıda Kimdir: 3 Adım

Video: Alexa Aktivləşdirilmiş Kamera Sistemi Qapıda Kimdir: 3 Adım
Video: Kim nə başa düşdü ❓ 2024, Noyabr
Anonim
Alexa Aktivləşdirilmiş Kamera Sistemi Qapıda Kimdir
Alexa Aktivləşdirilmiş Kamera Sistemi Qapıda Kimdir
Alexa Aktivləşdirilmiş Kamera Sistemi Qapıda Kimdir
Alexa Aktivləşdirilmiş Kamera Sistemi Qapıda Kimdir
Alexa Aktivləşdirilmiş Kamera Sistemi Qapıda Kimdir
Alexa Aktivləşdirilmiş Kamera Sistemi Qapıda Kimdir

Bəzən televizora baxarkən vacib olmadığı halda qapını açmaq istəmirsən. Bu layihə, Amazon -un Echo cihazına "Alexa, qapı monitorunu yandır" deyərək qapıdakı insanı görməyə imkan verir. Televiziya ekranında kimin göründüyünü yoxlayın, sonra normal televiziya proqramına qayıdın "Alexa, televizoru aç". Sistem həm də böyüklər və ya uşaqlar üçün dəyərli ola bilər ki, satıcılar, oğrular və s. Bu, əyləncə sisteminizin böyük ekranlı televizorunun yalnız ön qapı kamerası üçün deyil, ola biləcəyiniz digər təhlükəsizlik kameraları üçün də kamera monitoru olmasına imkan verir; əslində çimərlik kameraları və s.

Parçalar:

Əyləncə sistemi:

Bir neçə HDMI girişi olan televizor (əksər televizorlarda var)

Kabel və ya DVR qutusu

Kabel qutusu vasitəsilə yönləndirici və internet bağlantısı (WiFi varsa, lazım olmayacaq)

Amazon Echo ("Alexa")

Harmony Hub

Kamera (lar)

Ön qapıdakı IP kamera (Power Over Ethernet -POE tipinə üstünlük verilir)

HDMI kabel ilə bir layihə qutusunda Raspberry Pi3 (orijinal Pi işləyə bilər)

Arduino Pro Mini 8 Mhz, 3.3v

IR modulu (ən çox yayılmış növlər işləyəcək)

Addım 1: Quraşdırma, İlkin Proqramlaşdırma (test)

Quraşdırma, İlkin Proqramlaşdırma (test)
Quraşdırma, İlkin Proqramlaşdırma (test)
Quraşdırma, İlkin Proqramlaşdırma (test)
Quraşdırma, İlkin Proqramlaşdırma (test)
Quraşdırma, İlkin Proqramlaşdırma (test)
Quraşdırma, İlkin Proqramlaşdırma (test)

Bu layihə, hardware sürətləndirilməsi ilə videonun kodunu açan Pi3 omxplayer -ə əsaslanır. Omxplayer, kameranızın tələb etdiyi uyğun rtsp: // user@password@ipaddress formatından istifadə edərək Pi terminalındakı bir əmr satırından sınaqdan keçirilə bilər. Pi Ethernet -ə qoşulmalıdır (Pi3 WiFi vasitəsilə də qoşula bilər, amma sınaqdan keçirilmir) və fiziki olaraq əyləncə mərkəzində yerləşməlidir ki, Pi -nin HDMI çıxış kabeli TV HDMI giriş yuvasına çata bilsin. Arduino və IR modulu Pi -yə qoşulacaq və televizorun uzaqdan idarəetmə düyməsini basmaqla əldə edilən məlumatları ötürəcək. Pi bu kodlaşdırmanı birbaşa IR modulundan edə bilərdi, amma mən Arduino proqramlaşdırmasında Python proqramlaşdırmasından daha yaxşıyam və bununla yanaşı Pi -nin video axınlarının deşifr edilməsi üçün əsas vəzifəsi olan prosessor qaynaqlarına qənaət edirəm.

Təhlükəsizlik sistemimdə birdən çox kamera olduğu üçün, eyni anda 4 kameranı göstərmək üçün ayrı -ayrı kameraları tam ekranda göstərmək üçün Pi ilə işləyən monitordan istifadə etdim. Bu təlimatları izləyin, ancaq kameraların sabit bir şəkildə göstərilməsi üçün çox probleminiz olacaq.

Problemlərdən biri, proqramda göstərilən 4 pəncərə ölçüsünün xüsusi TV qətnamənizə uyğun gəlməməsidir. Kameranızın kamera qətnaməsini qeyd edərkən, monitorunuzun hansı qətnamələri dəstəklədiyini tapın. Əksər IP kameralarda yüksək qətnamə (1080p) və aşağı qətnamə (640x480) axını var, buna görə ön qapının yalnız bir yüksək qətnamə videosunu istəyirsinizsə, yüksək qətnamə axını rtsp: // formatına keçin. 4 kvadrantdakı kameralar üçün aşağı qətnamə axını ilə gedin, daha kiçik şəkil ölçüləri ilə çox fərq görməyəcəksiniz. Mənim bash skriptimlə (test.sh) pəncərə ölçüləri ilə gedə bilərsiniz (1080p qətnamə rejimində, ölçüsünə uyğun ölçülü 4 bərabər ölçülü 640x480 kameranı göstərərək). Əks təqdirdə, televizor piksellərinizi düzəltmək üçün qrafik kağızından istifadə edin və sonra bu sahədə nə qədər düzbucaqlı olmasını istədiyinizi eskiz edin. Daha sonra çoxlu aspekt dəyişmədən 640x480 videonun nə qədər uyğun olacağını tapın (üfüqi uzanma şaqulidən daha yaxşı görünür). Sərhədləri sevmirəm, buna görə hesablamadım. Dikdörtgələri yuxarı soldan aşağı sağa 1, 2, 3.. nömrələndirin. Sonra pəncərə nömrələrindən bir sütun yaradın, bu ədədlərin hər sətri üçün sol üst x, y piksel və sağ alt piksel x, y yazın. Xüsusi bir ekran əldə etmək üçün bu nömrələr daha sonra skriptlə əvəz olunur, istəsəniz 3 x 3 ekrana sahib ola bilərsiniz. Yalnız bir ekrana ehtiyacınız varsa, digər 3 kameranı şərh edin və pəncərənin ölçüsünü tam ekran qətnaməsinə çevirin (və yüksək qətnamə rtsp axını istifadə edin) və skriptə "test1.sh" başlığı verin. İstədiyiniz qədər skript hazırlayın, btn.py Python proqramı GPIO pinləri Arduino tərəfindən dəyişdirildikcə onları çağıracaq.

Sabit bir ekran əldə etməyin bir problemi (görüntünün üstü incə, lakin daha aşağı görüntü şaquli zolaqları), bir çox kameranın tts üzərində rtsp istifadə edərək daha yaxşı axın etməsidir (Hikvision 2 ilə 5 Mp arası IP kameralar istifadə edirəm). Buna görə də göstərildiyi kimi omxplayer-də "--avdict rtsp_transport: tcp" istifadə edin. Digər faydalı omxplayer əmrləri, x = 1 və ya daha çox olduğu həcm (--vol -6000 səssiz) və tampon (--video növbəsi x).

IP kamera parametrləri də omxplayer ilə bağlı problemlərə səbəb ola bilər. Bütün IP kameralar saniyədə eyni kadrlara qurulmalıdır, əks halda şəkil dağılacaq. Köklü şəkildə fərqli kadr sürətləri təyin edildikdə, bir kamera zaman damgasında göstərilən vaxt bir neçə saniyə geriyə, sonra irəli, sonra geri çəkildi. Omxplayer pəncərələrinizin üst -üstə düşmədiyinə və ya üst -üstə düşən hissənin titrəyəcəyinə əmin olun.

Addım 2: Bir yerdə qoyun

Birlikdə qoyulması
Birlikdə qoyulması

Pi -nin ön qapı kamerasını göstərməsinə icazə vermək üçün kabel qutusunu və TV -ni əl ilə idarə edə bilərsiniz. Bununla birlikdə, HDMI giriş mənbəyini Pi kamera dekoderinə (HDMI 2) dəyişdirmək üçün universal pultu kabel rejimindən TV rejiminə uyğun olaraq dəyişdirmək də daxil olmaqla bir neçə düyməyə basmaq lazımdır. Əlavə kamera ekranlarını göstərmək istəsəniz, Arduino və buna görə də Pi kamera seçimini idarə etmək üçün universal pultu AUX -a çevirməlisiniz. Bu prosesi asanlaşdırmaq üçün bir Harmony Hub və əlaqəli Harmony smartfon tətbiqindən istifadə edərək, bir Fəaliyyətdə normal TV seyr etmək üçün TV və kabel qutusunu idarə etməyi öyrədin, sonra Pi video monitorunu idarə etmək üçün başqa bir Fəaliyyət yaradın. Fəaliyyətə TV -ni yandırmaq, HDMI girişini 2 -yə çevirmək və virtual NECx TV -ni (yəni Arduino və Pi) 0 -dan 5 -ə qədər idarə etmək daxildir. Bu, Harmony smartfonu proqramı vasitəsilə hər şeyi idarə etməyə imkan verir. İşləri daha da asanlaşdırmaq üçün Amazon Echo Dot (Alexa) tətbiqini TV və ya qapı izləmə funksiyalarına səslə nəzarət etmək üçün Harmony tətbiqi ilə əlaqələndirin. Harmony veb saytı, bu yeni Alexa bacarıqlarını necə aktivləşdirəcəyinizə dair ətraflı məlumat verir. Yeni bacarıqlar. Yeni Alexa bacarıqları ilə əlaqələndirildikdən sonra, "Televiziyanı Aç" və ya "Qapı Monitorunu Aç" kimi açar sözlər, universal uzaqdan IR -ə ehtiyac duymadan müvafiq hərəkətləri təmin edəcək.

Pi Ethernet vasitəsilə LAN -a, HDMI kabeli ilə isə TV -yə qoşulur. Əlavə kamera keçidini əlavə etmək üçün 3.3 volt Pro Mini -ni Pi -yə tellər vasitəsilə quraşdırdım. Pro Mini, Pi -nin 3.3 voltluq pinindən işləyə bilər. IR modulu Arduinonun 2 -ci pininə qoşulur və əlavə edilmiş eskiz düyməni 0 -dan 5 -ə qədər açır (əslində 0 -dan 9 -a qədər, lakin bəzi Arduino pinləri hələ də bağlı deyil). Arduino çıxışları, Pi skriptinin rəqəmsal giriş GPIO pinlərinə qoşulur, burada bash skriptinin kəsilməsi hansı "düymənin" basıldığını təyin edir, sonra bir görüntü görünüşü seçimini dayandırır və digərinə başlayır.

Kabel qutum, Motorola DVR modeli DCX3510 olan Spectrum -dan (əvvəllər Time Warner Cable) gəlir. IR üçün GI Kabel protokolundan istifadə edir. Sony TV Sony protokolu 2 -dən istifadə edir. Bu kodlardan birinin Pi IR qəbuledicisini idarə etmək üçün yaxşı olacağını düşündüm və ya praktiki olmadığı ortaya çıxsa da ya işləmişdi. Uzaqdan idarəetmə əlavə əmrləri gözləyər və ya 0 -dan 9 -a qədər düymə basıldıqda giriş mənbəyini avtomatik olaraq dəyişərdi. Buna görə də, kabel alıcısı və ya TV ilə qarşılıqlı təsir göstərməyəcək fərqli bir kod istifadə etməli oldum. Universal uzaqdan idarəetmə cihazımda əvvəllər AUX cihazı üçün proqramlaşdırılmış bir kod olduğunu (nəyi idarə etdiyini bilmirəm) tapdım və istifadə etməyə qərar verdim. İstehsal olunan kodlar, 32 bit kodlu NECx istifadə etdiyini söylədi, buna görə də bu düymələrin kodlarını Arduino IR_Rev_Codes_Pi_Monitor eskizinə daxil etdim. IRLib2 -də qəbul proqramını istifadə edərək fərqli bir modeliniz varsa proqramı dəyişdirin və basılan düymələr üçün istehsalçı, protokol və hex dəyərlərini qeyd edin.

Addım 3: Nəticə

Nəticə
Nəticə
Nəticə
Nəticə
Nəticə
Nəticə

Qapı monitoru praktik ev avtomatlaşdırma layihəsidir. Python ilə Pi proqramlaşdırmaq mənim ilk təcrübəm idi. Python, mikro nəzarətçilər üçün ayrılmış olduğunu düşündüyüm bir xüsusiyyətin kəsilməsini proqramlaşdırmağa imkan verir. Fasilə, ekranı yeni bir kamera yeminə dəyişdirmək kimi başqa bir hərəkətə ehtiyac olub olmadığını daim yoxlamadan, proqramın normal işləməsinə, omxplayer ilə işləməsinə imkan verir. Ancaq kəsilmə baş verərsə, proqram hansı yeni video axınının gətirilməli olduğunu təyin edir. Arduino, Python kəsilməsini tetiklemek üçün bir nəbz təmin etmək üçün qurulmuşdur. Kəsmə baş verərsə, proqram xüsusi Arduino çıxışının (IR uzaq düyməsinə basıldığı üçün) aktivləşdirildiyini axtarır. Nəhayət, proqram hər hansı bir cazibədar ekranı öldürür və yeni omxplayer ekranını işə salır.

Pi'nin GPIO pinlərini Arduino kimi daxil etməyi təyin etmədiyini öyrəndim- bu Pi-nin günahı deyil, ancaq Broadcom BCM2837-nin fabrikdən çıxmasıdır. 4 nüvəli, 1.2 Ghz prosessoru, əla HD video göstərə bilən aşağı gücü, aşağı qiyməti olan kompüteri bəyənirəm. IR düyməsi 1 dörd ekranı və 2 ilə 5 arasındakı düymələrin hər biri Yüksək Çözünürlükdə bir kameranın böyük bir ekranını göstərir.

IR uzaqdan idarəetmə düyməsinə 0 basmaq video görüntüsünü ləğv edir və Pi əmr satırını göstərir. Youtube videolarını və ya bənzərlərini izləmək istəyirsinizsə, Bluetooth klaviaturasından istifadə edin, "startx" yazın və Pi brauzerindən istifadə edərək Youtube videosuna gedin və tam ekranlı olaraq Yüksək Çözünürlükdə oxuyun.

Tövsiyə: