Índice:

Sistema de alarme de detecção de movimento: 11 etapas (com imagens)
Sistema de alarme de detecção de movimento: 11 etapas (com imagens)

Vídeo: Sistema de alarme de detecção de movimento: 11 etapas (com imagens)

Vídeo: Sistema de alarme de detecção de movimento: 11 etapas (com imagens)
Vídeo: TUDO SOBRE ALARME SENSOR DE PRESENÇA CÂMERA IP ICSEE 2024, Julho
Anonim
Sistema de alarme de detecção de movimento
Sistema de alarme de detecção de movimento

Observação! Blocos reativos não estão mais disponíveis para download. Uma câmera USB básica pode ser usada para detectar movimento em uma sala. Nas etapas a seguir, mostraremos como você pode usar blocos reativos para programar um aplicativo Java pronto para executar que envia SMS ou e-mail quando o movimento é detectado. Com o Reative Blocks, você faz aplicativos Java SE para que o aplicativo de alarme possa ser implantado em qualquer máquina com Java SE e uma câmera conectada ou integrada. O aplicativo é facilmente implantado no Pi, já que o lançamento do Raspbian tem o Oracle Java pré-instalado..

Isto é o que você precisa:

  1. Raspberry Pi Modelo B + com Raspbian OS
  2. Câmera USB padrão
  3. Cabo Ethernet
  4. Tela e teclado para o Pi
  5. Computador Windows ou MAC com JDK
  6. Observação! Blocos reativos não estão mais disponíveis para download. Você precisará do Reactive Blocks, um plugin do Eclipse, para programar o aplicativo.

Este aplicativo de alarme é um dos vários exemplos de sistemas modificáveis que podem ser acessados após a instalação dos blocos reativos. O aplicativo está pronto para ser executado fora da caixa e você não precisará de nenhum conhecimento de programação Java para concluir o tutorial. Para fazer seus próprios aplicativos e blocos de construção do Reactive Blocks, você precisa ser um programador Java proficiente. Ao construir aplicativos mais complexos com vários sensores e atuadores, os blocos reativos tornam mais fácil obter a lógica e o fluxo de dados corretos. Blocos reativos são gratuitos para projetos de código aberto.

Etapa 1: instalar blocos reativos

Blocos reativos foram descontinuados

Etapa 2: Baixe o aplicativo das bibliotecas

Baixe o aplicativo das bibliotecas
Baixe o aplicativo das bibliotecas

Certifique-se de ter aberto a perspectiva Blocos reativos e de estar na visualização Blocos. Na visualização Blocos, selecione o botão Importar e escolha Aplicativos de referência. Selecione o projeto de detecção de movimento. Neste ponto, você será solicitado a se registrar com um ID do Google. Isso lhe dará acesso imediato às bibliotecas de blocos de construção e sistemas e tutoriais modificáveis.

O projeto de detecção de movimento que você baixou inclui três aplicativos, o SMS do sistema de alarme, o e-mail do sistema de alarme e um aplicativo de teste para detecção de movimento de teste. Neste tutorial, vamos guiá-lo através do SMS do Sistema de Alarme. Se você preferir enviar e-mail, você pode seguir os mesmos passos com o e-mail do sistema de alarme

Etapa 3: O aplicativo de nível superior

O aplicativo de nível superior
O aplicativo de nível superior

Esta etapa fornece uma explicação do aplicativo. A primeira imagem mostra o diagrama da aparência do aplicativo completo no nível superior. É composto por 7 blocos de construção; 5 blocos de construção padrão das bibliotecas e 2 blocos personalizados que foram feitos para este aplicativo.

Os blocos padrão da biblioteca IoT são:

  • Grabber, captura imagens da câmera USB
  • Detecção de movimento, realiza a detecção de imagem real
  • O cronômetro periódico começa em carimbos de hora precisos e envia um sinal no marcador a cada período.
  • Buffer Eager, empurra o primeiro elemento da fila automaticamente. O buffer garante que apenas uma mensagem seja enviada ao bloco SMS Send, uma vez que ele pode processar apenas uma mensagem por vez.
  • SMS Send Buffered, envia SMS através do serviço Twilio. Os elementos a serem enviados são armazenados em buffer para garantir que apenas uma mensagem seja enviada por vez.
  • Limitador, para evitar muitos SMS quando um intruso é detectado.
  • Leia o arquivo de propriedades Java, lê os dados de configuração do arquivo de entrada
  • Exibir, exibe uma imagem na tela.

O bloco do temporizador periódico funciona como um mecanismo do sistema. Ele emitirá periodicamente um tique que envia um sinal para o bloco Grabber por meio do pino de captura. O bloco Grabber usa a Análise Multimídia Inteligente Aberta para Java, OpenIMAJ. Quando o bloco é inicializado, um thread separado é iniciado para ler os dados da câmera. O encadeamento escuta uma fila de comandos. Quando o bloco recebe um comando por meio do pino de garra, ele tira uma foto e a exibe no pino de imagem.

A imagem é então passada para o bloco de detecção de movimento que realiza a detecção da imagem real. O bloco de detecção de movimento também usa OpenIMAJ. Um método dentro deste bloco compara duas imagens e sinalizará alterações na imagem quando o movimento for detectado. O método usa muito a CPU e deve ser executado em um thread separado. Quando uma imagem é detectada, ela é sinalizada no pino motionDetected que irá acionar a geração de uma mensagem SMS.

As caixas azuis claras são todos métodos Java feitos especificamente para este aplicativo. Clicar em um bloco de método abre o editor Java.

Ao clicar em um bloco de construção, você pode ver os detalhes da lógica dentro do bloco. Se você, por exemplo, olhar dentro do bloco ReadConfig, verá que ele é feito combinando um bloco de construção existente e 4 métodos Java.

O Limitador coloca um limite na quantidade de mensagens geradas. Observe o P no canto direito do bloco de construção. Indica que você pode definir o miniterval de quanto tempo o aplicativo deve esperar antes de enviar um novo SMS. A configuração padrão é 300000ms, ou seja, 5 minutos. Para alterar o valor. Clique com o botão direito no bloco e escolha os parâmetros e os genéricos.

Etapa 4: habilitar SMS

Habilitar SMS
Habilitar SMS

Este aplicativo de alarme usa Twilio como serviço SMS. Para habilitar o SMS, você deve editar o arquivo config / alarm-system.properties. Você pode encontrá-lo na visualização do explorador de pacotes em br.ref.motiondetection, veja a imagem.

Este arquivo é o mesmo usado no Email do Sistema de Alarme. Se preferir receber notificações por e-mail, você usará este aplicativo e editará o arquivo com suas credenciais de e-mail.

Se você não tem o serviço Twilio, pode modificar o aplicativo para usar seu próprio serviço de SMS. Também temos um bloco de construção pronto para usar para o serviço Clickatell. Ou você pode conectar um modem para enviar SMS.

Você pode encontrar blocos de construção para e-mail SMTP, AirVantage Cloud, IBM Bluemix e Xively, para citar alguns.

Observe que, para fazer alterações, você precisa primeiro fazer seu próprio projeto. Em seguida, copie / duplique o aplicativo em seu projeto recém-criado. Você pode ver como isso é feito aqui:

Não hesite em me contatar se precisar de ajuda

Etapa 5: crie e execute o aplicativo em seu laptop

Crie e execute o aplicativo em seu laptop
Crie e execute o aplicativo em seu laptop

Você precisa construir o aplicativo antes de executá-lo e implantá-lo no Raspberry Pi. Isso é feito usando o gerador de código do Reactive Blocks, que cria um projeto Java completo a partir da estrutura dos blocos de construção. O código que representa os diagramas é o código de sincronização que trata os eventos na ordem certa e no momento certo e, normalmente, é responsável por mais de 60% das linhas do código em seu programa. Como os blocos de construção são estruturas matemáticas precisas, o gerador pode transformar essa lógica em um código muito eficiente. Este é um recurso de Blocos Reativos muito bom porque escrever esse código manualmente é tedioso e difícil. Para gerar o código, isso é tudo que você precisa fazer:

Clique com o botão direito do mouse no projeto Alarm System SMS na guia Projects e selecione a edição padrão Java. Certifique-se de que as informações de registro sejam INFO. O projeto gerado será aberto automaticamente na guia Package Explorer. Veja a figura para detalhes.

Etapa 6: execute o aplicativo em seu computador

Execute o aplicativo em seu computador
Execute o aplicativo em seu computador
Execute o aplicativo em seu computador
Execute o aplicativo em seu computador

Agora você pode executar o projeto gerado. Na visualização Package Explorer sob o projeto _exe gerado, clique com o botão direito do mouse em AlarmSystemSMS.launch e selecione RunAs e escolha AlarmSystemSMS.

Observe a janela na tela e a visualização do Console. Deve ser parecido com a segunda foto.

Encerre o aplicativo fechando a janela da câmera.

Para o aplicativo de envio de e-mail: Se você obtiver um erro de autenticação, certifique-se de que o envio de SMTP seja permitido para o seu e-mail. Consulte a solução de problemas na parte inferior do tutorial por e-mail:

Etapa 7: Exportar como arquivo JAR executável

Exportar como arquivo JAR executável
Exportar como arquivo JAR executável

Se você deseja executar o aplicativo em um Raspberry Pi, a próxima etapa é exportar o projeto gerado para um arquivo JAR executável. Para fazer isso, clique com o botão direito do mouse no projeto executável na visualização do explorador de pacotes e escolha exportar. Em seguida, selecione a opção Arquivo JAR executável e clique em Avançar. Na janela seguinte, selecione a configuração de inicialização adequada e o destino de exportação. No destino de exportação, use o botão de navegação para colocar o arquivo.jar em um local onde possa encontrá-lo.

Etapa 8: prepare seu Raspberry Pi

  • Prepare o cartão SD com Raspbian (testamos usando NOOBS)
  • Insira o cartão SD no Raspberry pi
  • Conecte a camera
  • Conecte a rede
  • Conecte uma tela e um teclado ao Pi
  • Inicie o Raspberry pi conectando o micro USB para fornecimento de energia.
  • Descubra o endereço IP do seu Raspberry Pi. Quando inicializado, o Raspberry Pi relatará algo como "Meu endereço IP é 10.10. 15.107"
  • Testamos com Raspbian (login padrão: pi, senha: raspberry), que inclui Java por padrão.

Etapa 9: implantar o aplicativo no seu Raspberry Pi

Para copiar o arquivo jar executável do seu computador para o Rapsberry Pi, siga estas etapas:

  • Abra um terminal em sua máquina
  • Vá para o diretório onde o arquivo JAR gerado está localizado
  • Digite scp alarmsystem.jar [email protected]: ~ /
  • Será solicitada a combinação da senha. "pi" é o nome de usuário padrão e "raspberry" a senha padrão
  • Vá para o diretório onde o arquivo de configuração alarm_system.properties está localizado. O mais fácil para mim é copiar manualmente o arquivo do editor Eclipse para o mesmo diretório do arquivo jar.
  • Digite scp motiondetection.ini [email protected]: ~ /

10.10.15.107 é o endereço IP, substitua-o pelo endereço IP do seu Raspberry Pi.

- Você também pode usar um cartão de memória para copiá-lo para o Pi

Etapa 10: execute o aplicativo no seu Raspberry Pi

Agora você está pronto para executar o aplicativo.

  • Faça login no Raspberry Pi direta ou remotamente via ssh.
  • Crie um novo diretório de configuração: mkdir config
  • Verifique se o arquivo JAR executável e.ini foram copiados para o Raspberry Pi
  • Mova o arquivo.ini para o diretório de configuração: mv alarm_system.properties config /
  • Digite sudo java -jar alarmsystem.jar
  • Observe a saída no console
  • Terminar com ^ C

Etapa 11: modifique seu aplicativo

Agora você pode modificar e estender seu aplicativo como desejar. Se você deseja estender um sistema importado como este sistema de alarme, primeiro você precisa fazer seu próprio projeto e duplicar o sistema de alarme para o seu próprio projeto.

Observe que, para fazer alterações, você precisa primeiro fazer seu próprio projeto. Em seguida, copie / duplique o aplicativo em seu projeto recém-criado. Você pode ver como isso é feito aqui:

Siga a trilha IoT Tuturial para obter descrições passo a passo sobre como construir ou modificar aplicativos específicos de blocos reativos.

Recomendado: