MotionSense
Componentes y suministros
| × | 1 | ||||
![]() |
| × | 1 | |||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Herramientas y máquinas necesarias
|
Aplicaciones y servicios en línea
|
Acerca de este proyecto
MotionSense




Introducción
En este tutorial, discutiré cómo crear un sistema que notifique cualquier actividad no autorizada o intrusión. Había usado Arduino y PIR para detección de actividad y ESP8266 para conectividad WiFi. My Xperia Z1 se utiliza para recibir notificaciones. Usé la aplicación de notificación popular Pushbullet para recibir notificaciones y las API de Pushbullet para enviar notificaciones desde Arduino.
Conocimientos previos
- Conocimiento en Arduino y hardware básico [visita:www.arduino.cc]
- Idea sobre los comandos AT [leer:http://www.codeproject.com/Articles/85636/Introduction-to-AT-commands-and-its-uses]
- PIR, cómo funciona [acerca de:https://en.wikipedia.org/wiki/Passive_infrared_sensor]
"Cosas" utilizadas
Arduino Mega 2560
Variante ESP-01 de WiFi serial ESP8266
Sensor PIR HC-SR501
Condensador de 1000 µF, diferentes resistencias [ condensador para fuente de alimentación WiFi, resistencia para regulación de voltaje ]
Hilos de un solo hilo de 0,5 mm [ cable conector ]
Cables de puente hembra-hembra [ conectores ]
Xperia Z1 [para la aplicación Pushbullet, cualquier teléfono inteligente servirá]
Mi computadora portátil [codificación en arduino]
IDE de Arduino [v1.6.4]
Qué HACER
Configuración del entorno: Si no tiene arduino instalado, instálelo desde el sitio web de arduino.
Ocultar código de copia
Configuración de PIR:
Supongo que necesita la máxima sensibilidad con un ciclo de alerta mínimo para obtener una mejor tasa de detección. Por lo tanto, configure los potenciómetros del sensor PIR así:
Ahora abra la esfera blanca del sensor PIR y verá la descripción del pin:GND | FUERA | VCC
Conecte puentes hembra con GND VCC y OUT.
Ahora conecte el otro extremo de los pines de puente (conectados a PIR) a Arduino:
PIR GND -> Arduino GND
PIR VCC -> Arduino 5V
SALIDA PIR -> PIN DIGITAL 2 [puede elegir el pin de acuerdo a su elección y cambiar el código arduino también]
Para probar su PIR, puede usar este código en Arduino Playground
Entonces su PIR el sensor está LISTO trabajar
Ocultar código de copia
Habilitación de Arduino para conectarse a Internet a través de WiFi:
Usé el módulo WiFi serial ESP8266 (variante ESP-01) para mi proyecto, que es bastante barato. Hay otras variantes disponibles además del ESP-01. También hay diferentes firmwares disponibles. Usé el predeterminado, el firmware AT. Verifique estas dos imágenes para referencia de conexión
No conecte ESP8266 con Arduino con cable de puente:
ESP8266 GND -> Arduino GND
ESP8266 UXTX (pin de transmisión) -> Arduino RX2 (Pin del mega receptor arduino, es decir, Serial2 en el código)
ESP8266 CH_PD (hacer ALTO) -> Arduino 5V (agregue un regulador de voltaje 0f 3.3 ya que ESP 8266 puede tolerar 3.3v. He usado una resistencia porque no tenía regulador de voltaje. Pero se prefiere el regulador de voltaje)
dejar RST, GPIO2 y GPIO0 no conectados
ESP8266 URXD (pin del receptor) -> Arduino TX2 (pin del receptor arduino, es decir, Serial2 en el código)
ESP8266 VCC -> 3.3v de Arduino
ESP8266 tiene problemas de energía en el momento de la transmisión de datos. Obtiene tanta energía de arduino que arduino puede reiniciarse si Arduino se alimenta a través del USB de la PC. Incluso con una fuente de alimentación de 5 V a través del enchufe, puede que no sea suficiente. Por lo tanto, siempre se recomienda utilizar una fuente de alimentación externa para ESP8266. Sin embargo, en mi experimento utilicé una solución rápida y barata para esto. Usé un capacitor de electrolito de 1000 µF para suministrar energía suficiente al ESP8266.
pin más largo -> ESP8266 VCC conectado a 3.3v
pin más corto -> ESP8266 GND conectado a arduino GND
Entonces su ESP8266 El módulo WiFi está LISTO trabajar
Ocultar código de copia
Notificador Pushbullet:
Pushbullet le permite notificar sin problemas a sus diferentes dispositivos a través de notificaciones push. Vamos a utilizar su API para notificaciones push de nuestro sensor PIR. LEER MÁS sobre Pushbullet
Empecemos.
Vaya a PushBullet
Regístrese, descargue la aplicación Chrome y la aplicación para teléfono inteligente.
Inicie sesión en Pushbullet . en sus dispositivos.
Ahora vea cómo funciona enviar algunos mensajes push a sus dispositivos usando la aplicación o la extensión de Chrome instalada en su PC.
Vaya a la sección API
NOTA:Aquí todos los enlaces de la API y las URL se proporcionan para la conexión https y Arduino no puede usar https ya que no es tan poderoso para manejar eso. Por lo tanto, usaremos la versión HTTP de esas API que no se mencionan aquí en los documentos pushbullet, pero obtuve esta referencia de github .
En los documentos pushbullet para empujar, mencionaron la URL que es HTTPS, por lo que usaremos la URL HTTP y el puerto proporcionado en ese proyecto github. También agregaremos / pushbullet antes y la ruta de REST que habían mencionado.
Ejemplo:
para enviar notificaciones a todos los dispositivos, de acuerdo con pushbullet doc , La ruta de REST es: / v2 / empuja
pero usaremos: / pushbullet / v2 / empuja
URL base: 173.17.168.19
puerto: 8181
Ahora verifique diferentes API y lea las descripciones para conocerlas. Puede usarlos más adelante para su versión mejorada de este tutorial.
Necesita su clave de autenticación para empujar desde arduino. Ve a tu Cuenta .
Busque el Token de acceso , cópielo y guárdelo en su PC en un lugar seguro.
Entonces Pushbullet ahora está LISTO para enviar y recibir notificaciones push.
Es hora de codificar ahora
Abra este Proyecto GitHub
Vaya a la carpeta Experimentos. Allí encontrará MotionSense.ino , su código que enviará notificaciones a sus dispositivos inteligentes.
Copie este código en arduino IDE y conecte su arduino (ya configurado con WiFi y sensor PIR).
Ahora cambie estos parámetros:
Ocultar código de copia
#define SSID "YOURSSID" / * reemplaza YOURSSID con el nombre de tu punto de acceso WiFi * / # define PASS "YOURPASSWORD" / * reemplaza TU PASSWORD con tu contraseña de punto de acceso WiFi * /
Es posible que desee cambiar el pin PIR OUT al pin que desee
Ocultar código de copia
#define PIRPIN 2 / * cambia a tu pin digital deseado de tu arduino * / # define AUTH_TOKEN "YOUR_TOKEN_FROM_YOUR_ACCOUNT"; / * reemplaza YOUR_TOKEN_FROM_YOUR_ACCOUNT con tu Access Token * /
También use su token de acceso como se menciona en el fragmento anterior.
Ahora compile y ejecute.
Llevará tiempo calibrar el sensor, inicializar el módulo WiFi y conectarse a su punto de acceso.
Puede ver estas cosas en su monitor serial.
Una vez hecho todo, comenzará a recorrer el bucle principal y verá
"Todo bien | Sin intrusiones"
en su monitor de serie de forma continua.
Siempre que vaya frente a su sensor PIR, este detectará movimiento y notificará Push a sus dispositivos.
Breve descripción del código
#defines son un conjunto de parámetros predefinidos que debe cambiar en consecuencia
En la configuración, puede ver la inicialización de arduino Serial (). Serial2 es para acceso en serie WiFi.
Comprensión de las funciones :
Ocultar código de copia
sensor_calibration (); / * Calibra el sensor para una salida adecuada. Necesitamos apagar PIRPIN antes de eso * /
Ocultar código de copia
check_WiFi_radio (); / * Comprueba si el módulo WiFi está bien o no * /
Ocultar código de copia
reset_wifi (); / * reinicia el módulo WiFi para solucionar cualquier problema * /
Ocultar código de copia
set_wifi_mode (); / * Establecer el módulo WiFi como cliente para conectarse al punto de acceso * /
Después de configurar el modo WiFi, debe restablecer WiFi para configurarlo
Ocultar código de copia
check_wifi_stat (); / * Comprueba si su módulo WiFi está conectado a AP o no * /
Ocultar código de copia
connect_ssid (); / * si no está conectado, se conectará con su parámetro de conexión * /
Hasta esto, su módulo WiFi se inicializó y conectó. Ahora debe verificar la lectura PIR si detectó movimiento o no. Estará debajo del bucle principal.
Ocultar código de copia
pirRead (); / * lee el valor PIR, ya sea 0 o 1. Si es 1, entonces Motion Sensed, si es 0, entonces no hay nada * /
Si detecta algo, primero debe conectarse al servidor Pushbullet
Ocultar código de copia
conexión_servidor (); / * conectándose al servidor * /
Ahora enviar notificación
Ocultar código de copia
post (); / * enviar notificaciones a todos los dispositivos * /
desconectar
Ocultar código de copia
desconexión_servidor (); / * cerrar la conexión del servidor * /
y recorrer
Código
Código MotionSense
Lea el archivo Léame del repositorio para obtener una explicación del código https://github.com/anupam19/ESP8266-experimentsEsquemas

Proceso de manufactura
- Tarjeta de visita del juego Tic Tac Toe
- Sensor de temperatura múltiple
- Control de cautín de bricolaje para 862D +
- Seguridad contra incendios de la impresora 3D
- Medidor de IoT con Arduino, Yaler e IFTTT
- Levitación electromagnética repulsiva Arduino
- Bot de agarre de control remoto
- Registrador de datos de globos meteorológicos con tecnología Arduino
- ArduFarmBot - Parte 2:Estación remota e implementación de IoT
- Reloj Flip Arduino de matriz de un solo LED
- CoroFence - Detector térmico🖖