Mündəricat:

Raspberry Pi Lazer Təhlükəsizlik Sistemi: 13 Addım (Şəkillərlə birlikdə)
Raspberry Pi Lazer Təhlükəsizlik Sistemi: 13 Addım (Şəkillərlə birlikdə)

Video: Raspberry Pi Lazer Təhlükəsizlik Sistemi: 13 Addım (Şəkillərlə birlikdə)

Video: Raspberry Pi Lazer Təhlükəsizlik Sistemi: 13 Addım (Şəkillərlə birlikdə)
Video: Keşke Daha Önce Öğrenseydik Dediğimiz Zaman Kazandıran 14 Bilgisayar Tüyosu 2024, Noyabr
Anonim
Image
Image
Şəkil
Şəkil

Təlimat verdiyimi yoxladığınız üçün təşəkkürlər. Bu təlimatın sonunda, videoda göstərilən e -poçt xəbərdarlığı funksiyasına malik moruq pi lazer tripwire sistemi quracaqsınız.

Bu təlimatı tamamlamaq üçün ümumi dövrə və lehimləmə ilə tanış olmalı, çörək taxtasından necə istifadə etməli və pi üzərindəki terminaldan istifadə edərək rahat olmalısınız. Python təcrübəsi də faydalı olacaq.

Bu layihə üç əsas sistemdən ibarətdir. Moruq pi, lazer tripwire dövrə və müşahidəçi kompüter. Məqsədimiz, moruq pi -dən lazer açma telində bir gərginlik dəyişikliyini aşkar etmək və sonra müşahidə edən bir kompüterə e -poçt və video axını şəklində xəbərdarlıq etməkdir.

Başlayaq.

Addım 1: Lazımi komponentləri toplayın

Bu layihəni tamamlamaq üçün aşağıdakı maddələrə ehtiyacınız olacaq.

  1. Ən azı bir əməliyyat Raspberry Pi. Bu quruluşda, raspbian hırıltı ilə işləyən B tipli Pi modelindən istifadə etdim. Əminəm ki, raspbian jessie ilə işləsəniz, bu dərslik yaxşı işləyəcək.
  2. Moruq pi üçün xarici enerji mənbəyi. Bütün bunlar bağlandıqdan sonra əhəmiyyətli miqdarda amper çəkəcəyik. İlk qurduğum müddətdə problem mənbəyim olaraq yararsız bir enerji təchizatı diaqnozu qoymağa çox vaxt sərf etdim. Ən azı 2 amperlik bir qaynağa sahib olduğunuzdan əmin olun.
  3. Ucuz lazer göstəricisi. Yanacaqdoldurma məntəqəsində kassanın yanında tapdım. Lazerin tam olmasını istəyirsinizsə buradan tapa bilərsiniz. Etiket dalğa uzunluğu üçün 630-680 nm yazır. Hansı lazer alsanız, quruluşdakı digər komponentlərdən bəzilərini təyin edəcək. Buna görə etiketinin dalğa uzunluğunu təyin etdiyinə əmin olun.
  4. Usb üslubunda veb kamera. Bu veb kameranın kameranı gözəl yerləşdirməyinizə imkan verən tənzimlənən ayağı var. Veb kamerası ilə birlikdə gələn usb kabelinin tətbiqim üçün çox qısa olduğunu gördüm, buna görə də monoprice bir uzantı tapdım.
  5. Raspberry pi üçün bir növ dəst dəsti, beləliklə prosessorun pinlərinə asanlıqla daxil ola bilərsiniz.

    Şəkil
    Şəkil
    Şəkil
    Şəkil
  6. Çörək taxtası.
  7. Bir lehimləmə dəmiri.
  8. Çörək taxtası üçün tullanan tellər.
  9. Dövrə Komponentləri. İstədiyiniz səyahət tellərinin miqdarına vurun.

    • Bir işçi rəhbərlik edirdi
    • Bir 100 ohm rezistor
    • Bir ədəd 1k rezistor
    • Bir 10k rezistor
    • Bir 200k rezistor Həqiqətən hər hansı bir böyük müqavimət edəcək. 1M rezistorla sınadım və yaxşı işləyir. FYI 10k çox kiçik idi.
    • Bir PNP transistoru PN: 2N4403-APCT-ND
    • Bir fotodiod (bunu lazer dalğa uzunluğunuzla uyğunlaşdırın) PN: PDB-C142-ND

Kicad fayllarını elektron lövhəyə əlavə edəcəyəm, amma bu təlimatda lövhənin istehsalına keçməyəcəyəm.

Bu layihə boyunca aşağıdakı əlavə vasitələrin lazımlı olduğunu gördüm:

  1. Moruq pi üzərində sinerji qurmaq. Tanımadığınız halda, bu proqram moruq pi siçanını və klaviaturasını başqa bir kompüterlə idarə etməyə imkan verəcək. Mənim kimi olsan və fərqli bir kompüterdə daha rahat olsan, bu çox xoşdur. Həm də hər kəsin sahib olması lazım olan bir proqramdır.
  2. Usb mərkəzi. İstifadə etmək istədiyiniz hər bir veb kamera üçün bir porta ehtiyacınız olacaq.
  3. Varsa gərginlik ölçən və ya osiloskop.
  4. Moruq pi nəzarət etmək və faylları ssh vasitəsilə idarə etmək üçün MobaXterm istifadə. Pəncərələrdə qaldırılan hər kəs üçün mütləqdir. İstifadəyə hazır olmaq üçün bu təlimata baxın.

Addım 2: Pi -ni qaldırın və qaçın

  • Şəkil
    Şəkil

    Minimum komponentləri olan pi

  • Hər hansı bir lazer çəkə bilmədən əvvəl, bir neçə proqram təminatı qurmalıyıq. Müvəffəqiyyət qazanmaq üçün ən yaxşı şansa sahib olmaq üçün təmiz bir şifrə ilə başlamaq yaxşı bir təcrübədir. Bunu etmək üçün Pi -dən lazımsız əşyaları ayırın. Bu, bağlı bir cihazdan müdaxilə ehtimalını azaldacaq.

    Sonra, terminala aşağıdakıları daxil edərək, Raspberry Pi -nin ən son proqramla işlədiyinə əmin olun

    sudo apt-get yeniləməsi

    Bu günə qədər moruq pi ilə növbəti addımın vaxtı gəldi

    Addım 3: Lazer Algılama Dövrini yaradın

    Komponentləri çörək taxtasına göstərildiyi kimi yerləşdirin. Çörək lövhəsini pi -nin 5v çıxışı və ya dəzgah üstü enerji təchizatı ilə gücləndirin. Şəkil 1 -də 5v təchizatı, görüntünün sol alt hissəsindəki pozitiv çörək taxtası rayına və yerin sol üst hissəsinə bağlıdır. Bu dövrə fotodioddan tranzistoru işə salmaq üçün açar kimi istifadə edir. Transistor, fotodioddakı kiçik gərginlik dəyişikliyini pi -nin oxuya biləcəyi rəqəmsal bir siqnala çevirir. Sonrakı bütün addımlar üçün, 100ohm və siqnal led arasındakı nöqtə, pi ilə dövrə nümunəsi götürəcəyimiz yer olacaq.

    • Şəkil
      Şəkil

      Şəkil 1: Dövrə çörək taxtasının düzülüşü

    • Şəkil
      Şəkil

      Şəkil 2: Circuit breadboard layout alternativ görünüşü

    Daha təmiz bir görünüş istəyirsinizsə, aşağıda göstərilən lövhə üçün kicad fayllarını əlavə etdim.

    • Şəkil
      Şəkil

      Şəkil 3: Sensor lövhəsinin yuxarıdan görünüşü

    • Şəkil
      Şəkil

      Şəkil 4: ISO lövhəsi

    • Addım 4: Xarici Güc Lazerini dəyişdirin

      Aşağıdakı addımlarda lazer göstərici qurğusunu quracaqsınız.

      - Lazer göstəricisini sökün. Bunu edərkən, batareya terminallarının lazer yayıcısına görə istiqamətini qeyd edin.- Sonra, batareya bağlantısı yayını və ani düyməni lazerdən ayırın.- Düymənin olduğu terminallar arasında bir tel lehimləyin. İndi lazerə enerji verildikdə avtomatik olaraq açılacaq.- İndi pozitiv və neqativləri lazerə lehimləyin. Parçalar siyahısından eyni lazerdən istifadə edirsinizsə, lehim nöqtələrini görmək üçün aşağıdakı şəkildən istifadə edə bilərsiniz. Əks təqdirdə, lehim nöqtələrini özünüz tapmalısınız. Batareyanın istiqamətini müsbət və ya mənfi qurğuşa işarə olaraq istifadə edə bilərsiniz. Son lehim nöqtəsini tapmaq üçün 5v enerji təchizatı istifadə edə bilərsiniz və dövrəni iki test ucu ilə yoxlaya bilərsiniz. Düzgün dövrə yaratdıqda, lehim nöqtəsini tapdınız və lazer yanacaq.

      • Şəkil
        Şəkil

        Narıncı tel bir anlıq düyməni əvəz edir

      • Şəkil
        Şəkil

        Müsbət və mənfi yolları göstərir

      - Son addım, lazer yuvasına yönəltmək üçün asanlıqla tənzimlənə bilən lazer üçün istiqamətləndirici montaj dirəyi etməkdir. Əksər lego bionicle dəstlərinin yuva birləşmələrində ucuz top üçün əla bir qaynaq olduğunu gördüm. Topun bir hissəsini super yapışqan istifadə edərək lazer göstəricisinə yapışdırın. İndi yuvanı hər hansı bir səthə bağlaya və lazeri içəri bağlaya bilərsiniz.

      • Şəkil
        Şəkil

        Top birləşməsi

      • Şəkil
        Şəkil

        Soket birləşməsi

      • Şəkil
        Şəkil

        Top və priz yığılmışdır

      • Addım 5: Lazeri Gücləndirin və Algılama Dövrini Test Edin

        Lazeri çörək taxtanıza qoşun. Müsbət 5V -ə qoşulmalı və mənfi teli topraklamalıdır. Lazer əla açılırsa, yoxsa, multimetr ilə uyğun gərginliyə malik olduğunuzu iki dəfə yoxlayın. Hələ də işləmirsə, geriyə bağladığınız halda telləri dəyişdirməyə çalışın. Hələ də işləmirsə, doğru yastiqlərə lehimləməmiş ola bilərsiniz, son addıma qayıdın.

        • Şəkil
          Şəkil

          Sağlam bir şüa ilə işləyən lazer

        Lazer şüası aldıqdan sonra aşkarlama dövrəsini sınamağın vaxtı gəldi. Lazeri fotodioda yönəldin. LED şüanın aktiv olduğunu göstərən siqnalları söndürməlidir. Sizi şüadan keçirin və LED bir səfər siqnalını açmalıdır.

        • Şəkil
          Şəkil

          Şüa qırılmır və işıq sönür

        • Şəkil
          Şəkil

          İşğalçı, şüanı qıraraq ledin işıqlanmasına səbəb olur

        • Addım 6: Veb Kameranızı qoşun və İşləmə qabiliyyətini yoxlayın

          Veb kameranızı USB portuna qoşun. Videonu yayımlamaq üçün mjpg-streamer proqramını almalıyıq. Bunun necə ediləcəyi ilə bağlı əla bir dərslik. Mjpg-streamer-i düzgün qurduqdan sonra. Aşağıdakı əmri terminala daxil edərək video axınına başlayın.

          cd /mjpg-streamer /mjpg-streamer qurduğunuz yer

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

          Bu əmr, video0 mənbəyindən istifadə edərək 8081 portunda bir axın quracaq. Birdən çox veb kamera istəsəniz, yuxarıdakı əmri yenidən daxil edin, ancaq video0 -u video1 -ə və 8081 -ə 8082 -ə dəyişdirin. Bu şəkildə 3 -ə qədər veb -kameranı axın etdim və pi çox yüklənmədi.

          Başqa bir kompüterdə bir brauzer açaraq bağlantının işlədiyini yoxlayın və ip-address-of-pi: 8081 və ya pi-də localhost: 8081 daxil edə bilərsiniz. Pi -nin ipini bilmirsinizsə, terminala aşağıdakıları daxil edin

          ifconfig

          Hər şey işləyirsə, mpg-streamer ana səhifəsini görməlisiniz. Veb kamera axınınızı görmək üçün axın sekmesini vurun. Aşağıda interfeysin ekran görüntüsüdür.

          • Şəkil
            Şəkil

            mjpg-streamer nümunə çıxışı

          Bu təlimatı ikinci dəfə edərkən mjpg-streamer ana səhifəsinə daxil ola bildim, ancaq bir axın görmədim. Bunu düzəltmək üçün bu yazını oxudum (keçid indi pozulmuşdur), xüsusən YUYV piksel formatı ilə bağlı bir hissə, boş bir axınla qarşılaşsanız, onunla da məsləhətləşməlisiniz.

          Addım 7: fasilə

          Tamam, bu nöqtədə moruq pi -ni işə salmalıyıq. Lazerimiz xarici güc üçün dəyişdirildi. Algılama dövrəmiz quruldu və təsdiq etdiniz ki, lazer şüası fotodioda dəyəndə led sönür və şüanı qıranda ledin açılması lazımdır. Nəhayət, veb kameranıza qoşulmalı və funksional olaraq axın etməlisiniz.

          İndi hər şeyi bir yerə yığmağın vaxtı gəldi. Proqramla lazer şüasının açılmasını aşkar etməyə çalışaraq sadə bir şəkildə başlayaq.

          Algılama sxemini göstərildiyi kimi çörək taxtasına bağlayın. Növbəti addımı hazırlamaq üçün sensor siqnal telini pin 25 -ə bağladığınızdan əmin olun. Aşağı çəkmə rezistoru isteğe bağlı deyil. Ətrafımda 10k qoydum, amma hər hansı bir müqavimətçi bunu etməlidir.

          • Şəkil
            Şəkil

            PiCobler ilə çörək paneli düzeni

          • Addım 8: Proqramla Lazeri izləyin

            Lazer siqnalını dinləmək və bu çıxışı terminala göndərmək üçün qısa bir proqram yazaq. Kodu əlavə olaraq yükləyə bilərsiniz.

            Yəqin ki, bu skript üçün asılılıqları quraşdırmalısınız. Python və gpio modulu. Bunları quraşdırmaq üçün daxil edin

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

            Uğurlu bir python quraşdırma qurduqdan sonra read_pin.py adlı əlavə edilmiş python skriptini yükləyin və işə salın

            /chmod 777 read_pin.py faylını qoyduğunuz cd /kataloq

            Chmod əmri skriptin işləməsinə icazə verəcək. Sonra qaçaraq hər şeyin yaxşı və ləkəli olduğunu sınayın

            sudo python3 read_pin.py

            Hər şey yaxşı gedirsə, aşağıda göstərildiyi kimi bir konsol çıxışı görməlisiniz. Python skriptindən çıxmaq üçün daxil edin

            Ctrl-C

          • Şəkil
            Şəkil

            Düzgün Konsol Çıxışı (MobaXterm istifadə edərək göstərilir)

          Əlinizi lazer şüasının qarşısında dalğalayın və şüanın qırıldığını bildirən konsolda bir çıxış görməlisiniz. Sisteminizin müxtəlif yollarla işləməsini təmin etmək üçün skriptlə oynamaqdan çekinmeyin.

          Addım 9: Axınınızı göstərmək üçün bir veb səhifəsi yaradın

          İndi veb kameraya baxmaq üçün bir interfeys qurmalıyıq. Bu addımı yerinə yetirmək üçün apache veb serveri qurmalısınız. Birini qurmaqla bağlı çoxlu dərsliklər var. Ancaq burada minimum konfiqurasiyaya malik qısa siyahı var.

          sudo apt-get apache2 quraşdırın

          quraşdırıldıqdan sonra brauzerinizə moruq pi üzərində yaza bilərsiniz

          localhost

          Xoş gəldiniz səhifəni apache -dən görməlisiniz. İlk dəfə bir veb server qurmusunuzsa, ehtimal ki, güc dövrü etsəniz, marşrutlaşdırıcınız həmişə uyğun bir ip təyin etməsi üçün pi -nizi statik bir ip ünvanına malik olaraq konfiqurasiya etmək istəyəcəksiniz. Təhlükəsizlik sisteminizi başqa bir yerdən görmək istəyirsinizsə, marşrutlaşdırıcınızda port yönləndirməsini qurmalısınız. Bir müddət keçdi, amma düşünürəm ki, veb kamerası olan hər hansı bir limanı da yönləndirməlisiniz. Bu prosedurları əhatə edən çoxlu dərsliklər var. Routerinizdə liman yönləndirməsini qurmağı seçsəniz, hər kəs veb kameranızı görə biləcəyini unutmayın.

          Əlavə edilmiş sənədlər veb saytınızı qurmaq üçün istifadə edə biləcəyiniz nümunə veb səhifələrdir. Yükləməyimə icazə vermədikləri üçün html sənədindəki fayl uzantısını dəyişdirməlisiniz. Sonrakı faylları apache konfiqurasiya faylınızda çağırılan www qovluğuna yerləşdirin. Varsayılan yer

          cd /var /www

          Veb serverin html fayllarınızı axtardığı yeri dəyişdirmək istəyirsinizsə, daxil olaraq saytların aktivləşdirilmiş faylını redaktə edə bilərsiniz.

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

          İstənilən yerə/var/www/nümunəsini dəyişdirin. Öz evimi/ev/pi/Masaüstü/www/

          Veb qovluğunda html faylları əldə etdikdən sonra brauzerdə localhost və ya başqa bir kompüterdən pi ünvanını daxil edin. Belə bir şey görməlisiniz.

          • Şəkil
            Şəkil

            Əməliyyat olunan faylların ekran görüntüsü

          ŞİRİN!

          Addım 10: E -poçt Uyarılarını Qurun

          Yaxşı işlər gedir! Əvvəlcədən təyin edilmiş bir e -poçt ünvanına pi -dən bir e -poçt xəbərdarlığı göndərməyə çalışaraq şansımızı basın. Əlavə edilmiş python skripti, göndərmək istədiyiniz e -poçtunuzu quracaq, gmail kimi bir e -poçt provayderinə qoşulacaq və e -poçt provayderindən istifadə edərək e -poçt göndərəcəkdir. Bu, smtp python paketi istifadə edərək əldə edilir. Smtp paketinin işləməsi üçün gmail hesabınızın təhlükəsizliyini azaltmalı olacağımız üçün yalnız sizin təhlükəsizlik sisteminiz üçün kukla bir e -poçt ünvanı yaratmanızı təklif edirəm.

          Uğurlu bir ötürmə əldə etmək üçün bir neçə yerdə ssenarini dəyişdirməlisiniz. Çox şərh olunur və rahatlığınız üçün terminalda çoxlu çıxışlar istehsal edəcək.

          Dəyişdirməli olduğunuz şeylər olacaq

          • your_ip = "192.168.0.177"
          • your_ip_optional_port = ": 8080"
          • port_to_camera = ": 8081"
          • Send_email_username = "e -poçt istifadəçi adınız"
          • Send_email_password = "parolunuz"

          your_ip_optional_port, çox güman ki, apache serveriniz standart 80 -dən fərqli bir portda işləmədiyi təqdirdə boş qalacaq. Artıq 80 -də işləyən bir serverim var idi, buna görə də pi -ni 8080 -də işləməyə təyin etdim. Port_to_camera, kameranızı göstərdiyiniz liman mjpeg streamer istifadə edərək işləyin.

          Skriptin əvvəlində bu dəyişənləri dəyişdirdikdən sonra terminala aşağıdakıları daxil edərək proqramı işə salın.

          skript qoyduğunuz cd /qovluq /

          sudo python3 send_mail.py

          Ulduzlar düzgün hizalanırsa və bütün dəyişənlər düzgündürsə, aşağıda göstərilənə bənzər bir e -poçt almalısınız.

          • Şəkil
            Şəkil

            Əməliyyat olunan faylların ekran görüntüsü

          Bu skriptin uğursuz ola biləcəyi bir çox yer var. İlk dəfə işləmirsə məyus olmayın. Problem sahələrini daraltmaq və sonra bir problemə diqqət yetirmək üçün skriptdəki hata ayıklama nöqtələrindən istifadə edin.

          Addım 11: Lazer açıldıqda e -poçt skriptini işə salın

          İndi pi e -poçt göndərə bildiyi üçün onu avtomatlaşdıraq ki, hər dəfə lazer açıldıqda bir e -poçt alaq. Read_pin.py -nin dəyişdirilmiş bir versiyası olan poçt sənədini yükləmək üçün yeni bir funksiyanı tələb edən əlavə edilmiş faylı yükləyin. Əsas əlavə xətt aşağıdakılardır

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

          Bu xətt lazer algılama skriptinə paralel olaraq poçt göndərmə skriptini işə salacaq. Göndərilən poçt skriptinin tamamlanması bir neçə saniyə çəkdiyindən və lazer algılama skriptinin e -poçt göndərilənə qədər işləməsini maneə törətdiyi üçün bu arzu edilir. Bu, tək bir kamera sistemi üçün problem deyil, ancaq birdən çox kameranız olsaydı, kamera 2 bir e -poçt hadisəsinə səbəb olsa belə 1 -ci kamerada lazer səfərini aşkar etmək istərdiniz. Sm_pid dəyişənində bu əmrlə başladılan prosesin pid'i olacaq. E -poçt tetikleyicisi yenidən çağırılırsa, e -poçt hələ də göndərilirsə, bu kimliyi yoxlayırıq, buna görə də hadisəni görməzdən gəlirik. Əgər yoxdursa, bu, çox güman ki, yeni bir hadisədir və bir e -poçt göndərilir.

          Test hamısı işləyərək işləyir

          faylı qoyduğunuz cd /kataloq /

          chmod 777 read_pin_with_mail.py

          sudo python3 read_pin_with_mail.py

          Lazer şüasını qıranda veb kameradan çəkilmiş anı olan bir e -poçt almalısınız.

          Addım 12: Sistemi işə salmaq üçün Master Script yaradın

          Bu nöqtədə layihə əsasən həyata keçirilir. Son bir addım, sistemin son bir skriptlə başlamasını asanlaşdırmaqdır. Bütün alt proqramları işə salacaq və veb kameranı bir skriptlə quracaq. Əlavə edilmiş fayl, /etc/rc.local faylınızı redaktə etməklə başlanğıcda başlaya bilər. Fayl uzantısını dəyişdirməlisiniz və skriptlərinizi başqa bir yerə qoysanız düzgün yolları daxil etmək üçün skriptinizi düzəltməli ola bilərsiniz.

          Addım 13: Nəticə

          Yaxşı, budur. Ümid edirəm bu dərsdən zövq aldınız! Hər hansı bir sahə ilə bağlı hər hansı bir sualınız və ya daha ətraflı məlumata ehtiyacınız varsa şərhlərdə bildirin. Fikirləşməyə davam edin!

          • Şəkil
            Şəkil

    Tövsiyə: