Índice:

Sistema de segurança Raspberry Pi Laser: 13 etapas (com imagens)
Sistema de segurança Raspberry Pi Laser: 13 etapas (com imagens)

Vídeo: Sistema de segurança Raspberry Pi Laser: 13 etapas (com imagens)

Vídeo: Sistema de segurança Raspberry Pi Laser: 13 etapas (com imagens)
Vídeo: Raspberry Pi High Quality Camera Getting Started Guide - First Pictures and Videos 2024, Julho
Anonim
Image
Image
Imagem
Imagem

Obrigado por verificar o meu instrutível. Ao final deste instrutível, você construirá o sistema tripwire a laser raspberry pi com a funcionalidade de alerta por e-mail que é mostrada no vídeo.

Para concluir este instrutível, você precisará estar familiarizado com os circuitos gerais e solda, saber como usar uma placa de ensaio e se sentir confortável ao usar o terminal no pi. Ter experiência em python também será útil.

Este projeto consiste em três sistemas principais. O framboesa pi, o circuito de tripwire do laser e um computador de observação. Nosso objetivo é usar o raspberry pi para detectar uma mudança de voltagem no circuito de tripwire do laser e, em seguida, alertar um computador observador na forma de um e-mail e vídeo.

Vamos começar.

Etapa 1: Arredondar os componentes necessários

Para concluir este projeto, você precisará dos seguintes itens.

  1. Pelo menos um Raspberry Pi operacional. Nesta compilação, usei um modelo B estilo Pi executando chiado de framboesa. Tenho certeza que este tutorial funcionará muito bem se você estiver executando o raspbian jessie.
  2. Uma fonte de alimentação externa para o framboesa pi. Estaremos consumindo uma quantidade significativa de amperagem assim que tudo isso estiver conectado. Passei muito tempo diagnosticando uma fonte de alimentação de baixa qualidade como minha fonte de problemas durante minha primeira construção. Certifique-se de ter uma potência forte capaz de fornecer pelo menos 2 amperes.
  3. Um ponteiro laser barato. Encontrei a minha ao lado da caixa registradora de um posto de gasolina. Se você quiser o laser exato, pode encontrá-lo aqui. O rótulo diz 630-680 nm para o comprimento de onda. Qualquer que seja o laser que você obtiver, determinará alguns dos outros componentes da construção. Portanto, certifique-se de que seu rótulo identifica seu comprimento de onda.
  4. Uma webcam estilo USB. Esta webcam possui um pé ajustável que permite posicionar bem a câmera. Descobri que o cabo USB que veio com a webcam era muito curto para o meu aplicativo, então encontrei uma extensão no monoprice.
  5. Algum tipo de kit de breakout para o raspberry pi para que você possa ter acesso fácil aos pinos do processador.

    Imagem
    Imagem
    Imagem
    Imagem
  6. Uma placa de ensaio.
  7. Um ferro de solda.
  8. Fios de ligação para a placa de ensaio.
  9. Componentes do circuito. Multiplique pela quantidade de fios de disparo que você deseja.

    • Um liderado de trabalho
    • Um resistor de 100 ohms
    • Um resistor de 1k
    • Um resistor de 10k
    • Um resistor de 200k Realmente, qualquer resistor grande serve. Eu testei com um resistor de 1M e funcionou bem. FYI 10k era muito pequeno.
    • Um transistor PNP PN: 2N4403-APCT-ND
    • Um fotodiodo (combine com o comprimento de onda do seu laser) PN: PDB-C142-ND

Anexarei os arquivos kicad da placa de circuito, mas não discutirei a fabricação da placa neste instrutível.

Ao longo do curso deste projeto, descobri que as seguintes ferramentas opcionais são úteis:

  1. Instalando sinergia no framboesa pi. Caso você não esteja familiarizado, este software permitirá que você controle o mouse e o teclado do raspberry pi com outro computador. Isso é bom se você for como eu e se sentir mais confortável em um computador diferente. Além disso, este é um software que todos deveriam ter.
  2. Um hub USB. Para cada webcam que deseja usar, você precisará de uma porta.
  3. Medidor de tensão ou osciloscópio, se você tiver.
  4. Usando MobaXterm para controlar o raspberry pi e manipular arquivos por meio de ssh. É obrigatório para qualquer pessoa criada em janelas. Veja este tutorial para se preparar para usá-lo.

Etapa 2: Coloque o Pi em funcionamento

  • Imagem
    Imagem

    O pi com componentes mínimos anexados

  • Antes que possamos disparar qualquer laser, há várias camadas de software que precisam ser construídas. Para ter a melhor chance de sucesso, é uma boa prática começar do zero. Para fazer isso, desconecte todos os itens desnecessários do Pi. Isso diminuirá as chances de haver interferência de um dispositivo conectado.

    Em seguida, certifique-se de que seu Raspberry Pi esteja instalado e funcionando com o software mais recente, digitando o seguinte no terminal

    sudo apt-get update

    Com o pi de framboesa atualizado, é hora de dar o próximo passo

    Etapa 3: Crie o circuito de detecção de laser

    Coloque os componentes na placa de ensaio, conforme mostrado. Alimente a placa de ensaio usando a saída de 5v do pi ou uma fonte de alimentação de bancada. Na figura 1, a alimentação de 5v está conectada ao trilho da placa de ensaio positivo no canto inferior esquerdo da imagem e o solo no canto superior esquerdo. Este circuito usa o fotodiodo como chave para acionar o transistor. O transistor converte a pequena mudança de voltagem no fotodiodo em um sinal um tanto digital que o pi pode ler. Para todas as etapas subsequentes, o ponto entre os 100 ohm e o led de sinal será onde amostramos o circuito com o pi.

    • Imagem
      Imagem

      Fig 1: Parte superior do layout da placa de ensaio do circuito

    • Imagem
      Imagem

      Fig 2: visualização alternativa do layout da placa de ensaio do circuito

    Se você quiser um visual mais limpo, anexei os arquivos kicad da placa que são mostrados abaixo.

    • Imagem
      Imagem

      Fig 3: vista superior da placa do sensor

    • Imagem
      Imagem

      Fig 4: Placa do sensor ISO

    • Etapa 4: Modifique o laser para alimentação externa

      Nas etapas a seguir, você construirá o conjunto do apontador laser.

      - Desmonte o apontador laser. Ao fazê-lo, observe a orientação dos terminais da bateria em relação ao emissor do laser.- A seguir, dessoldar a mola de conexão da bateria e o botão momentâneo do laser.- Solde um pedaço de fio entre os terminais onde estava o botão. Agora, quando a energia for fornecida ao laser, ele ligará automaticamente. - Agora solde os fios positivo e negativo no laser. Se você estiver usando o mesmo laser da lista de peças, pode usar a imagem abaixo para ver os pontos de solda. Se não estiver, pode ser necessário encontrar os pontos de solda por conta própria. Você pode usar a orientação da bateria como uma dica para o condutor positivo ou negativo. Para encontrar o último ponto de solda, você pode usar uma fonte de alimentação de 5 V e testar o circuito com dois cabos de teste. Depois de criar o circuito adequado, você encontrará o ponto de solda e o laser acenderá.

      • Imagem
        Imagem

        O fio laranja está substituindo o botão momentâneo

      • Imagem
        Imagem

        Mostrando os leads positivos e negativos

      - A etapa final é fazer um poste de montagem direcional para o laser para que possa ser facilmente ajustado para apontar para o receptáculo do laser. Eu descobri que a maioria dos kits de bionículos de lego são uma excelente fonte de juntas de bola em soquete baratas. Cole um pedaço da junta esférica no apontador laser usando supercola. Agora você pode montar a junta do soquete em qualquer superfície e encaixar o laser.

      • Imagem
        Imagem

        Junta esférica

      • Imagem
        Imagem

        Junta de soquete

      • Imagem
        Imagem

        Bola e soquete montados

      • Etapa 5: Ligue o laser e teste o circuito de detecção

        Conecte o laser em sua placa de ensaio. O positivo precisará ser conectado a 5v e aterrar o fio negativo. Se o laser estiver ótimo, se não, verifique se você tem a voltagem adequada com um multímetro. Se ainda não funcionar, tente trocar os fios caso você tenha conectado ao contrário. Se ainda não funcionar, você pode não ter feito a solda nas almofadas corretas, volte para a última etapa.

        • Imagem
          Imagem

          Trabalhando a laser com um feixe saudável

        Assim que tiver o feixe de laser, é hora de testar o circuito de detecção. Aponte o laser para o fotodiodo. O LED deve desligar, sinalizando que o feixe está ativo. Acene com a mão através do feixe e o LED deve acender, sinalizando uma viagem.

        • Imagem
          Imagem

          O feixe não está quebrado e o led está apagado

        • Imagem
          Imagem

          O intruso quebra o feixe fazendo com que o led acenda

        • Etapa 6: conecte sua webcam e teste sua funcionalidade

          Conecte sua webcam à porta USB. Para transmitir o vídeo, precisamos obter o utilitário mjpg-streamer. Aqui está um ótimo tutorial sobre como fazer exatamente isso. Depois de instalar corretamente o mjpg-streamer. Inicie o streaming de vídeo digitando o seguinte comando no terminal.

          cd / onde você instalou mjpg-streamer / mjpg-streamer

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

          Este comando irá configurar um fluxo na porta 8081 usando a fonte video0. Se desejar várias webcams, digite o comando acima novamente, mas altere video0 para video1 e 8081 para 8082. Transmiti até 3 webcams desta forma e o pi não estava sendo sobrecarregado.

          Teste se a conexão está funcionando abrindo um navegador em outro computador e digite o endereço ip do pi: 8081 ou no pi você pode simplesmente digitar localhost: 8081. Se você não sabe o seu ip do pi digite o seguinte no terminal

          ifconfig

          Se tudo estiver funcionando, você deverá ver a página inicial do mpg-streamer. Clique na guia stream para ver o stream de sua webcam. Abaixo está uma captura de tela da interface.

          • Imagem
            Imagem

            saída de amostra de mjpg-streamer

          Ao fazer este tutorial pela segunda vez, consegui acessar a página inicial do mjpg-streamer, mas não vi um stream. Para corrigir isso eu li este post (link agora quebrado), especificamente a parte sobre o formato de pixel YUYV, se você encontrar um stream em branco, você deve consultá-lo também.

          Etapa 7: intervalo

          Ok, então neste ponto devemos ter nosso pi de framboesa instalado e funcionando. Nosso laser foi modificado para alimentação externa. Nosso circuito de detecção foi construído e você confirmou que quando o feixe de laser atinge o fotodiodo, o led apaga e quando você interrompe o feixe, o led deve acender. Por último, você deve ter sua webcam conectada e transmitindo funcionalmente.

          Agora é hora de colocar tudo junto. Vamos começar de forma simples, tentando detectar o disparo do feixe de laser com um software.

          Conecte o circuito de detecção à placa de ensaio, conforme mostrado. Certifique-se de conectar o fio de sinal do sensor ao pino 25 em preparação para a próxima etapa. O resistor pull down não é opcional. Eu tinha um 10k ao redor, mas qualquer resistor deveria servir.

          • Imagem
            Imagem

            Layout da placa de ensaio com PiCobler

          • Etapa 8: Monitore o laser com software

            Vamos escrever um pequeno programa para ouvir o sinal do laser e postar essa saída no terminal. Você pode baixar o código como um anexo.

            Você provavelmente precisará instalar as dependências para este script. Python e o módulo gpio. Para instalá-los, entre

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

            Depois de instalar o python com sucesso, baixe o script python anexado chamado read_pin.py e execute

            cd / diretório onde você colocou o arquivo / chmod 777 read_pin.py

            O comando chmod dará permissão ao script para ser executado. Em seguida, teste se está tudo bem e elegante executando

            sudo python3 read_pin.py

            Se tudo correr bem, você deverá ver uma saída do console conforme mostrado abaixo. Para sair do script python, digite

            Ctrl-C

          • Imagem
            Imagem

            Saída correta do console (mostrado usando MobaXterm)

          Acene com a mão na frente do feixe de laser e você deverá ver alguma saída no console alertando-o de que o feixe foi interrompido. Sinta-se à vontade para brincar com o script para fazer seu sistema funcionar de maneiras diferentes.

          Etapa 9: Crie uma página da Web para exibir seu fluxo

          Agora precisamos configurar uma interface de visualização de webcam. Para esta etapa, você precisará instalar o servidor web apache. Existem muitos tutoriais por aí sobre como configurar um. Mas aqui está a pequena lista com configuração mínima.

          sudo apt-get install apache2

          uma vez instalado, você deve ser capaz de digitar no seu navegador no raspberry pi

          localhost

          Você deve ver a página de boas-vindas do apache. Se esta é a primeira vez que você configura um servidor web, você provavelmente vai querer configurar seu pi para ter um endereço IP estático para que seu roteador sempre atribua o ip adequado se você desligar e religar. Se você quiser ver o seu sistema de segurança de outro local, terá que configurar o encaminhamento de porta no seu roteador. Já faz um tempo, mas também acho que você precisará encaminhar todas as portas que possuem uma webcam. Existem muitos tutoriais por aí que cobrem esses procedimentos. Esteja ciente de que qualquer pessoa pode ver sua webcam se você decidir configurar o encaminhamento de porta no roteador.

          Os arquivos anexados são exemplos de páginas da web que você pode usar para configurar seu site. Você precisará alterar a extensão do arquivo no arquivo html, pois eles não me deixaram enviá-lo. Em seguida, coloque os arquivos em sua pasta www chamada em seu arquivo de configuração do apache. O local padrão é

          cd / var / www

          Se desejar alterar o local onde o servidor web procura seus arquivos html, você pode editar o arquivo habilitado para sites digitando

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

          Mude qualquer instância de / var / www / para o local desejado. Coloquei o meu em / home / pi / Desktop / www /

          Depois de ter os arquivos html na pasta da web, digite localhost no navegador ou o endereço IP do pi de outro computador. Você deveria ver algo assim.

          • Imagem
            Imagem

            Captura de tela dos arquivos anexados em operação

          SWEEEEET!

          Etapa 10: Configurar alertas de e-mail

          Coisas boas estão acontecendo! Vamos tentar a sorte tentando enviar um alerta de e-mail do pi para um endereço de e-mail predefinido. O script python anexado criará o e-mail que você deseja enviar, conectará a um provedor de e-mail como o Gmail e enviará o e-mail usando o provedor de e-mail. Isso é feito usando o pacote smtp do python. Eu sugiro que você crie um endereço de e-mail fictício apenas para o seu sistema de segurança, pois teremos que reduzir a segurança da sua conta do gmail para que o pacote smtp funcione.

          Você terá que modificar o script em vários lugares para obter uma transmissão bem-sucedida. É muito comentado e produzirá muitas saídas no terminal para sua conveniência.

          As coisas que você precisa mudar serão

          • your_ip = "192.168.0.177"
          • your_ip_optional_port = ": 8080"
          • port_to_camera = ": 8081"
          • send_email_username = "seu nome de usuário de e-mail"
          • send_email_password = "sua senha"

          your_ip_optional_port provavelmente estará vazio, a menos que seu servidor apache esteja rodando em uma porta diferente da 80 padrão. Eu já tinha um servidor rodando em 80, então configurei meu pi para rodar em 8080. A port_to_camera será a porta para a qual você especifica sua câmera executado usando streamer mjpeg.

          Depois de alterar essas variáveis no início do script, execute o programa inserindo o seguinte no terminal.

          cd / pasta onde você colocou o script /

          sudo python3 send_mail.py

          Se as estrelas estiverem alinhadas corretamente e todas as variáveis estiverem corretas, você deve receber um e-mail semelhante ao abaixo.

          • Imagem
            Imagem

            Captura de tela dos arquivos anexados em operação

          Existem muitos lugares onde esse script pode falhar. Não fique frustrado se não funcionar da primeira vez. Use os pontos de depuração no script para restringir as áreas problemáticas e, a seguir, concentre-se em um problema de cada vez.

          Etapa 11: Acione o script de e-mail quando o laser for acionado

          Agora que o pi é capaz de enviar e-mails, vamos automatizá-lo para que, cada vez que o laser for disparado, recebamos um e-mail. Baixe o arquivo anexo que é uma versão modificada de read_pin.py que contém uma nova função para lançar o script de e-mail. A principal linha adicional é a seguinte

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

          Essa linha iniciará o script de envio de email em paralelo com o script de detecção a laser. Isso é desejável porque o script de envio de email leva alguns segundos para ser concluído e bloquearia a execução do script de detecção a laser até que o email fosse enviado. Isso não é um problema para um único sistema de câmera, mas se você tivesse várias câmeras, gostaria de detectar um disparo de laser na câmera 1, mesmo que a câmera 2 tenha disparado um evento de e-mail. A variável sm_pid conterá o pid do processo que é iniciado por este comando. Verificamos esse id se o gatilho de e-mail for chamado novamente, se existir, o e-mail ainda está sendo enviado, então ignoramos o evento. Se não existir, é provável que seja um novo evento e um e-mail será enviado.

          Teste tudo está funcionando executando

          cd / diretório onde você colocou o arquivo /

          chmod 777 read_pin_with_mail.py

          sudo python3 read_pin_with_mail.py

          Ao interromper o feixe de laser, você deve receber um e-mail com a foto tirada da webcam.

          Etapa 12: Crie um script mestre para iniciar o sistema

          Neste ponto, o projeto está quase pronto. Uma última etapa é simplificar a inicialização do sistema com um último script. Ele irá lançar todos os subprogramas e configurar a webcam com um script. O arquivo anexado pode ser iniciado na inicialização editando seu arquivo /etc/rc.local. Você precisa alterar a extensão do arquivo e pode ter que editar o script para incluir os caminhos apropriados se você colocar seus scripts em um local diferente.

          Etapa 13: Conclusão

          Bem, é isso. Espero que você tenha gostado deste instrutível! Deixe-me saber nos comentários se você tiver alguma dúvida ou precisar de informações mais detalhadas em qualquer área. Continue mexendo!

          • Imagem
            Imagem

    Recomendado: