INHOUDSOPGAWE:

Raspberry Pi Laser Security System: 13 stappe (met foto's)
Raspberry Pi Laser Security System: 13 stappe (met foto's)

Video: Raspberry Pi Laser Security System: 13 stappe (met foto's)

Video: Raspberry Pi Laser Security System: 13 stappe (met foto's)
Video: Замена отопления в новостройке. Подключение. Опрессовка. #17 2024, Julie
Anonim
Image
Image
Beeld
Beeld

Dankie dat u my instruksies nagegaan het. Aan die einde van hierdie instruksies sal u die framboos pi laser tripwire -stelsel bou met e -poswaarskuwingsfunksies wat in die video verskyn.

Om hierdie instruksies te voltooi, moet u vertroud wees met algemene stroombane en soldeer, weet hoe om 'n broodbord te gebruik en gemaklik te wees met die terminale op die pi. Ondervinding in python sal ook nuttig wees.

Hierdie projek bestaan uit drie hoofstelsels. Die framboos pi, die laser tripwire kring en 'n waarnemende rekenaar. Ons doel is om die framboos -pi te gebruik om 'n spanningsverandering op die laserdraadkring op te spoor en dan 'n waarnemende rekenaar in die vorm van 'n e -pos- en videostroom te waarsku.

Laat ons begin.

Stap 1: Maak die vereiste komponente saam

Om hierdie projek te voltooi, benodig u die volgende items.

  1. Ten minste een operasionele Raspberry Pi. In hierdie build gebruik ek 'n model B -styl Pi met raspbian wheezy. Ek is seker dat hierdie tutoriaal goed sal werk as u raspbian jessie gebruik.
  2. 'N Eksterne kragbron vir die framboospi. Ons trek 'n aansienlike hoeveelheid stroom sodra dit alles aangesluit is. Ek het baie tyd bestee aan die diagnose van 'n slegte kragtoevoer as my bron van probleme tydens my eerste bouwerk. Maak seker dat u 'n stewige krag het wat ten minste 2 ampère kan verskaf.
  3. 'N Goedkoop laserwyser. Ek kry myne langs die kasregister by 'n vulstasie. As u die presiese laser wil hê, kan u dit hier vind. Die etiket sê 630-680 nm vir die golflengte. Die laser wat u ook al kry, bepaal sommige van die ander komponente in die konstruksie. Maak dus seker dat die etiket sy golflengte identifiseer.
  4. 'N USB -kamera. Hierdie webkamera het 'n verstelbare voet waarmee u die kamera mooi kan posisioneer. Ek het gevind dat die usb -kabel wat by die webkamera was, te kort was vir my toepassing, so ek het 'n uitbreiding op monoprys gevind.
  5. 'N Breekstel vir die framboospi, sodat u maklik toegang tot die penne op die verwerker kan kry.

    Beeld
    Beeld
    Beeld
    Beeld
  6. 'N Broodplank.
  7. 'N Soldeerbout.
  8. Springdrade vir die broodbord.
  9. Kringkomponente. Vermenigvuldig met die hoeveelheid reisdrade wat u wil hê.

    • Een werkende gelei
    • Een weerstand van 100 ohm
    • Een 1k weerstand
    • Een 10k weerstand
    • Een 200k -weerstand sal werklik 'n groot weerstand doen. Ek het dit met 'n 1M -weerstand getoets en dit het goed gewerk. FYI 10k was te klein.
    • Een PNP-transistor PN: 2N4403-APCT-ND
    • Een fotodiode (pas by u lasergolflengte) PN: PDB-C142-ND

Ek sal die kicad -lêers vir die printplaat aanheg, maar ek gaan nie oor die vervaardiging van die bord in hierdie instruksies nie.

Gedurende die loop van hierdie projek was die volgende opsionele gereedskap handig:

  1. Die installering van sinergie op die framboos pi. As u dit nie ken nie, kan u met hierdie sagteware die muis en sleutelbord van die framboos pi met 'n ander rekenaar beheer. Dit is lekker as jy soos ek is en gemakliker is op 'n ander rekenaar. Dit is ook sagteware wat almal behoort te hê.
  2. 'N USB -hub. Vir elke webkamera wat u wil gebruik, benodig u een poort.
  3. Spanningsmeter of ossilloskoop as u dit het.
  4. Gebruik MobaXterm om die framboos -pi te beheer en lêers te manipuleer deur ssh. Dit is 'n moet vir almal wat op vensters staan. Sien hierdie tutoriaal om op te stel om dit te gebruik.

Stap 2: Maak die Pi aan die gang

  • Beeld
    Beeld

    Die pi met minimale komponente aangeheg

  • Voordat ons lasers kan skiet, is daar 'n paar lae sagteware wat ontwerp moet word. Om die beste kans op sukses te hê, is dit goeie oefening om met 'n skoon lei te begin. Koppel alle onnodige items van die Pi om dit te doen. Dit verminder die kanse dat dit deur 'n gekoppelde toestel kan steur.

    Maak dan seker dat u Raspberry Pi met die nuutste sagteware aan die gang is deur die volgende in die terminale in te voer

    sudo apt-get update

    Met die framboos -pi op datum, is dit tyd vir die volgende stap

    Stap 3: Skep die laseropsporingskring

    Plaas die komponente op die broodbord soos aangedui. Voed die broodbord met behulp van die 5V -uitset van die pi of 'n tafelkrag. In figuur 1 is die 5v -toevoer gekoppel aan die positiewe broodbordrail links onder in die prent en die grond links bo. Hierdie kring gebruik die fotodiode as 'n skakelaar om die transistor te aktiveer. Die transistor skakel die klein spanningsverandering in die fotodiode om in 'n ietwat digitale sein wat die pi kan lees. Vir alle daaropvolgende stappe is die punt tussen die 100ohm en die sein gelei waar ons die stroombaan met die pi monster.

    • Beeld
      Beeld

      Fig 1: Boord van die kringbordpaneel

    • Beeld
      Beeld

      Fig 2: Alternatiewe aansig van die baanborduitleg

    As u 'n skoner voorkoms wil hê, het ek die kicad -lêers aangeheg vir die bord wat hieronder getoon word.

    • Beeld
      Beeld

      Fig 3: Sensorbord bo -aansig

    • Beeld
      Beeld

      Fig 4: Sensorbord ISO

    • Stap 4: Pas die laser vir eksterne krag aan

      In die volgende stappe bou u die laserwysersamestelling.

      - Demonteer die laserwyser. Let hierby op die oriëntasie van die batteryklemme ten opsigte van die laser-emitter.- Ontsoldeer dan die batteryverbindingsveer en die kort drukknop van die laser.- Soldeer 'n stuk draad tussen die terminale waar die knoppie was. As die laser nou van krag voorsien word, sal dit outomaties aanskakel.- Soldeer nou die positiewe en negatiewe lei na die laser. As u dieselfde laser uit die onderdele -lys gebruik, kan u die onderstaande prent gebruik om die soldeerpunte te sien. As dit nie die geval is nie, moet u moontlik self die soldeerpunte vind. U kan die battery -oriëntasie gebruik as 'n aanduiding van die positiewe of negatiewe voorsprong. Om die laaste soldeerpunt te vind, kan u 'n 5V -kragtoevoer gebruik en die kring met twee meetkabels ondersoek. As u die regte stroombaan geskep het, het u die soldeerpunt gevind en die laser sal brand.

      • Beeld
        Beeld

        Die oranje draad vervang die kort drukknop

      • Beeld
        Beeld

        Toon die positiewe en negatiewe leidrade

      - Die laaste stap is om 'n rigtingbevestigingspaal vir die laser te maak, sodat dit maklik aangepas kan word om na die laserhouer te mik. Ek het gevind dat die meeste lego -bionicle -kits 'n uitstekende bron is vir goedkoop bal in voetstukke. Plak een stuk van die kogelgewrig aan die laserwyser met behulp van supergom. Nou kan u die kousverbinding op enige oppervlak monteer en die laser insteek.

      • Beeld
        Beeld

        Balgewrig

      • Beeld
        Beeld

        Sokverbinding

      • Beeld
        Beeld

        Bal en sok gemonteer

      • Stap 5: Skakel die laser aan en toets die opsporingskring

        Steek die laser in u broodbord. Die positiewe sal aan 5v gekoppel moet word en die negatiewe draad moet aard. As die laser goed aangeskakel word, indien nie, kyk dan of u die regte spanning met 'n multimeter het. As dit steeds nie werk nie, probeer om die leidings te ruil as u dit agteruit haak. As dit steeds nie werk nie, het u moontlik nie aan die regte pads gesoldeer nie, gaan dan terug na die laaste stap.

        • Beeld
          Beeld

          Werkende laser met 'n gesonde straal

        Sodra u die laserstraal het, is dit tyd om die opsporingskring te toets. Rig die laser op die fotodiode. Die LED moet afskakel om te wys dat die straal aktief is. Waai u hand deur die balk en die LED moet aanskakel om 'n reis te wys.

        • Beeld
          Beeld

          Balk is nie gebreek nie en die led is af

        • Beeld
          Beeld

          Inbreker breek die straal, wat die led laat brand

        • Stap 6: Koppel u webkamera en toets die funksionaliteit daarvan

          Koppel u webkamera aan die usb -poort. Om die video te stroom, moet ons die program mjpg-streamer kry. Hier is 'n wonderlike handleiding oor hoe u dit presies kan doen. Sodra u mjpg-streamer behoorlik geïnstalleer het. Begin met die stroom van video deur die volgende opdrag in die terminale in te voer.

          cd /waar u mjpg-streamer /mjpg-streamer geïnstalleer het

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

          Hierdie opdrag sal 'n stroom op poort 8081 opstel met behulp van die video0 -bron. As u meer webcams wil hê, voer dan weer die bogenoemde opdrag in, maar verander video0 na video1 en 8081 na 8082. Ek het tot 3 webcams op hierdie manier gestroom en die pi is nie oorlaai nie.

          Toets of die verbinding werk deur 'n blaaier op 'n ander rekenaar oop te maak en tik ip-address-of-pi: 8081 in, of op die pi kan u net localhost: 8081 invoer. As u nie u IP van die pi ken nie, voer die volgende in die terminale in

          ifconfig

          As alles werk, moet u die mpg-streamer-tuisblad sien. Klik op die stroom -oortjie om u webcam -stroom te sien. Hieronder is 'n skermkiekie van die koppelvlak.

          • Beeld
            Beeld

            mjpg-streamer monsteruitset

          Deur hierdie tutoriaal vir die tweede keer te doen, het ek toegang tot die mjpg-streamer-tuisblad gekry, maar ek het nie 'n stroom gesien nie. Om dit reg te stel, lees ek hierdie pos (skakel nou gebreek), spesifiek die gedeelte oor die YUYV -pixelformaat. As u 'n leë stroom teëkom, moet u dit ook raadpleeg.

          Stap 7: Onderbreking

          Goed, so op hierdie stadium moet ons ons framboospi aan die gang kry. Ons laser is aangepas vir eksterne krag. Ons opsporingskring is opgestel en u het bevestig dat wanneer die laserstraal die fotodiode tref, die LED afskakel en as u die balk breek, die LED moet aanskakel. Uiteindelik moet u webkamera verbind en funksioneel stroom.

          Nou is dit tyd om alles bymekaar te sit. Kom ons begin eenvoudig deur die laserstraal met sagteware te probeer opspoor.

          Sluit die opsporingskring aan op die broodbord soos aangedui. Maak seker dat u die sensorsignaaldraad aan pen 25 koppel, ter voorbereiding van die volgende stap. Die aftrekweerstand is nie opsioneel nie. Ek het 'n 10k gelê, maar enige weerstand moet dit doen.

          • Beeld
            Beeld

            Broodborduitleg met PiCobler

          • Stap 8: Monitor die laser met sagteware

            Kom ons skryf 'n kort program om na die lasersignaal te luister en die uitset na die terminale te plaas. U kan die kode as 'n aanhangsel aflaai.

            U sal waarskynlik die afhanklikheid van hierdie script moet installeer. Python en die gpio -module. Om hierdie te installeer, voer in

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

            Sodra u 'n suksesvolle installering van python geïnstalleer het, laai die aangehegte python -script genaamd read_pin.py af en voer dit uit

            cd /gids waar u die lêer /chmod 777 read_pin.py geplaas het

            Die chmod -opdrag gee die script toestemming om uit te voer. Toets dan dat alles in orde is en hardloop deur te hardloop

            sudo python3 read_pin.py

            As alles goed gaan, moet u 'n konsole -uitset sien soos hieronder getoon. Om die python -script te verlaat, voer in

            Ctrl-C

          • Beeld
            Beeld

            Korrekte konsole -uitset (getoon met MobaXterm)

          Waai u hand voor die laserstraal en u moet 'n bietjie uitset op die konsole sien wat u waarsku dat die balk gebreek is. Speel gerus met die script om u stelsel op verskillende maniere te laat presteer.

          Stap 9: Skep 'n webbladsy om u stroom te vertoon

          Nou moet ons 'n webkamera -kykvlak instel. Vir hierdie stap moet u die apache -webbediener installeer. Daar is baie tutoriale oor hoe om een op te stel. Maar hier is die kortlys met minimale opset.

          sudo apt-get installeer apache2

          sodra dit geïnstalleer is, moet u u blaaier op die framboos pi kan tik

          localhost

          U moet die verwelkomingsbladsy van apache sien. As dit die eerste keer is dat u 'n webbediener opstel, sal u waarskynlik u pi wil konfigureer om 'n statiese IP -adres te hê, sodat u router altyd die regte IP toewys as u 'n kragsiklus doen. As u u sekuriteitstelsel vanaf 'n ander plek wil sien, moet u die deurstuur van die poort op u router instel. Dit was 'n rukkie, maar ek dink ook dat u enige hawens met 'n webcam moet aanstuur. Daar is baie tutoriale wat hierdie prosedures dek. Hou in gedagte dat almal u webkamera kan sien as u besluit om die deurstuur van die poort op u router op te stel.

          Die aangehegte lêers is voorbeeldwebblaaie wat u kan gebruik om u webwerf op te stel. U sal die lêeruitbreiding van die html -lêer moet verander, aangesien hulle my nie sou toelaat om dit op te laai nie. Plaas die lêers in u www -gids wat in u apache -konfigurasielêer uitgeroep is. Die standaard ligging is

          cd /var /www

          As u die ligging wil verander waar die webbediener na u html -lêers soek, kan u die lêer wat deur u webwerf geaktiveer is, wysig deur in te voer

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

          Verander enige geval van/var/www/na die gewenste plek. Ek sit myne in/home/pi/Desktop/www/

          Sodra u die html -lêers in die webmap het, voer localhost in die blaaier of die ip -adres van die pi vanaf 'n ander rekenaar in. So iets moet jy sien.

          • Beeld
            Beeld

            Skermkiekie van die aangehegte lêers wat in werking is

          SWEEEEET!

          Stap 10: Stel e -poswaarskuwings op

          Goeie dinge gebeur! Kom ons druk ons geluk deur te probeer om 'n e -poswaarskuwing van die pi na 'n voorafbepaalde e -posadres te stuur. Die aangehegte python -skrip bou u e -pos wat u wil stuur, maak verbinding met 'n e -posverskaffer, soos gmail, en stuur die e -pos met die e -posverskaffer. Dit word bereik met behulp van die smtp -pakket python. Ek stel voor dat u 'n e -posadres net vir u sekuriteitstelsel maak, want ons moet die sekuriteit van u gmail -rekening verminder sodat die smtp -pakket werk.

          U moet die skrif op verskillende plekke verander om 'n suksesvolle uitsending te kry. Daar word sterk kommentaar gelewer en dit lewer baie uitsette op die terminale vir u gemak.

          Dinge wat u sal moet verander, sal wees

          • your_ip = "192.168.0.177"
          • your_ip_optional_port = ": 8080"
          • port_to_camera = ": 8081"
          • sending_email_username = "jou e -pos gebruikersnaam"
          • sending_email_password = "u wagwoord"

          your_ip_optional_port sal waarskynlik leeg wees, tensy u apache -bediener op 'n ander poort as die standaard 80 werk. Ek het reeds 'n bediener op 80 gehad, so ek het my pi ingestel om op 8080 te werk. Die port_to_camera is die poort waarop u u kamera spesifiseer gebruik mjpeg streamer.

          Nadat u hierdie veranderlikes aan die begin van die script verander het, voer die program uit deur die volgende in die terminaal in te voer.

          cd /gids waar u die script geplaas het /

          sudo python3 send_mail.py

          As die sterre behoorlik in lyn is en al die veranderlikes korrek is, moet u 'n e -pos ontvang wat soortgelyk is aan die onderstaande.

          • Beeld
            Beeld

            Skermkiekie van die aangehegte lêers wat in werking is

          Daar is baie plekke waar hierdie skrif kan misluk. Moenie gefrustreerd raak as dit nie die eerste keer werk nie. Gebruik die ontfoutingspunte in die skrif om die probleemareas te beperk en fokus dan op een probleem op 'n slag.

          Stap 11: aktiveer e -posskrif wanneer laser uitgeskakel word

          Noudat die pi e -posse kan stuur, laat ons dit outomatiseer sodat ons elke keer as die laser struikel 'n e -pos ontvang. Laai die aangehegte lêer af, 'n gewysigde weergawe van read_pin.py, wat 'n nuwe funksie bevat om die e -posskrip te laai. Die belangrikste bykomende reël is die volgende

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

          Hierdie reël sal die stuur -posskrif parallel met die lasersensorskrip begin. Dit is wenslik omdat die stuur van 'n e -posskrif 'n paar sekondes neem om te voltooi en die lasersensor -skrip sal verhinder om te werk totdat die e -pos gestuur is. Dit is nie 'n probleem vir 'n enkele kamerastelsel nie, maar as u meer kameras gehad het, sou u 'n laserrit op kamera 1 wou opspoor, selfs al het kamera 2 'n e -posgebeurtenis veroorsaak. Die veranderlike sm_pid bevat die pid van die proses wat deur hierdie opdrag begin word. Ons kyk of hierdie e -pos -sneller weer gebel word, as die e -pos nog steeds gestuur word, sodat ons die gebeurtenis ignoreer. As dit nie bestaan nie, is dit waarskynlik 'n nuwe gebeurtenis en 'n e -pos word gestuur.

          Toets alles werk deur te hardloop

          cd /gids waar u die lêer geplaas het /

          chmod 777 read_pin_with_mail.py

          sudo python3 read_pin_with_mail.py

          As u die laserstraal breek, moet u 'n e -pos ontvang met die momentopname van die webkamera.

          Stap 12: Skep 'n hoofskrip om die stelsel te begin

          Op hierdie stadium word die projek meestal gedoen. 'N Laaste stap is om die begin van die stelsel te vereenvoudig met 'n laaste script. Dit sal al die subprogramme begin en die webcam met een script opstel. Die aangehegte lêer kan tydens die aanvang van stapel gestuur word deur u /etc/rc.local -lêer te wysig. U moet die lêeruitbreiding verander, en u moet die skrip moontlik wysig om die regte paaie te bevat as u u skrifte op 'n ander plek plaas.

          Stap 13: Gevolgtrekking

          Wel, dit is dit. Ek hoop dat u hierdie instruksies geniet het! Laat weet my in die kommentaar as u vrae het of meer gedetailleerde inligting op enige gebied benodig. Hou aan peuter!

          • Beeld
            Beeld

    Aanbeveel: