Alarme de intruso com notificação por mensagem de texto
Componentes e suprimentos
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Aplicativos e serviços online
| ||||
|
Sobre este projeto
Isso é muito fácil de fazer e não requer solda ou habilidades avançadas.
Funciona assim:
O sensor de alcance detecta interrupção em pings --->
Chamadas para Temboo via WIFI --->
Diz à Twilio API para enviar texto!
Este tutorial mostra como criar um alarme de intrusão que envia alertas de mensagem de texto quando um movimento é detectado. Isso pode parecer complicado, mas estou bastante confiante de que qualquer iniciante em eletrônica será capaz de fazer isso muito bem. O sensor de alcance detecta o movimento e informa à placa Arduino para enviar o texto. Assim você pode deixar o detector de intrusão em casa, conectado à sua rede, e ainda receber os alertas SMS, não importa onde você esteja, desde que tenha serviço de celular.
Este é um projeto muito rápido e fácil, leva cerca de 45 minutos para ser concluído. As peças podem ser adquiridas na Amazon por cerca de US $ 80 a US $ 90 ou cerca de US $ 50 se você não se importar em esperar no AliExpress.com. O custo principal é uma placa Arduino com recursos WIFI, no entanto, uma vez que você tenha isso, ela pode ser usada em muitos outros projetos e pode se divertir muito mais ...
Peças que você PRECISA:
-HC-SRO4 Sensor de alcance
- Placa Arduino Yun ou Leonardo com escudo WIFI
-4 fios de jumper
- Um mini breadboard (se quiser)
-Uma bateria de 9V
- Uma caixa de bateria de 9 V com plug de cilindro e interruptor liga / desliga
Links para partes e códigos podem ser encontrados aqui:
Links e código de peças
Etapa 1:Faça essas conexões e teste!
Conecte seu sensor de alcance à sua placa, conforme mostrado no diagrama aqui.
Primeiro vamos testar nosso sensor de alcance e ter certeza de que está funcionando.
Vá para o primeiro bloco de código aqui http://wirebeings.com/arduino-intruder-alarm.html
e copie / cole no IDE do Arduino.
Conecte sua placa e carregue o esboço.
Puxe o monitor serial e verifique se ele está no 9600 BAUD.
Você verá uma série de números sendo impressos
(esta é a distância que o objeto mais próximo está do sensor em polegadas)
Sempre que uma diferença grande o suficiente em pings for detectada pelo sensor, ele imprimirá "Intruder Detected" no monitor serial.
Etapa 2:conecte sua placa à rede WiFi.
Se você estiver usando um Arduino Yun, siga as instruções aqui:
https://www.arduino.cc/en/Main/ArduinoBoardYun
Se você estiver usando um Leonardo com um escudo wi-fi Iduino, siga as instruções aqui:
http://www.geeetech.com/wiki/index.php/Iduino_Yun_Shield
Para testar e certificar-se de que ele está conectado à mesma rede que o seu computador, você pode usar o terminal e fazer uma varredura LAN rápida da sua rede ou baixar um programa gratuito que fará isso por você.
Eu uso um Mac, então baixei o LanScan da loja Mac.
Etapa 3:Adicionando a funcionalidade de mensagem de texto.
Abra o IDE do Arduino e crie um novo esboço.
Copie e cole o segundo bloco de código daqui no IDE do Arduino:
http://wirebeings.com/arduino-intruder-alarm.html
Clique na seta para baixo no lado direito e clique em criar nova guia.
Chame-o de TembooAccount.h
Volte ao site acima e copie e cole o último bloco de código (o arquivo de cabeçalho) nele.
Salve isso.
Agora você precisa criar uma conta no Temboo e no Twilio para que possa adicionar suas informações ao código.
Etapa 4:adicione suas credenciais Twilio e Temboo ao esboço.
Navegue até as configurações da conta do Twilio para encontrar o SID da sua conta e o token de autenticação (clique no botão de bloqueio para exibi-lo)
Adicione-os ao esboço principal dentro das aspas quando apropriado "***********"
Volte para a página inicial do Twilio e clique em Conta novamente. Acesse os números de telefone e isso lhe dará seu número de telefone "Enviado de", adicione-o ao código.
Por fim, adicione o número de telefone com o qual deseja receber o texto e personalize a mensagem, se desejar.
(Mantenha os números de telefone neste formato ou não funcionará "+1 *******")
Agora vá para o arquivo de cabeçalho e adicione as informações da sua conta Temboo. Faça login em sua conta Temboo e clique em Aplicativos para obter todas essas informações.
Salve-o e clique em upload.
Alimente sua placa com a bateria de 9V (aperte o botão liga) e puxe o monitor serial para se certificar de que está funcionando !!!
A conexão pode demorar cerca de 20 segundos.
Etapa 5:E ... ESTÁ TERMINADO!
Se você está tendo problemas onde não está funcionando corretamente. Altere o intervalo de números nesta declaração destacada na imagem aqui.
Esta afirmação significa que você enviará a mensagem se a distância do objeto mais próximo for menor que 20 ou maior que 500. Dependendo de onde ele está localizado em sua casa e qual é o objeto mais próximo, esses valores precisarão ser reproduzidos para fazer funcionar corretamente.
Isso é melhor feito no estágio de teste, em que o código não envia realmente a mensagem de texto (o primeiro bloco de código no site), porque você só recebe um número limitado de chamadas gratuitas para o Temboo e a API do Twilio, então não desperdice eles! Não se preocupe, embora o código realmente o impeça de enviar mais de 10 chamadas antes que a placa tenha que ser desconectada e reiniciada.
Me pergunte se eu ficaria feliz em ajudar!
Código
- IntruderDectectorTEST
- Código completo com funcionalidade de texto
IntruderDectectorTEST Arduino
// CÓDIGO DE TESTE #includeint trigPin =2; int echoPin =4; longa duração, cm, polegadas; configuração vazia () {Serial.begin (9600); pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); atraso (5000); Serial.println ("Modo de patrulha iniciado ...");} void loop () {digitalWrite (trigPin, LOW); atrasoMicrosegundos (1); digitalWrite (trigPin, HIGH); atrasoMicrosegundos (2); digitalWrite (trigPin, LOW); pinMode (echoPin, INPUT); duração =pulseIn (echoPin, HIGH); polegadas =(duração / 2) / 74; Serial.println (polegadas); if (polegadas <20 || polegadas> 1000) {Serial.println ("Intruso detectado!"); Serial.println ("Enviando notificação de texto ..."); atraso (5000); Serial.println ("Modo de patrulha iniciado ..."); } // fim da instrução if} // fim do loop
Código completo com funcionalidade de texto Arduino
#include#include #include "TembooAccount.h" // contém informações da conta Temboo, conforme descrito abaixo # include int numRuns =1; // Contagem de execução, para que não seja executado para sempreint maxRuns =5; // Número máximo de vezes que o coreo deve ser executadoint trigPin =2; int echoPin =4; longa duração, cm, polegadas; void setup () {Serial.begin (9600); pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); // Para depuração, espere até que o console serial seja conectado delay (5000); Bridge.begin (); Serial.println ("Modo de patrulha iniciado ...");} void loop () {digitalWrite (trigPin, LOW); atrasoMicrosegundos (1); digitalWrite (trigPin, HIGH); atrasoMicrosegundos (2); digitalWrite (trigPin, LOW); pinMode (echoPin, INPUT); duração =pulseIn (echoPin, HIGH); polegadas =(duração / 2) / 74; Serial.println (polegadas); if (polegadas <20 || polegadas> 1100) {Serial.println ("Intruso detectado!"); Serial.println ("Enviando notificação de texto ..."); if (numRuns <=maxRuns) {Serial.println ("Executando SendSMS - Run #" + String (numRuns ++)); TembooChoreo SendSMSChoreo; // Invoca o cliente Temboo SendSMSChoreo.begin (); // Definir credenciais da conta Temboo SendSMSChoreo.setAccountName (TEMBOO_ACCOUNT); SendSMSChoreo.setAppKeyName (TEMBOO_APP_KEY_NAME); SendSMSChoreo.setAppKey (TEMBOO_APP_KEY); // Definir entradas do Choreo SendSMSChoreo.addInput ("AuthToken", "e684a4f37ee686636e2b1e24c12f4279"); SendSMSChoreo.addInput ("Para", "+14125236422"); SendSMSChoreo.addInput ("De", "+14123608633"); SendSMSChoreo.addInput ("Corpo", "Intruso detectado !!!!!!"); SendSMSChoreo.addInput ("AccountSID", "ACf3be01a84d78829e5619c16b6e16a9e4"); // Identifica o Choreo para executar SendSMSChoreo.setChoreo ("/ Library / Twilio / SMSMessages / SendSMS"); // Execute o Choreo; quando os resultados estiverem disponíveis, imprima-os em serial SendSMSChoreo.run (); while (SendSMSChoreo.available ()) {char c =SendSMSChoreo.read (); Serial.print (c); } SendSMSChoreo.close (); } Serial.println ("Esperando ..."); atraso (10000); // espera 10 segundos entre as chamadas SendSMS Serial.println ("Patrol Mode Initiated ..."); } // fim da instrução if} // fim do loop
Esquemas
Processo de manufatura
- A integração dos dados do sensor com o microprocessador Raspberry Pi
- Sensor de rastreamento de linha com RPi
- API do sensor ambiental com um RPi
- Sensor de movimento, alarme, gravação de vídeo em HA no Raspberry Pi
- Alarme de água Raspberry pi 2 com t sapateiro mais
- Sensor de alcance ultrassônico HC-SR04 no Raspberry Pi
- Aeroponia com Raspberry Pi e sensor de umidade
- Raspberry Pi GPIO com sensor de movimento PIR:Melhor tutorial
- Usando o sensor de radar pulsado A111 com um Raspberry Pi
- Interface do sensor de movimento HC-SR501 PIR com Raspberry Pi