Мазмуну:

Raspberry Pi лазердик коопсуздук системасы: 13 кадам (сүрөттөр менен)
Raspberry Pi лазердик коопсуздук системасы: 13 кадам (сүрөттөр менен)

Video: Raspberry Pi лазердик коопсуздук системасы: 13 кадам (сүрөттөр менен)

Video: Raspberry Pi лазердик коопсуздук системасы: 13 кадам (сүрөттөр менен)
Video: Установка лазера на X-Carve - Opt Lasers 2024, Июль
Anonim
Image
Image
Сүрөт
Сүрөт

Менин көрсөтмөмдү текшергениңиз үчүн рахмат. Бул көрсөтмөнүн аягында сиз видеодо көрсөтүлгөн электрондук почта эскертүүчү функциясы бар малина pi lazer tripwire системасын курасыз.

Бул көрсөтмөнү толтуруу үчүн сиз жалпы схема жана ширетүү менен тааныш болушуңуз керек, нанды кантип колдонууну билишиңиз керек жана пидеги терминалды колдонууда ыңгайлуу болушуңуз керек. Питон боюнча тажрыйбага ээ болуу да пайдалуу болот.

Бул долбоор үч негизги системадан турат. Малина пи, лазердик линиянын схемасы жана байкоочу компьютер. Биздин максат - малина пиин колдонуп, лазердик трюктун схемасындагы чыңалуунун өзгөрүшүн аныктоо, андан кийин байкоочу компьютерге электрондук почта жана видео агымы түрүндө эскертүү.

Баштайлы.

1 -кадам: Керектүү компоненттерди тегеректөө

Бул долбоорду аяктоо үчүн сизге төмөнкү нерселер керек болот.

  1. Жок дегенде бир операциялык Raspberry Pi. Бул структурада мен B стилиндеги Pi моделин колдонгом. Мен ишенем, эгер сиз raspbian jessie менен иштесеңиз, бул окуу куралы жакшы иштейт.
  2. Малина пи үчүн тышкы энергия булагы. Мунун баары илингенден кийин, биз бир топ көлөмдөгү амперди тартабыз. Мен биринчи курууда көйгөйүмдүн булагы катары электр энергиясынын начардыгын диагноздоо үчүн көп убакыт короттум. Сизде жок дегенде 2 амперди туташтыра ала турган күчкө ээ экениңизди текшериңиз.
  3. Арзан лазердик көрсөткүч. Меникин май куюучу жайдын кассасынын жанынан таптым. Эгерде сиз так лазерди кааласаңыз, аны бул жерден таба аласыз. Этикетка толкун узундугу үчүн 630-680 нм дейт. Кайсы лазерди алсаңыз, курулуштун башка компоненттерин аныктайт. Ошентип, анын энбелгиси анын толкун узундугун аныктап жатканына ынангыла.
  4. USB стилиндеги веб -камера. Бул веб -камеранын жөнгө салынуучу буту бар, ал камераны жакшы жайгаштырууга мүмкүндүк берет. Веб -камера менен келген USB кабели колдонмо үчүн өтө кыска экенин байкадым, ошондуктан монопризде кеңейтүүнү таптым.
  5. Малинанын пи үчүн кандайдыр бир сындыруучу комплект, андыктан процессордогу казыктарга оңой жете аласыз.

    Сүрөт
    Сүрөт
    Сүрөт
    Сүрөт
  6. Нан тактасы.
  7. Бир ширетүүчү темир.
  8. Нан тактасы үчүн секирүүчү зымдар.
  9. Райондук компоненттер. Сиз каалаган сапардын суммасына көбөйтүңүз.

    • Бир жумушчу жетектеген
    • 100 Омдук бир резистор
    • Бир 1к резистор
    • Бир 10k каршылыгы
    • Бир 200k каршылыгы Чынында эле кандайдыр бир чоң каршылык кылат. Мен аны 1М каршылыгы менен сынап көрдүм, ал жакшы иштеди. FYI 10k өтө кичине болчу.
    • Бир PNP транзистору PN: 2N4403-APCT-ND
    • Бир фотодиод (муну лазердин толкун узундугуна дал келтирүү) PN: PDB-C142-ND

Мен kicad файлдарын схемага тиркейм, бирок бул көрсөтмөдө тактанын өндүрүшүнө киришпейм.

Бул долбоордун жүрүшүндө мен төмөнкү кошумча куралдарды ыңгайлуу деп таптым:

  1. Малина пи боюнча синергияны орнотуу. Эгерде сиз тааныш эмес болсоңуз, анда бул программа малина пинин чычканын жана клавиатурасын башка компьютер менен башкарууга мүмкүндүк берет. Эгер сиз мага окшош болсоңуз жана башка компьютерде ыңгайлуу болсоңуз, бул жакшы. Ошондой эле бул ар бир адамда болушу керек болгон программа.
  2. USB борбору. Колдонууну каалаган ар бир веб -камера үчүн сизге бир порт керек болот.
  3. Эгер бар болсо чыңалуу өлчөгүч же осциллограф.
  4. MobaXtermдин жардамы менен малина пиин көзөмөлдөө жана ssh аркылуу файлдарды башкаруу. Бул терезелерде көтөрүлгөндөр үчүн керек. Аны колдонуу үчүн бул окуу куралын караңыз.

2 -кадам: Pi Up жана Running алыңыз

  • Сүрөт
    Сүрөт

    Минималдуу компоненттери бар пи

  • Биз кандайдыр бир лазерди атуудан мурун, программалык камсыздоонун бир нече катмарын куруу керек. Ийгиликтин эң жакшы мүмкүнчүлүгүнө ээ болуу үчүн, таза барактан баштоо жакшы практика. Бул үчүн Piден керексиз нерселерди ажыратыңыз. Бул туташкан түзмөктөн кийлигишүү мүмкүнчүлүгүн азайтат.

    Андан кийин, Raspberry Piңиздин акыркы программалык камсыздоо менен иштеп жаткандыгын текшерип, төмөнкүлөрдү терминалга киргизиңиз

    sudo apt-get update

    Малина пи менен бүгүнкү күнгө чейин кийинки кадамга убакыт келди

    3 -кадам: Лазердик аныктоо схемасын түзүңүз

    Көрсөтүлгөндөй компоненттерди нан тактасына коюңуз. Питтин 5v чыгарылышын же стол үстүндөгү электр булагын колдонуу менен нан тактасын кубаттаңыз. 1 -сүрөттө 5v камсыздоо сүрөттүн төмөнкү сол жагындагы оң панель темир жолуна, жана жер жогорку солго туташкан. Бул схема транзисторду иштетүү үчүн фотодиодду которгуч катары колдонот. Транзистор фотодиоддогу кичине чыңалуу өзгөрүүсүн пи окуй ала турган бир аз санариптик сигналга айландырат. Кийинки бардык кадамдар үчүн 100 Ом менен сигналдын ортосундагы чекит биз пи менен схеманы үлгү кылган жерде болот.

    • Сүрөт
      Сүрөт

      1 -сүрөт: Райондук панель макетинин үстү

    • Сүрөт
      Сүрөт

      Сүрөт 2: Райондук панель макети альтернативдүү көрүнүш

    Эгерде сиз таза кароону кааласаңыз, мен төмөндө көрсөтүлгөн тактага кикад файлдарын тиркеп койгом.

    • Сүрөт
      Сүрөт

      3 -сүрөт: Сенсордук тактанын үстүңкү көрүнүшү

    • Сүрөт
      Сүрөт

      4 -сүрөт: ISO сенсордук тактасы

    • 4 -кадам: Тышкы кубат үчүн лазерди өзгөртүү

      Кийинки кадамдарда сиз лазердик көрсөткүч курамын курасыз.

      - Лазердик көрсөткүчтү ажыратыңыз. Муну аткарууда лазердик эмитентке карата батарея терминалдарынын багытын эске алыңыз. Эми лазерге кубат берилгенде, ал автоматтык түрдө күйөт.- Эми оңго жана терске лазерди ээрчиңиз. Эгерде сиз ошол эле лазерди бөлүктөр тизмесинен колдонуп жатсаңыз, анда төмөндөгү сүрөттү колдонуп, ширетүү пункттарын көрүңүз. Эгер андай болбосоңуз, анда сиз өзүңүзгө керектүү жерлерди табышыңыз керек болот. Сиз батареянын багытын оң же терс коргошун үчүн кыйытма катары колдоно аласыз. Акыркы ширетүүчү чекитти табуу үчүн сиз 5 в кубаттуулукту колдонуп, эки сыноо учу бар схеманы текшере аласыз. Туура схеманы түзгөнүңүздө, сиз ширетүүчү жерди таптыңыз, лазер күйүп калат.

      • Сүрөт
        Сүрөт

        Апельсин зым учурдагы баскычты алмаштырат

      • Сүрөт
        Сүрөт

        Оң жана терс корсотмолорду көрсөтүү

      - Акыркы кадам лазер үчүн багыттоочу монтаж постун жасоо болуп саналат, андыктан лазердик идишти көздөй оңой жөнгө салынат. Мен көпчүлүк лего бионикул комплекттери розетка түйүндөрүндө арзан шар үчүн эң сонун булак экенин билдим. Шариктин бир бөлүгүн супер клей менен лазердик көрсөткүчкө чаптаңыз. Эми сиз розетканы кайсы жерге болбосун орнотуп, лазерди киргизе аласыз.

      • Сүрөт
        Сүрөт

        Топ муун

      • Сүрөт
        Сүрөт

        Сокет бириктиргичи

      • Сүрөт
        Сүрөт

        Топ жана розетка чогулган

      • 5 -кадам: Лазерди күйгүзүңүз жана аныктоо схемасын текшериңиз

        Нан тактаңызга лазерди сайыңыз. Позитив 5v менен туташып, терс зымды жерге салуу керек болот. Эгерде лазер чоң күйгүзүлсө, андай болбосо, мультиметр менен туура чыңалууңуз бар экенин эки жолу текшериңиз. Эгерде ал дагы эле иштебей жатса, анда аны артка илип койгондо, коргошундарды алмаштырып көрүңүз. Эгерде ал дагы эле иштебесе, анда сиз туура подкладка эритип алган эмессиз, акыркы кадамга кайтыңыз.

        • Сүрөт
          Сүрөт

          Лазер дени сак нур менен иштейт

        Лазер нурун алгандан кийин, аныктоо чынжырын сыноо убактысы келди. Лазерди фотодиодго багыттаңыз. Светодиод активдүү экенин билдирген сигналды өчүрүшү керек. Колуңузду нур менен өткөрүңүз жана LED саякаттын сигналын күйгүзүшү керек.

        • Сүрөт
          Сүрөт

          Нур үзүлбөйт жана лампа өчүрүлгөн

        • Сүрөт
          Сүрөт

          Кирүүчү чыракты сындырат, бул жарыктын жарык болушуна алып келет

        • 6 -кадам: Веб -камераңызды туташтырып, анын иштешин текшериңиз

          Веб -камераңызды USB портуна туташтырыңыз. Видеону агылтуу үчүн биз mjpg-streamer утилитасын алышыбыз керек. Бул жерде муну кантип жасоо керек экендиги жөнүндө сонун окуу куралы бар. Сиз mjpg-стримерди туура орноткондон кийин. Терминалга төмөнкү буйрукту киргизүү менен видео агымын баштаңыз.

          cd /mjpg-streamer /mjpg-streamer орнотулган жерде

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

          Бул буйрук video0 булагын колдонуп 8081 портуна агым орнотот. Эгерде сиз бир нече веб -камераны кааласаңыз, жогорудагы буйрукту кайра киргизиңиз, бирок video0ду video1ге жана 8081ге 8082ге өзгөртүңүз. Мен 3 вебкамераны ушинтип агылтып койгом жана пи ашыкча жүктөлгөн эмес.

          Башка компьютерде браузерди ачуу менен туташуунун иштеп жаткандыгын текшериңиз жана ip-address-of-pi: 8081 же piге сиз localhost: 8081 кире аласыз. Эгерде сиз пиңиздин ipин билбесеңиз, төмөнкүлөрдү терминалга киргизиңиз

          ifconfig

          Эгерде баары иштеп жатса, сиз mpg-streamer башкы баракчасын көрүшүңүз керек. Вебкамераңыздын агымын көрүү үчүн агым өтмөгүн басыңыз. Төмөндө интерфейстин скриншоту.

          • Сүрөт
            Сүрөт

            mjpg-streamer үлгү чыгаруу

          Бул окуу куралын экинчи жолу жасоодо мен mjpg-streamer үй баракчасына кире алдым, бирок агымды көргөн жокмун. Муну оңдоо үчүн мен бул постту (шилтеме азыр бузулган), тактап айтканда YUYV пиксел форматындагы бөлүктү окудум, эгер сиз бош агымга туш болсоңуз, аны менен кеңешиңиз.

          7 -кадам: Тыныгуу

          Макул, ошондуктан бул учурда биз малинабызды пи менен иштетип алышыбыз керек. Биздин лазер тышкы энергия үчүн өзгөртүлгөн. Биздин аныктоочу схема курулган жана сиз лазер нуру фотодиодго тийгенде свет өчүп калаарын жана чыракты сындырганыңызда жарык күйгүзүлүшү керек экенин ырастадыңыз. Акырында, сиз веб -камераңызды туташтырып, функционалдык агымга ээ болушуңуз керек.

          Эми мунун баарын бир жерге чогултуу керек. Келгиле, программалык камсыздоонун лазер нурунун өчүүсүн аныктоого аракет кылуу менен баштайлы.

          Көрсөтүлгөндөй табуу схемасын нан тактасына илип коюңуз. Кийинки кадамга даярдануу үчүн сенсордун сигнал зымын 25 -пинге туташтырганыңызды текшериңиз. Ылдый түшүүчү резистор милдеттүү эмес. Менде 10к бар болчу, бирок кандайдыр бир каршылык кылышы керек.

          • Сүрөт
            Сүрөт

            PiCobler менен нан тактасынын макети

          • 8 -кадам: Программалык камсыздоо менен лазерди көзөмөлдөңүз

            Келгиле, лазер сигналын угуу үчүн кыска программа жазып, ошол чыгарууну терминалга жайгаштыралы. Сиз кодду тиркеме катары жүктөй аласыз.

            Балким, бул скриптке көз карандылыкты орнотушуңуз керек болот. Python жана gpio модулу. Буларды орнотуу үчүн киргизиңиз

            sudo apt-get python-rpi.gpio python3-rpi.gpio орнотуңуз

            Python ийгиликтүү орнотулгандан кийин, read_pin.py деп аталган тиркелген python скриптин жүктөп алып, иштетиңиз

            cd /директория, сиз файлды /chmod 777 read_pin.py

            Chmod буйругу скриптке иштөөгө уруксат берет. Андан кийин чуркоо менен баары жакшы жана дени сак экенин текшериңиз

            sudo python3 read_pin.py

            Эгерде баары ойдогудай болсо, сиз төмөндө көрсөтүлгөндөй консолдун чыгарылышын көрүшүңүз керек. Python скриптинен чыгуу үчүн, киргизиңиз

            Ctrl-C

          • Сүрөт
            Сүрөт

            Туура Консол Чыгуусу (MobaXterm менен көрсөтүлгөн)

          Лазер нурунун алдында колуңузду булгалаңыз жана консолдун үстүндө кандайдыр бир чыгууну көрүшүңүз керек, ал нур үзүлгөнүн билдирет. Системаңызды ар кандай жолдор менен аткаруу үчүн скрипт менен ойноп көрүңүз.

          9 -кадам: Агымды көрсөтүү үчүн веб -баракча түзүңүз

          Эми биз веб -камераны көрүү интерфейсин орнотушубуз керек. Бул кадам үчүн сиз apache веб -серверин орнотушуңуз керек болот. Аны орнотуу боюнча көптөгөн окуу куралдары бар. Бирок бул жерде эң аз конфигурациясы бар кыска тизме.

          sudo apt-get apache2 орнотуу

          орнотулгандан кийин, браузериңизде малина пи боюнча тере алышыңыз керек

          localhost

          Сиз apacheден саламдашуу барагын көрүшүңүз керек. Эгерде сиз веб -серверди биринчи жолу орнотуп жатсаңыз, анда сиз питериңизди статикалык IP дарегине конфигурациялагыңыз келиши мүмкүн, андыктан роутериңиз ар дайым туура IPди дайындайт, эгер сиз кубаттуулук циклин аткарсаңыз. Эгерде сиз коопсуздук тутумуңузду башка жерден көргүңүз келсе, роутериңизде порт багыттоону орнотушуңуз керек болот. Бир аз убакыт өттү, бирок менин оюмча, веб -камерасы бар портторду дагы жөнөтүү керек болот. Бул процедураларды камтыган көптөгөн окуу куралдары бар. Эгер роутериңизде порт багыттоону орнотууну тандасаңыз, веб камераңызды ким көрө аларын билиңиз.

          Тиркелген файлдар веб -сайтыңызды орнотуу үчүн колдоно турган веб -баракчалардын үлгүлөрү. Сиз html файлындагы файлдын кеңейтүүсүн өзгөртүшүңүз керек, анткени алар мага жүктөөгө уруксат бербейт. Кийинки файлдарды www папкаңызга apache конфигурация файлыңызга коюңуз. Демейки жайгашкан жери

          cd /var /www

          Эгерде сиз веб -сервер html файлдарыңызды издей турган жерди өзгөрткүңүз келсе, анда сиздин сайттар иштетилген файлды киргизип түзөтө аласыз

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

          Каалаган жерге/var/www/дын каалаган мисалын өзгөртүңүз. Мен/home/pi/Desktop/www/

          Веб папкасында html файлдары болгондон кийин, браузерге localhost же башка компьютерден piнин IP дарегин киргизиңиз. Сиз мындай нерсени көрүшүңүз керек.

          • Сүрөт
            Сүрөт

            Иштелген тиркелген файлдардын скриншоту

          ТАТТУУ!

          10 -кадам: Электрондук почта эскертмелерин орнотуңуз

          Жакшы нерселер болуп жатат! Алдын ала аныкталган электрондук почта дарегине piден электрондук почта эскертүүсүн жөнөтүүгө аракет кылып, биздин бактыбызга басым жасайлы. Тиркелген питон скрипти сиз жөнөткүңүз келген электрондук почтаңызды курат, gmail сыяктуу электрондук почта провайдерине туташат жана электрондук почта провайдерин колдонуп электрондук кат жөнөтөт. Бул smtp python пакетин колдонуу менен ишке ашат. Мен сизге коопсуздук системасы үчүн жасалма электрондук почта дарегин түзүүнү сунуштайм, анткени биз smtp пакети иштеши үчүн сиздин Gmail каттоо эсебиңиздин коопсуздугун азайтууга туура келет.

          Ийгиликтүү берүү үчүн бир нече жерде сценарийди өзгөртүүгө туура келет. Бул катуу комментарийленген жана сизге ыңгайлуулук үчүн терминалда көптөгөн жыйынтыктарды чыгарат.

          Сиз өзгөртө турган нерселер болот

          • your_ip = "192.168.0.177"
          • your_ip_optional_port = ": 8080"
          • port_to_camera = ": 8081"
          • Send_email_username = "сиздин электрондук почтаңыздын колдонуучу аты"
          • Send_email_password = "сырсөзүңүз"

          your_ip_optional_port мүмкүн, эгер сиздин apache сервериңиз демейки 80ден башка портта иштебесе, бош болуп калышы мүмкүн. Менде мурунтан эле 80де иштеген сервер бар болчу, ошондуктан мен пиимди 8080де иштей турган кылып койгом. mjpeg стримери аркылуу иштөө.

          Сценарийдин башында бул өзгөрмөлөрдү өзгөрткөндөн кийин, терминалды төмөнкүлөрдү киргизүү менен программаны иштетиңиз.

          cd /сиз скриптти койгон папка /

          sudo python3 send_mail.py

          Эгерде жылдыздар туура тегизделген болсо жана бардык өзгөрмөлөр туура болсо, сиз төмөндөгүгө окшош электрондук кат алышыңыз керек.

          • Сүрөт
            Сүрөт

            Иштелген тиркелген файлдардын скриншоту

          Бул скрипт иштебей калышы мүмкүн болгон көптөгөн жерлер бар. Биринчи жолу иштебесе, капаланбаңыз. Сценарийдеги мүчүлүштүктөрдү оңдоо пункттарын колдонуп, көйгөйлүү аймактарды тарыткыла, анан бир убакта бир көйгөйгө көңүл бургула.

          11 -кадам: Лазер өчүрүлгөндө электрондук почта скриптин иштетүү

          Эми пи электрондук каттарды жөнөтө алат, аны автоматташтыралы, лазерди өчүргөн сайын биз электрондук кат алабыз. Read_pin.py почтасынын скриптин тазалоо үчүн жаңы функцияга каршы келген өзгөртүлгөн версиясы тиркелген файлды жүктөп алыңыз. Негизги кошумча линия болуп төмөнкүлөр саналат

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

          Бул линия почта скриптин лазердик сезүү скриптине параллелдүү түрдө баштайт. Бул баалуу, анткени жөнөтүү почтасынын скрипти бир нече секундада бүтөт жана лазерди сезүүчү скрипт электрондук почта жөнөтүлгөнгө чейин иштебей калат. Бул бир камера тутуму үчүн көйгөй эмес, бирок эгер сизде бир нече камера болсо, анда камера 2 электрондук почта окуясын козгогон болсо дагы, камеранын 1 лазердик сапарын аныктоону каалайт элеңиз. Sm_pid өзгөрмөсү бул буйрук менен башталган процесстин пидин камтыйт. Биз бул идентификаторду текшеребиз, эгер электрондук почта триггери кайра чакырылса, ал дагы эле жөнөтүлүп жатат, ошондуктан биз окуяга көңүл бурбайбыз. Эгерде ал жок болсо, бул жаңы окуя болушу мүмкүн жана электрондук кат жөнөтүлөт.

          Тесттин баары чуркоо менен иштейт

          cd /файлды койгон каталог /

          chmod 777 read_pin_with_mail.py менен

          sudo python3 read_pin_with_mail.py менен

          Лазер нурун сындырганыңызда веб -камерадан алынган сүрөт менен электрондук кат алышыңыз керек.

          12 -кадам: Системаны баштоо үчүн Master Script түзүңүз

          Бул учурда долбоор негизинен жасалат. Акыркы кадам - бул акыркы скрипт менен системанын башталуусун жөнөкөйлөтүү. Ал бардык кичи программаларды ишке киргизет жана веб -камераны бир скрипт менен орнотот. Тиркелген файлды /etc/rc.local файлыңызды түзөтүү менен ишке киргизсе болот. Файлдын кеңейтүүсүн өзгөртүү керек жана скрипттерди башка жерге койсоңуз, туура жолдорду кошуу үчүн сценарийди түзөтүүгө туура келиши мүмкүн.

          13 -кадам: Жыйынтык

          Мейли, ошол. Бул көрсөтмө сизге жакты деп ишенем! Эгерде сизде кандайдыр бир суроолор болсо же кандайдыр бир чөйрөдө кененирээк маалымат керек болсо, комментарийлерде мага билдириңиз. Ой жүгүртүүнү улантыңыз!

          • Сүрөт
            Сүрөт

    Сунушталууда: