Съдържание:

Лазерна система за защита на Raspberry Pi: 13 стъпки (със снимки)
Лазерна система за защита на Raspberry Pi: 13 стъпки (със снимки)

Видео: Лазерна система за защита на Raspberry Pi: 13 стъпки (със снимки)

Видео: Лазерна система за защита на Raspberry Pi: 13 стъпки (със снимки)
Видео: Запомни эту хитрость по доработке перфораторы для ровного сверления 2024, Юли
Anonim
Image
Image
Образ
Образ

Благодаря, че проверихте инструкциите ми. До края на тази инструкция вие ще изградите малинова система за лазерни триъгълници pi с функция за предупреждение по имейл, която е показана във видеото.

За да завършите тази инструкция, ще трябва да сте запознати с общите схеми и запояване, да знаете как да използвате макет и да се чувствате удобно да използвате терминала на pi. Наличието на опит в python също ще бъде полезно.

Този проект се състои от три основни системи. Малиновото пи, лазерната верига и компютър за наблюдение. Нашата цел е да използваме малиновото пи за откриване на промяна в напрежението на веригата на лазерния проводник и след това да предупредим наблюдаващ компютър под формата на имейл и видео поток.

Нека да започнем.

Стъпка 1: Закръглете необходимите компоненти

За да завършите този проект, ще ви трябват следните елементи.

  1. Най -малко един работещ Raspberry Pi. В тази компилация използвах модел B в стил Pi, изпълнен с raspbian wheezy. Сигурен съм, че този урок ще работи добре, ако използвате raspbian jessie.
  2. Външен източник на захранване за малиновото пи. Ще изтеглим значително количество ампераж, след като всичко това бъде свързано. Прекарах много време в диагностицирането на скапано захранване като източник на проблеми по време на първото ми изграждане. Уверете се, че имате мощна мощност, която може да генерира поне 2 ампера.
  3. Най -евтината лазерна показалка. Намерих моя до касата на бензиностанция. Ако искате точния лазер, можете да го намерите тук. Етикетът казва 630-680 nm за дължината на вълната. Какъвто и лазер да получите, ще определи някои от другите компоненти в конструкцията. Затова се уверете, че етикетът му идентифицира дължината на вълната му.
  4. Уеб камера в USB стил. Тази уеб камера има регулируем крак, който ви позволява да позиционирате камерата добре. Открих, че usb кабелът, доставен с уеб камерата, е твърде къс за моето приложение, така че намерих разширение на monoprice.
  5. Някакъв пробивен комплект за малиново пи, за да имате лесен достъп до щифтовете на процесора.

    Образ
    Образ
    Образ
    Образ
  6. Макет.
  7. Поялник.
  8. Джъмперни проводници за дъската.
  9. Компоненти на веригата. Умножете по желаното количество проводници.

    • Един работещ олово
    • Един резистор от 100 ома
    • Един 1k резистор
    • Един 10k резистор
    • Един 200k резистор Наистина всеки голям резистор ще свърши работа. Тествах го с 1M резистор и работи добре. FYI 10k беше твърде малък.
    • Един PNP транзистор PN: 2N4403-APCT-ND
    • Един фотодиод (съответства на това с дължината на вълната на лазера) PN: PDB-C142-ND

Ще прикача kicad файловете за платката, но няма да разглеждам производството на платката в тази инструкция.

По време на този проект открих, че следните допълнителни инструменти са полезни:

  1. Инсталиране на синергия на малиновото пи. В случай, че не сте запознати, този софтуер ще ви позволи да управлявате мишката и клавиатурата на малиново пи с друг компютър. Това е хубаво, ако сте като мен и се чувствате по -удобно на друг компютър. Също така това е софтуер, който всеки трябва да има.
  2. USB хъб. За всяка уеб камера, която искате да използвате, ще ви е необходим един порт.
  3. Измервател на напрежение или осцилоскоп, ако го имате.
  4. Използване на MobaXterm за управление на малиновото пи и манипулиране на файлове чрез ssh. Това е задължително за всеки, повдигнат на прозорци. Вижте този урок, за да се настроите да го използвате.

Стъпка 2: Вземете Pi и стартирайте

  • Образ
    Образ

    Пи с прикрепени минимални компоненти

  • Преди да можем да заснемем лазери, има няколко слоя софтуер, които трябва да бъдат конструирани. За да имате най -добри шансове за успех, е добра практика да започнете с чист план. За да направите това, изключете всички ненужни елементи от Pi. Това ще намали шансовете за смущения от свързано устройство.

    След това се уверете, че вашият Raspberry Pi работи и работи с най -новия софтуер, като въведете следното в терминала

    sudo apt-get update

    С актуалното малиново пи е време за следващата стъпка

    Стъпка 3: Създайте верига за откриване на лазер

    Поставете компонентите върху платката, както е показано. Захранвайте макета, като използвате 5v изхода на pi или настолно захранване. На фигура 1 захранването 5v е свързано с положителната релса в долния ляв ъгъл на изображението и земята в горния ляв ъгъл. Тази схема използва фотодиода като превключвател за задействане на транзистора. Транзисторът преобразува малката промяна на напрежението на фотодиода в донякъде цифров сигнал, който pi може да прочете. За всички следващи стъпки точката между 100ohm и светодиодния сигнал ще бъде мястото, където изпробваме веригата с pi.

    • Образ
      Образ

      Фигура 1: Горна схема на схемата на схемата

    • Образ
      Образ

      Фигура 2: Алтернативен изглед на схемата на схемата

    Ако искате по -чист вид, прикачих kicad файловете за дъската, която е показана по -долу.

    • Образ
      Образ

      Фигура 3: Изглед отгоре на сензорната платка

    • Образ
      Образ

      Фигура 4: ISO сензорна платка

    • Стъпка 4: Променете лазера за външно захранване

      В следващите стъпки ще изградите лазерния показалец.

      - Разглобете лазерната показалка. Когато правите това, обърнете внимание на ориентацията на клемите на батерията по отношение на лазерния излъчвател.- След това отлепете пружината за свързване на батерията и моментния бутон от лазера.- Запояйте парче тел между клемите, където е бил бутонът. Сега, когато се подаде захранване към лазера, той ще се включи автоматично.- Сега запоявайте положителните и отрицателните проводници към лазера. Ако използвате същия лазер от списъка с части, можете да използвате снимката по -долу, за да видите точките на спойка. Ако не сте, може да се наложи сами да намерите точките за запояване. Можете да използвате ориентацията на батерията като намек за положителния или отрицателния проводник. За да намерите последната точка на спойка, можете да използвате 5v захранване и да сондирате веригата с два тестови проводника. Когато сте създали правилната верига, сте намерили точката на запояване и лазерът ще светне.

      • Образ
        Образ

        Оранжевият проводник замества моментния бутон

      • Образ
        Образ

        Показване на положителните и отрицателните страни

      - Последната стъпка е да се направи насочен монтажен стълб за лазера, така че да може лесно да се регулира, за да се насочи към лазерния приемник. Открих, че повечето комплекти от лего бионикули са отличен източник за евтина топка в гнездата. Залепете едно парче от сферичната става към лазерната показалка с помощта на супер лепило. Сега можете да монтирате гнездото към всяка повърхност и да поставите лазера.

      • Образ
        Образ

        Сферична става

      • Образ
        Образ

        Гнездо за съединение

      • Образ
        Образ

        Топка и гнездо сглобени

      • Стъпка 5: Включете лазера и тествайте веригата за откриване

        Включете лазера в дъската. Положителят ще трябва да бъде свързан към 5v и да заземи отрицателния проводник. Ако лазерът се включи чудесно, ако не, проверете два пъти дали имате правилното напрежение с мултицет. Ако все още не работи, опитайте да смените кабелите в случай, че сте го закачили назад. Ако все още не работи, може да не сте запоени към правилните подложки, върнете се към последната стъпка.

        • Образ
          Образ

          Работен лазер със здрав лъч

        След като лазерното излъчване е време да тествате веригата за откриване. Насочете лазера към фотодиода. Светодиодът трябва да се изключи, като сигнализира, че лъчът е активен. Махнете с ръка през лъча и светодиодът трябва да се включи, сигнализирайки за прекъсване.

        • Образ
          Образ

          Лъчът не е счупен и светодиодът е изключен

        • Образ
          Образ

          Натрапникът прекъсва лъча, което води до светване на светодиода

        • Стъпка 6: Свържете вашата уеб камера и тествайте нейната функционалност

          Свържете вашата уеб камера към USB порта. За да предадем поточно видеото, трябва да получим помощната програма mjpg-streamer. Ето един страхотен урок за това как да направите точно това. След като инсталирате mjpg-streamer правилно. Стартирайте поточно видео, като въведете следната команда в терминала.

          cd /където сте инсталирали mjpg-streamer /mjpg-streamer

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

          Тази команда ще настрои поток на порт 8081, използвайки източника video0. Ако искате няколко уеб камери, въведете отново горната команда, но променете video0 на video1 и 8081 на 8082. По този начин предавах до 3 уеб камери и пи не беше претоварен.

          Проверете дали връзката работи, като отворите браузър на друг компютър и въведете ip-address-of-pi: 8081 или на pi можете просто да въведете localhost: 8081. Ако не знаете вашия ip на pi, въведете следното в терминала

          ifconfig

          Ако всичко работи, трябва да видите началната страница на mpg-streamer. Щракнете върху раздела поток, за да видите потока от уеб камера. По -долу е екранна снимка на интерфейса.

          • Образ
            Образ

            mjpg-стример изходен изход

          Правейки този урок за втори път, имах достъп до началната страница на mjpg-streamer, но не видях поток. За да поправя това, прочетох тази публикация (връзката сега е прекъсната), по -специално частта за YUYV пикселния формат, ако срещнете празен поток, трябва да се консултирате и с него.

          Стъпка 7: Антракт

          Добре, така че в този момент би трябвало нашето малиново пи да работи. Нашият лазер е модифициран за външно захранване. Нашата верига за откриване е изградена и сте потвърдили, че когато лазерният лъч удари фотодиода, светодиодът се изключва и когато прекъснете лъча, светодиодът трябва да се включи. И накрая, трябва да имате свързана уеб камера и функционално поточно предаване.

          Сега е време да съберем всичко заедно. Нека започнем просто, като се опитаме да открием прекъсване на лазерния лъч със софтуер.

          Свържете веригата за откриване към основната платка, както е показано. Уверете се, че сте свързали сигналния проводник на сензора към щифт 25 в подготовка за следващата стъпка. Изтеглящият резистор не е по избор. Имах 10 хиляди, но всеки резистор трябва да го направи.

          • Образ
            Образ

            Оформление на платка с PiCobler

          • Стъпка 8: Наблюдавайте лазера със софтуер

            Нека напишем кратка програма, за да слушаме лазерния сигнал и да публикуваме този изход към терминала. Можете да изтеглите кода като прикачен файл.

            Вероятно ще трябва да инсталирате зависимостите за този скрипт. Python и модулът gpio. За да ги инсталирате, въведете

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

            След като имате успешна инсталация на python, изтеглете прикачения скрипт на python, наречен read_pin.py и стартирайте

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

            Командата chmod ще даде на скрипта разрешение за изпълнение. След това проверете дали всичко е наред и елегантно, като бягате

            sudo python3 read_pin.py

            Ако всичко върви добре, трябва да видите конзолен изход, както е показано по -долу. За да излезете от скрипта на python, въведете

            Ctrl-C

          • Образ
            Образ

            Правилен изход на конзолата (показан с помощта на MobaXterm)

          Махнете с ръка пред лазерния лъч и трябва да видите някакъв изход на конзолата, който ви предупреждава, че лъчът е счупен. Не се колебайте да играете със скрипта, за да накарате системата ви да работи по различни начини.

          Стъпка 9: Създайте уеб страница за показване на потока си

          Сега трябва да настроим интерфейс за гледане на уеб камера. За тази стъпка ще трябва да инсталирате apache уеб сървър. Има много уроци за настройването на такъв. Но тук е краткият списък с минимална конфигурация.

          sudo apt-get инсталирайте apache2

          след като бъде инсталиран, трябва да можете да въведете браузъра си в малиново пи

          localhost

          Трябва да видите страницата за добре дошли от apache. Ако за първи път настройвате уеб сървър, вероятно ще искате да конфигурирате вашето pi да има статичен 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 в браузъра или ip адреса на pi от друг компютър. Трябва да видите нещо подобно.

          • Образ
            Образ

            Екранна снимка на приложените файлове в действие

          СЛАДКО!

          Стъпка 10: Настройване на имейл сигнали

          Случват се хубави неща! Нека натиснем късмета си, като се опитаме да изпратим предупреждение по имейл от pi на предварително определен имейл адрес. Прикаченият скрипт на python ще изгради вашия имейл, който искате да изпратите, ще се свърже с доставчик на имейл, като gmail, и ще изпрати имейла с помощта на доставчика на имейл. Това се постига с помощта на smtp пакета на python. Предлагам ви да направите фиктивен имейл адрес само за вашата система за сигурност, тъй като ще трябва да намалим сигурността на вашия gmail акаунт, за да може smtp пакетът да работи.

          Ще трябва да промените скрипта на няколко места, за да получите успешно предаване. Той е силно коментиран и ще произвежда много изходи на терминала за ваше удобство.

          Нещата, които ще трябва да промените, ще бъдат

          • 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, затова настроих моя pi да работи на 8080. Port_to_camera ще бъде портът, към който посочвате камерата си стартирайте с помощта на mjpeg стример.

          След като промените тези променливи в началото на скрипта, стартирайте програмата, като въведете следното в терминала.

          cd /папка, където сте поставили скрипта /

          sudo python3 send_mail.py

          Ако звездите са подравнени правилно и всички променливи са правилни, трябва да получите имейл, подобен на този по -долу.

          • Образ
            Образ

            Екранна снимка на приложените файлове в действие

          Има много места, където този скрипт може да се провали. Не се разочаровайте, ако не работи за първи път. Използвайте точките за отстраняване на грешки в скрипта, за да стесните проблемните области и след това да се съсредоточите върху един проблем наведнъж.

          Стъпка 11: Задействайте скрипта за имейл при задействане на лазера

          Сега, когато pi е в състояние да изпраща имейли, нека го автоматизираме, така че всеки път, когато лазерът се задейства, получаваме имейл. Изтеглете прикачения файл, който е модифицирана версия на read_pin.py, който съдържа нова функция за стартиране на скрипта за поща. Основната допълнителна линия е следната

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

          Този ред ще стартира скрипта за изпращане на поща паралелно със скрипта за лазерно откриване. Това е желателно, тъй като скриптът за изпращане на поща отнема няколко секунди, за да завърши и би блокирал изпълнението на скрипта за лазерно измерване, докато имейлът не бъде изпратен. Това не е проблем за една система от камери, но ако имате няколко камери, бихте искали да откриете лазерно изключване на камера 1, дори ако камера 2 е задействала събитие по имейл. Променливата sm_pid ще съдържа pid на процеса, който се стартира от тази команда. Проверяваме за този идентификатор дали задействането на имейла е извикано отново, ако съществува, имейлът все още изпраща, така че игнорираме събитието. Ако не съществува, това вероятно е ново събитие и е изпратен имейл.

          Тествайте, че всичко работи, като стартирате

          cd /директория, където поставяте файла /

          chmod 777 read_pin_with_mail.py

          sudo python3 read_pin_with_mail.py

          Когато счупите лазерния лъч, трябва да получите имейл със снимката, направена от уеб камерата.

          Стъпка 12: Създайте главен скрипт за стартиране на системата

          На този етап проектът е най -вече завършен. Последната стъпка е да се опрости стартирането на системата с един последен скрипт. Той ще стартира всички подпрограми и ще настрои уеб камерата с един скрипт. Прикаченият файл може да бъде стартиран при стартиране, като редактирате вашия /etc/rc.local файл. Трябва да промените разширението на файла и може да се наложи да редактирате скрипта, за да включите правилните пътища, ако поставите скриптовете си на друго място.

          Стъпка 13: Заключение

          Ами това е. Надявам се да ви хареса тази инструкция! Кажете ми в коментарите, ако имате въпроси или имате нужда от по -подробна информация във всяка област. Продължавай да се занимаваш!

          • Образ
            Образ

    Препоръчано: