Taula de continguts:

Sistema de seguretat làser Raspberry Pi: 13 passos (amb imatges)
Sistema de seguretat làser Raspberry Pi: 13 passos (amb imatges)

Vídeo: Sistema de seguretat làser Raspberry Pi: 13 passos (amb imatges)

Vídeo: Sistema de seguretat làser Raspberry Pi: 13 passos (amb imatges)
Vídeo: Утепление балкона изнутри. Как правильно сделать? #38 2024, Juliol
Anonim
Image
Image
Imatge
Imatge

Gràcies per comprovar la meva instrucció. Al final d'aquest instructiu, construireu el sistema tripwire làser raspberry pi amb la funcionalitat d'alerta per correu electrònic que es mostra al vídeo.

Per completar aquesta instrucció, haureu de familiaritzar-vos amb el circuit general i la soldadura, saber utilitzar una taula de tall i estar còmode utilitzant el terminal del pi. Tenir experiència en python també serà útil.

Aquest projecte consta de tres sistemes principals. El raspberry pi, el circuit làser tripwire i un ordinador d’observació. El nostre objectiu és utilitzar el raspberry pi per detectar un canvi de voltatge al circuit làser tripwire i després alertar un ordinador d’observació en forma de correu electrònic i vídeo.

Anem a començar.

Pas 1: arrodoneu els components necessaris

Per completar aquest projecte necessitareu els elements següents.

  1. Almenys un Raspberry Pi operatiu. En aquesta compilació he utilitzat un model Pi de l’estil B que utilitza raspbian wheezy. Estic segur que aquest tutorial funcionarà bé si esteu executant raspbian jessie.
  2. Una font d'alimentació externa per al raspberry pi. Dibuixarem una quantitat important d’amperatge un cop connectat tot això. Vaig passar molt de temps diagnosticant una font d'alimentació merda com la meva font de problemes durant la meva primera construcció. Assegureu-vos que tingueu una potència potent que pugui obtenir almenys 2 amperes.
  3. Un punter làser cheapo. Vaig trobar la meva al costat de la caixa registradora en una benzinera. Si voleu el làser exacte, el podeu trobar aquí. L'etiqueta diu 630-680 nm per a la longitud d'ona. El làser que obtingueu determinarà alguns dels altres components de la construcció. Assegureu-vos, doncs, que l’etiqueta identifiqui la seva longitud d’ona.
  4. Una càmera web d’estil USB. Aquesta càmera web té un peu ajustable que us permet posicionar la càmera bé. Vaig trobar que el cable USB que venia amb la càmera web era massa curt per a la meva aplicació, de manera que vaig trobar una extensió a monopreu.
  5. Alguna mena de kit per al raspberry pi perquè pugueu accedir fàcilment als pins del processador.

    Imatge
    Imatge
    Imatge
    Imatge
  6. Una pissarra.
  7. Un soldador.
  8. Filferros de pont per a la taula de tall.
  9. Components del circuit. Multipliqueu per la quantitat de cables de viatge que vulgueu.

    • Un treballant dirigit
    • Una resistència de 100 ohm
    • Una resistència de 1 k
    • Una resistència de 10 k
    • Una resistència de 200 k Realment ho farà qualsevol resistència gran. El vaig provar amb una resistència de 1 M i va funcionar bé. FYI 10k era massa petit.
    • Un transistor PNP PN: 2N4403-APCT-ND
    • Un fotodiode (coincideix amb la longitud d'ona del làser) PN: PDB-C142-ND

Jo adjuntaré els fitxers kicad per a la placa de circuit, però no revisaré la fabricació de la placa en aquest instructiu.

Al llarg d’aquest projecte he trobat a la mà les següents eines opcionals:

  1. Instal·lació de sinergia al raspberry pi. Per si no esteu familiaritzats, aquest programari us permetrà controlar el ratolí i el teclat del raspberry pi amb un altre ordinador. Això és bo si sou com jo i us sentiu més còmodes en un equip diferent. A més, aquest és un programari que tothom hauria de tenir.
  2. Un hub USB. Per a cada càmera web que vulgueu utilitzar, necessitareu un port.
  3. Tensiómetre o oscil·loscopi si en teniu.
  4. Utilitzar MobaXterm per controlar el raspberry pi i manipular fitxers mitjançant ssh. És imprescindible per a tothom que es planteja a les finestres. Consulteu aquest tutorial per configurar-lo per utilitzar-lo.

Pas 2: feu funcionar el Pi

  • Imatge
    Imatge

    El pi amb components mínims connectats

  • Abans de poder disparar qualsevol làser, cal construir diverses capes de programari. Per tenir les millors possibilitats d’èxit, és una bona pràctica començar amb una pissarra neta. Per fer-ho, desconnecteu els elements innecessaris del Pi. D’aquesta manera disminuirà les possibilitats d’interferència d’un dispositiu connectat.

    A continuació, assegureu-vos que el vostre Raspberry Pi estigui funcionant amb el programari més recent introduint el següent al terminal

    sudo apt-get update

    Amb el raspberry pi actualitzat, és hora del següent pas

    Pas 3: creeu el circuit de detecció làser

    Col·loqueu els components a la pissarra tal com es mostra. Alimenteu la placa mitjançant la sortida de 5 V del pi o una font d'alimentació de sobretaula. A la figura 1, el subministrament de 5v està connectat al rail positiu de la placa de la part inferior esquerra de la imatge i el terra a la part superior esquerra. Aquest circuit utilitza el fotodiode com a interruptor per activar el transistor. El transistor converteix el petit canvi de voltatge del fotodiode en un senyal una mica digital que el pi pot llegir. Per a tots els passos posteriors, el punt entre el 100ohm i el senyal led serà on es mostri el circuit amb el pi.

    • Imatge
      Imatge

      Fig 1: Part superior del disseny del tauler de circuits

    • Imatge
      Imatge

      Fig 2: Vista alternativa del disseny del tauler de circuits

    Si voleu un aspecte més net, he adjuntat els fitxers kicad del tauler que es mostra a continuació.

    • Imatge
      Imatge

      Fig 3: Vista superior de la placa sensor

    • Imatge
      Imatge

      Fig 4: placa de sensors ISO

    • Pas 4: Modifiqueu el làser per alimentació externa

      En els passos següents es construirà el conjunt del punter làser.

      - Desmunteu el punter làser. En fer-ho, observeu l’orientació dels terminals de la bateria respecte a l’emissor làser. A continuació, dessoldeu la molla de connexió de la bateria i el polsador momentani del làser. - Soldeu un tros de fil entre els terminals on hi havia el botó. Ara, quan s’alimenta el làser, s’encén automàticament. Si utilitzeu el mateix làser de la llista de peces, podeu utilitzar la imatge següent per veure els punts de soldadura. Si no ho és, potser haureu de trobar vosaltres mateixos els punts de soldadura. Podeu utilitzar l’orientació de la bateria com a suggeriment per al potencial positiu o negatiu. Per trobar l'últim punt de soldadura, podeu utilitzar una font d'alimentació de 5 V i sondejar el circuit amb dos cables de prova. Quan hàgiu creat el circuit adequat, haureu trobat el punt de soldadura i el làser s’encendrà.

      • Imatge
        Imatge

        El cable taronja substitueix el polsador momentani

      • Imatge
        Imatge

        Mostrant els avantatges positius i negatius

      - L'últim pas és fer un pal de muntatge direccional per al làser perquè es pugui ajustar fàcilment per apuntar al receptacle del làser. He descobert que la majoria dels kits de bionícules de lego són una font excel·lent per obtenir boles barates en les juntes de sòcol. Enganxeu una peça de la bola al punter làser amb una super cola. Ara podeu muntar la junta de sòcol a qualsevol superfície i introduir el làser.

      • Imatge
        Imatge

        Articulació de bola

      • Imatge
        Imatge

        Junta de sòcol

      • Imatge
        Imatge

        Bola i sòcol muntats

      • Pas 5: engegueu el làser i proveu el circuit de detecció

        Connecteu el làser a la taula de treball. El positiu haurà d’estar connectat a 5v i posar a terra el cable negatiu. Si el làser s’activa molt bé, si no, comproveu que teniu la tensió adequada amb un multímetre. Si encara no funciona, proveu de canviar els cables en cas que l’enganxeu cap enrere. Si encara no funciona, potser no us heu soldat amb els coixinets adequats, torneu al darrer pas.

        • Imatge
          Imatge

          Funcionament làser amb un feix saludable

        Un cop tingueu el raig làser, és hora de provar el circuit de detecció. Apunteu el làser cap al fotodiode. El LED s’ha d’apagar indicant que el feix està actiu. Agiteu la mà a través del feix i el LED hauria d’encendre’s per indicar un viatge.

        • Imatge
          Imatge

          La biga no està trencada i el led està apagat

        • Imatge
          Imatge

          L’intrús trenca el feix provocant la il·luminació del led

        • Pas 6: connecteu la vostra càmera web i proveu-ne la funcionalitat

          Connecteu la vostra càmera web al port USB. Per transmetre el vídeo, necessitem obtenir la utilitat mjpg-streamer. Aquí teniu un gran tutorial sobre com fer-ho. Un cop tingueu instal·lat correctament mjpg-streamer. Comenceu a transmetre vídeo introduint l'ordre següent al terminal.

          cd / on heu instal·lat mjpg-streamer / mjpg-streamer

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

          Aquesta ordre configurarà un flux al port 8081 mitjançant la font video0. Si voleu diverses càmeres web, torneu a introduir l'ordre anterior, però canvieu video0 a video1 i 8081 a 8082. He transmès fins a 3 càmeres web d'aquesta manera i el pi no s'estava sobrecarregant.

          Comproveu que la connexió funciona obrint un navegador en un altre equip i introduïu l'adreça ip de pi: 8081 o al pi podeu introduir localhost: 8081. Si no coneixeu la vostra IP del pi, introduïu el següent al terminal

          ifconfig

          Si tot funciona, hauríeu de veure la pàgina principal de mpg-streamer. Feu clic a la pestanya de reproducció per veure el flux de la vostra càmera web. A continuació es mostra una captura de pantalla de la interfície.

          • Imatge
            Imatge

            sortida de mostra mjpg-streamer

          En fer aquest tutorial per segona vegada, vaig poder accedir a la pàgina d'inici de mjpg-streamer, però no vaig veure cap transmissió. Per solucionar-ho, he llegit aquest missatge (enllaç ara trencat), específicament la part sobre el format de píxels YUYV, si trobeu un flux en blanc també ho haureu de consultar.

          Pas 7: interrupció

          D’acord, per tant, en aquest moment hauríem de tenir el nostre raspberry pi en marxa. El nostre làser ha estat modificat per alimentar-lo externament. El nostre circuit de detecció s’ha construït i heu confirmat que quan el feix làser impacta contra el fotodiode, el led s’apaga i, quan trenca el feix, el led s’hauria d’encendre. Per últim, haureu de tenir la vostra càmera web connectada i de manera funcional.

          Ara és el moment de muntar-ho tot. Comencem de manera senzilla intentant detectar el disparament del feix làser amb el programari.

          Connecteu el circuit de detecció al tauler d’expressió tal com es mostra. Assegureu-vos de connectar el cable de senyal del sensor al pin 25 en preparació per al següent pas. La resistència desplegable no és opcional. Vaig tenir una instal·lació de 10k, però qualsevol resistència hauria de fer-ho.

          • Imatge
            Imatge

            Disseny de taulers de pa amb PiCobler

          • Pas 8: superviseu el làser amb el programari

            Escrivim un programa curt per escoltar el senyal làser i publicar aquesta sortida al terminal. Podeu descarregar el codi com a fitxer adjunt.

            Probablement haureu d’instal·lar les dependències d’aquest script. Python i el mòdul gpio. Per instal·lar-los, introduïu

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

            Un cop tingueu instal·lada Python amb èxit, descarregueu l'script adjunt de Python anomenat read_pin.py i executeu-lo

            cd / directori on poseu el fitxer / chmod 777 read_pin.py

            L'ordre chmod donarà permís a l'script per executar-se. A continuació, proveu que tot estigui bé i dandy corrent

            sudo python3 read_pin.py

            Si tot va bé, hauríeu de veure una sortida de la consola com es mostra a continuació. Per sortir de l'script python, introduïu

            Ctrl-C

          • Imatge
            Imatge

            Sortida de consola correcta (es mostra amb MobaXterm)

          Agiteu la mà davant del feix làser i hauríeu de veure una sortida a la consola que us avisarà que el feix s'ha trencat. No dubteu a jugar amb el guió per aconseguir que el vostre sistema funcioni de diferents maneres.

          Pas 9: creeu una pàgina web per mostrar el vostre tauler d'activitat

          Ara hem de configurar una interfície de visualització de càmeres web. Per a aquest pas, haureu d'instal·lar el servidor web Apache. Hi ha un munt de tutorials per configurar-ne un. Però aquí teniu la llista curta amb una configuració mínima.

          sudo apt-get install apache2

          un cop instal·lat, hauríeu de poder escriure al navegador al raspberry pi

          localhost

          Hauríeu de veure la pàgina de benvinguda des de l'apache. Si és la primera vegada que configureu un servidor web, probablement voldreu configurar el vostre pi per tenir una adreça IP estàtica, de manera que el vostre encaminador sempre assignarà la IP adequada si feu un cicle d’alimentació. Si voleu veure el vostre sistema de seguretat des d’una altra ubicació, haureu de configurar el reenviament de ports al vostre encaminador. Ha passat un temps, però també crec que també haureu de reenviar els ports que tinguin una càmera web. Hi ha un munt de tutorials que cobreixen aquests procediments. Tingueu en compte que qualsevol persona pot veure la vostra càmera web si decidiu configurar el reenviament de ports al vostre encaminador.

          Els fitxers adjunts són exemples de pàgines web que podeu utilitzar per configurar el lloc web. Haureu de canviar l'extensió del fitxer html, ja que no em permetrien penjar-la. A continuació, col·loqueu els fitxers a la carpeta www cridats al fitxer de configuració de l'apache. La ubicació predeterminada és

          cd / var / www

          Si voleu canviar la ubicació on el servidor web busca els vostres fitxers html, podeu editar el fitxer habilitat per llocs

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

          Canvieu qualsevol instància de / var / www / a la ubicació que vulgueu. He posat el meu a / home / pi / Desktop / www /

          Un cop tingueu els fitxers html a la carpeta web, introduïu localhost al navegador o l'adreça IP del pi des d'un altre equip. Hauríeu de veure alguna cosa així.

          • Imatge
            Imatge

            Captura de pantalla dels fitxers adjunts en funcionament

          SWEEEEET!

          Pas 10: configureu les alertes per correu electrònic

          Estan passant coses bones! Premeu la nostra sort intentant enviar una alerta de correu electrònic des del pi a una adreça de correu electrònic predefinida. L'escriptura Python adjunta crearà el correu electrònic que vulgueu enviar, es connectarà a un proveïdor de correu electrònic com ara Gmail i enviarà el correu electrònic mitjançant el proveïdor de correu electrònic. Això s’aconsegueix utilitzant el paquet smtp de python. Us suggerim que feu una adreça de correu electrònic fictícia només per al vostre sistema de seguretat, ja que haurem de reduir la seguretat del vostre compte de Gmail perquè el paquet smtp funcioni.

          Haureu de modificar l'script en diversos llocs per aconseguir una transmissió amb èxit. És molt comentat i produirà moltes sortides al terminal per a la vostra comoditat.

          Les coses que hauràs de canviar seran

          • your_ip = "192.168.0.177"
          • your_ip_optional_port = ": 8080"
          • port_to_camera = ": 8081"
          • Send_email_username = "el vostre nom d'usuari de correu electrònic"
          • Send_email_password = "la vostra contrasenya"

          és probable que your_ip_optional_port estigui buit tret que el vostre servidor apache estigui executant-se en un port diferent del 80 per defecte. Ja tenia un servidor en funcionament a 80, així que he configurat el meu pi perquè s'executi a 8080. El port_to_camera serà el port al qual especifiqueu la càmera executeu amb mjpeg streamer.

          Un cop hàgiu canviat aquestes variables al començament de l'script, executeu el programa introduint el següent al terminal.

          cd / carpeta on col·loqueu el script /

          sudo python3 send_mail.py

          Si les estrelles estan alineades correctament i totes les variables són correctes, hauríeu de rebre un correu electrònic similar al següent.

          • Imatge
            Imatge

            Captura de pantalla dels fitxers adjunts en funcionament

          Hi ha molts llocs on aquest script pot fallar. No us frustreu si no funciona la primera vegada. Utilitzeu els punts de depuració de l'script per reduir les àrees de problemes i, a continuació, centreu-vos en un problema a la vegada.

          Pas 11: activació de l'script de correu electrònic quan s'inicia el làser

          Ara que el pi pot enviar correus electrònics, automatitzem-lo de manera que cada cop que s'activi el làser rebem un correu electrònic. Descarregueu el fitxer adjunt que és una versió modificada de read_pin.py que conté una nova funció per llançar l'script de correu. La línia addicional principal és la següent

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

          Aquesta línia posarà en marxa l’escriptura d’enviament de correu en paral·lel a l’escriptura de detecció làser. Això és desitjable perquè l’escriptura d’enviament de correu triga uns quants segons a completar-se i bloquejaria l’escriptura de detecció làser fins que no s’enviés el missatge. Això no és un problema per a un sistema de càmera individual, però si teniu diverses càmeres, voldríeu detectar un viatge làser a la càmera 1 fins i tot si la càmera 2 ha activat un esdeveniment de correu electrònic. La variable sm_pid contindrà el pid del procés que s'inicia amb aquesta ordre. Comprovem aquest identificador si es torna a trucar a l'activador de correu electrònic si existeix, el correu electrònic encara s'està enviant, de manera que ignorem l'esdeveniment. Si no existeix, és probable que sigui un esdeveniment nou i s'enviï un missatge de correu electrònic.

          Prova tot funciona funcionant

          cd / directori on poseu el fitxer /

          chmod 777 read_pin_with_mail.py

          sudo python3 read_pin_with_mail.py

          Quan trenqueu el feix làser, haureu de rebre un correu electrònic amb la instantània extreta de la càmera web.

          Pas 12: creeu un script mestre per iniciar el sistema

          En aquest moment, el projecte està realitzat principalment. Un darrer pas és simplificar l’inici del sistema amb un darrer script. Iniciarà tots els subprogrames i configurarà la càmera web amb un script. El fitxer adjunt es pot iniciar a l'inici editant el fitxer /etc/rc.local. Heu de canviar l'extensió del fitxer i potser haureu d'editar l'script per incloure els camins adequats si col·loqueu els scripts en una ubicació diferent.

          Pas 13: Conclusió

          Doncs això és tot. Espero que us hagi agradat aquest instructiu! Feu-me saber als comentaris si teniu cap pregunta o necessiteu informació més detallada en qualsevol àrea. Segueix jugant!

          • Imatge
            Imatge

    Recomanat: