Mundarija:

Raspberry Pi lazer xavfsizlik tizimi: 13 qadam (rasmlar bilan)
Raspberry Pi lazer xavfsizlik tizimi: 13 qadam (rasmlar bilan)

Video: Raspberry Pi lazer xavfsizlik tizimi: 13 qadam (rasmlar bilan)

Video: Raspberry Pi lazer xavfsizlik tizimi: 13 qadam (rasmlar bilan)
Video: Использование термопары MAX6675 с ESP32 Bluetooth 2024, Iyul
Anonim
Image
Image
Rasm
Rasm

Mening ko'rsatmalarni tekshirganingiz uchun tashakkur. Bu ko'rsatmaning oxiriga kelib, siz videoda ko'rsatilgan elektron pochta ogohlantirish funksiyasi bilan malinali pi lazerli tripwire tizimini qurasiz.

Ushbu ko'rsatmalarni bajarish uchun siz umumiy sxemalar va lehim bilan tanish bo'lishingiz, non taxtasidan qanday foydalanishni bilishingiz va pi -dagi terminaldan qulay foydalanishingiz kerak. Pythonda tajribaga ega bo'lish ham foydali bo'ladi.

Ushbu loyiha uchta asosiy tizimdan iborat. Malinali pi, lazerli uchish simlari va kuzatuvchi kompyuter. Bizning maqsadimiz - malina pi -dan foydalanib, lazerli uchish simidagi kuchlanish o'zgarishini aniqlash, keyin esa kuzatuvchi kompyuterga elektron pochta va video oqim orqali xabar berish.

Boshlaylik.

1 -qadam: Kerakli komponentlarni yig'ish

Ushbu loyihani bajarish uchun sizga quyidagi elementlar kerak bo'ladi.

  1. Kamida bitta operatsion Raspberry Pi. Ushbu qurilishda men B uslubidagi Pi modelini ishlatdim, u raspbian xirillash bilan shug'ullanardi. Ishonchim komilki, agar siz raspbian jessi bilan ishlayotgan bo'lsangiz, bu darslik yaxshi ishlaydi.
  2. Malinali pi uchun tashqi quvvat manbai. Bularning barchasi ulangandan so'ng, biz katta miqdordagi amper quvvatini olamiz. Men birinchi qurilishda muammo manbai sifatida noto'g'ri elektr ta'minotini tashxislash uchun ko'p vaqt sarfladim. Hech bo'lmaganda 2 amperlik kuchga ega kuchga ega ekanligingizga ishonch hosil qiling.
  3. Arzon lazer ko'rsatkichi. Men yonilg'i quyish shoxobchasida kassaning yonidan o'zimnikini topdim. Agar siz aniq lazerni xohlasangiz, uni bu erdan topishingiz mumkin. Yorliqda to'lqin uzunligi uchun 630-680 nm yozilgan. Qaysi lazerni olsangiz, qurilishning boshqa komponentlarini aniqlaydi. Shunday qilib, uning yorlig'i to'lqin uzunligini aniqlaganiga ishonch hosil qiling.
  4. Usb uslubidagi veb -kamera. Bu veb -kamerada sozlanishi oyoq bor, bu sizga kamerani yaxshi joylashtirish imkonini beradi. Veb -kamera bilan birga kelgan usb kabeli mening ilovam uchun juda qisqa ekanligini aniqladim, shuning uchun monoprizada kengaytmani topdim.

  5. Malinali pi uchun qandaydir to'siq to'plami, shuning uchun siz protsessor pinlariga oson kirishingiz mumkin.

    Rasm
    Rasm
    Rasm
    Rasm
  6. Non paneli.
  7. Lehimlash temir.
  8. Non paneli uchun o'tish simlari.
  9. O'chirish komponentlari. O'zingiz xohlagan sayohat simlari soniga ko'paytiring.

    • Bir ishchi rahbarlik qildi
    • 100 ohmlik bitta qarshilik
    • Bitta 1k qarshilik
    • Bitta 10k qarshilik
    • Bitta 200 k qarshilik, albatta, har qanday katta qarshilik qiladi. Men uni 1M rezistor bilan sinab ko'rdim va u yaxshi ishladi. 10 -sonli ma'lumot juda kichik edi.
    • Bir PNP tranzistorli PN: 2N4403-APCT-ND
    • Bitta fotodiod (bu sizning lazer to'lqin uzunligiga mos keladi) PN: PDB-C142-ND

Men elektron kartaga kicad fayllarini biriktiraman, lekin bu ko'rsatmada taxtani ishlab chiqarishga o'tmayman.

Loyiha davomida men quyidagi ixtiyoriy vositalarni qulay deb topdim:

  1. Malinali pi ga sinergiyani o'rnatish. Agar siz tanish bo'lmagan bo'lsangiz, bu dastur sizga malina pi sichqonchasi va klaviaturasini boshqa kompyuter yordamida boshqarishga imkon beradi. Agar siz menga o'xshagan bo'lsangiz va boshqa kompyuterda qulayroq bo'lsangiz, bu juda yaxshi. Bundan tashqari, bu har bir kishi bo'lishi kerak bo'lgan dasturiy ta'minot.
  2. USB uyasi. Siz foydalanmoqchi bo'lgan har bir veb -kamera uchun sizga bitta port kerak bo'ladi.
  3. Agar sizda bo'lsa, kuchlanish o'lchagich yoki osiloskop.
  4. Malina pi ni boshqarish va ssh orqali fayllarni boshqarish uchun MobaXterm -dan foydalanish. Bu derazadan ko'tarilgan har bir kishi uchun zarurdir. O'rnatish uchun ushbu qo'llanmani ko'ring.

2 -qadam: Pi -ni ko'taring va yuguring

  • Rasm
    Rasm

    Minimal komponentlar biriktirilgan pi

  • Har qanday lazerni suratga olishdan oldin, dasturiy ta'minotning bir necha qatlamlari tuzilishi kerak. Muvaffaqiyatning eng yaxshi imkoniyatiga ega bo'lish uchun uni toza taxtadan boshlash yaxshidir. Buning uchun keraksiz narsalarni Pi -dan uzing. Bu ulangan qurilmadan aralashish ehtimolini kamaytiradi.

    Keyingi, terminalda quyidagilarni kiritish orqali Raspberry Pi -ning eng yangi dasturiy ta'minot bilan ishlayotganiga ishonch hosil qiling

    sudo apt-get yangilanishi

    Malinali pi bilan yangilangan holda, keyingi bosqichga o'tish vaqti keldi

    3 -qadam: Lazerni aniqlash sxemasini yarating

    Ko'rsatilganidek, tarkibiy qismlarni non paneliga qo'ying. Panning 5V chiqishi yoki stol usti quvvat manbai yordamida quvvatlantiring. 1 -rasmda 5v kuchlanish tasvirning pastki chap burchagidagi musbat panelda, er esa yuqori chapda joylashgan. Ushbu sxema fotodiodni tranzistorni ishga tushirish uchun kalit sifatida ishlatadi. Transistor fotodioddagi kichik kuchlanish o'zgarishini pi o'qiy oladigan raqamli signalga o'zgartiradi. Keyingi barcha qadamlar uchun, 100 ohm va signal chizig'i orasidagi nuqta, biz pi bilan sxemani namuna oladigan joy bo'ladi.

    • Rasm
      Rasm

      1 -rasm: Devor paneli taxtasining yuqori qismi

    • Rasm
      Rasm

      2 -rasm: O'chirish paneli taxtasining muqobil ko'rinishi

    Agar siz toza ko'rinishni xohlasangiz, men quyida ko'rsatilgan taxtaga kicad fayllarini biriktirdim.

    • Rasm
      Rasm

      3 -rasm: Sensorli panelning yuqori ko'rinishi

    • Rasm
      Rasm

      4 -rasm: ISO sensorlar paneli

    • 4 -qadam: Lazerni tashqi quvvat uchun o'zgartiring

      Keyingi bosqichlarda siz lazer ko'rsatgichini o'rnatasiz.

      - Lazerli ko'rsatgichni demontaj qiling. Batareya terminallarining lazer emitentiga nisbatan yo'nalishiga e'tibor bering.- Keyin, batareyaning ulanish kamonini va lazerdan bir lahzali tugmachani ajratib oling.- Tugma joylashgan terminallar orasidagi simni lehimlang. Endi lazerga quvvat berilsa, u avtomatik ravishda yoqiladi.- Endi lazerga musbat va manfiy simlarni lehimlang. Agar siz qismlar ro'yxatidan xuddi shu lazerdan foydalansangiz, lehim nuqtalarini ko'rish uchun quyidagi rasmdan foydalanishingiz mumkin. Agar yo'q bo'lsa, lehim nuqtalarini o'zingiz topishingiz kerak bo'ladi. Siz batareyaning yo'nalishini ijobiy yoki salbiy qo'rg'oshinga ishora sifatida ishlatishingiz mumkin. Oxirgi lehim nuqtasini topish uchun siz 5 voltli quvvat manbaidan foydalanishingiz va kontaktlarning zanglashiga olib keladigan ikkita sinov simini ishlatishingiz mumkin. Tegishli sxemani yaratganingizda, siz lehim nuqtasini topdingiz va lazer yonadi.

      • Rasm
        Rasm

        To'q sariq sim bir lahzali tugma o'rnini bosadi

      • Rasm
        Rasm

        Ijobiy va salbiy yo'nalishlarni ko'rsatish

      - Oxirgi qadam - lazerni yo'naltiruvchi o'rnatish ustuni yasash, uni lazer rozetkasini nishonga olish uchun osongina sozlash mumkin. Ko'pgina lego bionikl to'plamlari soket bo'g'inlarida arzon to'p uchun ajoyib manba ekanligini aniqladim. Super elim yordamida to'pning bir qismini lazer ko'rsatgichiga yopishtiring. Endi siz rozetka bo'g'inini istalgan sirtga o'rnatib, lazerni ulashingiz mumkin.

      • Rasm
        Rasm

        To'p qo'shma

      • Rasm
        Rasm

        Soket qo'shma

      • Rasm
        Rasm

        To'p va rozetka yig'ilgan

      • 5 -qadam: Lazerni yoqing va aniqlash sxemasini sinab ko'ring

        Lazerni taxtangizga ulang. Ijobiy 5V ga ulanishi va manfiy simni erga ulash kerak bo'ladi. Agar lazer yoqilgan bo'lsa, multimetr bilan mos keladigan kuchlanishni tekshiring. Agar u hali ham ishlamasa, uni orqaga bog'lab qo'ygan bo'lsangiz, simlarni almashtirishga harakat qiling. Agar u hali ham ishlamasa, siz to'g'ri prokladkalarga lehimlamagan bo'lishingiz mumkin, oxirgi bosqichga qayting.

        • Rasm
          Rasm

          Sog'lom nur bilan ishlaydigan lazer

        Lazer nurlanishiga ega bo'lgandan so'ng, aniqlash sxemasini sinab ko'rish vaqti keldi. Lazerni fotodiodga yo'naltiring. LED chiroq faol ekanligini bildiruvchi signalni o'chirib qo'yishi kerak. Sizni nur orqali uzatib turing va LED safar signalini yoqishi kerak.

        • Rasm
          Rasm

          Chiroq uzilmagan va svetodiod o'chirilgan

        • Rasm
          Rasm

          Intruder nurni sindirib, nurni sindirdi

        • 6 -qadam: Veb -kamerangizni ulang va uning funksionalligini tekshiring

          Veb -kamerani USB portiga ulang. Videoni uzatish uchun mjpg-streamer yordam dasturini olishimiz kerak. Mana buni qanday qilish haqida ajoyib qo'llanma. Mjpg-streamer-ni to'g'ri o'rnatganingizdan so'ng. Quyidagi buyruqni terminalga kiritish orqali videoni uzatishni boshlang.

          cd /qaerda siz mjpg-streamer /mjpg-streamer o'rnatgansiz

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

          Bu buyruq video8 manbasi yordamida 8081 portda oqim o'rnatadi. Agar siz bir nechta veb -kamerani xohlasangiz, yuqoridagi buyruqni yana kiriting, lekin video0 -ni video1 -ga o'zgartiring va 8081 -ni 8082 -ga o'zgartiring. Men shu tarzda 3 tagacha veb -kamerani uzatdim va pi ortiqcha yuklanmadi.

          Boshqa kompyuterda brauzerni ochish orqali ulanish ishlayotganini tekshiring va ip-address-of-pi: 8081 yoki pi-ga localhost: 8081 kiriting. Agar siz ip -ni bilmasangiz, terminalga quyidagilarni kiriting

          ifconfig

          Agar hamma narsa ishlayotgan bo'lsa, siz mpg-streamer bosh sahifasini ko'rishingiz kerak. Veb -kamera oqimini ko'rish uchun oqim yorlig'ini bosing. Quyida interfeysning skrinshoti.

          • Rasm
            Rasm

            mjpg-streamer namuna chiqishi

          Bu darslikni ikkinchi marta bajarishda men mjpg-streamer bosh sahifasiga kira oldim, lekin oqimni ko'rmadim. Buni tuzatish uchun men ushbu xabarni o'qidim (havola endi buzilgan), xususan YUYV piksel formatidagi qism, agar siz bo'sh oqimga duch kelsangiz, u bilan ham maslahatlashing.

          7 -qadam: tanaffus

          Xo'sh, shuning uchun biz malina pi ni ishga tushirishimiz kerak. Bizning lazerimiz tashqi quvvat uchun o'zgartirilgan. Bizning aniqlash sxemasi qurilgan va siz tasdiqladingizki, fotodiodga lazer nuri tushganda, chiroq o'chadi va nurni sindirib tashlasangiz, chiroq yoqilishi kerak. Oxir -oqibat, siz veb -kamerangizni ulashingiz va funksional oqimga ega bo'lishingiz kerak.

          Endi hammasini birlashtirish vaqti keldi. Keling, dasturiy ta'minot yordamida lazer nurlarining o'tishini aniqlashdan boshlaylik.

          Aniqlash sxemasini ko'rsatilgandek non paneliga ulang. Keyingi bosqichga tayyorgarlik ko'rish uchun datchik signal simini 25 -pinga ulaganingizga ishonch hosil qiling. Pastga tushirish qarshiligi ixtiyoriy emas. Menda 10k yotardi, lekin har qanday qarshilik qilish kerak.

          • Rasm
            Rasm

            PiCobler -dan foydalanib, non paneli

          • 8 -qadam: dasturiy ta'minot yordamida lazerni kuzatib boring

            Keling, lazer signalini tinglash va shu chiqishni terminalga joylashtirish uchun qisqa dastur yozamiz. Kodni qo'shimcha sifatida yuklab olishingiz mumkin.

            Ehtimol, siz ushbu skriptga bog'liqlikni o'rnatishingiz kerak bo'ladi. Python va gpio moduli. Bularni o'rnatish uchun kiriting

            sudo apt-get python-rpi.gpio python3-rpi.gpio ni o'rnating

            Python muvaffaqiyatli o'rnatilgandan so'ng, read_pin.py deb nomlangan biriktirilgan python skriptini yuklab oling va ishga tushiring.

            /chmod 777 read_pin.py faylini joylashtirgan CD /katalog

            Chmod buyrug'i skriptni ishga tushirishga ruxsat beradi. Keyin yugurish orqali hamma narsa yaxshi va nozik ekanligini tekshiring

            sudo python3 read_pin.py

            Agar hamma narsa yaxshi bo'lsa, quyida ko'rsatilgandek konsol chiqishini ko'rishingiz kerak. Python skriptidan chiqish uchun kiriting

            Ctrl-C

          • Rasm
            Rasm

            To'g'ri konsol chiqishi (MobaXterm yordamida ko'rsatilgan)

          Qo'lingizni lazer nurlari oldida silkiting, shunda siz konsolda nur sinib qolgani haqida signal chiqarasiz. O'zingizning tizimingizni turli yo'llar bilan ishlashini ta'minlash uchun skript bilan o'ynang.

          9 -qadam: O'z oqimingizni ko'rsatish uchun veb -sahifa yarating

          Endi biz veb -kamerani ko'rish interfeysini o'rnatishimiz kerak. Ushbu qadam uchun siz apache veb -serverini o'rnatishingiz kerak bo'ladi. O'rnatish bo'yicha ko'plab qo'llanmalar mavjud. Ammo bu erda minimal konfiguratsiyaga ega bo'lgan qisqa ro'yxat.

          sudo apt-get apache2 ni o'rnating

          o'rnatilgandan so'ng siz malina pi -ga brauzeringizni yozishingiz kerak

          mahalliy uy egasi

          Apache -dan xush kelibsiz sahifani ko'rishingiz kerak. Agar siz birinchi marta veb -serverni o'rnatayotgan bo'lsangiz, ehtimol siz pi -ni statik IP -manzilga ega qilib sozlashingiz kerak bo'ladi, shunda yo'riqnoma har doim to'g'ri IP -manzilini beradi, agar siz quvvat aylanishini qilsangiz. Agar siz xavfsizlik tizimini boshqa joydan ko'rishni xohlasangiz, yo'riqnoma portni uzatishni sozlashingiz kerak bo'ladi. Biroz vaqt o'tdi, lekin menimcha, sizga veb -kamerasi bo'lgan har qanday portni yuborish kerak bo'ladi. U erda ko'plab protseduralarni o'z ichiga olgan darsliklar mavjud. Shuni yodda tutingki, agar siz yo'riqnoma orqali portni yo'naltirishni tanlasangiz, har kim veb -kamerangizni ko'rishi mumkin.

          Qo'shilgan fayllar veb -saytingizni sozlash uchun foydalanishingiz mumkin bo'lgan namunali veb -sahifalardir. Siz html faylidagi fayl kengaytmasini o'zgartirishingiz kerak, chunki ular menga yuklashga ruxsat bermadi. Keyin fayllarni www papkasida apache konfiguratsiya faylida chaqiring. Standart manzil

          cd /var /www

          Agar siz veb -server html fayllarini qidiradigan joyni o'zgartirmoqchi bo'lsangiz, saytingiz yoqilgan faylni kiriting.

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

          /Var/www/ning har qanday nusxasini kerakli joyga o'zgartiring. Men o'z uyimni/home/pi/ish stoliga/www/qo'ydim.

          Veb -papkada html fayllari mavjud bo'lganda, brauzerda localhost yoki boshqa kompyuterdan pi -ning IP -manzilini kiriting. Siz shunga o'xshash narsani ko'rishingiz kerak.

          • Rasm
            Rasm

            Ishlayotgan biriktirilgan fayllarning skrinshotlari

          TATLI!

          10 -qadam: Elektron pochta ogohlantirishlarini o'rnating

          Yaxshi ishlar bo'lmoqda! Keling, pi -dan oldindan belgilangan elektron pochta manziliga elektron pochta xabarini yuborishga urinib, omadimizni bosaylik. Qo'shilgan python skripti siz yubormoqchi bo'lgan elektron pochtangizni yaratadi, gmail kabi elektron pochta provayderiga ulanadi va elektron pochta provayderi yordamida elektron pochta xabarini yuboradi. Bunga smtp python to'plami yordamida erishiladi. Sizga xavfsizlik tizimi uchun qo'g'irchoq elektron pochta manzilini yaratishni taklif qilaman, chunki smtp to'plami ishlashi uchun biz sizning Gmail hisobingizdagi xavfsizlikni kamaytirishga to'g'ri keladi.

          Muvaffaqiyatli uzatish uchun siz skriptni bir necha joyda o'zgartirishingiz kerak bo'ladi. Bu juda ko'p sharhlangan va sizga qulay bo'lishi uchun terminalda ko'plab chiqishlarni ishlab chiqaradi.

          O'zgartirishingiz kerak bo'lgan narsalar bo'ladi

          • your_ip = "192.168.0.177"
          • your_ip_optional_port = ": 8080"
          • port_to_camera = ": 8081"
          • Send_email_username = "Sizning elektron pochta manzilingiz"
          • Send_email_password = "parolingiz"

          your_ip_optional_port, agar apache serveringiz standart 80 dan boshqa portda ishlamasa, bo'sh bo'lishi mumkin. Menda 80 -da ishlaydigan server bor edi, shuning uchun men pi -ni 8080 -da ishlashga sozladim. mjpeg streamer yordamida ishga tushiring.

          Skript boshida ushbu o'zgaruvchilar o'zgargandan so'ng, terminalga quyidagilarni kiritish orqali dasturni ishga tushiring.

          skriptni joylashtirgan CD /papka /

          sudo python3 send_mail.py

          Agar yulduzlar to'g'ri joylashtirilgan bo'lsa va barcha o'zgaruvchilar to'g'ri bo'lsa, siz quyidagi elektron pochta xabarini olishingiz kerak.

          • Rasm
            Rasm

            Ishlayotgan biriktirilgan fayllarning skrinshotlari

          Bu skript ishlamay qolishi mumkin bo'lgan joylar ko'p. Agar birinchi marta ishlamasa, tushkunlikka tushmang. Muammoli joylarni qisqartirish uchun skriptdagi nosozliklarni tuzatish punktlaridan foydalaning va keyin bir vaqtning o'zida bitta muammoga e'tibor qarating.

          11 -qadam: Lazer o'chirilganda elektron pochta skriptini ishga tushiring

          Endi pi elektron pochta xabarlarini jo'natishga qodir, biz uni avtomatlashtiramiz, shunda har safar lazer o'chirilganda elektron pochta xabarini olamiz. Read_pin.py -ning tahrirlangan versiyasi bo'lgan pochta faylini yuklab olish uchun yangi funktsiyani bajaradigan biriktirilgan faylni yuklab oling. Asosiy qo'shimcha chiziq quyidagicha

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

          Bu chiziq lazer sezish skriptiga parallel ravishda pochta yuborish skriptini ishga tushiradi. Bu maqsadga muvofiq, chunki pochta skriptini yuborish bir necha soniya davom etadi va elektron pochta yuborilguncha lazer sezish skriptining ishlashiga to'sqinlik qiladi. Bu bitta kamerali tizim uchun muammo emas, lekin agar sizda bir nechta kameralar bo'lsa, siz kamera 2 elektron pochta hodisasini ishga tushirgan bo'lsa ham, 1 -kamerada lazer safarini aniqlashni xohlaysiz. Sm_pid o'zgaruvchisida ushbu buyruq bilan ishga tushiriladigan jarayonning pid bo'ladi. Biz bu identifikatorni tekshiramiz, agar elektron pochta tetiği qayta chaqirilsa, u hali ham yuborilmoqda, shuning uchun biz bu hodisaga e'tibor bermaymiz. Agar u mavjud bo'lmasa, bu yangi voqea bo'lishi mumkin va elektron pochta yuboriladi.

          Hammasi yugurish orqali ishlaydi

          cd /faylni joylashtiradigan katalog /

          chmod 777 read_pin_with_mail.py

          sudo python3 read_pin_with_mail.py

          Lazer nurini sindirib tashlaganingizda, siz veb -kameradan olingan suratga ega elektron pochta xabarini olishingiz kerak.

          12 -qadam: Tizimni ishga tushirish uchun asosiy skriptni yarating

          Bu vaqtda loyiha asosan amalga oshiriladi. Oxirgi qadam - bu oxirgi skript yordamida tizimni ishga tushirishni soddalashtirish. U barcha kichik dasturlarni ishga tushiradi va veb -kamerani bitta skript bilan o'rnatadi. Ilova qilingan faylni /etc/rc.local faylini tahrirlash orqali ishga tushirish mumkin. Siz fayl kengaytmasini o'zgartirishingiz kerak va agar skriptlaringizni boshqa joyga qo'ysangiz, to'g'ri yo'llarni kiritish uchun skriptni tahrir qilishingiz kerak bo'ladi.

          13 -qadam: Xulosa

          Xo'sh, bu shunday. Umid qilamanki, sizga bu ko'rsatma yoqdi! Agar sizda biron bir sohada savollaringiz bo'lsa yoki batafsil ma'lumotga muhtoj bo'lsangiz, izohlarda menga xabar bering. Fikrlashni davom ettiring!

          • Rasm
            Rasm

    Tavsiya: