Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Sensor gerak, alarm, perekaman video dalam HA pada Raspberry Pi

Menghubungkan sensor gerak, alarm, dan perekaman video di Asisten Rumah di Raspberry pi.

Saya ingin menceritakan sedikit pengalaman saya bekerja dengan Home Assistant (selanjutnya – HA) di Raspberry pi. Selanjutnya saya akan berbicara tentang menghubungkan fungsi pendaftaran video, sensor gerak, dan, karenanya, fungsi keamanan rumah dengan menerima foto melalui email  jika memicu “keamanan”.

Tentu saja, salah satu alasannya adalah keinginan untuk memahami dari ulasan Anda apa yang saya “lakukan salah” saat menerapkan skenario ini.

Ada tiga cara untuk mengkonfigurasi fungsi di atas:"tanpa masalah", "pendek" dan "independen". Dalam kasus pertama, Anda dapat mengunduh gambar yang dikembangkan dari situs https://ViaMyBox.com/downloadpage 

untuk Raspberry pi Anda, dan Anda dapat melihat bagaimana semuanya terlihat dalam bentuk yang sudah dikonfigurasi. Dalam kasus kedua, Anda dapat mengunduh zip dari situs atau dari proyek github, menginstalnya dan kemudian menginstal gambar buruh pelabuhan HA melalui utilitas (Sudo via-setup.sh) untuk melihat bagaimana semuanya diatur. Dan terakhir, cara ketiga adalah mengatur "semuanya dengan cara Anda sendiri":ambil sesuatu yang berguna dari situs atau proyek githab, atau dari tutorial ini. Tautan ke semua ini akan Anda temukan di akhir artikel.

Asumsikan Anda sudah menjalankan Home Assistant (HA). Dalam artikel ini, kami hanya akan mempertimbangkan aspek pembuatan konfigurasi yaml dan menjelaskan urutan aturan dan ketentuan yang mengarah ke tindakan tertentu. Dalam kasus kami, tindakannya adalah koneksi mode "keamanan" dan pemicu skrip, yang mulai mengambil foto dalam 5 detik setelah sensor gerak diaktifkan. Dan sebagai hasilnya, Asisten Rumah mengirimkan foto yang diambil melalui surat. Saya bukan ahli dalam yaml atau membuat konfigurasi untuk Asisten Rumah, tetapi mengikuti contoh kerja, saya mendapatkan konfigurasi kerja yang ingin saya bagikan.

Semua file yang akan kami hubungi, saya akan taruh di akhir artikel untuk pertimbangan yang lebih nyaman. Saya tidak akan menyentuh bagaimana skrip perekaman video bekerja di bash atau python dalam contoh ini. Kami hanya akan berbicara tentang Asisten Rumah. Tetapi jika Anda memiliki pertanyaan – Anda dipersilakan!

Pada akhirnya, saya memiliki semuanya terlihat seperti ini (merah disorot apa yang akan kita pertimbangkan dalam artikel):

Secara alami, saya menggunakan Raspberry pi sebagai platform. Dan jalur saya ke file konfigurasi adalah /usr/share/hassio/homeassistant/ . Jalur ke file konfigurasi Anda mungkin berbeda dari jalur saya. Saat itu, saya memiliki Asisten Rumah 0.101.3. Kami akan tertarik dengan file konfigurasi di direktori ini:configuration.yaml dan automation.yaml.

Setelah setiap perubahan pada file-file ini, penting untuk diingat bahwa Anda perlu memeriksa konfigurasi setelah perubahan kami untuk kemungkinan kesalahan yang dibuat di dalamnya. Ini dilakukan di dasbor Home Assistant -> Konfigurasi -> Kontrol Server -> Periksa Konfigurasi. Dan kemudian, di tempat yang sama, kami melakukan Reload Automations, dan Reload Scripts, jika pemeriksaan berhasil. Dan, jika ragu, Manajemen Server memulai ulang pembaruan konfigurasi persis di tab yang sama.

Sensor gerak HC-SR501 terhubung ke bus Raspberry pi GPIO. Penting untuk menghubungkan tiga kabel kontak ke GPIO dengan benar, dan kami akan dapat menggunakan sensor kami dalam tindakan. Sensor memiliki tiga kontak:daya gcc (+), nol gnd ( -), kontak kontrol (data). Setelah membaca deskripsi GPIO, saya menghubungkannya ke raspberry saya sebagai berikut. Saya menghubungkan HC-SR501 ke konektor GPIO:pir#2 – 5.5 vvcc; pin#26 (13 baris) – kontak data dan pin#6-GND ( – ) dari sensor.

Sebagai sumber foto, saya menggunakan kamera usb atau kamera csi bersama dengan mjpg-streamer. Kami tidak akan menjelaskan cara menginstal dan mengkonfigurasi mjpg-streamer di Raspberry pi dalam posting ini. Ada banyak contoh instalasi cepat di Internet. Namun, saya ingin mengatakan bahwa saya menggunakan data dari proyek ini https://github.com/cncjs/cncjs/wiki/Setup-Guide:-Raspberry-Pi-%7C-MJPEG-Streamer-Install-&-Setup-&-FFMpeg-Recording  Penginstalan modul ini juga dijelaskan secara mendetail di sana. Atau gunakan metode apa pun yang nyaman bagi Anda untuk mendapatkan foto dan video. Bagaimanapun, terserah Anda untuk memutuskan skrip bash mana yang akan dilampirkan ke HA.

Mari kita jelaskan sensor kita sekarang di configuration.yml, katakanlah, melalui baris perintah:

sudo nano /usr/share/hassio/homeassistant/configuration.yaml

meskipun menggunakan notepad++ dengan winscp bisa lebih nyaman..

Mari kita uraikan urutan pengaturan untuk HC-SR501 sebagai berikut:

binary_sensor:- platform:rpi_gpio #name:HC-SR501 port:7:Sensor HC-SR501 invert_logic:false 

Perlu dicatat bahwa di sini poin penting dimainkan oleh setelan di baris yang menjelaskan koneksi ke kontak kontrol (data) sensor:     pin#7

port:

7:Sensor HC-SR501

Home Assistant memiliki alat bawaan untuk mengaktifkan fitur keamanan rumah. Mari kita jelaskan di configuration.yaml kami, menggunakan deskripsi: https://www.home-assistant.io/integrations/manual/

 alarm_control_panel:- platform:nama manual:Alarm Rumah pending_time:60 waktu tunda 40 dipicu:pending_time:0 kode:1234 

Pengaturan ini berarti bahwa kita memiliki waktu 60 detik untuk meninggalkan rumah (setelah waktu ini, alarm akan menyala), dan 40 detik untuk mematikannya (dengan kata sandi 1234) ketika kita kembali ke rumah. Untuk beberapa alasan, Anda selalu pergi lebih lama daripada datang.)

Kami sekarang akan menjelaskan mekanisme untuk mengaktifkan dan menonaktifkan fotografi saat sensor gerak dipicu di configuration.yaml kami (informasi selengkapnya tentang sakelar – platform command_line dapat ditemukan di sini https://www.home-assistant.io/integrations/switch .command_line/):

 - platform:command_line switch:start_stop_motion_rec_timelapse:friendly_name:'Rekam video timelapse gerakan' command_on:'curl http://localhost/start_mjpgstrm.php &&curl http:// localhost//rec-motion-mjpg.php' command_off:'curl http://localhost/stop_mjpgstrm.php &&curl http://localhost/rec-motion-mjpg-stop.php' 

Di sini kami telah menautkan command_on enable dan command_off menonaktifkan perintah ke skrip kami yang mengontrol perekaman kamera. Dalam hal ini, saat Anda mengaktifkan command_on, 2 skrip dijalankan secara berurutan. Ini memulai mjpg-streamer dan mulai merekam pada sensor gerak. Akses ke skrip bash melalui file php dari situs kerja di Raspberry pi. Untuk melakukan ini, saya menyiapkan nginx dan akses web, dan ketika mengakses melalui browser sebagai http:///start_mjpgstrm.php  harus menjalankan skrip php kami.

Kami tidak mempertimbangkan pengaturan akses web dalam artikel ini. Jelas, ini tidak aman, tetapi karena fakta bahwa saya memiliki HA di buruh pelabuhan, saya dihadapkan pada kenyataan bahwa saya memiliki lingkungan buruh pelabuhan yang terisolasi. Dan "dunia luar" dari OS saya dapat melihat dengan mengakses situs saya melalui php. Mungkin ada banyak solusi yang tepat dari buruh pelabuhan atau guru HA. Tolong, tulis, itu akan menarik untuk diketahui!

Saya akan meninggalkan daftar skrip ini di bawah artikel, dan kami tidak akan membahasnya. Dalam artikel ini, saya hanya ingin mengikuti formasi urutan tindakan di Asisten Rumah.

Semua ini ditempatkan di objek start_stop_motion_rec_timelapse, yang akan menjadi sakelar visual kita, yang dengannya kita akan mengelola perekaman foto saat sensor gerak dipicu.

Kami akan dapat memvisualisasikan objek-objek yang kami buat di Home Assistant-> tab Ikhtisar dengan mengalihkan aktivasi mode konfigurasi Konfigurasi UI di sudut kanan atas

Pra-reboot HA di browser di tab "Konfigurasi -> Kontrol Server" untuk mengambil konfigurasi kami.yaml.

Selanjutnya, pilih plus kuning di bagian bawah jendela browser, klik kartu Entitas dan tautkan objek yang kita buat ke peta.

Untuk sensor kami, pilih kartu sensor. Ini akan terlihat seperti ini:

Seperti yang Anda lihat pada gambar, bidang entitas kedua berisi sakelar yang dijelaskan di atas:switch.start_stop_motion_rec_timelapse.

Ini memungkinkan kita untuk menghidupkan dan mematikan perekaman sensor gerak, terlepas dari apakah fungsi "keamanan rumah" diaktifkan. Dan, secara umum, seharusnya sudah berfungsi setelah semua tindakan yang dijelaskan di atas.

Dan, karenanya, kami menambahkan peta panel alarm:

Ada poin menarik lainnya di sini. Saya menggunakan Asisten Rumah sebagai wadah buruh pelabuhan. Dalam hal ini, jalur ke skrip kami akan berbeda dari jalur sebenarnya ke file skrip. Bagaimanapun, struktur file di dalam wadah divirtualisasikan dan ditautkan ke struktur file sebenarnya melalui volume yang dipasang di buruh pelabuhan. Ini terlihat, misalnya, seperti ini:Jalur di dalam wadah:/config/scripts/ Jalur di dalam OS:/usr/share/hassio/homeassiatnt/scripts. Jadi lihat pengaturan wadah Anda, bagaimana volume ini dikonfigurasi di bidang Binds. Jika Anda memiliki HA di sana.

sudo docker memeriksa asisten rumah tangga|kurang 

Ketika sensor gerak dipicu, pada saat alarm diaktifkan:Saya ingin itu selain fakta bahwa kami mulai mengambil foto cepat (timelapsesnapshots), saya akan menerima peringatan melalui surat dan gambar. Saya memparalelkan prosesnya. Dalam kasus pertama, pencatatan foto (timelapsesnapshots) terjadi dalam beberapa detik setelah sensor dipicu. Untuk melakukan ini, saya menjalankan mjpg-streamer curl http://localhost/start_mjpgstrm.php , start php:url http://localhost/rec-motion-mjpg.php . Ini, pada gilirannya, menjalankan skrip python mov.py. Semua file dan bundel yang dijelaskan tersedia di akhir artikel melalui tautan. Dan skrip lain takeSnapshotWebcam.sh mengambil gambar yang saya kirim dalam email. Saya menjelaskan skrip ini di configuration.yml kami dengan cara ini:

shell_command:#start script yang menghasilkan snapshot untuk milis take_snapshot_webcam:'/config/scripts/takeSnapshotWebcam.sh'#starting mjpg-streamer start_mgpg_streamer kami:' curl http://localhost/start_mjpgstrm.php'#stopping mjpg-streamer stop_mgpg_streamer:'curl http://localhost/stop_mjpgstrm.php'#mulai skrip yang menghasilkan snapshot selama 5 detik start_motion_rec:'curl http://localhost/ rec-motion-mjpg.php'#stop it stop_motion_rec:'curl http://localhost/rec-motion-mjpg-stop.php' 

Dalam konfigurasi yang sama.yml yang menjelaskan objek kita untuk pengiriman surat:

beritahu:- nama:ha_sendmail platform:smtp#jika email ada di server gmail:smtp.gmail.com port:587 batas waktu:15#dari siapa kami mengirim pengirim:[email protected] enkripsi:starttls username:[email protected] password:passwd#kepada siapa kami mengirim (Anda dapat menggunakan satu kotak dan mengirimkannya kepada Anda sendiri, mengapa tidak) penerima:- [email protected] sender_name:My Home Assistant 

Poin penting! Agar HA kami dapat terhubung dan mengirim email (bidang pengirim), kami harus mengizinkan layanan HA kami untuk menggunakan kotak surat ini di gmail. Cara melakukannya-tautan di sini: https://myaccount.google.com/lesssecureapps

Dan selanjutnya, kami menjelaskan mekanisme otomatisasi itu sendiri saat mengaktifkan alarm home_alarm di automation.yaml:

#bundel tindakan pertama (alias "dipicu oleh sensor jika keamanan diaktifkan"- alias:'Trigger alarm saat bersenjata'#alias dipicu saat sensor berada di Pemicu posisi "aktif":- platform:state entity_id:binary_sensor.sensor_hc_sr501 ke:'on'#asalkan mode keamanan diaktifkan jika tidak ada orang di rumah kondisi "armed away":- kondisi:state entity_id:alarm_control_panel.home_alarm status:bersenjata_jauh#dan kemudian melakukan tindakan tindakan:#Menjalankan mjpg-streamer (jika dinonaktifkan) - layanan:shell_command.start_mgpg_streamer#Menjalankan skrip yang merekam dari kamera - layanan:shell_command.start_motion_rec#Ubah visualisasi "Keamanan rumah" kami " pada panel HA ke posisi "alarm dipicu" - layanan:alarm_control_panel.alarm_trigger entity_id:alarm_control_panel.home_alarm 

Rangkaian kondisi dan tindakan selanjutnya adalah mengirim pesan konsol saat "keamanan" dimatikan dan skrip perekaman gerakan kami dimatikan.

- alias:'Kirim pemberitahuan saat alarm dilucuti' pemicu:- platform:state entity_id:alarm_control_panel.home_alarm ke:tindakan 'disarmed':- layanan:shell_command.stop_mgpg_streamer - layanan:shell_command.stop_motion_rec - layanan:persistent_notification.create data:pesan:Alarm dimatikan pada {{ states('sensor.date_time') }}" 

Dan terakhir, tautan ketiga-kirim email dengan foto:

- alias:'Kirim pemberitahuan saat alarm dipicu' pemicu:- platform:state entity_id:alarm_control_panel.home_alarm ke:tindakan 'dipicu':- layanan:persistent_notification.create data :pesan:Pemberitahuan saat alarm dipicu. Sensor gerak HC-SR501 terdeteksi. - penundaan:detik:4#jalankan skrip kami untuk membuat satu skrip - layanan:script.webcam_snapshot#dan rujuk ke objek yang dijelaskan dalam konfigurasi.yaml:notify.ha_sendmail - layanan:notify.ha_sendmail data:judul:'Peringatan penyusup' pesan:'{{now().strftime("%H:%M %Y-%m-%d")}}:Pemberitahuan saat alarm dipicu. Sensor gerak HC-SR501 terdeteksi.' data:images:#link ke script yang sudah dibuat oleh script.webcam_snapshot - /config/camera/snapshot.jpg 

Ingat bahwa dalam file yaml, markup baris penting, dan karakter spasi sebelum perintah memainkan peran penting dalam membentuk blok kode dan strukturnya. Periksa semua perubahan pada yaml Anda melalui Home Assistant (selanjutnya HA) Configuration -> Server Controls -> Check Config

Sepertinya itu saja. Dan Raspberry pi Anda berubah menjadi sesuatu yang elegan!..)

Ini dia otomatisasi HA yang berfungsi, dikonfigurasi dengan tangan Anda sendiri! Pastikan untuk menulis semua yang Anda pikirkan tentang itu!

Dan, jika setelah semua Anda membaca sampai akhir, berikut adalah link yang dijanjikan:

Gambar dan kode pos: https://viamybox.com/downloadpage

Proyek Github: https://github.com/viatc/viamybox

File konfigurasi dijelaskan di sini: configuration.yaml, automation.yaml, takeSnapshotWebcam.sh, rec-motion-mjpg.php, mov.py

hc-sr501, alarm rumah, asisten rumah, raspberry pi, видеорегистрация, датчик движения, подключение ализации, умный ом

Tidak dikategorikan

Sumber:Sensor gerak, alarm, perekaman video dalam HA di Raspberry Pi


Proses manufaktur

  1. Pencatat Suhu Raspberry Pi
  2. Sensor Suhu Python dan Raspberry Pi
  3. Stasiun Cuaca Raspberry Pi
  4. Sensor suhu 1-kawat DS1820 di Raspberry Pi (langsung GPIO)
  5. Sensor Ultrasonik (HC-SR04) + Raspberry Pi
  6. Sistem Sensor Gerak Inframerah DIY untuk Raspberry Pi
  7. Membangun Jaringan Sensor Nirkabel di Rumah Anda
  8. Sensor Gerak menggunakan Raspberry Pi
  9. Alarm air raspberry pi 2 dengan tukang sepatu plus
  10. Sensor Kelembaban Tanah Raspberry Pi