Reciba una notificación por correo electrónico y SMS cuando su pulso sea anormal
Componentes y suministros
| × | 1 | ||||
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 7 |
Aplicaciones y servicios en línea
![]() |
| |||
| ||||
| ||||
|
|
Acerca de este proyecto
Los dispositivos de monitoreo de frecuencia cardíaca 24x7, como las bandas de fitness, son comunes en el mercado en este momento e incluso podría tener uno o dos. ¿Qué pasaría si pudiera hacer un dispositivo similar pero también pudiera enviarle un SMS o correo electrónico o ambos si se detecta una anomalía en su frecuencia cardíaca? ¿Entusiasmado? Este proyecto trata sobre cómo hacerlo de la manera más fácil posible.
Vea el proyecto en acción:
Paso 1:Conexión del módulo del sensor de frecuencia cardíaca a Arduino
Con cables de puente macho a hembra, realice las siguientes conexiones:
- pin 2 de Arduino y pin de salida del módulo del sensor de frecuencia cardíaca.
- Pin de 5V de Arduino y pin VCC del módulo del sensor de frecuencia cardíaca.
- Pin GND de Arduino y pin GND del módulo del sensor de frecuencia cardíaca.
Paso 2:codificación en Arduino
Instale Arduino IDE desde https://www.arduino.cc/en/Main/Software y escriba el siguiente código:
unsigned long highCounter =0; int pulse =0; int val =0; int lastPulse =LOW; unsigned long oldMillis =0; configuración vacía () {pinMode (2, ENTRADA); Serial.begin (9600); } bucle vacío () {pulso =lectura digital (2); if (pulso! =últimoPulso) {últimoPulso =pulso; if (pulse ==HIGH) highCounter ++;} // imprime y reinicia el highCounter cada segundosif (millis () - oldMillis> =10000) {oldMillis =millis (); val =contador alto * 6; if (contador alto> 1) Serial.println (val); highCounter =0;}}
Guarde, verifique y cargue el código.
Este código:
- Recopile datos del módulo del sensor de frecuencia cardíaca,
- Calcula la frecuencia cardíaca
- Imprime el valor para que el módulo wifi Bolt pueda recibirlo mediante comunicación en serie.
Paso 3:Conexión del módulo Wifi BOLT a Arduino
Con cables de puente macho a macho, realice las siguientes conexiones:
- Pin 3V3 del módulo Wifi BOLT y pin 3.3V de Arduino
- Pin TX del módulo Wifi BOLT y pin RX de Arduino
- Pin RX del módulo Wifi BOLT y pin TX de Arduino
Estas conexiones alimentan el módulo Wifi BOLT y establecen la comunicación en serie entre el módulo Wifi BOLT y Arduino.
En este punto, todas las conexiones de hardware han terminado
Paso 4:configurar el servicio de automatización de correo electrónico con Mailgun
- Cree una cuenta en Mailgun
- Después de verificar su número de teléfono, vaya a
Dominios
sección. Haga clic enAgregar destinatario
botón. - Haga clic en
Invitar a un nuevo destinatario
botón. Ingrese el ID de correo electrónico del destinatario. - Después de agregar la ID de correo electrónico, se generará una nueva zona de pruebas. Haga clic en el ID de la caja de arena recién generada.

- La nueva pantalla tendrá todas las credenciales necesarias que desea para enviar un correo electrónico. Copie todas estas credenciales y guárdelas en el bloc de notas.

Paso 5:Configurar el servicio de SMS con Twilo
- Vaya a https://www.twilio.com y haga clic en
Obtener una clave API gratuita
botón para registrarse - Complete todos los detalles necesarios en el formulario de REGISTRO como se muestra a continuación:

- Ingrese y verifique su número de teléfono.
- Haga clic en "Productos" como se muestra en la siguiente pantalla.

- Ahora habilite los servicios de SMS haciendo clic en dos casillas de verificación para SMS programables y números de teléfono como se muestra a continuación.

- Haga clic en "Continuar". De nuevo, haga clic en "Continuar" una vez que haya ingresado el nombre del proyecto.
- Haga clic en "Omitir este paso" cuando se le solicite que invite a un compañero de equipo.
- Haga clic en "Información del proyecto" para ver las credenciales de la cuenta.
- Puede ver el SID de la cuenta y el token de autenticación en esta página. Mantenga esta información segura.

- En el menú desplegable, elija "SMS programables". Ahora haga clic en
Comenzar
botón para generar el número de teléfono. - Haga clic en
Obtener un número
botón. Entonces aparecerá una ventana emergente. Haga clic enElija este número
botón. - Luego aparecerá una ventana emergente que tendrá el número final. Copie este número y guárdelo.
Paso 6:uso de DigitalOcean VPS para ejecutar el código de monitoreo de frecuencia cardíaca
Nota:También puede mantener una computadora Linux dedicada o ejecutar Linux en una máquina virtual en lugar de usar un VPS como DigitalOcean.
- Vaya a https://www.digitalocean.com y regístrese para obtener una cuenta.
- Cree un proyecto. Luego cree una gota que ejecute ubuntu y acceda a la máquina usando PuTTY.
- Inicie sesión en ubuntu con las credenciales que se le enviaron por correo electrónico.
- Ejecute los siguientes códigos:
Para actualizar los paquetes en Ubuntu
sudo apt-get -y update
Para instalar python3 pip3
sudo apt install python3-pip
Para instalar la biblioteca boltiot usando pip
sudo pip3 install boltiot
Para m ake un archivo Python llamado conf.py
sudo nano confi.py
- Escriba el siguiente código con datos correctos:
#Credentials from TwilioSID ='Puede encontrar SID en su Panel de Twilio' AUTH_TOKEN ='Puede encontrarlo en su Panel de Twilio' FROM_NUMBER ='Este es el no. generado por Twilio. Puede encontrarlo en su Tablero de Twilio'TO_NUMBER ='Este es su número. Asegúrese de agregar +91 al principio '# Credentials from MailgunMAILGUN_API_KEY =' Esta es la clave API privada que puede encontrar en su Panel de control de Mailgun 'SANDBOX_URL =' Puede encontrarla en su Panel de control de Mailgun 'SENDER_EMAIL =' Esto sería una prueba @your SANDBOX_URL'RECIPIENT_EMAIL ='Ingrese su ID de correo electrónico aquí' # Credenciales de BoltAPI_KEY ='Esta es su clave API de cuenta de Bolt Cloud'DEVICE_ID =' Esta es la ID de su dispositivo Bolt '
- Guardar conf.py
- Cree un archivo de Python llamado heart_rate.py
sudo nano heart_rate.py
- Escriba el siguiente código en heart_rate.py:
import conf, json, timefrom boltiot import Email, Boltfrom boltiot import Sms, Boltminimum_limit =57 #el umbral mínimo de frecuencia cardíacamaximum_limit =100 #el umbral máximo de frecuencia cardíacamybolt =Bolt (conf.API_KEY, conf.DEVICE_ID ) mailer =Correo electrónico (conf.MAILGUN_API_KEY, conf.SANDBOX_URL, conf.SENDER_EMAIL, conf.RECIPIENT_EMAIL) sms =Sms (conf.SSID, conf.AUTH_TOKEN, conf.TO_NUMBER, conf.FROM_NUMBER) mientras que True:respuesta =mybolt.serialRead ( 2) datos =json.loads (respuesta) sensor_value =datos ['valor'] intente:sensor_value =datos ['valor'] si sensor_value> límite_máximo o valor_sensor
- Guardar heart_rate.py
- Ejecute Heart_rate.py.
sudo python3 Heart_rate.py
Cuando la frecuencia cardíaca se vuelve anormal, se le enviará un SMS y un correo electrónico a su teléfono y a su ID de correo electrónico, respectivamente.


Código
- código Arduino
- conf.py
- heart_rate.py
Código Arduino Arduino
Código para calcular el valor del pulso.unsigned long highCounter =0; int pulse =0; int val =0; int lastPulse =LOW; unsigned long oldMillis =0; configuración vacía () {pinMode (2, ENTRADA); Serial.begin (9600); } bucle vacío () {pulso =lectura digital (2); if (pulso! =últimoPulso) {últimoPulso =pulso; if (pulse ==HIGH) highCounter ++;} // imprime y reinicia el highCounter cada segundosif (millis () - oldMillis> =10000) {oldMillis =millis (); val =contador alto * 6; if (contador alto> 1) Serial.println (val); highCounter =0;}}
conf.py Python
Código que contiene claves de API y otras credenciales para usar Bolt, MailGun y Twilio#Credentials from TwilioSID ='Puede encontrar SID en su Panel de Twilio' AUTH_TOKEN ='Puede encontrarlo en su Panel de Twilio' FROM_NUMBER ='Este es el . generado por Twilio. Puede encontrarlo en su Tablero de Twilio'TO_NUMBER ='Este es su número. Asegúrese de agregar +91 al principio '# Credentials from MailgunMAILGUN_API_KEY =' Esta es la clave API privada que puede encontrar en su Panel de control de Mailgun 'SANDBOX_URL =' Puede encontrarla en su Panel de control de Mailgun 'SENDER_EMAIL =' Esto sería una prueba @your SANDBOX_URL'RECIPIENT_EMAIL ='Ingrese su ID de correo electrónico aquí' # Credenciales de BoltAPI_KEY ='Esta es su clave API de cuenta de Bolt Cloud'DEVICE_ID =' Esta es la ID de su dispositivo Bolt '
heart_rate.py Python
Código para recopilar el valor del pulso y verificar la anomalíaimport conf, json, timefrom boltiot import Email, Boltfrom boltiot import Sms, Boltminimum_limit =57 #el umbral mínimo de frecuencia cardíacamaximum_limit =100 #el umbral máximo de frecuencia cardíacamybolt =Bolt (conf. API_KEY, conf.DEVICE_ID) mailer =Correo electrónico (conf.MAILGUN_API_KEY, conf.SANDBOX_URL, conf.SENDER_EMAIL, conf.RECIPIENT_EMAIL) sms =Sms (conf.SSID, conf.AUTH_TOKEN, conf.TO_NUMBER, conf.FROMUMBER) mientras que True:respuesta =mybolt.serialRead (2) data =json.loads (response) sensor_value =data ['value'] intente:sensor_value =data ['value'] if sensor_value> límite_máximo o valor_sensorEsquemas
Realice las conexiones como se muestra en este esquema![]()
Solo tres pines para un teclado de 4x3 Matriz LED + Pantalla de puerta con sensor de movimiento [Arduino Holiday]
Proceso de manufactura
- Cómo combinar datos y narraciones para obtener la aprobación de su proyecto de mantenimiento
- Nueve formas de conservar su trabajo y salir adelante
- 5 momentos en los que un lubricante antiadherente puede ahorrar tiempo, dinero y dolores de cabeza
- Cómo hacer que las personas lean sus correos electrónicos de ventas (y qué no hacer)
- Consejos y trucos para mantener aún su recuperación de solvente
- Un caso de estudio para obtener ayuda rápidamente cuando su imprenta offset deja de funcionar
- Cómo dimensionar y aprovechar al máximo sus excavadoras y camiones mineros
- 4 factores a considerar al comprar sus cuchillas de corte industrial
- Saber cuándo y cómo elegir una bomba de refuerzo automática para su hogar
- Tipos de tornillo y perno
- Entendiendo el tornillo y el perno