Tabla de contenido:

Automatización del hogar basada en SMS de Android y Arduino: 5 pasos (con imágenes)
Automatización del hogar basada en SMS de Android y Arduino: 5 pasos (con imágenes)

Video: Automatización del hogar basada en SMS de Android y Arduino: 5 pasos (con imágenes)

Video: Automatización del hogar basada en SMS de Android y Arduino: 5 pasos (con imágenes)
Video: Android SMS App Based Device Switching using Arduino 2024, Noviembre
Anonim
Automatización del hogar basada en SMS de Android y Arduino
Automatización del hogar basada en SMS de Android y Arduino
Automatización del hogar basada en SMS de Android y Arduino
Automatización del hogar basada en SMS de Android y Arduino

! ! ! AVISO ! ! !

Debido a que la torre de telefonía celular local se está actualizando en mi área, ya no puedo usar este módulo GSM. La torre más nueva ya no admite dispositivos 2G. Por lo tanto, ya no puedo dar ningún apoyo a este proyecto

Recientemente, recibí un módulo GSM / GPRS de banda cuádruple relativamente barato para jugar. Es un módulo SIM800L y se comunica con cualquier micro a través de un puerto serie. Viene completo con una antena de montaje en panel.

Decidí construir un sistema de controlador SMS simple que usa comandos de servicio de mensajes cortos (SMS) para controlar dispositivos e indicar alarmas.

Paso 1: Comandos SMS

Comandos SMS
Comandos SMS

Como ocurre con cualquier sistema de comunicación, es necesario enviar comandos específicos a un dispositivo remoto para indicarle qué hacer. Del mismo modo, el dispositivo remoto debe responder o reaccionar a estos comandos. Este proyecto consta de dos partes, el controlador SMS y un teléfono celular estándar.

La idea era crear un controlador SMS simple con cuatro salidas digitales. Dependiendo del SMS recibido, la unidad debe poder controlar las salidas individuales.

También decidí incluir cuatro entradas digitales. Esto se puede utilizar para indicar alarmas u otra información.

Antes de comenzar la compilación, decidí crear comandos específicos para funciones específicas. Estos 'comandos' se enviarán mediante un SMS desde un teléfono celular.

Comandos de recepción del controlador SMS:

o1: 1 - activa la salida 1

o1: 0 - apagar salida 1

o1: p - salida de pulsos 1 activada, luego desactivada

o2: 1 - activa la salida 2

o2: 0 - apagar salida 2

o2: p - salida de pulsos 2 activada, luego desactivada

o3: 1 - activa la salida 3

o3: 0 - apagar salida 3

o3: p - salida de pulsos 3 activada, luego desactivada

o4: 1 - activa la salida 4

o4: 0 - apagar salida 4

o4: p - salida de pulsos 4 activada, luego desactivada

???? - Solicitar estado de Entradas y Salidas

#### - Restablecer sistema

Para recibir comentarios, el controlador de SMS debe responder a los comandos recibidos y responder con un SMS. Decidí que este SMS de respuesta debería incluir el estado de todos los pines de E / S.

Comandos de respuesta del controlador SMS:

i1: x i2: x i3: x i4: x o1: x o2: x o3: x o4: x

donde x es el estado de E / S, 1 para Encendido, 0 para Apagado.

Paso 2: creación del controlador SMS

Construyendo el controlador SMS
Construyendo el controlador SMS
Construyendo el controlador SMS
Construyendo el controlador SMS
Construyendo el controlador SMS
Construyendo el controlador SMS

Equipamiento requerido:

Cualquier Arduino o ATMEGA328p independiente en una placa de pruebas

Módulo SIM800L GSM / GPRS con una tarjeta SIM capaz de enviar y recibir SMS

Convertidor reductor DC / DC

NOTA !

Se requiere el convertidor CC / CC para alimentar el módulo SIM800L. Este módulo opera entre 3.7V y 5V, dependiendo de la versión que tengas. Este módulo también requiere una fuente de alimentación que pueda entregar hasta 2A cuando el módulo transmite datos. ¡No se puede alimentar directamente desde el Arduino Uno

El circuito es bastante sencillo. Lo he ensamblado y probado en una placa de pruebas.

La energía al circuito es a través del convertidor CC / CC, con el voltaje de salida establecido en 4.5V. Hay cuatro LED para simular las salidas digitales y cuatro botones para las entradas digitales. El SIM800L está conectado a los pines Rx / Tx del ATMEGA328p.

Un quinto LED se utiliza para indicar cuando el sistema está ocupado enviando un SMS.

Paso 3: Programación del ATMEGA328p

Programación del ATMEGA328p
Programación del ATMEGA328p
Programación del ATMEGA328p
Programación del ATMEGA328p

Antes de programar, abra el archivo INO y edite el número de teléfono. Reemplace xxxxxxxxxx con su propio número de teléfono celular en la línea 46. Vuelva a compilar y cargue el archivo.

Además, lea las instrucciones sobre cómo configurar el puerto serie del software en el archivo INO.

//=============================================================================//

//! ! ! NOTA ! ! !

// ================

//

// BÚFER EN LA BIBLIOTECA DE SERIE DE SOFTWARE SE CAMBIARÁ A 200

//

// Para utilizar Software Serial, el usuario también debe cambiar el BÚFER de Software Serial a 200.

// Debe editarse en el siguiente archivo:

//

// C: / Archivos de programa / Arduino x.x.x / Hardware / Arduino / AVR / Libraries / SoftwareSerial / src / SoftWareSerial.h

//

// Cambie el búfer como se muestra a continuación:

//

// #ifndef _SS_MAX_RX_BUFF

// #define _SS_MAX_RX_BUFF 200

// Tamaño del búfer de RX

// #terminara si

//

//=============================================================================

Consulte este instructivo para programar el ATMEGA328p en la placa de pruebas usando un Arduino UNO.

www.instructables.com/id/Arduino-UNO-as-AtM…

Paso 4: uso del controlador de SMS

Usando el controlador de SMS
Usando el controlador de SMS

Usando el controlador de SMS

El controlador de SMS enviará automáticamente un SMS a su teléfono si se activa alguna de las cuatro entradas. Los detalles del disparador estarán contenidos en el texto del SMS.

Los mensajes y comandos SMS se pueden editar según sus necesidades en el archivo INO.

Prueba de las salidas del controlador SMS

Desde su teléfono celular, envíe los siguientes comandos a su número de tarjeta SIM SIM800L:

o1: 1, esto activará la salida 1.

En su teléfono, recibirá el siguiente SMS:

i1: 0 i2: 0 i3: 0 i4: 0 o1: 1 o2: 0 03: 0 o4: 0

01: 0, esto apagará la salida 1.

En su teléfono, recibirá el siguiente SMS:

i1: 0 i2: 0 i3: 0 i4: 0 o1: 0 o2: 0 03: 0 o4: 0

01: p, esto encenderá la salida 1 durante 1 segundo, luego apagará la salida 1 nuevamente (pulsada).

En su teléfono, recibirá el siguiente SMS:

i1: 0 i2: 0 i3: 0 i4: 0 o1: 0 o2: 0 03: 0 o4: 0

Prueba de las entradas del controlador SMS

En el controlador SMS, presione brevemente el botón 1

En su teléfono, recibirá automáticamente el siguiente SMS:

i1: 1 i2: 0 i3: 0 i4: 0 o1: 0 o2: 0 03: 0 o4: 0

En el controlador SMS, presione brevemente el botón 2

En su teléfono, recibirá automáticamente el siguiente SMS:

i1: 1 i2: 1 i3: 0 i4: 0 o1: 0 o2: 0 03: 0 o4: 0

En el controlador SMS, presione brevemente el botón 3

En su teléfono, recibirá automáticamente el siguiente SMS:

i1: 1 i2: 1i3: 1 i4: 0 o1: 0 o2: 0 03: 0 o4: 0

Como se puede ver en los SMS recibidos, las salidas cambian según los comandos recibidos. Sin embargo, las entradas no vuelven a cambiar de 1 a 0 después de presionar los botones. Como quería poder ver cualquier cambio en las entradas, decidí sellar el estado de la entrada hasta que se envíe un comando de reinicio al controlador SMS.

Restablecer alarmas

Para restablecer el estado de la entrada, envíe el siguiente comando:

####, esto restablecerá el estado de la entrada.

En su teléfono, recibirá el siguiente SMS:

i1: 0 i2: 0 i3: 0 i4: 0 o1: 0 o2: 0 03: 0 o4: 0

Actualizaciones de estado

También puede solicitar el estado en cualquier momento enviando el siguiente comando:

????, esto solicitará una actualización de estado de las E / S.

En su teléfono, recibirá el siguiente SMS:

i1: x i2: x i3: x i4: x o1: x o2: x 03: x o4: x

donde x indica el estado, 1 para encendido, 0 para apagado.

Paso 5: Aplicación de Android

Aplicación para Android
Aplicación para Android
Aplicación para Android
Aplicación para Android
Aplicación para Android
Aplicación para Android

Usando MIT App Inventor 2 (https://ai2.appinventor.mit.edu/), creé una interfaz de usuario simple para mi teléfono celular Android. Esta aplicación le permite personalizar la descripción de cada E / S. También permite la entrada del número de teléfono.

Los cuatro botones se utilizan para controlar las salidas, mientras que las casillas de verificación indican el estado de la entrada.

Para editar la aplicación, cree una cuenta MIT App Inventor 2 e importe el archivo AIA.

Para instalar la aplicación en su teléfono, copie el archivo APK en su teléfono e instálelo. Deberá habilitar la instalación de aplicaciones de "Fuentes desconocidas" en la configuración de seguridad de su teléfono.

Recomendado: