Talaan ng mga Nilalaman:

Raspberry Pi Laser Security System: 13 Mga Hakbang (na may Mga Larawan)
Raspberry Pi Laser Security System: 13 Mga Hakbang (na may Mga Larawan)

Video: Raspberry Pi Laser Security System: 13 Mga Hakbang (na may Mga Larawan)

Video: Raspberry Pi Laser Security System: 13 Mga Hakbang (na may Mga Larawan)
Video: How to make Burglar Alarm Circuit? 2024, Hulyo
Anonim
Image
Image
Larawan
Larawan

Salamat sa pag-check sa aking itinuro. Sa pagtatapos ng pagtuturo na ito, magtatayo ka ng raspberry pi laser tripwire system na may pag-andar ng alerto sa email na ipinapakita sa video.

Upang makumpleto ang itinuturo na ito kailangan mong pamilyar sa pangkalahatang circuitry at paghihinang, alam kung paano gumamit ng isang breadboard, at maging komportable sa paggamit ng terminal sa pi. Ang pagkakaroon ng karanasan sa sawa ay makakatulong din.

Ang proyektong ito ay binubuo ng tatlong pangunahing mga sistema. Ang raspberry pi, ang circuit ng laser tripwire, at isang nagmamasid na computer. Ang aming layunin ay upang gamitin ang raspberry pi upang makita ang isang pagbabago ng boltahe sa laser tripwire circuit, at pagkatapos ay alerto ang isang nagmamasid na computer sa anyo ng isang email at stream ng video.

Magsimula na tayo.

Hakbang 1: I-Round Up ang Mga Kinakailangan na Component

Upang makumpleto ang proyektong ito kakailanganin mo ang mga sumusunod na item.

  1. Hindi bababa sa isang pagpapatakbo Raspberry Pi. Sa build na ito ginamit ko ang isang modelo ng B style Pi na tumatakbo raspbian wheezy. Sigurado ako na ang tutorial na ito ay gagana nang maayos kung nagpapatakbo ka ng raspbian jessie.
  2. Isang panlabas na mapagkukunan ng kuryente para sa raspberry pi. Kami ay gumuhit ng isang makabuluhang halaga ng amperage kapag ang lahat ng ito ay naka-hook up. Gumugol ako ng maraming oras sa pag-diagnose ng isang crappy power supply bilang aking mapagkukunan ng problema sa aking unang pagbuo. Tiyaking mayroon kang isang malakas na lakas na makakapagmula kahit 2 na amp.
  3. Isang cheapo laser pointer. Natagpuan ko ang akin sa tabi ng cash register sa isang gasolinahan. Kung nais mo ang eksaktong laser maaari mo itong makita dito. Sinasabi ng label na 630-680 nm para sa haba ng daluyong. Alinmang laser na makuha mo ang tutukoy sa ilan sa iba pang mga bahagi sa pagbuo. Kaya siguraduhing kinikilala ng tatak nito ang haba ng haba ng haba.
  4. Isang usb style webcam. Ang webcam na ito ay may madaling iakma na paa na magbibigay-daan sa iyo na iposisyon nang maayos ang camera. Nalaman ko na ang usb cable na kasama ng webcam ay masyadong maikli para sa aking aplikasyon kaya nakakita ako ng isang extension sa monoprice.

  5. Ang ilang mga uri ng breakout kit para sa raspberry pi upang maaari kang magkaroon ng madaling pag-access sa mga pin sa processor.

    Larawan
    Larawan
    Larawan
    Larawan
  6. Isang breadboard.
  7. Isang bakal na bakal.
  8. Ang mga jumper wires para sa breadboard.
  9. Mga Bahagi ng Circuit. I-multiply sa dami ng mga wires na biyahe na gusto mo.

    • Pinangunahan ng isang nagtatrabaho
    • Isang 100 ohm risistor
    • Isang 1k risistor
    • Isang 10k risistor
    • Isang 200k risistor Talagang gagawin ng anumang malaking risistor. Sinubukan ko ito sa isang resistor ng 1M at gumana ito ng maayos. Masyadong maliit ang FYI 10k.
    • Isang PNP transistor PN: 2N4403-APCT-ND
    • Isang photodiode (itugma ito sa iyong haba ng haba ng laser) PN: PDB-C142-ND

Ikakabit ko ang mga kicad file para sa circuit board ngunit hindi lalampas sa pagmamanupaktura ng board sa itinuturo na ito.

Sa buong kurso ng proyektong ito nakita ko na madaling gamitin ang mga sumusunod na opsyonal na tool:

  1. Pag-install ng synergy sa raspberry pi. Kung sakaling hindi ka pamilyar, papayagan ka ng software na ito na kontrolin ang mouse at keyboard ng raspberry pi sa ibang computer. Maganda ito kung katulad mo ako at mas komportable sa ibang computer. Gayundin ito ang software na dapat magkaroon ang lahat.
  2. Isang usb hub. Para sa bawat webcam na nais mong gamitin kakailanganin mo ang isang port.
  3. Voltage meter o oscilloscope kung mayroon ka nito.
  4. Paggamit ng MobaXterm upang makontrol ang raspberry pi at mamanipula ang mga file sa pamamagitan ng ssh. Ito ay dapat na mayroon para sa sinumang nakataas sa windows. Tingnan ang tutorial na ito upang makapag-set up upang magamit ito.

Hakbang 2: Kunin ang Pi Up at Tumatakbo

  • Larawan
    Larawan

    Ang pi na may kaunting mga sangkap na nakakabit

  • Bago kami makunan ng anumang mga laser, maraming mga layer ng software na kailangang maitayo. Upang magkaroon ng pinakamahusay na pagkakataong magtagumpay magandang pagsasanay na magsimula sa isang malinis na slate. Upang gawin ito idiskonekta ang anumang mga hindi kinakailangang item mula sa Pi. Bawasan nito ang mga pagkakataong magkaroon ng pagkagambala mula sa isang nakakonektang aparato.

    Susunod, tiyakin na ang iyong Raspberry Pi ay nakabukas at tumatakbo kasama ang pinakabagong software sa pamamagitan ng pagpasok ng mga sumusunod sa terminal

    sudo apt-get update

    Sa pamamagitan ng raspberry pi hanggang sa oras na para sa susunod na hakbang

    Hakbang 3: Lumikha ng Laser Detection Circuit

    Ilagay ang mga sangkap sa breadboard tulad ng ipinakita. I-power ang breadboard gamit ang 5v output ng pi o isang benchtop power supply. Sa figure 1 ang 5v supply ay konektado sa positibong breadboard rail sa ibabang kaliwa ng imahe, at ang lupa sa kaliwang itaas. Gumagamit ang circuit na ito ng photodiode bilang switch upang ma-trigger ang transistor. Binago ng transistor ang maliit na pagbabago ng boltahe sa photodiode sa isang medyo digital signal na mababasa ng pi. Para sa lahat ng kasunod na mga hakbang, ang punto sa pagitan ng 100ohm at signal led ay magiging kung saan namin sample ang circuit gamit ang pi.

    • Larawan
      Larawan

      Fig 1: tuktok ng layout ng breadboard ng circuit

    • Larawan
      Larawan

      Fig 2: Kahaliling view ng layout ng board ng tinapay

    Kung nais mo ang isang mas malinis na hitsura na ikinabit ko ang mga kicad file para sa board na ipinapakita sa ibaba.

    • Larawan
      Larawan

      Fig 3: Pangunahing view ng board ng sensor

    • Larawan
      Larawan

      Fig 4: Sensor board ISO

    • Hakbang 4: Baguhin ang Laser para sa Panlabas na Lakas

      Sa mga sumusunod na hakbang ay bubuo ka ng pagpupulong ng laser pointer.

      - I-disassemble ang laser pointer. Kapag ginagawa ito, tandaan ang oryentasyon ng mga terminal ng baterya na patungkol sa emitter ng laser. - Susunod, masira ang spring ng koneksyon ng baterya at pansamantalang pindutan ng itulak mula sa laser. - Maghinang ng isang piraso ng kawad sa pagitan ng mga terminal kung nasaan ang pindutan. Ngayon kapag ang kapangyarihan ay ibinibigay sa laser awtomatiko itong i-on.- Ngayon ang panghinang ang positibo at negatibong mga humahantong sa laser. Kung gumagamit ka ng parehong laser mula sa listahan ng mga bahagi maaari mong gamitin ang larawan sa ibaba upang makita ang mga solder point. Kung hindi ka, maaaring kailangan mong hanapin ang iyong mga point ng solder sa iyong sarili. Maaari mong gamitin ang orientation ng baterya bilang isang pahiwatig para sa positibo o negatibong tingga. Upang mahanap ang huling point ng solder maaari kang gumamit ng isang 5v power supply at mag-imbestiga sa circuit na may dalawang lead lead. Kapag nakalikha ka ng wastong circuit, nahanap mo ang solder point, at mag-iilaw ang laser.

      • Larawan
        Larawan

        Ang orange wire ay pinapalitan ang panandaliang pindutan ng itulak

      • Larawan
        Larawan

        Ipinapakita ang positibo at negatibong mga lead

      - Ang pangwakas na hakbang ay upang gumawa ng isang itinuro na mounting post para sa laser upang madali itong maiakma upang maabot ang laser container. Nalaman ko na ang karamihan sa mga lego bionicle kit ay isang mahusay na mapagkukunan para sa murang bola sa mga socket joint. Idikit ang isang piraso ng bola na magkasama sa laser pointer gamit ang sobrang pandikit. Ngayon ay maaari mong mai-mount ang socket joint sa anumang ibabaw at i-snap ang laser.

      • Larawan
        Larawan

        Pinagsamang bola

      • Larawan
        Larawan

        Magkasanib na socket

      • Larawan
        Larawan

        Pinagsama ang bola at socket

      • Hakbang 5: Palakasin ang Laser at Subukan ang Circuit ng Detection

        I-plug ang laser sa iyong breadboard. Ang positibo ay kailangang maiugnay sa 5v at salubungin ang negatibong kawad. Kung ang laser ay lumiliko nang mahusay, kung hindi, i-double check mayroon kang tamang boltahe na may isang multimeter. Kung hindi pa rin ito gumagana subukang palitan ang mga lead sakaling na-link mo ito paatras. Kung hindi pa ito gumana maaaring wala kang solder sa mga tamang pad, bumalik sa huling hakbang.

        • Larawan
          Larawan

          Nagtatrabaho ng laser na may isang malusog na sinag

        Sa sandaling mayroon ka ng laser beaming oras na upang subukan ang circuit ng pagtuklas. Hangarin ang laser sa photodiode. Dapat patayin ng LED ang pagbibigay ng senyas na aktibo ang sinag. Ipaalam mo sa pamamagitan ng sinag at ang LED ay dapat na i-on ang pagbibigay ng senyas ng isang paglalakbay.

        • Larawan
          Larawan

          Ang sinag ay hindi nasira at ang led ay naka-off

        • Larawan
          Larawan

          Ang nanghihimasok ay sinisira ang sinag na sanhi ng humantong sa pag-iilaw

        • Hakbang 6: Ikonekta ang Iyong Webcam at Subukan ang Pag-andar Nito

          Ikonekta ang iyong webcam sa usb port. Upang mai-stream ang video kailangan namin upang makuha ang utility m.jpg-streamer. Narito ang isang mahusay na tutorial tungkol sa kung paano ito gawin. Kapag mayroon kang naka-install na maayos na m.jpg-streamer. Simulang mag-streaming ng video sa pamamagitan ng pagpasok ng sumusunod na utos sa terminal.

          cd / kung saan mo na-install ang m.jpg-streamer / m.jpg-streamer

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

          Ang command na ito ay magse-set up ng isang stream sa port 8081 gamit ang video0 na mapagkukunan. Kung nais mo ng maraming mga webcams ipasok muli ang utos sa itaas ngunit baguhin ang video0 sa video1 at 8081 hanggang 8082. Nag-stream ako ng hanggang sa 3 mga webcam sa ganitong paraan at ang pi ay hindi overloaded.

          Subukan na gumagana ang koneksyon sa pamamagitan ng pagbubukas ng isang browser sa isa pang computer at ipasok ang ip-address-of-pi: 8081 o sa pi maaari mo lamang ipasok ang localhost: 8081. Kung hindi mo alam ang iyong ip ng pi ipasok ang sumusunod sa terminal

          ifconfig

          Kung gumagana ang lahat dapat mong makita ang mpg-streamer homepage. Mag-click sa tab na stream upang makita ang iyong stream ng webcam. Nasa ibaba ang isang screenshot ng interface.

          • Larawan
            Larawan

            output ng sample ng m.jpg-streamer

          Sa paggawa ng tutorial na ito sa pangalawang pagkakataon ay na-access ko ang m.jpg-streamer home page ngunit hindi nakakita ng isang stream. Upang ayusin ito nabasa ko ang post na ito (na-link na ngayon sira), partikular ang bahagi tungkol sa format ng pixel ng YUYV, kung nakatagpo ka ng isang blangko na stream dapat mo ring konsultahin ito.

          Hakbang 7: Pagpasok

          Okay, kaya sa puntong ito dapat tayong tumakbo at magpatakbo ng ating raspberry. Ang aming laser ay nabago para sa panlabas na lakas. Ang aming circuit ng detection ay naitayo at nakumpirma mo na kapag ang laser beam ay tumama sa photodiode ay pinapatay ang led led at kapag binali mo ang sinag dapat humantong ang led. Panghuli dapat mong konektado ang iyong webcam at may function na streaming.

          Ngayon ay oras na upang pagsamahin ang lahat ng ito. Magsimula tayo nang simple sa pamamagitan ng pagsubok na tuklasin ang laser beam na nadapa sa software.

          I-hook up ang circuit ng detection sa breadboard tulad ng ipinakita. Tiyaking ikinonekta mo ang sensor signal wire sa pin 25 bilang paghahanda sa susunod na hakbang. Ang pull down risistor ay hindi opsyonal. Mayroon akong 10k na pagtula sa paligid, ngunit dapat gawin ng anumang risistor.

          • Larawan
            Larawan

            Ang layout ng Breadboard kasama ang PiCobler

          • Hakbang 8: Subaybayan ang Laser Sa Software

            Sumulat tayo ng isang maikling programa upang makinig sa signal ng laser at i-post ang output na iyon sa terminal. Maaari mong i-download ang code bilang isang kalakip.

            Marahil ay kakailanganin mong i-install ang mga dependency para sa script na ito. Python at ang gpio module. Upang mai-install ang mga ito ipasok

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

            Kapag mayroon kang matagumpay na pag-install ng sawa, i-download ang nakalakip na script ng sawa na tinatawag na read_pin.py at patakbuhin

            cd / direktoryo kung saan inilagay mo ang file / chmod 777 read_pin.py

            Ang utos ng chmod ay magbibigay ng pahintulot sa script na tumakbo. Pagkatapos subukin na ang lahat ay mabuti at maselan sa ulo sa pamamagitan ng pagtakbo

            sudo python3 read_pin.py

            Kung maayos ang lahat dapat mong makita ang isang output ng console tulad ng ipinakita sa ibaba. Upang lumabas sa python script ipasok

            Ctrl-C

          • Larawan
            Larawan

            Tamang Output ng Console (ipinapakita gamit ang MobaXterm)

          Wave ang iyong kamay sa harap ng laser beam at dapat mong makita ang ilang output sa sa console na binabalaan ka na ang sinag ay nasira. Huwag mag-atubiling maglaro sa script upang maisagawa ang iyong system sa iba't ibang paraan.

          Hakbang 9: Lumikha ng isang Webpage upang Maipakita ang Iyong Stream

          Ngayon kailangan naming mag-set up ng isang interface ng pagtingin sa webcam. Para sa hakbang na ito kakailanganin mong mag-install ng apache web server. Mayroong maraming mga tutorial doon sa pag-set up ng isa. Ngunit narito ang maikling listahan na may kaunting pagsasaayos.

          sudo apt-get install apache2

          sa sandaling na-install dapat ma-type ang iyong browser sa raspberry pi

          localhost

          Dapat mong makita ang maligayang pahina mula sa apache. Kung ito ang iyong unang pagkakataon sa pag-set up ng isang web server malamang na gugustuhin mong i-configure ang iyong pi upang magkaroon ng isang static ip address upang ang iyong router ay laging magtalaga ng tamang ip kung gumawa ka ng isang power cycle. Kung nais mong tingnan ang iyong system ng seguridad mula sa ibang lokasyon kailangan mong i-setup ang pagpapasa ng port sa iyong router. Medyo matagal na ngunit iniisip ko rin na kakailanganin mong ipasa ang anumang mga port na mayroon ding webcam sa kanila. Mayroong maraming mga tutorial doon na sumasakop sa mga pamamaraang ito. Magkaroon ng kamalayan na ang sinuman ay maaaring makita ang iyong webcam kung pinili mo upang i-setup ang pagpapasa ng port sa iyong router.

          Ang mga nakalakip na file ay mga halimbawang web page na maaari mong gamitin upang mai-set up ang iyong website. Kakailanganin mong baguhin ang extension ng file sa html file dahil hindi nila ako papayagang i-upload ito. Susunod na ilagay ang mga file sa iyong www folder na tinawag sa iyong apache config file. Ang default na lokasyon ay

          cd / var / www

          Kung nais mong baguhin ang lokasyon kung saan hahanapin ng web server ang iyong mga html file maaari mong i-edit ang file na pinagana ng iyong mga site sa pamamagitan ng pagpasok

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

          Baguhin ang anumang halimbawa ng / var / www / sa lokasyon na nais mo. Inilagay ko ang sa akin sa / bahay / pi / Desktop / www /

          Kapag mayroon ka ng mga html file sa web folder ipasok ang localhost sa browser o ip address ng pi mula sa ibang computer. Dapat mong makita ang isang bagay tulad nito.

          • Larawan
            Larawan

            Screenshot ng mga naka-attach na file sa pagpapatakbo

          SWEEEEET!

          Hakbang 10: I-set Up ang Mga Alerto sa Email

          Magagandang bagay ang nangyayari! Hinahayaan nating pindutin ang swerte natin sa pamamagitan ng pagtatangkang magpadala ng isang alerto sa email mula sa pi sa isang paunang natukoy na email address. Ang nakakabit na python script ay magtatayo ng iyong email na nais mong ipadala, kumonekta sa isang email provider tulad ng gmail, at ipadala ang email gamit ang email provider. Nakamit ito gamit ang smtp package ng python. Iminumungkahi ko na gumawa ka ng isang dummy email address para lamang sa iyo ng security system dahil babawasan namin ang seguridad sa iyong gmail account upang gumana ang smtp package.

          Kailangan mong baguhin ang script sa maraming mga lugar upang makakuha ng isang matagumpay na paghahatid. Ito ay mabibigat na puna at makakapagdulot ng maraming mga output sa terminal para sa iyong kaginhawaan.

          Ang mga bagay na kakailanganin mong baguhin ay magiging

          • your_ip = "192.168.0.177"
          • your_ip_optional_port = ": 8080"
          • port_to_camera = ": 8081"
          • nagpapadala_email_username = "iyong email username"
          • nagpapadala_email_password = "iyong password"

          ang iyong_ip_optional_port ay malamang na walang laman maliban kung ang iyong apache server ay tumatakbo sa isang port maliban sa default na 80. Mayroon na akong isang server na tumatakbo sa 80 kaya't itinakda ko ang aking pi upang tumakbo sa 8080. Ang port_to_camera ay ang port na tinukoy mo ang iyong camera tumakbo sa paggamit ng mjpeg streamer.

          Sa sandaling nabago mo ang mga variable na ito sa simula ng script patakbuhin ang programa sa pamamagitan ng pagpasok ng mga sumusunod sa terminal.

          cd / folder kung saan mo inilagay ang script /

          sudo python3 send_mail.py

          Kung ang mga bituin ay nakahanay nang maayos at ang lahat ng mga variable ay tama dapat kang makakuha ng isang email na katulad ng sa ibaba.

          • Larawan
            Larawan

            Screenshot ng mga naka-attach na file sa pagpapatakbo

          Maraming mga lugar kung saan maaaring mabigo ang script na ito. Huwag mabigo kung hindi ito gumana sa unang pagkakataon. Gamitin ang mga puntos ng pag-debug sa script upang paliitin ang mga lugar ng problema at pagkatapos ay mag-focus sa isang problema nang paisa-isa.

          Hakbang 11: Pag-trigger ng Email Script Kapag Natalo ang Laser

          Ngayon na ang pi ay makapagpadala ng mga email, i-automate natin ito upang sa tuwing napagtripan ang laser nakakakuha kami ng isang email. I-download ang nakalakip na file na isang nabagong bersyon ng read_pin.py kung aling mga contians ng isang bagong pag-andar upang lauch ang mail script. Ang pangunahing karagdagang linya ay ang sumusunod

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

          Ilulunsad ng linyang ito ang send mail script nang kahanay sa laser sensing script. Ito ay kanais-nais dahil ang send mail script ay tumatagal ng ilang segundo upang makumpleto at hadlangan ang laser sensing script mula sa pagtakbo hanggang sa maipadala ang email. Hindi ito isang problema para sa isang solong system ng camera, ngunit kung mayroon kang maraming mga camera gusto mong makita ang isang laser trip sa camera 1 kahit na ang camera 2 ay nag-trigger ng isang kaganapan sa email. Ang variable na sm_pid ay maglalaman ng pid ng proseso na inilunsad ng utos na ito. Sinusuri namin ang id na ito kung ang email trigger ay tinawag muli kung mayroon ito nagpapadala pa rin ang email kaya hindi namin pinapansin ang kaganapan. Kung wala ito malamang na ito ay isang bagong kaganapan at isang email ang naipadala.

          Ang pagsubok sa lahat ay gumagana sa pamamagitan ng pagtakbo

          cd / direktoryo kung saan mo inilagay ang file /

          chmod 777 read_pin_with_mail.py

          sudo python3 read_pin_with_mail.py

          Kapag sinira mo ang laser beam dapat kang makakuha ng isang email na nakuha ang snapshot mula sa webcam.

          Hakbang 12: Lumikha ng isang Master Script upang simulan ang System

          Sa puntong ito ang proyekto ay halos tapos na. Ang isang huling hakbang ay upang gawing simple ang pagsisimula ng system sa isang huling script. Ilulunsad nito ang lahat ng mga subprogram at i-set up ang webcam na may isang script. Ang nakalakip na file ay maaaring mailunsad sa pagsisimula sa pamamagitan ng pag-edit ng iyong /etc/rc.local file. Kailangan mong baguhin ang extension ng file at maaaring kailanganing i-edit ang script upang maisama ang mga tamang landas kung inilagay mo ang iyong mga script sa ibang lokasyon.

          Hakbang 13: Konklusyon

          Kaya yun Inaasahan kong nasiyahan ka sa pagtuturo na ito! Ipaalam sa akin sa mga komento kung mayroon kang anumang mga katanungan o kailangan ng mas detalyadong impormasyon sa anumang mga lugar. Panatilihin ang tinkering!

          • Larawan
            Larawan

    Inirerekumendang: