Isi kandungan:

Siapa di Pintu, Sistem Kamera Bertindak Alexa: 3 Langkah
Siapa di Pintu, Sistem Kamera Bertindak Alexa: 3 Langkah

Video: Siapa di Pintu, Sistem Kamera Bertindak Alexa: 3 Langkah

Video: Siapa di Pintu, Sistem Kamera Bertindak Alexa: 3 Langkah
Video: How to use Alexa to view Ring Video Doorbell 2024, November
Anonim
Siapa di Pintu, Sistem Kamera Bertindak Alexa
Siapa di Pintu, Sistem Kamera Bertindak Alexa
Siapa di Pintu, Sistem Kamera Bertindak Alexa
Siapa di Pintu, Sistem Kamera Bertindak Alexa
Siapa di Pintu, Sistem Kamera Bertindak Alexa
Siapa di Pintu, Sistem Kamera Bertindak Alexa

Kadang-kadang semasa menonton TV, anda tidak mahu menjawabnya melainkan perkara itu penting. Projek ini membolehkan anda melihat orang di pintu dengan hanya memberitahu alat Echo Amazon "Alexa, hidupkan monitor pintu". Anda melihat siapa yang muncul di layar TV, kemudian kembali ke program TV biasa "Alexa, hidupkan TV". Sistem ini juga dapat bermanfaat bagi orang dewasa atau anak-anak yang lebih tua yang rentan untuk dimanfaatkan oleh jurujual, pencuri, dan sejenisnya. Ini membolehkan TV skrin besar sistem hiburan anda menjadi monitor paparan kamera bukan hanya untuk kamera pintu depan, tetapi untuk kamera keselamatan lain yang mungkin anda miliki; malah boleh diperluas untuk memaparkan video dari kamera internet, seperti kamera pantai, dll.

Bahagian:

Sistem hiburan:

TV dengan beberapa input HDMI (kebanyakan set TV memilikinya)

Kotak kabel atau DVR

Penghala dan sambungan internet melalui kotak kabel (mungkin tidak diperlukan jika anda mempunyai WiFi)

Amazon Echo ("Alexa")

Hab Harmoni

Kamera

Kamera IP di pintu depan (jenis Power Over Ethernet -POE- disukai)

Raspberry Pi3 dalam kotak projek (Pi asli mungkin berfungsi) dengan kabel HDMI

Arduino Pro Mini 8 Mhz, 3.3v

Modul IR (jenis yang paling biasa akan berfungsi)

Langkah 1: Persediaan, Pengaturcaraan Awal (ujian)

Persediaan, Pengaturcaraan Awal (ujian)
Persediaan, Pengaturcaraan Awal (ujian)
Persediaan, Pengaturcaraan Awal (ujian)
Persediaan, Pengaturcaraan Awal (ujian)
Persediaan, Pengaturcaraan Awal (ujian)
Persediaan, Pengaturcaraan Awal (ujian)

Projek ini bergantung pada Pi3 omxplayer yang menyahkod video dengan pecutan perkakasan. Omxplayer boleh diuji coba dari baris perintah di terminal Pi menggunakan format rtsp: // user @ password @ ipaddress yang sesuai yang diperlukan oleh kamera anda. Pi harus disambungkan ke Ethernet (walaupun Pi3 dapat disambungkan melalui WiFi juga, tetapi tidak diuji) dan secara fizikal terletak di pusat hiburan sehingga kabel output HDMI Pi dapat mencapai soket input HDMI TV. Modul Arduino dan IR akan menyambung ke Pi, dan menyampaikan maklumat yang diperoleh daripada membaca penekanan butang alat kawalan jauh TV. Pi dapat melakukan penyahkodan ini secara langsung dari modul IR, tetapi saya lebih baik dalam pengaturcaraan Arduino daripada pengaturcaraan Python dan selain itu menjimatkan sumber pemproses untuk tugas utama Pi menyahkod aliran video.

Oleh kerana sistem keselamatan saya mempunyai banyak kamera, saya menggunakan paparan pemantauan bertenaga Pi sebagai cara untuk memaparkan 4 kamera sekaligus, serta memaparkan layar penuh kamera individu. Ikuti arahan tersebut, namun anda mungkin akan menghadapi banyak masalah untuk menampilkan kamera dengan stabil.

Salah satu masalahnya ialah 4 ukuran tetingkap yang disenaraikan dalam program mungkin tidak sesuai dengan resolusi TV anda. Cari resolusi apa yang disokong oleh monitor anda sambil perhatikan resolusi kamera yang ada pada kamera anda. Sebilangan besar kamera IP mempunyai aliran resolusi tinggi (1080p) dan resolusi rendah (640x480), jadi jika anda hanya mahukan satu video beresolusi tinggi di pintu depan, gunakan format rtsp: // aliran resolusi tinggi. Pergi dengan aliran resolusi rendah untuk kamera dalam 4 kuadran, anda tidak akan melihat banyak perbezaan dengan ukuran gambar yang lebih kecil. Anda boleh menggunakan saiz tetingkap skrip bash saya (test.sh) (dalam mod resolusi 1080p, memaparkan 4 kamera berukuran 640x480 bersaiz sama yang sesuai). Jika tidak, gunakan kertas graf untuk menyusun piksel TV anda kemudian lakarkan berapa segi empat tepat yang anda mahukan di kawasan itu. Seterusnya, ketahui berapa banyak video 640x480 yang sesuai tanpa perubahan aspek yang terlalu banyak (peregangan secara mendatar kelihatan lebih baik daripada menegak). Saya tidak suka sempadan, jadi tidak menghitungnya. Nomborkan segi empat tepat dari kiri atas ke kanan bawah 1, 2, 3..etc. Kemudian buat lajur nombor tetingkap, untuk setiap baris nombor tersebut tuliskan x kiri atas, piksel y dan piksel kanan bawah x, y. Angka-angka itu kemudian diganti menjadi skrip untuk mendapatkan paparan tersuai, anda mungkin mempunyai paparan 3 x 3 jika dikehendaki. Sekiranya anda hanya mahukan satu paparan, cukup komen 3 kamera lain dan jadikan ukuran tetingkap sebagai resolusi skrin penuh (dan gunakan aliran rtsp beresolusi tinggi) dan beri judul skrip "test1.sh". Buat skrip seberapa banyak yang anda mahukan, program btn.py Python akan memanggilnya apabila pin GPIO diganti oleh Arduino.

Satu masalah dalam mendapatkan paparan yang stabil (bahagian atas gambar halus, tetapi garis menegak gambar yang lebih rendah) ialah banyak kamera melakukan streaming dengan lebih baik menggunakan rtsp berbanding tcp (saya menggunakan kamera IP Hikvision 2 hingga 5 Mp). Oleh itu, gunakan "--avdict rtsp_transport: tcp" di omxplayer seperti yang ditunjukkan. Perintah omxplayer berguna lain adalah kelantangan (--vol -6000 untuk bisu) dan penyangga (--vueue x) di mana x = 1 atau lebih.

Tetapan kamera IP juga boleh menyebabkan masalah dengan omxplayer. Semua kamera IP harus diatur ke bingkai yang sama sesaat atau gambar akan pecah. Apabila ditetapkan pada frekuensi bingkai yang berbeza secara radikal, waktu yang dipaparkan pada satu cap waktu kamera benar-benar mundur selama beberapa saat, kemudian maju kemudian kembali dll. Pastikan tingkap omxplayer anda tidak bertindih, atau bahagian yang bertindih akan berkedip.

Langkah 2: Menyatukannya

Menggabungkannya
Menggabungkannya

Anda boleh mengawal kotak kabel dan TV secara manual untuk membolehkan Pi menunjukkan kamera pintu depan. Namun, itu memerlukan penekanan beberapa butang, termasuk pengalihan jarak jauh universal dari mod kabel ke mod TV untuk membolehkan menukar sumber input HDMI ke dekoder kamera Pi (HDMI 2). Sekiranya anda mahukan kemampuan untuk menunjukkan skrin kamera tambahan, maka anda juga harus menukar remote universal ke AUX untuk mengawal Arduino dan dengan demikian pemilihan kamera Pi. Untuk mempermudah proses ini, gunakan Harmony Hub dan aplikasi telefon pintar Harmony yang berkaitan, ajarkannya untuk mengawal TV dan kotak kabel untuk menonton TV biasa dalam satu Aktiviti, kemudian buat Aktiviti lain untuk mengawal monitor video Pi. Aktiviti tersebut merangkumi menghidupkan TV, input TV ke HDMI 2, dan mengawal butang NECx TV maya (iaitu, Arduino dan Pi) 0 hingga 5. Ini membolehkan mengawal segalanya melalui aplikasi telefon pintar Harmony. Untuk menjadikan semuanya lebih mudah, tautkan aplikasi Amazon Echo Dot (Alexa) dengan aplikasi Harmony untuk mengawal suara fungsi TV atau pemantauan pintu. Laman web Harmony memberikan perincian mengenai cara mengaktifkan kemahiran Alexa baru ini. Kemahiran baru. Setelah dihubungkan dengan kemahiran Alexa baru, kata kunci seperti "Hidupkan TV" atau "Hidupkan Monitor Pintu" akan membolehkan tindakan yang sesuai tanpa memerlukan IR dari alat kawalan jauh universal.

Pi disambungkan melalui Ethernet ke LAN anda, dan melalui kabel HDMI ke TV. Saya memasang Pro Mini 3.3 volt melalui wayar ke Pi sebagai pilihan untuk menambah pertukaran kamera tambahan. Pro Mini boleh dikuasakan dari pin 3.3 volt dari Pi. Modul IR menghubungkan ke pin 2 Arduino, dan lakaran yang dilampirkan menyahkod butang tekan 0 hingga 5 (sebenarnya 0 hingga 9, tetapi beberapa pin Arduino belum disambungkan). Keluaran Arduino menyambung ke pin GPIO input digital Pi, di mana gangguan skrip bash menentukan "butang" mana yang ditekan, kemudian menghentikan satu pilihan paparan paparan dan memulakan yang lain.

Kotak kabel saya adalah dari Spectrum (sebelumnya Time Warner Cable), yang merupakan model Motorola DVR DCX3510. Ia menggunakan protokol Kabel GI untuk IR. Sony TV menggunakan protokol Sony 2. Saya fikir satu atau lain kod tersebut akan baik untuk mengendalikan penerima Pi IR dan sama ada berfungsi, walaupun ternyata tidak praktikal. Alat kawalan jauh akan mengharapkan perintah tambahan, atau secara otomatis mengubah sumber input juga ketika tombol 0 hingga 9 ditekan. Oleh itu, saya terpaksa menggunakan kod yang berbeza yang tidak akan berinteraksi dengan penala kabel atau TV. Saya dapati alat kawalan jauh universal saya mempunyai kod yang diprogramkan sebelumnya untuk peranti AUX (tidak tahu apa yang dikendalikannya) dan memutuskan untuk menggunakannya. Kod yang dihasilkan mengatakan ia menggunakan NECx, kod 32 bit, jadi saya memasukkan kod butang tersebut ke dalam sketsa Arduino IR_Rev_Codes_Pi_Monitor. Ubah program jika anda mempunyai model yang berbeda dengan menggunakan program penerimaan di IRLib2 dan perhatikan pembuat, protokol dan nilai hex untuk butang yang ditekan.

Langkah 3: Kesimpulannya

Kesimpulannya
Kesimpulannya
Kesimpulannya
Kesimpulannya
Kesimpulannya
Kesimpulannya

Monitor pintu adalah projek automasi rumah praktikal. Ini adalah pengalaman pertama saya memprogram Pi dengan Python. Python membolehkan pengaturcaraan mengganggu, satu ciri yang saya fikir dikhaskan untuk mikrokontroler. Selang itu membolehkan program berjalan seperti biasa, menjalankan omxplayer, tanpa terus-menerus memeriksa apakah tindakan lain diperlukan seperti menukar paparan ke umpan kamera baru. Namun, jika gangguan berlaku, program kemudian menentukan suapan video baru mana yang harus dibawa. Arduino diatur untuk memberikan denyut nadi untuk memicu gangguan Python. Sekiranya gangguan berlaku, maka program mencari output Arduino tertentu (sesuai dengan butang jarak jauh IR yang ditekan) diaktifkan. Akhirnya, program membunuh sebarang paparan omxplayer semasa dan memulakan paparan omxplayer baru.

Saya belajar bahawa Pi tidak menetapkan pin GPIO untuk dimasukkan seperti yang Arduino secara lalai- bukan kesalahan Pi, tetapi cara Broadcom BCM2837 berasal dari kilang. Saya suka pemproses 4 teras, 1.2 Ghz, kuasa rendah, komputer kos rendah yang dapat memaparkan video HD yang hebat. Butang IR 1 menunjukkan paparan quad, dan butang 2 hingga 5 masing-masing menunjukkan satu paparan besar kamera dalam Definisi Tinggi.

Menekan butang jauh IR 0 membatalkan paparan video dan menunjukkan baris arahan Pi. Sekiranya anda ingin menonton video Youtube atau seumpamanya, gunakan papan kekunci Bluetooth, ketik "startx" dan gunakan penyemak imbas Pi untuk menavigasi ke video Youtube dan mainkan skrin penuh dalam Definisi Tinggi.

Disyorkan: