Isi kandungan:

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

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

Video: Sistem Keselamatan Laser Raspberry Pi: 13 Langkah (dengan Gambar)
Video: Berjuang Untuk Rakyat? Ahhh Yang Bener? 2024, Julai
Anonim
Image
Image
Imej
Imej

Terima kasih kerana melihat arahan saya. Menjelang akhir ini, kehendak anda akan membina sistem tripwire laser raspberry pi dengan fungsi amaran e-mel yang ditunjukkan dalam video.

Untuk menyelesaikan ini, kehendak anda perlu mengetahui litar umum dan pematerian, mengetahui cara menggunakan papan roti, dan selesa menggunakan terminal di pi. Mempunyai pengalaman dalam python juga akan membantu.

Projek ini terdiri daripada tiga sistem utama. Raspberry pi, litar tripwire laser, dan komputer pemerhatian. Tujuan kami adalah menggunakan raspberry pi untuk mengesan perubahan voltan pada litar tripwire laser, dan kemudian memberi amaran kepada komputer yang memerhatikan dalam bentuk aliran e-mel dan video.

Mari kita mulakan.

Langkah 1: Bundarkan Komponen Yang Diperlukan

Untuk menyelesaikan projek ini, anda memerlukan item berikut.

  1. Sekurang-kurangnya satu Raspberry Pi operasi. Dalam binaan ini saya menggunakan model gaya B Pi yang menjalankan raspbian wheezy. Saya yakin tutorial ini akan berfungsi dengan baik sekiranya anda menjalankan jessie raspbian.
  2. Sumber kuasa luaran untuk raspberry pi. Kami akan memperoleh sejumlah besar daya setelah semua ini dihubungkan. Saya menghabiskan banyak masa untuk mendiagnosis bekalan kuasa yang jelek sebagai sumber masalah saya semasa membina pertama saya. Pastikan anda mempunyai kekuatan yang kuat yang dapat menghasilkan sekurang-kurangnya 2 amp.
  3. Penunjuk laser murah. Saya menjumpai milik saya di sebelah daftar tunai di stesen minyak. Sekiranya anda mahukan laser yang tepat, anda boleh mencarinya di sini. Label tersebut menyatakan 630-680 nm untuk panjang gelombang. Mana-mana laser yang anda dapat akan menentukan beberapa komponen lain dalam binaan. Oleh itu, pastikan labelnya mengenal pasti panjang gelombang.
  4. Kamera web gaya usb. Kamera web ini mempunyai kaki yang boleh disesuaikan yang membolehkan anda meletakkan kamera dengan baik. Saya mendapati bahawa kabel usb yang disertakan dengan kamera web terlalu pendek untuk aplikasi saya, jadi saya menemui sambungan pada monoprice.
  5. Beberapa jenis alat pemecah untuk raspberry pi supaya anda boleh mendapatkan akses mudah ke pin pada pemproses.

    Imej
    Imej
    Imej
    Imej
  6. Papan roti.
  7. Setrika pematerian.
  8. Kabel pelompat untuk papan roti.
  9. Komponen Litar. Gandakan dengan jumlah wayar perjalanan yang anda mahukan.

    • Seorang bekerja diketuai
    • Satu perintang 100 ohm
    • Satu perintang 1k
    • Satu perintang 10k
    • Satu perintang 200k Benar-benar perintang besar yang akan dilakukan. Saya mengujinya dengan perintang 1M dan ia berfungsi dengan baik. FYI 10k terlalu kecil.
    • Satu transistor PNP PN: 2N4403-APCT-ND
    • Satu fotodiod (padankan ini dengan panjang gelombang laser anda) PN: PDB-C142-ND

Saya akan melampirkan fail kicad untuk papan litar tetapi tidak akan membahas pembuatan papan dalam arahan ini.

Sepanjang projek ini saya dapati alat pilihan berikut berguna:

  1. Memasang sinergi pada raspberry pi. Sekiranya anda tidak biasa, perisian ini akan membolehkan anda mengawal tetikus dan papan kekunci raspberry pi dengan komputer lain. Ini bagus jika anda seperti saya dan lebih selesa menggunakan komputer lain. Ini juga perisian yang mesti dimiliki oleh semua orang.
  2. Hab usb. Untuk setiap kamera web yang ingin anda gunakan, anda memerlukan satu port.
  3. Meter voltan atau osiloskop jika anda memilikinya.
  4. Menggunakan MobaXterm untuk mengawal pi raspberry dan memanipulasi fail melalui ssh. Ini mesti dimiliki oleh sesiapa sahaja yang dibesarkan di tingkap. Lihat tutorial ini untuk disiapkan untuk menggunakannya.

Langkah 2: Dapatkan Pi dan Berjalan

  • Imej
    Imej

    Pi dengan komponen minimum terpasang

  • Sebelum kita dapat menembak laser, ada beberapa lapisan perisian yang perlu dibina. Untuk mempunyai peluang kejayaan yang terbaik, adalah amalan yang baik untuk memulakannya dengan batu bersih. Untuk melakukan ini putuskan sebarang item yang tidak diperlukan dari Pi. Ini akan mengurangkan kemungkinan gangguan dari peranti yang disambungkan.

    Seterusnya, pastikan Pi Raspberry anda siap dan berjalan dengan perisian terkini dengan memasukkan yang berikut di terminal

    sudo apt-get kemas kini

    Dengan raspberry pi terkini, inilah masanya untuk langkah seterusnya

    Langkah 3: Buat Litar Pengesanan Laser

    Letakkan komponen di papan roti seperti yang ditunjukkan. Kuasa papan roti menggunakan output 5v dari pi atau bekalan kuasa bangku. Dalam gambar 1, bekalan 5v dihubungkan ke rel papan roti positif di kiri bawah gambar, dan tanah ke kiri atas. Litar ini menggunakan fotodiod sebagai suis untuk mencetuskan transistor. Transistor menukar perubahan voltan kecil dalam fotodiod menjadi isyarat digital yang boleh dibaca oleh pi. Untuk semua langkah seterusnya, titik antara 100ohm dan petunjuk isyarat akan menjadi tempat kita mencuba litar dengan pi.

    • Imej
      Imej

      Rajah 1: Susun atur papan roti litar atas

    • Imej
      Imej

      Gambarajah 2: Susun atur papan selang pandangan bergantian

    Sekiranya anda mahukan penampilan yang lebih bersih, saya melampirkan fail kicad untuk papan yang ditunjukkan di bawah.

    • Imej
      Imej

      Rajah 3: Pandangan atas papan sensor

    • Imej
      Imej

      Rajah 4: Papan Sensor ISO

    • Langkah 4: Ubahsuai Laser untuk Kuasa Luaran

      Pada langkah-langkah berikut, anda akan membina pemasangan penunjuk laser.

      - Bongkar penunjuk laser. Semasa melakukannya, perhatikan orientasi terminal bateri berkenaan dengan pemancar laser.- Seterusnya, lepaskan pegas sambungan bateri dan butang tekan sesaat dari laser.- Memateri sekeping wayar di antara terminal di mana butang berada. Sekarang apabila kuasa dibekalkan ke laser, ia akan menyala secara automatik. - Sekarang pasangkan petunjuk positif dan negatif ke laser. Sekiranya anda menggunakan laser yang sama dari senarai bahagian, anda boleh menggunakan gambar di bawah untuk melihat titik solder. Sekiranya tidak, anda mungkin perlu mencari titik solder sendiri. Anda boleh menggunakan orientasi bateri sebagai petunjuk untuk petunjuk positif atau negatif. Untuk mencari titik solder terakhir, anda boleh menggunakan bekalan kuasa 5v dan memeriksa litar dengan dua petunjuk ujian. Apabila anda telah membuat litar yang betul, anda akan menemui titik solder, dan laser akan menyala.

      • Imej
        Imej

        Kawat jingga menggantikan butang tekan sesaat

      • Imej
        Imej

        Menunjukkan petunjuk positif dan negatif

      - Langkah terakhir adalah membuat tiang pemasangan arah untuk laser sehingga dapat dengan mudah disesuaikan untuk mengarahkan pada wadah laser. Saya telah mendapati bahawa kebanyakan kit bionicle lego adalah sumber yang sangat baik untuk bola murah di sendi soket. Lekatkan satu bahagian sambungan bola ke penunjuk laser menggunakan gam super. Sekarang anda boleh memasang sambungan soket ke permukaan mana pun dan memasukkan laser ke dalamnya.

      • Imej
        Imej

        Sendi bola

      • Imej
        Imej

        Soket sendi

      • Imej
        Imej

        Bola dan soket dipasang

      • Langkah 5: Hidupkan Laser dan Uji Litar Pengesanan

        Pasang laser ke papan roti anda. Positif perlu dihubungkan ke 5v dan membumikan wayar negatif. Sekiranya laser menyala dengan baik, jika tidak, periksa semula bahawa anda mempunyai voltan yang betul dengan multimeter. Sekiranya masih tidak berfungsi, cuba tukar petunjuk sekiranya anda menyambungkannya ke belakang. Sekiranya masih tidak berfungsi, anda mungkin tidak menyolder ke pad yang betul, kembali ke langkah terakhir.

        • Imej
          Imej

          Bekerja laser dengan sinar yang sihat

        Sebaik sahaja anda mempunyai pancaran laser, inilah masanya untuk menguji litar pengesanan. Arahkan laser pada fotodiod. LED harus mematikan memberi isyarat bahawa pancaran aktif. Gelombang tangan anda melalui rasuk dan LED akan menyala menandakan perjalanan.

        • Imej
          Imej

          Rasuk tidak putus dan lampu dipadamkan

        • Imej
          Imej

          Penceroboh memecahkan rasuk menyebabkan lampu menyala

        • Langkah 6: Sambungkan Kamera Web anda dan Uji Fungsinya

          Sambungkan kamera web anda ke port usb. Untuk streaming video, kita perlu mendapatkan utiliti mjpg-streamer. Berikut adalah tutorial hebat tentang bagaimana melakukan perkara itu. Setelah mjpg-streamer dipasang dengan betul. Mulakan streaming video dengan memasukkan arahan berikut ke terminal.

          cd / tempat anda memasang 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. Sekiranya anda mahukan berbilang webcam masukkan perintah di atas sekali lagi tetapi ubah video0 ke video1 dan 8081 hingga 8082. Saya telah mengalirkan sehingga 3 kamera web dengan cara ini dan pi tidak berlebihan.

          Uji bahawa sambungan berfungsi dengan membuka penyemak imbas di komputer lain dan masukkan ip-address-of-pi: 8081 atau pada pi anda boleh memasukkan localhost: 8081. Sekiranya anda tidak mengetahui ip pi anda masukkan perkara berikut di terminal

          ifconfig

          Sekiranya semuanya berfungsi, anda mesti melihat laman utama mpg-streamer. Klik pada tab aliran untuk melihat aliran kamera web anda. Di bawah ini adalah tangkapan skrin antara muka.

          • Imej
            Imej

            output sampel mjpg-streamer

          Semasa melakukan tutorial ini untuk kali kedua saya dapat mengakses halaman utama mjpg-streamer tetapi tidak melihat aliran. Untuk membetulkannya, saya membaca catatan ini (pautan sekarang rosak), khususnya bahagian mengenai format piksel YUYV, jika anda menemui aliran kosong, anda juga harus melihatnya.

          Langkah 7: Selang

          Baiklah, jadi pada ketika ini kita mesti menghidupkan dan menjalankan raspberry kita. Laser kami telah diubah suai untuk kuasa luaran. Litar pengesanan kami telah dibina dan anda telah mengesahkan bahawa apabila pancaran laser menyentuh fotodioda, lampu LED akan dimatikan dan apabila anda mematahkan pancaran, lampu LED harus menyala. Terakhir, anda harus menyambungkan kamera web anda dan streaming secara fungsional.

          Sekarang masanya untuk menyatukan semuanya. Mari kita mulakan dengan mudah dengan mengesan pancaran sinar laser dengan perisian.

          Sambungkan litar pengesanan ke papan roti seperti yang ditunjukkan. Pastikan anda menyambungkan wayar isyarat sensor ke pin 25 sebagai persediaan untuk langkah seterusnya. Perintang tarik ke bawah bukan pilihan. Saya mempunyai 10k meletakkan, tetapi perintang mesti dilakukan.

          • Imej
            Imej

            Susun atur papan roti dengan PiCobler

          • Langkah 8: Pantau Laser Dengan Perisian

            Mari tulis program pendek untuk mendengar isyarat laser dan menghantar output ke terminal. Anda boleh memuat turun kod sebagai lampiran.

            Anda mungkin perlu memasang pergantungan untuk skrip ini. Python dan modul gpio. Untuk memasang ini masukkan

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

            Setelah berjaya memasang python, muat turun skrip python yang dilampirkan yang disebut read_pin.py dan jalankan

            cd / direktori tempat anda meletakkan fail / chmod 777 read_pin.py

            Perintah chmod akan memberikan kebenaran skrip untuk dijalankan. Kemudian uji bahawa semuanya baik dan lembik dengan berlari

            sudo python3 read_pin.py

            Sekiranya semuanya berjalan lancar, anda akan melihat output konsol seperti yang ditunjukkan di bawah. Untuk keluar dari skrip python, masukkan

            Ctrl-C

          • Imej
            Imej

            Output Konsol yang Betul (ditunjukkan menggunakan MobaXterm)

          Gerakkan tangan anda di hadapan pancaran laser dan anda akan melihat beberapa output pada konsol yang memberi amaran bahawa pancaran itu telah pecah. Jangan ragu untuk bermain-main dengan skrip agar sistem anda dapat berfungsi dengan cara yang berbeza.

          Langkah 9: Buat Laman Web untuk Memaparkan Aliran Anda

          Sekarang kita perlu menyediakan antara muka melihat kamera web. Untuk langkah ini, anda perlu memasang pelayan web apache. Terdapat banyak tutorial di luar sana untuk menyiapkannya. Tetapi inilah senarai pendek dengan konfigurasi minimum.

          sudo apt-get install apache2

          setelah dipasang, anda seharusnya dapat menaip penyemak imbas anda pada raspberry pi

          localhost

          Anda mesti melihat halaman selamat datang dari apache. Sekiranya ini adalah kali pertama anda menubuhkan pelayan web, anda mungkin ingin mengkonfigurasi pi anda untuk mempunyai alamat ip yang statik supaya penghala anda akan selalu memberikan ip yang sesuai jika anda melakukan kitaran kuasa. Sekiranya anda ingin melihat sistem keselamatan anda dari lokasi lain, anda harus menyiapkan pemajuan port pada penghala anda. Sudah sekian lama tetapi saya juga fikir anda perlu meneruskan port yang mempunyai kamera web di dalamnya. Terdapat banyak tutorial di luar sana yang merangkumi prosedur ini. Ketahuilah bahawa sesiapa sahaja dapat melihat kamera web anda jika anda memilih untuk menyiapkan pemajuan port pada penghala anda.

          Fail yang dilampirkan adalah contoh laman web yang dapat anda gunakan untuk menyiapkan laman web anda. Anda perlu menukar pelanjutan fail pada fail html kerana mereka tidak akan membiarkan saya memuat naiknya. Seterusnya letakkan fail di folder www anda yang disebut dalam fail konfigurasi apache anda. Lokasi lalai adalah

          cd / var / www

          Sekiranya anda ingin mengubah lokasi pelayan web mencari fail html anda, anda boleh mengedit fail yang diaktifkan laman web anda dengan memasukkan

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

          Tukar sebarang contoh / var / www / ke lokasi yang anda mahukan. Saya meletakkan tambang di / home / pi / Desktop / www /

          Sebaik sahaja anda mempunyai fail html dalam folder web masukkan localhost di penyemak imbas atau alamat ip pi dari komputer lain. Anda mesti melihat sesuatu seperti ini.

          • Imej
            Imej

            Tangkapan skrin fail yang dilampirkan dalam operasi

          SWEEEEET!

          Langkah 10: Sediakan Makluman E-mel

          Perkara baik berlaku! Mari tekan nasib kita dengan cuba menghantar amaran e-mel dari pi ke alamat e-mel yang telah ditentukan. Skrip python yang dilampirkan akan membina e-mel anda yang ingin anda hantar, bersambung ke penyedia e-mel seperti gmail, dan menghantar e-mel menggunakan penyedia e-mel. Ini dicapai dengan menggunakan pakej smtp python. Saya cadangkan anda membuat alamat e-mel palsu hanya untuk sistem keselamatan anda kerana kami harus mengurangkan keselamatan pada akaun gmail anda agar pakej smtp berfungsi.

          Anda perlu mengubah skrip di beberapa tempat untuk mendapatkan penghantaran yang berjaya. Ia banyak dikomentari dan akan menghasilkan banyak output di terminal untuk kemudahan anda.

          Perkara 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 e-mel anda"
          • send_email_password = "kata laluan anda"

          your_ip_optional_port kemungkinan besar akan kosong melainkan pelayan apache anda berjalan pada port selain dari lalai 80. Saya sudah mempunyai pelayan yang berjalan pada 80 jadi saya menetapkan pi saya untuk berjalan pada 8080. port_to_camera akan menjadi port yang anda tetapkan kamera anda jalankan menggunakan streamer mjpeg.

          Setelah anda menukar pemboleh ubah ini pada awal skrip jalankan program dengan memasukkan yang berikut di terminal.

          cd / folder di mana anda meletakkan skrip /

          sudo python3 send_mail.py

          Sekiranya bintang diselaraskan dengan betul dan semua pemboleh ubahnya betul, anda harus mendapatkan e-mel yang serupa dengan yang di bawah.

          • Imej
            Imej

            Tangkapan skrin fail yang dilampirkan dalam operasi

          Terdapat banyak tempat di mana skrip ini boleh gagal. Jangan kecewa jika tidak berfungsi pada kali pertama. Gunakan titik debugging dalam skrip untuk menyempitkan kawasan masalah dan kemudian fokus pada satu masalah pada satu masa.

          Langkah 11: Mencetuskan Skrip E-mel Apabila Laser Dihidupkan

          Sekarang pi dapat menghantar e-mel, mari kita automatikkan sehingga setiap kali laser tersekat kita mendapat e-mel. Muat turun fail terlampir yang merupakan versi read_pin.py yang diubah suai yang mengandungi fungsi baru untuk memuji skrip mel. Garis tambahan utama adalah yang berikut

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

          Garis ini akan melancarkan skrip surat kiriman selari dengan skrip penginderaan laser. Ini wajar kerana skrip kiriman e-mel mengambil masa beberapa saat untuk diselesaikan dan akan menyekat skrip penginderaan laser daripada berjalan sehingga e-mel dihantar. Ini bukan masalah untuk sistem kamera tunggal, tetapi jika anda mempunyai banyak kamera, anda ingin mengesan perjalanan laser pada kamera 1 walaupun kamera 2 telah mencetuskan peristiwa e-mel. Pemboleh ubah sm_pid akan mengandungi pid proses yang dilancarkan oleh perintah ini. Kami memeriksa id ini jika pemicu e-mel dipanggil lagi jika ada e-mel yang masih dihantar sehingga kami mengabaikan acara tersebut. Sekiranya tidak ada, kemungkinan ini adalah peristiwa baru dan e-mel akan dihantar.

          Uji semua berfungsi dengan berjalan

          cd / direktori di mana anda meletakkan fail /

          chmod 777 read_pin_with_mail.py

          sudo python3 read_pin_with_mail.py

          Apabila anda mematahkan pancaran laser, anda seharusnya mendapat e-mel dengan gambar yang diambil dari kamera web.

          Langkah 12: Buat Skrip Induk untuk Memulakan Sistem

          Pada ketika ini projek ini kebanyakannya selesai. Satu langkah terakhir adalah mempermudah permulaan sistem dengan satu skrip terakhir. Ia akan melancarkan semua subprogram dan menyediakan kamera web dengan satu skrip. Fail yang dilampirkan boleh dilancarkan semasa permulaan dengan mengedit fail /etc/rc.local anda. Anda perlu mengubah peluasan fail dan mungkin perlu mengedit skrip untuk memasukkan jalur yang tepat jika anda meletakkan skrip anda di lokasi yang berbeda.

          Langkah 13: Kesimpulannya

          Baiklah. Saya harap anda menikmati pengajaran ini! Beritahu saya dalam komen jika anda mempunyai pertanyaan atau memerlukan maklumat yang lebih terperinci di mana-mana bidang. Terus main-main!

          • Imej
            Imej

    Disyorkan: