Sisällysluettelo:

Raspberry Pi -laser -turvajärjestelmä: 13 vaihetta (kuvilla)
Raspberry Pi -laser -turvajärjestelmä: 13 vaihetta (kuvilla)

Video: Raspberry Pi -laser -turvajärjestelmä: 13 vaihetta (kuvilla)

Video: Raspberry Pi -laser -turvajärjestelmä: 13 vaihetta (kuvilla)
Video: Set the Raspberry Pi to boot from the USB ports by default 2024, Marraskuu
Anonim
Image
Image
Kuva
Kuva

Kiitos, että tarkistit ohjeeni. Tämän ohjeen loppuun mennessä rakennat vadelman pi laser -tripwire -järjestelmän, jossa on sähköpostihälytystoiminto, joka näkyy videossa.

Tämän ohjeen suorittamiseksi sinun on tunnettava yleiset piirit ja juottaminen, osattava leipälevyä ja oltava mukava käyttää pi: n päätelaitetta. Kokemus pythonista auttaa myös.

Tämä projekti koostuu kolmesta pääjärjestelmästä. Vadelma pi, laserlaukaisupiiri ja tarkkailutietokone. Tavoitteenamme on käyttää vadelma pi: tä havaitsemaan jännitteen muutos laserlaukaisupiirissä ja varoittaa sitten tarkkailevaa tietokonetta sähköpostin ja videovirran muodossa.

Aloitetaanpa.

Vaihe 1: Pyydä tarvittavat komponentit ylös

Tämän projektin loppuun saattamiseksi tarvitset seuraavat asiat.

  1. Ainakin yksi toimiva Raspberry Pi. Tässä rakennuksessa käytin B -mallin Pi -tyyppistä raspbian -hengityksen vinkumista. Olen varma, että tämä opetusohjelma toimii hienosti, jos käytät raspbian jessieä.
  2. Ulkoinen virtalähde vadelmapi: lle. Otamme huomattavan määrän ampeeria, kun kaikki tämä on kytketty. Vietin paljon aikaa diagnosoidakseni surkean virtalähteen ongelmani lähteeksi ensimmäisen rakennuksen aikana. Varmista, että sinulla on voimakas teho, joka pystyy tuottamaan vähintään 2 ampeeria.
  3. Halpa laserosoitin. Löysin omani huoltoaseman kassakoneen vierestä. Jos haluat tarkan laserin, löydät sen täältä. Etiketissä lukee 630-680 nm aallonpituudella. Kumpi tahansa laser saat, se määrittää joitain muita rakenteen komponentteja. Varmista siis, että sen etiketti tunnistaa sen aallonpituuden.
  4. USB -tyylinen verkkokamera. Tässä verkkokamerassa on säädettävä jalka, jonka avulla voit sijoittaa kameran kauniisti. Huomasin, että verkkokameran mukana tullut USB -kaapeli oli liian lyhyt sovellukselleni, joten löysin laajennuksen monoprice -hinnasta.
  5. Jonkinlainen purkaussarja vadelmapi: lle, jotta voit päästä helposti käsiksi suorittimen nastoihin.

    Kuva
    Kuva
    Kuva
    Kuva
  6. Leipälauta.
  7. Juotosrauta.
  8. Hyppyjohdot leipälevylle.
  9. Piirikomponentit. Kerro haluamallasi laukaisujohdolla.

    • Yksi toimiva led
    • Yksi 100 ohmin vastus
    • Yksi 1k vastus
    • Yksi 10k vastus
    • Yksi 200k vastus Todella kaikki suuret vastukset tekevät. Testasin sitä 1M vastuksella ja se toimi hyvin. FYI 10k oli liian pieni.
    • Yksi PNP-transistori PN: 2N4403-APCT-ND
    • Yksi fotodiodi (vastaa tätä laser-aallonpituudellesi) PN: PDB-C142-ND

Liitän piirilevyn kicad -tiedostot, mutta en mene läpi tämän ohjeen piirilevyn valmistuksen.

Tämän projektin aikana seuraavat valinnaiset työkalut olivat käteviä:

  1. Synergian asentaminen vadelmapi: lle. Jos et ole tuttu, tämän ohjelmiston avulla voit hallita vadelmapi: n hiirtä ja näppäimistöä toisella tietokoneella. Tämä on mukavaa, jos olet kuin minä ja viihdyt paremmin eri tietokoneella. Tämä on myös ohjelmisto, joka kaikilla pitäisi olla.
  2. USB -keskus. Jokaista verkkokameraa, jota haluat käyttää, tarvitset yhden portin.
  3. Jännitemittari tai oskilloskooppi, jos sinulla on se.
  4. MobaXtermin käyttäminen vadelman pi hallintaan ja tiedostojen käsittelyyn ssh: n kautta. Se on pakollinen jokaiselle, joka on nostettu ikkunoihin. Katso tämä opetusohjelma saadaksesi sen käyttöön.

Vaihe 2: Ota Pi ylös ja käynnissä

  • Kuva
    Kuva

    Pi, jossa on minimaalisesti komponentteja

  • Ennen kuin voimme ampua lasereita, on rakennettava useita ohjelmistokerroksia. Parhaat mahdollisuudet menestyä on hyvä aloittaa puhtaalta pöydältä. Irrota kaikki tarpeettomat kohteet Pi: stä. Tämä vähentää häiriöiden mahdollisuutta liitetystä laitteesta.

    Varmista seuraavaksi, että Raspberry Pi on käynnissä uusimmalla ohjelmistolla kirjoittamalla seuraava päätelaitteeseen

    sudo apt-get päivitys

    Kun vadelma pi on ajan tasalla, on seuraavan askeleen aika

    Vaihe 3: Luo laserin tunnistuspiiri

    Aseta osat leipälevylle kuvan osoittamalla tavalla. Kytke leipälauta virtalähteeksi pi: n 5 V: n ulostulolla tai pöytätason virtalähteellä. Kuvassa 1 5v -syöttö on kytketty positiiviseen leipälevyn kiskoon kuvan vasemmassa alakulmassa ja maahan vasempaan yläkulmaan. Tämä piiri käyttää fotodiodia kytkimenä transistorin laukaisemiseen. Transistori muuntaa fotodiodin pienen jännitteen muutoksen hieman digitaaliseksi signaaliksi, jonka pi voi lukea. Kaikissa seuraavissa vaiheissa piste 100ohmin ja signaalin ledin välillä on se, jossa otamme piirin pi: llä.

    • Kuva
      Kuva

      Kuva 1: Piirilevyn asettelun yläosa

    • Kuva
      Kuva

      Kuva 2: Vaihtoehtoinen piirilevyn asettelu

    Jos haluat puhtaamman ilmeen, liitin kicad -tiedostot alla olevalle levylle.

    • Kuva
      Kuva

      Kuva 3: Anturikortin ylhäältä katsottuna

    • Kuva
      Kuva

      Kuva 4: Anturikortti ISO

    • Vaihe 4: Muokkaa ulkoisen virtalähteen laseria

      Seuraavissa vaiheissa rakennat laserosoittimen.

      - Pura laserosoitin. Huomioi tällöin akun napojen suunta lasersäteilijään nähden.- Irrota seuraavaksi akkuliitäntäjousi ja hetkellinen painike laserista.- Juotos lankapala napojen välille, joissa painike oli. Nyt kun laserille syötetään virtaa, se kytkeytyy automaattisesti päälle.- Juotetaan nyt positiiviset ja negatiiviset johdot laseriin. Jos käytät samaa laseria osaluettelosta, voit nähdä juotoskohdat alla olevan kuvan avulla. Jos et ole, sinun on ehkä löydettävä juotoskohdat itse. Voit käyttää akun suuntausta vihjeenä positiiviselle tai negatiiviselle johdolle. Voit löytää viimeisen juotospisteen käyttämällä 5 voltin virtalähdettä ja mittaamaan piirin kahdella mittausjohdolla. Kun olet luonut oikean piirin, olet löytänyt juotoskohdan ja laser syttyy.

      • Kuva
        Kuva

        Oranssi lanka korvaa hetkellisen painikkeen

      • Kuva
        Kuva

        Näytetään positiiviset ja negatiiviset johdot

      - Viimeinen vaihe on tehdä laserille suunnattu asennuspylväs, jotta sitä voidaan helposti säätää kohdistamaan lasersäiliöön. Olen huomannut, että useimmat lego bionicle -sarjat ovat erinomainen lähde halvalle pallolle hylsyliitoksissa. Liimaa yksi kuulanivelen osa laserosoitimeen superliimalla. Nyt voit asentaa hylsyn liitoksen mille tahansa pinnalle ja napsauttaa laserin sisään.

      • Kuva
        Kuva

        Pallonivel

      • Kuva
        Kuva

        Pistokeliitos

      • Kuva
        Kuva

        Pallo ja hylsy koottu

      • Vaihe 5: Käynnistä laser ja testaa tunnistuspiiri

        Liitä laser leipälevyyn. Positiivinen on kytkettävä 5 volttiin ja maadoitettava negatiivinen johto. Jos laser käynnistyy hyvin, jos ei, tarkista, että jännite on oikea yleismittarilla. Jos se ei vieläkään toimi, vaihda johdot, jos kytket sen taaksepäin. Jos se ei edelleenkään toimi, et ehkä ole juottanut oikeille tyynyille, palaa viimeiseen vaiheeseen.

        • Kuva
          Kuva

          Toimiva laser terveellä säteellä

        Kun olet saanut lasersäteen, on aika testata tunnistuspiiri. Suuntaa laser valodiodiin. LED -valon pitäisi sammua, kun merkkivalo on aktiivinen. Heiluttele kättäsi säteen läpi ja LED -valon pitäisi syttyä ja ilmoittaa laukaisusta.

        • Kuva
          Kuva

          Valo ei ole rikki ja led on pois päältä

        • Kuva
          Kuva

          Tunkeutuja murtaa säteen aiheuttaen ledin syttymisen

        • Vaihe 6: Liitä verkkokamera ja testaa sen toiminta

          Liitä verkkokamera USB -porttiin. Jotta voimme suoratoistaa videota, meidän on hankittava apuohjelma mjpg-streamer. Tässä on hyvä opetusohjelma siitä, miten se tehdään. Kun olet asentanut mjpg-streamer oikein. Aloita videon suoratoisto kirjoittamalla seuraava komento päätelaitteeseen.

          cd /johon olet asentanut mjpg-streamer /mjpg-streamer

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

          Tämä komento asettaa virran porttiin 8081 käyttäen video0 -lähdettä. Jos haluat useita verkkokameroita, kirjoita yllä oleva komento uudelleen, mutta vaihda video0 video 1: ksi ja 8081 arvoon 8082. Olen suoratoistanut jopa 3 verkkokameraa tällä tavalla, eikä pi ollut ylikuormitettu.

          Testaa, että yhteys toimii avaamalla selaimen toisella tietokoneella ja kirjoittamalla ip-address-of-pi: 8081 tai kirjoittamalla pi-kohtaan vain localhost: 8081. Jos et tiedä pi: n ip: tä, kirjoita seuraava päätelaitteeseen

          ifconfig

          Jos kaikki toimii, sinun pitäisi nähdä mpg-streamerin kotisivu. Napsauta stream -välilehteä nähdäksesi verkkokamerasi. Alla on kuvakaappaus käyttöliittymästä.

          • Kuva
            Kuva

            mjpg-streamer-näytteen ulostulo

          Kun tein tämän opetusohjelman toisen kerran, pääsin käyttämään mjpg-streamerin kotisivua, mutta en nähnyt streamia. Korjatakseni tämän luin tämän viestin (linkki nyt rikki), erityisesti YUYV -pikselimuotoa käsittelevän osan. Jos kohtaat tyhjän virran, sinun on myös tutustuttava siihen.

          Vaihe 7: Väliaika

          Okei, joten tässä vaiheessa meidän pitäisi saada vadelmapiimamme käyttöön. Laserimme on muokattu ulkoista virtalähdettä varten. Tunnistuspiirimme on rakennettu ja olet vahvistanut, että kun lasersäde osuu fotodiodiin, led sammuu ja kun säde katkaistaan, ledin pitäisi syttyä. Lopuksi sinun pitäisi olla verkkokamera kytketty ja toiminnallisesti suoratoistaa.

          Nyt on aika koota kaikki yhteen. Aloitetaan yksinkertaisesti yrittämällä havaita lasersäteen laukaisu ohjelmistolla.

          Liitä tunnistuspiiri leipälevyyn kuvan mukaisesti. Varmista, että liität anturin signaalijohdon nastaan 25 valmistautuessasi seuraavaan vaiheeseen. Vedettävä vastus ei ole valinnainen. Minulla oli 10k makaa noin, mutta kaikki vastus pitäisi tehdä.

          • Kuva
            Kuva

            Leipälevyn asettelu PiCoblerin avulla

          • Vaihe 8: Valvo laseria ohjelmistolla

            Kirjoitetaan lyhyt ohjelma kuunnella lasersignaalia ja lähettää se terminaaliin. Voit ladata koodin liitteenä.

            Sinun on todennäköisesti asennettava tämän komentosarjan riippuvuudet. Python ja gpio -moduuli. Asenna nämä kirjoittamalla

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

            Kun olet asentanut pythonin onnistuneesti, lataa liitteenä oleva python -komentosarja nimeltä read_pin.py ja suorita

            cd /hakemisto, johon laitat tiedoston /chmod 777 read_pin.py

            Chmod -komento antaa komentosarjalle luvan toimia. Testaa sitten, että kaikki on kunnossa ja jännä juoksemalla

            sudo python3 read_pin.py

            Jos kaikki menee hyvin, sinun pitäisi nähdä konsolin lähtö kuten alla. Poistu python -komentosarjasta kirjoittamalla

            Ctrl-C

          • Kuva
            Kuva

            Oikea konsolilähtö (näkyy MobaXtermillä)

          Heiluta kättäsi lasersäteen edessä ja konsolissa pitäisi näkyä jokin ulostulo, joka varoittaa säteen rikkoutumisesta. Voit vapaasti leikkiä käsikirjoituksella saadaksesi järjestelmän toimimaan eri tavoin.

          Vaihe 9: Luo verkkosivu, joka näyttää streamisi

          Nyt meidän on luotava verkkokameran katselurajapinta. Tässä vaiheessa sinun on asennettava apache -verkkopalvelin. Siellä on paljon opetusohjelmia yhden perustamisesta. Mutta tässä on lyhyt luettelo minimaalisella kokoonpanolla.

          sudo apt-get install apache2

          asennuksen jälkeen sinun pitäisi pystyä kirjoittamaan selaimeesi vadelma pi

          paikallinen isäntä

          Sinun pitäisi nähdä apachen tervetulosivu. Jos tämä on ensimmäinen kerta, kun asennat verkkopalvelinta, haluat todennäköisesti määrittää pi: si staattisen ip -osoitteen, jotta reitittimesi määrittää aina oikean IP -osoitteen, jos teet käynnistyksen. Jos haluat tarkastella turvajärjestelmääsi toisesta paikasta, sinun on määritettävä portinsiirto reitittimellesi. Siitä on jo jonkin aikaa, mutta uskon myös, että sinun on välitettävä myös kaikki portit, joissa on verkkokamera. Siellä on paljon opetusohjelmia, jotka kattavat nämä menettelyt. Huomaa, että kuka tahansa voi nähdä verkkokamerasi, jos päätät määrittää portin uudelleenohjauksen reitittimellesi.

          Liitetiedostot ovat esimerkkisivuja, joiden avulla voit määrittää verkkosivustosi. Sinun on muutettava html -tiedoston tiedostopääte, koska he eivät sallineet minun ladata sitä. Aseta seuraavaksi tiedostot www -kansioosi, jotka on kutsuttu apache -määritystiedostoosi. Oletussijainti on

          cd /var /www

          Jos haluat muuttaa sijaintia, josta verkkopalvelin etsii html -tiedostojasi, voit muokata sivustosi käytössä olevaa tiedostoa kirjoittamalla

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

          Muuta/var/www/-esiintymä haluamaasi paikkaan. Laitoin omani/home/pi/Desktop/www/

          Kun olet saanut html -tiedostot verkkokansioon, kirjoita localhost selaimeen tai pi -tietokoneen IP -osoite toiselta tietokoneelta. Sinun pitäisi nähdä jotain tällaista.

          • Kuva
            Kuva

            Kuvakaappaus liitteenä olevista tiedostoista toiminnassa

          SWEEEEET!

          Vaihe 10: Määritä sähköposti -ilmoitukset

          Hyviä asioita tapahtuu! Painetaan onneamme yrittämällä lähettää sähköpostihälytys pi: ltä ennalta määritettyyn sähköpostiosoitteeseen. Liitteenä oleva python -skripti rakentaa sähköpostisi, jonka haluat lähettää, muodostaa yhteyden sähköpostipalveluntarjoajaan, kuten gmail, ja lähettää sähköpostin sähköpostipalvelun avulla. Tämä saavutetaan käyttämällä pythonin smtp -pakettia. Ehdotan, että teet tyhjän sähköpostiosoitteen juuri sinua varten, koska meidän on vähennettävä Gmail -tilisi suojausta, jotta smtp -paketti toimisi.

          Sinun on muokattava komentosarjaa useissa paikoissa, jotta lähetys onnistuu. Se on voimakkaasti kommentoitu ja tuottaa paljon ulostuloja terminaalissa avuksesi.

          Asioita, joita sinun on muutettava, tulee olemaan

          • sinun_ip = "192.168.0.177"
          • your_ip_optional_port = ": 8080"
          • port_to_camera = ": 8081"
          • send_email_username = "sähköpostiosoitteesi"
          • send_email_password = "salasanasi"

          sinun_ip_optional_port on todennäköisesti tyhjä, ellei apache -palvelimesi toimi muussa portissa kuin oletus 80. Minulla oli jo palvelin 80: llä, joten asetin pi: n toimimaan 8080. Port_to_camera on portti, johon määrität kamerasi käytä mjpeg -suoratoistoa.

          Kun olet muuttanut nämä muuttujat komentosarjan alussa, suorita ohjelma kirjoittamalla seuraava päätelaitteeseen.

          cd /kansio, johon kirjoitat komentosarjan /

          sudo python3 send_mail.py

          Jos tähdet on kohdistettu oikein ja kaikki muuttujat ovat oikein, saat samanlaisen sähköpostin kuin alla.

          • Kuva
            Kuva

            Kuvakaappaus liitteenä olevista tiedostoista toiminnassa

          On monia paikkoja, joissa tämä skripti voi epäonnistua. Älä turhaudu, jos se ei toimi ensimmäisellä kerralla. Käytä skriptin virheenkorjauspisteitä kaventamaan ongelma -alueita ja keskittymään sitten yhteen ongelmaan kerrallaan.

          Vaihe 11: Käynnistä sähköpostikomentosarja, kun laser laukeaa

          Nyt kun pi pystyy lähettämään sähköposteja, automatisoidaan se niin, että saamme sähköpostin joka kerta, kun laser laukeaa. Lataa liitteenä oleva tiedosto, joka on read_pin.py -tiedoston muokattu versio, joka sisältää uuden toiminnon sähköpostin komentosarjan käyttämiseksi. Tärkein lisärivi on seuraava

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

          Tämä rivi käynnistää sähköpostin lähetysskriptin rinnakkain lasertunnistusskriptin kanssa. Tämä on toivottavaa, koska sähköpostiviestin lähettäminen kestää muutaman sekunnin, ja se estäisi lasersensoriskriptin suorittamisen ennen sähköpostin lähettämistä. Tämä ei ole ongelma yksittäiselle kamerajärjestelmälle, mutta jos sinulla olisi useita kameroita, haluat havaita laserlaukaisun kamerassa 1, vaikka kamera 2 on käynnistänyt sähköpostitapahtuman. Muuttuja sm_pid sisältää tämän komennon käynnistämän prosessin pid. Tarkistamme tämän tunnuksen, jos sähköpostiliipaisinta kutsutaan uudelleen, jos se on olemassa, sähköposti lähettää edelleen, joten ohitamme tapahtuman. Jos sitä ei ole, tämä on todennäköisesti uusi tapahtuma ja sähköposti lähetetään.

          Testaa, että kaikki toimii juoksemalla

          cd /hakemisto johon laitat tiedoston /

          chmod 777 read_pin_with_mail.py

          sudo python3 read_pin_with_mail.py

          Kun murtat lasersäteen, saat sähköpostin, jossa on verkkokamerasta otettu kuva.

          Vaihe 12: Luo pääskripti järjestelmän käynnistämiseksi

          Tässä vaiheessa projekti on pääosin valmis. Viimeinen askel on yksinkertaistaa järjestelmän käynnistämistä viimeisellä komentosarjalla. Se käynnistää kaikki aliohjelmat ja määrittää verkkokameran yhdellä komentosarjalla. Liitetiedosto voidaan käynnistää käynnistyksen aikana muokkaamalla /etc/rc.local -tiedostoa. Sinun on muutettava tiedostopääte ja ehkä muokattava komentosarjaa sisältämään oikeat polut, jos sijoitat skriptit eri paikkaan.

          Vaihe 13: Johtopäätös

          No siinäpä se. Toivottavasti pidit tästä opettavaisesta! Kerro minulle kommenteissa, jos sinulla on kysyttävää tai tarvitset yksityiskohtaisempia tietoja joillakin alueilla. Jatka tinkimistä!

          • Kuva
            Kuva

    Suositeltava: