Përmbajtje:

Raspberry Pi Laser Security System: 13 hapa (me fotografi)
Raspberry Pi Laser Security System: 13 hapa (me fotografi)

Video: Raspberry Pi Laser Security System: 13 hapa (me fotografi)

Video: Raspberry Pi Laser Security System: 13 hapa (me fotografi)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Korrik
Anonim
Image
Image
Imazhi
Imazhi

Faleminderit që shikuat udhëzimet e mia. Deri në fund të këtij udhëzimi ju do të ndërtoni sistemin me lazer mjedër pi triwire me funksionalitet të alarmit të postës elektronike që tregohet në video.

Për të përfunduar këtë udhëzues do t'ju duhet të jeni të njohur me qarkun dhe bashkimin e përgjithshëm, të dini se si të përdorni një dërrasë buke dhe të jeni të rehatshëm duke përdorur terminalin në pi. Të kesh përvojë në python do të jetë gjithashtu e dobishme.

Ky projekt përbëhet nga tre sisteme kryesore. Mjedra pi, qarku i lazerit dhe një kompjuter vëzhgues. Qëllimi ynë është që të përdorim mjedrën pi për të zbuluar një ndryshim të tensionit në qarkun lazer, dhe pastaj të paralajmërojmë një kompjuter vëzhgues në formën e një e -mail dhe transmetimi video.

Le të fillojmë.

Hapi 1: Përmbledhja e përbërësve të kërkuar

Për të përfunduar këtë projekt do t'ju duhen artikujt e mëposhtëm.

  1. Të paktën një Raspberry Pi operacional. Në këtë ndërtim kam përdorur një model B të stilit Pi duke vrapuar me gulçim. Unë jam i sigurt se ky tutorial do të funksionojë mirë nëse jeni duke drejtuar jessie raspbian.
  2. Një burim i jashtëm i energjisë për pi mjedër. Ne do të tërheqim një sasi të konsiderueshme amperazhi pasi e gjithë kjo të lidhet. Kam kaluar shumë kohë në diagnostikimin e një furnizimi me energji të keqe si burimi im i telasheve gjatë ndërtimit tim të parë. Sigurohuni që keni një fuqi të fortë në gjendje të furnizojë të paktën 2 amper.
  3. Një tregues lazer i lirë. E gjeta timen pranë arkës në një pikë karburanti. Nëse dëshironi lazerin e saktë mund ta gjeni këtu. Etiketa thotë 630-680 nm për gjatësinë e valës. Cilido lazer që merrni do të përcaktojë disa nga përbërësit e tjerë në strukturë. Prandaj sigurohuni që etiketa e tij të identifikojë gjatësinë e valës.
  4. Një kamerë në internet në stilin usb. Kjo kamer në internet ka një këmbë të rregullueshme që ju lejon të poziciononi bukur kamerën. Kam gjetur se kablloja USB që erdhi me kamerën në internet ishte shumë e shkurtër për aplikacionin tim, kështu që gjeta një shtrirje në monoprish.

  5. Një lloj kompleti shpërthyes për mjedrën pi, në mënyrë që të keni qasje të lehtë në kunjat e procesorit.

    Imazhi
    Imazhi
    Imazhi
    Imazhi
  6. Një dërrasë buke.
  7. Një hekur bashkues.
  8. Tela kërcyes për bordin e bukës.
  9. Komponentët e Qarkut. Shumëzoni me sasinë e telave të udhëtimit që dëshironi.

    • Një i udhëhequr nga puna
    • Një rezistencë 100 ohm
    • Një rezistencë 1k
    • Një rezistencë 10k
    • Një rezistencë 200k Me të vërtetë çdo rezistencë e madhe do të bëjë. E testova me një rezistencë 1M dhe funksionoi mirë. FYI 10k ishte shumë e vogël.
    • Një transistor PNP PN: 2N4403-APCT-ND
    • Një fotodiodë (përputheni këtë me gjatësinë e valës tuaj lazer) PN: PDB-C142-ND

Unë do t'i bashkoj skedarët kicad për tabelën e qarkut, por nuk do të kaloj mbi prodhimin e tabelës në këtë udhëzues.

Gjatë rrjedhës së këtij projekti gjeta mjetet e mëposhtme opsionale që ishin të dobishme:

  1. Instalimi i sinergjisë në pi mjedër. Në rast se nuk jeni të njohur, ky program do t'ju lejojë të kontrolloni miun dhe tastierën e mjedrës pi me një kompjuter tjetër. Kjo është mirë nëse jeni si unë dhe jeni më komode në një kompjuter tjetër. Gjithashtu ky është softuer që të gjithë duhet ta kenë.
  2. Një shpërndarës usb. Për çdo kamerë në internet që dëshironi të përdorni do t'ju duhet një port.
  3. Matës i tensionit ose oshiloskop nëse e keni.
  4. Përdorimi i MobaXterm për të kontrolluar mjedrën pi dhe për të manipuluar skedarët përmes ssh. Ashtë e domosdoshme për këdo që ngrihet në dritare. Shikoni këtë tutorial për t'u konfiguruar për ta përdorur atë.

Hapi 2: Ngrini Pi -in dhe Vraponi

  • Imazhi
    Imazhi

    Pi me përbërës minimalë të bashkangjitur

  • Para se të mund të xhirojmë ndonjë lazer, ka disa shtresa softuerësh që duhet të ndërtohen. Për të pasur shansin më të mirë të suksesit është praktikë e mirë të filloni me një plan të pastër. Për ta bërë këtë, shkëputni çdo artikull të panevojshëm nga Pi. Kjo do të zvogëlojë shanset për të pasur ndërhyrje nga një pajisje e lidhur.

    Tjetra, sigurohuni që Raspberry Pi juaj të jetë në punë me programin më të fundit duke futur sa vijon në terminal

    përditësim sudo apt-get

    Me mjedrën pi të përditësuar është koha për hapin tjetër

    Hapi 3: Krijoni qarkun e zbulimit të lazerit

    Vendosni përbërësit në tabelën e bukës siç tregohet. Furnizoni bordin e bukës duke përdorur daljen 5v të pi ose një furnizim me energji në stol. Në figurën 1 furnizimi 5v është i lidhur me shinën pozitive të bukës në pjesën e poshtme të majtë të figurës, dhe tokën në pjesën e sipërme të majtë. Ky qark përdor fotodiodën si një ndërprerës për të shkaktuar transistorin. Transistori konverton ndryshimin e vogël të tensionit në fotodiodë në një sinjal disi dixhital që pi mund të lexojë. Për të gjithë hapat pasues, pika midis 100ohm dhe sinjalit led do të jetë vendi ku ne marrim mostrën e qarkut me pi.

    • Imazhi
      Imazhi

      Fig 1: Pjesa e sipërme e paraqitjes së tabelës së bukës së qarkut

    • Imazhi
      Imazhi

      Fig 2: Pamje alternative e paraqitjes së tabelës së bukës së qarkut

    Nëse doni një pamje më të pastër, unë i bashkangjita skedarët kicad për tabelën që tregohet më poshtë.

    • Imazhi
      Imazhi

      Fig 3: Pamja e sipërme e tabelës së sensorit

    • Imazhi
      Imazhi

      Fig 4: ISO bordi i sensorit

    • Hapi 4: Ndryshoni Laserin për Fuqinë e Jashtme

      Në hapat e mëposhtëm do të ndërtoni kuvendin e treguesit lazer.

      - Çmontoni treguesin lazer. Kur e bëni këtë, vini re orientimin e terminaleve të baterisë në lidhje me emetuesin e lazerit.- Tjetra, shpalosni pranverën e lidhjes së baterisë dhe butonin e shtypjes së çastit nga lazeri.- Lidhni një copë teli midis terminaleve ku ishte butoni. Tani kur furnizohet me energji lazeri, ai do të ndizet automatikisht.- Tani lidhni pikat pozitive dhe negative në lazer. Nëse jeni duke përdorur të njëjtin lazer nga lista e pjesëve, mund të përdorni foton më poshtë për të parë pikat e lidhjes. Nëse nuk jeni, mund t'ju duhet të gjeni vetë pikat e lidhjes. Mund të përdorni orientimin e baterisë si një aluzion për plumbin pozitiv ose negativ. Për të gjetur pikën e fundit të saldimit, mund të përdorni një furnizim me energji 5v dhe të sondoni qarkun me dy priza testimi. Kur të keni krijuar qarkun e duhur, keni gjetur pikën e lidhjes dhe lazeri do të ndizet.

      • Imazhi
        Imazhi

        Teli portokalli po zëvendëson butonin e shtypjes momentale

      • Imazhi
        Imazhi

        Shfaqja e drejtimeve pozitive dhe negative

      - Hapi i fundit është të krijoni një shtyllë drejtimi për montimin e lazerit në mënyrë që të mund të rregullohet lehtësisht për të synuar në enën e lazerit. Kam gjetur se shumica e kompleteve bionicle lego janë një burim i shkëlqyeshëm për top të lirë në nyjet e prizës. Ngjitni një pjesë të bashkimit të topit në treguesin lazer duke përdorur super zam. Tani mund ta montoni nyjen e prizës në çdo sipërfaqe dhe të futni lazerin.

      • Imazhi
        Imazhi

        Lidhja e topit

      • Imazhi
        Imazhi

        Bashkim fole

      • Imazhi
        Imazhi

        Top dhe prizë të mbledhura

      • Hapi 5: Ndizni lazerin dhe provoni qarkun e zbulimit

        Lidheni lazerin në tabelën tuaj të bukës. Pozitivi do të duhet të lidhet me 5v dhe të lidhë tela negative. Nëse lazeri ndizet shkëlqyeshëm, nëse jo, kontrolloni dy herë nëse keni tensionin e duhur me një multimetër. Nëse akoma nuk funksionon, provoni të ndërroni drejtimet në rast se e lidhni prapa. Nëse akoma nuk funksionon, mund të mos jeni ngjitur në jastëkët e duhur, kthehuni në hapin e fundit.

        • Imazhi
          Imazhi

          Puna me lazer me një rreze të shëndetshme

        Pasi të keni rreze lazer është koha për të testuar qarkun e zbulimit. Synoni lazerin në fotodiodë. LED duhet të fiket duke sinjalizuar se rrezja është aktive. Kaloni me dorë përmes rrezes dhe LED duhet të ndizet duke sinjalizuar një udhëtim.

        • Imazhi
          Imazhi

          Rreze nuk është thyer dhe led është i fikur

        • Imazhi
          Imazhi

          Ndërhyrësi thyen rrezet duke shkaktuar që drita të ndizet

        • Hapi 6: Lidhni kamerën tuaj në internet dhe provoni funksionimin e saj

          Lidhni kamerën tuaj në internet me portën usb. Në mënyrë që të transmetojmë videon, duhet të marrim mjetin mjpg-streamer. Këtu është një mësim i shkëlqyeshëm se si ta bëni këtë. Pasi të keni instaluar siç duhet mjpg-streamer. Filloni të transmetoni video duke futur komandën e mëposhtme në terminal.

          cd /ku keni instaluar mjpg-streamer /mjpg-streamer

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

          Kjo komandë do të krijojë një rrjedhë në portin 8081 duke përdorur burimin video0. Nëse doni kamera të shumta, futni përsëri komandën e mësipërme, por ndryshoni video0 në video1 dhe 8081 në 8082. Unë kam transmetuar deri në 3 ueb -kamera në këtë mënyrë dhe pi nuk po mbingarkohej.

          Provoni që lidhja po funksionon duke hapur një shfletues në një kompjuter tjetër dhe futni ip-address-of-pi: 8081 ose në pi thjesht mund të futni localhost: 8081. Nëse nuk e dini IP -në tuaj të pi futni sa vijon në terminal

          ifconfig

          Nëse gjithçka funksionon, duhet të shihni faqen kryesore të mpg-streamer. Klikoni në skedën e transmetimit për të parë rrjedhën tuaj të kamerës në internet. Më poshtë është një pamje e ndërfaqes.

          • Imazhi
            Imazhi

            mjpg-streamer prodhimi i mostrës

          Duke bërë këtë mësim për herë të dytë, unë isha në gjendje të hyja në faqen kryesore të mjpg-streamer, por nuk pashë një transmetim. Për ta rregulluar këtë, lexova këtë postim (lidhja tani është prishur), veçanërisht pjesa në lidhje me formatin e pikselit YUYV, nëse hasni në një rrjedhë të zbrazët, duhet ta konsultoni gjithashtu.

          Hapi 7: Ndërhyrja

          Mirë, kështu që në këtë pikë ne duhet të kemi Pi tonë të mjedrës dhe të funksionojë. Lazeri ynë është modifikuar për energji të jashtme. Qarku ynë i zbulimit është ndërtuar dhe ju keni konfirmuar se kur rrezja lazer godet në fotodiodë led fiket dhe kur thyeni rrezen led duhet të ndizet. Së fundmi ju duhet të keni kamerën tuaj të internetit të lidhur dhe të funksionojë në mënyrë funksionale.

          Tani është koha për t'i bashkuar të gjitha. Le të fillojmë nga e thjeshta duke u përpjekur të zbulojmë rrezen e lazerit që pengohet me softuer.

          Lidheni qarkun e zbulimit në tabelën e bukës siç tregohet. Sigurohuni që ta lidhni telin e sinjalit të sensorit me pin 25 në përgatitje për hapin tjetër. Rezistori tërheqës nuk është opsional. Unë kisha një 10k shtrirë përreth, por çdo rezistencë duhet të bëjë.

          • Imazhi
            Imazhi

            Paraqitja e tabelës së bukës me PiCobler

          • Hapi 8: Monitoroni Laserin me Softuer

            Le të shkruajmë një program të shkurtër për të dëgjuar sinjalin lazer dhe ta postojmë atë dalje në terminal. Kodin mund ta shkarkoni si shtojcë.

            Ndoshta do t'ju duhet të instaloni varësitë për këtë skenar. Python dhe moduli gpio. Për t'i instaluar këto, futni

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

            Pasi të keni një instalim të suksesshëm të python, shkarkoni skriptin e bashkangjitur python të quajtur read_pin.py dhe ekzekutoni

            cd /drejtoria ku vendosni skedarin /chmod 777 read_pin.py

            Komanda chmod do t'i japë skriptit leje për të ekzekutuar. Pastaj provoni që gjithçka është mirë dhe e shkëlqyeshme duke vrapuar

            sudo python3 read_pin.py

            Nëse gjithçka shkon mirë, duhet të shihni një dalje të tastierës siç tregohet më poshtë. Për të dalë nga shkrimi python, futni

            Ctrl-C

          • Imazhi
            Imazhi

            Dalja e saktë e tastierës (shfaqet duke përdorur MobaXterm)

          Valëzoni dorën para rrezes së lazerit dhe duhet të shihni një dalje në tastierë që ju paralajmëron se rrezja është thyer. Mos ngurroni të luani me skenarin për ta bërë sistemin tuaj të funksionojë në mënyra të ndryshme.

          Hapi 9: Krijoni një faqe në internet për të shfaqur rrjedhën tuaj

          Tani duhet të krijojmë një ndërfaqe të shikimit të kamerës në internet. Për këtë hap do t'ju duhet të instaloni serverin në internet apache. Ka shumë mësime atje për vendosjen e një. Por këtu është lista e shkurtër me konfigurim minimal.

          sudo apt-get install apache2

          pasi të jetë instaluar, duhet të jeni në gjendje të shkruani në shfletuesin tuaj në mjedër pi

          localhost

          Ju duhet të shihni faqen e mirëseardhjes nga apache. Nëse kjo është hera juaj e parë që vendosni një server në internet, me siguri do të dëshironi të konfiguroni pi tuaj që të ketë një adresë statike IP, në mënyrë që ruteri juaj të caktojë gjithmonë IP -në e duhur nëse bëni një cikël të energjisë. Nëse dëshironi të shikoni sistemin tuaj të sigurisë nga një vend tjetër, do t'ju duhet të konfiguroni përcjelljen e portit në ruterin tuaj. Ka kaluar një kohë, por unë gjithashtu mendoj se do t'ju duhet të përcillni çdo port që gjithashtu ka një kamerë në internet. Ka shumë mësime atje që mbulojnë këto procedura. Jini të vetëdijshëm se çdokush mund të shohë kamerën tuaj në internet nëse zgjidhni të konfiguroni përcjelljen e portit në ruterin tuaj.

          Skedarët e bashkangjitur janë faqet e internetit të mostrës që mund t'i përdorni për të konfiguruar faqen tuaj të internetit. Ju do të duhet të ndryshoni shtesën e skedarit në skedarin html pasi ata nuk do të më lejojnë ta ngarkoj. Tjetra vendosni skedarët në dosjen tuaj www të thirrur në skedarin tuaj të konfigurimit apache. Vendndodhja e paracaktuar është

          cd /var /www

          Nëse dëshironi të ndryshoni vendndodhjen ku serveri në internet kërkon skedarët tuaj html, mund të redaktoni skedarin e aktivizuar të faqeve tuaja duke futur

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

          Ndryshoni çdo shembull të/var/www/në vendndodhjen që dëshironi. Unë e vendosa timen në/home/pi/Desktop/www/

          Pasi të keni skedarët html në dosjen e uebit futni localhost në shfletuesin ose adresën ip të pi nga një kompjuter tjetër. Duhet të shihni diçka të tillë.

          • Imazhi
            Imazhi

            Pamja e ekranit e skedarëve të bashkangjitur në punë

          SWEEEEET!

          Hapi 10: Vendosni paralajmërimet me email

          Gjëra të mira po ndodhin! Le të shtypim fatin tonë duke u përpjekur të dërgojmë një paralajmërim me email nga pi në një adresë emaili të paracaktuar. Skripti i bashkangjitur python do të krijojë email -in tuaj që dëshironi të dërgoni, do të lidhet me një ofrues të postës elektronike siç është gmail dhe do të dërgojë email duke përdorur ofruesin e postës elektronike. Kjo arrihet duke përdorur paketën smtp të python. Unë ju sugjeroj të krijoni një adresë elektronike fals vetëm për sistemin tuaj të sigurisë pasi do të na duhet të zvogëlojmë sigurinë në llogarinë tuaj gmail në mënyrë që paketa smtp të funksionojë.

          Ju do të duhet të modifikoni skenarin në disa vende në mënyrë që të merrni një transmetim të suksesshëm. Commentedshtë komentuar shumë dhe do të prodhojë shumë rezultate në terminal për lehtësinë tuaj.

          Gjërat që do të keni nevojë të ndryshoni do të jenë

          • your_ip = "192.168.0.177"
          • your_ip_optional_port = ": 8080"
          • port_to_kamera = ": 8081"
          • send_email_username = "emri i përdoruesit të emailit tuaj"
          • send_email_password = "fjalëkalimi yt"

          your_ip_optional_port ka shumë të ngjarë të jetë bosh nëse serveri juaj apache nuk funksionon në një port tjetër nga ai i parazgjedhur 80. Unë tashmë kisha një server që funksiononte në 80 kështu që vendosa që pi im të funksiononte në 8080. Porta_të_kamera do të jetë porta në të cilën specifikoni kamerën tuaj ekzekutoni duke përdorur mjpeg streamer.

          Pasi të keni ndryshuar këto ndryshore në fillim të skenarit, ekzekutoni programin duke futur sa vijon në terminal.

          cd /dosje ku vendosni skriptin /

          sudo python3 send_mail.py

          Nëse yjet janë rreshtuar siç duhet dhe të gjitha ndryshoret janë të sakta, duhet të merrni një email të ngjashëm me atë më poshtë.

          • Imazhi
            Imazhi

            Pamja e ekranit e skedarëve të bashkangjitur në punë

          Ka shumë vende ku ky skenar mund të dështojë. Mos u frustroni nëse nuk funksionon herën e parë. Përdorni pikat e korrigjimit në skenar për të ngushtuar zonat problematike dhe më pas përqendrohuni në një problem në të njëjtën kohë.

          Hapi 11: Aktivizoni skriptin e postës elektronike kur lazeri pengohet

          Tani që pi është në gjendje të dërgojë email, le ta automatizojmë atë në mënyrë që çdo herë që lazeri të fiket të marrim një email. Shkarkoni skedarin e bashkangjitur i cili është një version i modifikuar i read_pin.py i cili përmban një funksion të ri për të lakuar shkrimin e postës. Linja kryesore shtesë është në vijim

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

          Kjo linjë do të nisë shkrimin e dërgimit të postës paralelisht me skriptin e ndijimit të lazerit. Kjo është e dëshirueshme sepse skripti i dërgimit të postës merr disa sekonda për të përfunduar dhe do të bllokonte shkrimin e sensorit lazer që të mos funksiononte derisa të dërgohej emaili. Ky nuk është një problem për një sistem të vetëm kamerash, por nëse do të kishit kamera të shumta, do të donit të zbulonit një udhëtim me lazer në kamerën 1 edhe nëse kamera 2 ka shkaktuar një ngjarje me email. Ndryshorja sm_pid do të përmbajë pid -in e procesit të nisur nga kjo komandë. Ne kontrollojmë për këtë ID nëse shkaktari i postës elektronike thirret përsëri nëse ekziston emaili ende po dërgon kështu që ne e injorojmë ngjarjen. Nëse nuk ekziston kjo ka të ngjarë të jetë një ngjarje e re dhe të dërgohet një email.

          Testoni gjithçka po funksionon duke vrapuar

          cd /drejtoria ku vendosni skedarin /

          chmod 777 read_pin_with_mail.py

          sudo python3 read_pin_with_mail.py

          Kur thyeni rrezen e lazerit, duhet të merrni një email me fotografinë e marrë nga kamera në internet.

          Hapi 12: Krijoni një Skript Master për të Nisur Sistemin

          Në këtë pikë projekti është bërë kryesisht. Një hap i fundit është thjeshtimi i fillimit të sistemit me një skript të fundit. Do të nisë të gjitha nënprogramet dhe do të krijojë kamerën në internet me një skenar. Skedari i bashkangjitur mund të lansohet gjatë fillimit duke redaktuar skedarin tuaj /etc/rc.local. Ju duhet të ndryshoni shtesën e skedarit dhe mund t'ju duhet të redaktoni skriptin për të përfshirë shtigjet e duhura nëse i vendosni skriptet tuaja në një vend tjetër.

          Hapi 13: Përfundim

          Epo kjo është ajo. Shpresoj se ju ka pëlqyer kjo udhëzues! Më tregoni në komentet nëse keni ndonjë pyetje ose keni nevojë për informacion më të detajuar në çdo fushë. Vazhdoni të ngatërroni!

          • Imazhi
            Imazhi

    Recommended: