Daftar Isi:

Sistem Keamanan Laser Raspberry Pi: 13 Langkah (dengan Gambar)
Sistem Keamanan Laser Raspberry Pi: 13 Langkah (dengan Gambar)

Video: Sistem Keamanan Laser Raspberry Pi: 13 Langkah (dengan Gambar)

Video: Sistem Keamanan Laser Raspberry Pi: 13 Langkah (dengan Gambar)
Video: OTP Based Locker Security System | Raspberry Pi Pico | Fingerprint | GSM | Telegram: ESP32-CAM Photo 2024, November
Anonim
Image
Image
Gambar
Gambar

Terima kasih telah memeriksa instruksi saya. Pada akhir instruksi ini, Anda akan membangun sistem tripwire laser raspberry pi dengan fungsi peringatan email yang ditampilkan dalam video.

Untuk menyelesaikan instruksi ini, Anda harus terbiasa dengan sirkuit umum dan penyolderan, mengetahui cara menggunakan papan tempat memotong roti, dan merasa nyaman menggunakan terminal pada pi. Memiliki pengalaman dalam python akan sangat membantu juga.

Proyek ini terdiri dari tiga sistem utama. Pi raspberry, sirkuit tripwire laser, dan komputer pengamat. Tujuan kami adalah menggunakan raspberry pi untuk mendeteksi perubahan tegangan pada rangkaian laser tripwire, dan kemudian memperingatkan komputer yang mengamati dalam bentuk email dan aliran video.

Mari kita mulai.

Langkah 1: Kumpulkan Komponen yang Diperlukan

Untuk menyelesaikan proyek ini, Anda memerlukan item berikut.

  1. Setidaknya satu Raspberry Pi operasional. Dalam build ini saya menggunakan model B style Pi yang menjalankan raspbian wheezy. Saya yakin tutorial ini akan bekerja dengan baik jika Anda menjalankan raspbian jessie.
  2. Sumber daya eksternal untuk raspberry pi. Kami akan menggambar sejumlah besar arus listrik setelah semua ini terhubung. Saya menghabiskan banyak waktu untuk mendiagnosis catu daya yang jelek sebagai sumber masalah saya selama pembuatan pertama saya. Pastikan Anda memiliki kekuatan yang kuat yang dapat menjadi sumber setidaknya 2 amp.
  3. Laser pointer murahan. Saya menemukan milik saya di sebelah mesin kasir di sebuah pompa bensin. Jika Anda menginginkan laser yang tepat, Anda dapat menemukannya di sini. Label mengatakan 630-680 nm untuk panjang gelombang. Laser apa pun yang Anda dapatkan akan menentukan beberapa komponen lain dalam build. Jadi, pastikan labelnya mengidentifikasi panjang gelombangnya.
  4. Webcam gaya usb. Webcam ini memiliki kaki yang dapat disesuaikan yang memungkinkan Anda memposisikan kamera dengan baik. Saya menemukan bahwa kabel usb yang disertakan dengan webcam terlalu pendek untuk aplikasi saya, jadi saya menemukan ekstensi di monoprice.
  5. Semacam breakout kit untuk raspberry pi sehingga Anda dapat memiliki akses mudah ke pin pada prosesor.

    Gambar
    Gambar
    Gambar
    Gambar
  6. Sebuah papan tempat memotong roti.
  7. Sebuah besi solder.
  8. Kabel jumper untuk papan tempat memotong roti.
  9. Komponen Sirkuit. Kalikan dengan jumlah kabel perjalanan yang Anda inginkan.

    • Satu led yang berfungsi
    • Satu resistor 100 ohm
    • Satu resistor 1k
    • Satu resistor 10k
    • Satu resistor 200k Benar-benar resistor besar apa pun bisa digunakan. Saya mengujinya dengan resistor 1M dan berfungsi dengan baik. FYI 10k terlalu kecil.
    • Satu transistor PNP PN:2N4403-APCT-ND
    • Satu fotodioda (sesuaikan dengan panjang gelombang laser Anda) PN:PDB-C142-ND

Saya akan melampirkan file kicad untuk papan sirkuit tetapi tidak akan membahas pembuatan papan dalam instruksi ini.

Sepanjang proyek ini saya menemukan alat opsional berikut berguna:

  1. Menginstal sinergi pada raspberry pi. Jika Anda tidak terbiasa, perangkat lunak ini akan memungkinkan Anda untuk mengontrol mouse dan keyboard raspberry pi dengan komputer lain. Ini bagus jika Anda seperti saya dan lebih nyaman di komputer yang berbeda. Juga ini adalah perangkat lunak yang harus dimiliki setiap orang.
  2. Sebuah hub usb. Untuk setiap webcam yang ingin Anda gunakan, Anda memerlukan satu port.
  3. Pengukur tegangan atau osiloskop jika Anda memilikinya.
  4. Menggunakan MobaXterm untuk mengontrol raspberry pi dan memanipulasi file melalui ssh. Ini adalah suatu keharusan bagi siapa pun yang dibesarkan di windows. Lihat tutorial ini untuk mengatur penggunaannya.

Langkah 2: Dapatkan Pi dan Jalankan

  • Gambar
    Gambar

    Pi dengan komponen minimal terpasang

  • Sebelum kita dapat menembak laser, ada beberapa lapisan perangkat lunak yang perlu dibangun. Untuk mendapatkan peluang sukses terbaik, praktik yang baik adalah memulai dengan awal yang bersih. Untuk melakukan ini, putuskan semua item yang tidak dibutuhkan dari Pi. Ini akan mengurangi kemungkinan gangguan dari perangkat yang terhubung.

    Selanjutnya, pastikan Raspberry Pi Anda aktif dan berjalan dengan perangkat lunak terbaru dengan memasukkan yang berikut di terminal

    sudo apt-get update

    Dengan raspberry pi yang terbaru, inilah saatnya untuk langkah selanjutnya

    Langkah 3: Buat Sirkuit Deteksi Laser

    Tempatkan komponen pada papan tempat memotong roti seperti yang ditunjukkan. Nyalakan papan tempat memotong roti menggunakan output 5v dari pi atau catu daya benchtop. Pada gambar 1 suplai 5v terhubung ke rel papan tempat memotong roti positif di kiri bawah gambar, dan tanah di kiri atas. Rangkaian ini menggunakan fotodioda sebagai saklar untuk memicu transistor. Transistor mengubah perubahan tegangan kecil di fotodioda menjadi sinyal digital yang dapat dibaca oleh pi. Untuk semua langkah selanjutnya, titik antara 100ohm dan sinyal yang dipimpin akan menjadi tempat kita mengambil sampel rangkaian dengan pi.

    • Gambar
      Gambar

      Gambar 1: Bagian atas tata letak papan tempat memotong roti sirkuit

    • Gambar
      Gambar

      Gambar 2: Tampilan alternatif tata letak papan tempat memotong roti sirkuit

    Jika Anda ingin tampilan yang lebih bersih, saya lampirkan file kicad untuk papan yang ditunjukkan di bawah ini.

    • Gambar
      Gambar

      Gambar 3: Tampilan atas papan sensor

    • Gambar
      Gambar

      Gambar 4: Papan sensor ISO

    • Langkah 4: Ubah Laser untuk Daya Eksternal

      Dalam langkah-langkah berikut, Anda akan membuat rakitan penunjuk laser.

      - Bongkar penunjuk laser. Saat melakukannya, perhatikan orientasi terminal baterai sehubungan dengan pemancar laser.- Selanjutnya, lepaskan pegas sambungan baterai dan tombol tekan sesaat dari laser.- Solder sepotong kabel di antara terminal di mana tombol itu berada. Sekarang ketika daya disuplai ke laser, laser akan menyala secara otomatis. - Sekarang solder ujung positif dan negatif ke laser. Jika Anda menggunakan laser yang sama dari daftar bagian, Anda dapat menggunakan gambar di bawah ini untuk melihat titik solder. Jika tidak, Anda mungkin perlu menemukan titik solder sendiri. Anda dapat menggunakan orientasi baterai sebagai petunjuk untuk kabel positif atau negatif. Untuk menemukan titik solder terakhir, Anda dapat menggunakan catu daya 5v dan memeriksa rangkaian dengan dua kabel uji. Ketika Anda telah membuat sirkuit yang tepat, Anda telah menemukan titik solder, dan laser akan menyala.

      • Gambar
        Gambar

        Kabel oranye menggantikan tombol tekan sesaat

      • Gambar
        Gambar

        Menampilkan lead positif dan negatif

      - Langkah terakhir adalah membuat tiang pemasangan terarah untuk laser sehingga dapat dengan mudah disesuaikan untuk membidik wadah laser. Saya telah menemukan bahwa sebagian besar kit bionik lego adalah sumber yang sangat baik untuk bola murah di sambungan soket. Rekatkan salah satu bagian dari sambungan bola ke penunjuk laser menggunakan lem super. Sekarang Anda dapat memasang sambungan soket ke permukaan apa pun dan memasang laser.

      • Gambar
        Gambar

        Sendi bola

      • Gambar
        Gambar

        Sambungan soket

      • Gambar
        Gambar

        Bola dan soket dirakit

      • Langkah 5: Nyalakan Laser dan Uji Sirkuit Deteksi

        Colokkan laser ke papan tempat memotong roti Anda. Positif perlu dihubungkan ke 5v dan membumikan kabel negatif. Jika laser menyala dengan baik, jika tidak, periksa kembali apakah Anda memiliki voltase yang tepat dengan multimeter. Jika masih tidak berhasil, coba tukar lead jika Anda menghubungkannya ke belakang. Jika masih tidak berhasil, Anda mungkin belum menyolder ke bantalan yang tepat, kembali ke langkah terakhir.

        • Gambar
          Gambar

          Laser bekerja dengan sinar yang sehat

        Setelah Anda mendapatkan sinar laser, inilah saatnya untuk menguji sirkuit deteksi. Arahkan laser ke fotodioda. LED harus mati menandakan bahwa balok aktif. Lambaikan tangan Anda melalui balok dan LED akan menyala menandakan perjalanan.

        • Gambar
          Gambar

          Balok tidak rusak dan led mati

        • Gambar
          Gambar

          Penyusup memecahkan balok menyebabkan led menyala

        • Langkah 6: Hubungkan Webcam Anda dan Uji Fungsinya

          Hubungkan webcam Anda ke port usb. Untuk melakukan streaming video, kita perlu mendapatkan utilitas mjpg-streamer. Berikut adalah tutorial yang bagus tentang bagaimana melakukan hal itu. Setelah Anda menginstal mjpg-streamer dengan benar. Mulai streaming video dengan memasukkan perintah berikut ke terminal.

          cd /tempat Anda menginstal mjpg-streamer/mjpg-streamer

          ./mjpg_streamer -i "./input_uvc.so -y /dev/video0" -o "./output_http.so -w./www -p 8081"

          Perintah ini akan mengatur aliran pada port 8081 menggunakan sumber video0. Jika Anda ingin beberapa webcam masukkan perintah di atas lagi tetapi ubah video0 menjadi video1 dan 8081 menjadi 8082. Saya telah melakukan streaming hingga 3 webcam dengan cara ini dan pi tidak kelebihan beban.

          Uji apakah koneksi berfungsi dengan membuka browser di komputer lain dan masukkan ip-address-of-pi:8081 atau di pi Anda bisa memasukkan localhost:8081. Jika Anda tidak tahu ip pi Anda, masukkan yang berikut ini di terminal

          ifconfig

          Jika semuanya berfungsi, Anda akan melihat beranda mpg-streamer. Klik pada tab streaming untuk melihat streaming webcam Anda. Di bawah ini adalah tangkapan layar antarmuka.

          • Gambar
            Gambar

            keluaran sampel mjpg-streamer

          Dalam melakukan tutorial ini untuk kedua kalinya saya dapat mengakses halaman beranda mjpg-streamer tetapi tidak melihat alirannya. Untuk memperbaikinya saya membaca posting ini (tautan sekarang rusak), khususnya bagian tentang format piksel YUYV, jika Anda menemukan aliran kosong, Anda harus berkonsultasi juga.

          Langkah 7: Istirahat

          Oke, jadi pada titik ini kita harus menjalankan raspberry pi kita. Laser kami telah dimodifikasi untuk daya eksternal. Sirkuit deteksi kami telah dibuat dan Anda telah memastikan bahwa ketika sinar laser mengenai fotodioda, led mati dan ketika Anda mematahkan sinar, led harus menyala. Terakhir, webcam Anda harus terhubung dan streaming secara fungsional.

          Sekarang saatnya untuk menyatukan semuanya. Mari kita mulai dengan sederhana dengan mencoba mendeteksi sinar laser tersandung dengan perangkat lunak.

          Hubungkan sirkuit deteksi ke papan tempat memotong roti seperti yang ditunjukkan. Pastikan Anda menghubungkan kabel sinyal sensor ke pin 25 sebagai persiapan untuk langkah selanjutnya. Resistor tarik ke bawah tidak opsional. Saya memiliki 10k tergeletak di sekitar, tetapi resistor apa pun harus dilakukan.

          • Gambar
            Gambar

            Tata letak papan tempat memotong roti dengan PiCobler

          • Langkah 8: Pantau Laser Dengan Perangkat Lunak

            Mari kita menulis program singkat untuk mendengarkan sinyal laser dan memposting output itu ke terminal. Anda dapat mengunduh kode sebagai lampiran.

            Anda mungkin perlu menginstal dependensi untuk skrip ini. Python dan modul gpio. Untuk menginstal ini, masukkan

            sudo apt-get install python-rpi.gpio python3-rpi.gpio

            Setelah Anda berhasil menginstal python, unduh skrip python terlampir yang disebut read_pin.py dan jalankan

            cd /direktori tempat Anda meletakkan file/chmod 777 read_pin.py

            Perintah chmod akan memberikan izin skrip untuk dijalankan. Kemudian uji apakah semuanya baik-baik saja dan keren dengan menjalankan

            sudo python3 read_pin.py

            Jika semuanya berjalan dengan baik, Anda akan melihat output konsol seperti yang ditunjukkan di bawah ini. Untuk keluar dari skrip python, masukkan

            Ctrl-C

          • Gambar
            Gambar

            Output Konsol yang Benar (ditampilkan menggunakan MobaXterm)

          Lambaikan tangan Anda di depan sinar laser dan Anda akan melihat beberapa output di konsol yang memberi tahu Anda bahwa sinar itu telah rusak. Jangan ragu untuk bermain-main dengan skrip untuk membuat sistem Anda bekerja dengan cara yang berbeda.

          Langkah 9: Buat Halaman Web untuk Menampilkan Aliran Anda

          Sekarang kita perlu mengatur antarmuka tampilan webcam. Untuk langkah ini Anda perlu menginstal server web Apache. Ada banyak tutorial di luar sana tentang pengaturannya. Tapi di sini adalah daftar singkat dengan konfigurasi minimal.

          sudo apt-get install apache2

          setelah terinstal, Anda harus dapat mengetik di browser Anda di raspberry pi

          localhost

          Anda akan melihat halaman selamat datang dari Apache. Jika ini adalah pertama kalinya Anda menyiapkan server web, Anda mungkin ingin mengonfigurasi pi Anda agar memiliki alamat ip statis sehingga router Anda akan selalu menetapkan ip yang tepat jika Anda melakukan siklus daya. Jika Anda ingin melihat sistem keamanan Anda dari lokasi lain, Anda harus mengatur penerusan porta pada router Anda. Sudah lama tetapi saya juga berpikir Anda perlu meneruskan port apa pun yang memiliki webcam juga. Ada banyak tutorial di luar sana yang mencakup prosedur ini. Ketahuilah bahwa siapa pun dapat melihat webcam Anda jika Anda memilih untuk mengatur penerusan porta pada router Anda.

          File terlampir adalah contoh halaman web yang dapat Anda gunakan untuk mengatur situs web Anda. Anda perlu mengubah ekstensi file pada file html karena mereka tidak mengizinkan saya mengunggahnya. Selanjutnya tempatkan file di folder www Anda yang dipanggil di file konfigurasi apache Anda. Lokasi default adalah

          cd /var/www

          Jika Anda ingin mengubah lokasi di mana server web mencari file html Anda, Anda dapat mengedit file yang diaktifkan situs Anda dengan memasukkan

          sudo nano /etc/Apache2/sites-enabled/000-default

          Ubah instance /var/www/ ke lokasi yang Anda inginkan. Saya meletakkan milik saya di /home/pi/Desktop/www/

          Setelah Anda memiliki file html di folder web, masukkan localhost di browser atau alamat ip pi dari komputer lain. Anda harus melihat sesuatu seperti ini.

          • Gambar
            Gambar

            Tangkapan layar dari file terlampir yang sedang beroperasi

          MANIS!

          Langkah 10: Siapkan Peringatan Email

          Hal-hal baik sedang terjadi! Mari kita tekan keberuntungan kita dengan mencoba mengirim peringatan email dari pi ke alamat email yang telah ditentukan. Skrip python terlampir akan membangun email Anda yang ingin Anda kirim, terhubung ke penyedia email seperti gmail, dan mengirim email menggunakan penyedia email. Ini dicapai dengan menggunakan paket smtp python. Saya sarankan Anda membuat alamat email dummy hanya untuk sistem keamanan Anda karena kami harus mengurangi keamanan pada akun gmail Anda agar paket smtp berfungsi.

          Anda harus memodifikasi skrip di beberapa tempat untuk mendapatkan transmisi yang sukses. Itu banyak dikomentari dan akan menghasilkan banyak keluaran di terminal untuk kenyamanan Anda.

          Hal-hal yang perlu Anda ubah adalah

          • your_ip = "192.168.0.177"
          • your_ip_optional_port = ":8080"
          • port_to_camera = ":8081"
          • send_email_username = "nama pengguna email Anda"
          • send_email_password = "kata sandi Anda"

          your_ip_optional_port kemungkinan besar akan kosong kecuali server Apache Anda berjalan pada port selain port default 80. Saya sudah memiliki server yang berjalan pada 80 jadi saya mengatur pi saya untuk berjalan pada 8080. Port_to_camera akan menjadi port yang Anda tentukan untuk kamera Anda jalankan menggunakan mjpeg streamer.

          Setelah Anda mengubah variabel-variabel ini di awal skrip, jalankan program dengan memasukkan yang berikut ini di terminal.

          cd /folder tempat Anda meletakkan skrip/

          sudo python3 send_mail.py

          Jika bintang-bintang disejajarkan dengan benar dan semua variabel benar, Anda akan mendapatkan email yang mirip dengan yang di bawah ini.

          • Gambar
            Gambar

            Tangkapan layar dari file terlampir yang sedang beroperasi

          Ada banyak tempat di mana skrip ini bisa gagal. Jangan frustrasi jika tidak berhasil pertama kali. Gunakan titik debug dalam skrip untuk mempersempit area masalah dan kemudian fokus pada satu masalah pada satu waktu.

          Langkah 11: Memicu Skrip Email Saat Laser Tersandung

          Sekarang pi dapat mengirim email, mari kita otomatisasi sehingga setiap kali laser tersandung kita mendapatkan email. Unduh file terlampir yang merupakan versi modifikasi dari read_pin.py yang berisi fungsi baru untuk meluncurkan skrip email. Baris tambahan utama adalah sebagai berikut

          sm_pid = os.spawnlp(os. P_NOWAIT, "/usr/bin/python3", "python3", "/home/pi/Desktop/security/send_mail.py")

          Baris ini akan meluncurkan skrip kirim email secara paralel dengan skrip penginderaan laser. Ini diinginkan karena skrip kirim email membutuhkan beberapa detik untuk diselesaikan dan akan memblokir skrip penginderaan laser agar tidak berjalan hingga email dikirim. Ini bukan masalah untuk sistem kamera tunggal, tetapi jika Anda memiliki beberapa kamera, Anda ingin mendeteksi perjalanan laser pada kamera 1 meskipun kamera 2 telah memicu peristiwa email. Variabel sm_pid akan berisi pid dari proses yang diluncurkan oleh perintah ini. Kami memeriksa id ini jika pemicu email dipanggil lagi jika ada, email masih terkirim sehingga kami mengabaikan acara tersebut. Jika tidak ada, ini kemungkinan acara baru dan email dikirim.

          Uji semua berfungsi dengan menjalankan

          cd /direktori tempat Anda meletakkan file/

          chmod 777 read_pin_with_mail.py

          sudo python3 read_pin_with_mail.py

          Saat Anda memecahkan sinar laser, Anda akan mendapatkan email dengan snapshot yang diambil dari webcam.

          Langkah 12: Buat Script Master untuk Memulai Sistem

          Pada titik ini proyek sebagian besar dilakukan. Satu langkah terakhir adalah menyederhanakan startup sistem dengan satu skrip terakhir. Ini akan meluncurkan semua subprogram dan mengatur webcam dengan satu skrip. File terlampir dapat diluncurkan saat startup dengan mengedit file /etc/rc.local Anda. Anda perlu mengubah ekstensi file dan mungkin harus mengedit skrip untuk menyertakan jalur yang tepat jika Anda meletakkan skrip di lokasi yang berbeda.

          Langkah 13: Kesimpulan

          Nah itu dia. Saya harap Anda menikmati instruksi ini! Beri tahu saya di komentar jika Anda memiliki pertanyaan atau memerlukan informasi lebih rinci di area mana pun. Teruslah mengotak-atik!

          • Gambar
            Gambar

    Direkomendasikan: