Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
DEPARTAMENTO DE INGENIERÍA E
INVESTIGACIONES TECNÓLOGICAS
Sistemas Operativos
PROYECTO: Alarma Todo Está Bien
1er CUATRIMESTRE - AÑO 2016
Comisión: Lunes y Jueves
Turno: Noche
Alumno DNI
Aguirre Luis 31.207.832
Ausfet Javier 30.276.236
Clerici Maximiliano 28.702.212
Mazzini Juan Pablo 28.528.099
Scopigno Danilo 33.778.977
Página 2 de 16
Contenido INTRODUCCION ....................................................................................................................................... 3
PLAN DE TRABAJO ................................................................................................................................... 3
1. MATERIALES ................................................................................................................................ 3
2. ELECCIÓN DE LA FORMA DE FUNCIONAMIENTO DEL PROYECTO ............................................... 4
3. PROGRAMACIÓN ......................................................................................................................... 4
4. MONTAJE DE LA MAQUETA ......................................................................................................... 4
5. DIAGRAMA DE CONEXIONES (ARQUITECTURA) .......................................................................... 5
ESTADOS DE LA ALARMA ......................................................................................................................... 5
DIAGRAMA DE ESTADOS ......................................................................................................................... 6
CONFIGURACOIN INICIAL ........................................................................................................................ 6
MANUAL DE USO ..................................................................................................................................... 8
1. Agregar otro “control remoto” ................................................................................................... 9
2. Cambio de contraseña. ................................................................................................................ 9
3. Modo Automático. .................................................................................................................... 10
4. Modo Manual ............................................................................................................................ 10
5. Control de accesorios del automóvil. ........................................................................................ 10
6. Verificación de los sensores. ..................................................................................................... 11
COMPORTAMIENTO DE LA ALARMA ..................................................................................................... 11
ANEXO I ................................................................................................................................................. 13
Descripción de los comandos ............................................................................................................ 13
Página 3 de 16
INTRODUCCION Se trata de un sistema de alarma para automóviles totalmente automático que es disparado ante la
presencia de ruidos que superen cierto umbral. Un sensor (micrófono) mide el ruido ambiente, y este
envía una señal al sistema, evaluando si se debe disparar la alarma. En ese caso, la alarma se activa
emitiendo un sonido ululante, indicando la activación mediante un led y generando un mensaje en
una pequeña pantalla; además indica el estado de la alarma en el celular acompañado de la vibración
del mismo.
PLAN DE TRABAJO
1. MATERIALES Los materiales fueron entregados íntegramente por la cátedra (solo tuvimos que agregar una
microSD con el sistema operativo y un celular con sensor de temperatura, bluethoot, WIFI y GPS). A
continuación, detallaremos los materiales utilizados.
● Placa Intel Galileo
● MicroSD 16GB clase 10 marca Kingston
● Grove Starter Kit: del kit utilizamos lo siguiente
Shield
Micrófono
Potenciómetro
Led
Página 4 de 16
Buzzer
Pulsador
LCD – RGB
Celular Samsung S4
2. ELECCIÓN DE LA FORMA DE FUNCIONAMIENTO DEL PROYECTO En principio teníamos pensado realizar una alarma básica, con un pulsador, un buzzer y un
micrófono, pero a medida que fuimos acertando el correcto funcionamiento de los sensores, tuvimos
tiempo para ir adicionando otros a nuestro proyecto. De esta manera logramos realizar la interacción
de todos los sensores y actuadores descriptos en el punto anterior.
3. PROGRAMACIÓN Se ha realizado un programa en C++, el cual es grabado en la MicroSD para que el mismo se ejecute
automáticamente una vez finalizada la carga del SO en la placa Galileo cada vez que la placa se
enciende. Hemos utilizado la biblioteca MRAA y UPM para la administración de los sensores.
Para la interacción de datos con la aplicación final, hemos desarrollado una aplicación “antena” (se
ejecuta en el celular Samsung S4) la cual permite intercambiar datos entre la aplicación final y la
placa mediante protocolo UDP. Para más información sobre el protocolo, se adjunta el ANEXO I
Se utilizó Java como lenguaje de desarrollo para la aplicación final, utilizando el SDK de Android.
4. MONTAJE DE LA MAQUETA
Página 5 de 16
Para la presentación de la maqueta se ha utilizado cartón corrugado para almacenar la placa (sin
cubrir la superficie de la misma) y para colocar (a modo de centro de mando) los sensores y
actuadores.
Respecto de la conexión de los sensores y los actuadores, es indistinto el pin al cual se conecten
(respetando siempre si el pin es analógico/digital/pwm) dado que el sistema cuenta con un archivo
de configuración en el cual se deben setear los pines que corresponden a cada sensor/actuador. Se
utilizó un puerto analógico para el micrófono, un puerto analógico para el potenciómetro, un puerto
digital para los pulsadores (uno para encender/apagar la alarma y otro para simular la apertura de las
puertas), un puerto digital PWM para el buzzer, un puerto digital PWM para el led, 3 puertos
digitales para leds (A/C, calefacción y encendido del motor) y un puerto I2C para el Display RGB.
5. DIAGRAMA DE CONEXIONES (ARQUITECTURA)
ESTADOS DE LA ALARMA ● ENCENDIDA (la alarma se encuentra encendida esperando la activación)
● APAGADA (la alarma se encuentra apagada)
● ACTIVADA (con la alarma encendida)
o El ruido ambiente superó el umbral seteado desde la aplicación final.
o Se activó voluntariamente mediante el botón de pánico.
o Se abrió una de las puertas del automóvil.
Al ejecutar el programa por primera vez, la alarma pasa al estado ENCENDIDA automáticamente.
Página 6 de 16
DIAGRAMA DE ESTADOS
CONFIGURACOIN INICIAL Se debe instalar la aplicación en el celular “antena” (celular que está conectado a la placa y presta
servicios de los sensores). Se debe setear la IP de la placa y el puerto de comunicación.
Al instalar la aplicación final en el “control remoto” (a partir de ahora lo llamaremos control remoto
al celular que tiene instalada la aplicación final), cada vez que se lance la aplicación,
automáticamente se forzara la activación del Bluetooth en el mismo.
Página 7 de 16
Desde el “control remoto”, debemos ingresar al menú “Ajustes Auto” para configurar la IP de la
placa.
El siguiente paso inmediato, será, ingresando al menú “Contraseña”, cargar la contraseña a utilizar
en el campo “Contraseña Actual”. Para completar este proceso se debe “Enviar Contraseña”.
Página 8 de 16
MANUAL DE USO Este es el momento indicado para ajustar la intensidad del led y la sensibilidad del micrófono. Esto se
realiza a través del menú “configurar”. Desde aquí tenemos la posibilidad de configurar la intensidad
del led y la sensibilidad del micrófono. (estos valores podrán configurarse igualmente en cualquier
momento).
Al seleccionar el icono del led, configuraremos la intensidad del led de la alarma.
Al seleccionar el icono del micrófono, configuraremos el umbral del micrófono que debe ser
superado para que la alarma se active.
Página 9 de 16
1. Agregar otro “control remoto” Es posible controlar la alarma desde más de un dispositivo móvil. Simplemente se instala la aplicación
final en el mismo, se configura la IP de la placa y en el menú contraseña se deben completar los 3
campos con la misma contraseña que se configuro en el primer “control remoto” y enviar la
contraseña.
2. Cambio de contraseña. Existe la posibilidad de realizar un cambio de contraseña. El procedimiento para un solo “control
remoto” se realiza ingresando al menú “contraseña”, ingresando la contraseña actual, la nueva
Página 10 de 16
contraseña y la verificación finalizando con el envió de la contraseña. De esta forma la nueva
contraseña es modificada en la placa.
Para el resto de los “controles remotos” solo es necesario ingresar la nueva contraseña en el campo
“contraseña actual” y seleccionar el botón cambiar contraseña, dado que la misma se cambia solo en
este dispositivo.
3. Modo Automático. Es posible controlar la alarma automáticamente (Encender/Apagar). En modo automático, al
acercarse con el “control remoto” a la alarma, la misma se Apaga automáticamente al detectar el
“control remoto” vía bluethoot. De la misma manera, al alejarse lo suficiente (o cerrar la aplicación
final) para que la conexión bluethoot se corte, la alarma se Enciende automáticamente.
Cabe aclarar que, en modo manual, se deshabilitan las funciones de Encender y Apagar la alarma.
4. Modo Manual En modo manual, es posible Encender y Apagar la alarma, sin importar a la distancia que uno se
encuentre de la alarma (solo se debe tener en cuenta que la alarma y el “control remoto” deben
estar en la misma red).
Estando la alarma en modo manual y con la alarma Encendida, es posible activar la función Pánico en
caso de ser necesario que la alama suene (de esta manera pasa a modo activado). Para cancelar este
sonido se debe Apagar la alarma.
5. Control de accesorios del automóvil. Desde el “control remoto”, ingresando al menú “ajustes auto”, es posible controlar ciertos accesorios
del automóvil, siendo ellos la calefacción (on/off) y el aire acondicionado (on/off). Contando además
con la posibilidad de poder encender y apagar el motor del automóvil desde este menú.
Página 11 de 16
6. Verificación de los sensores. Desde el menú “sensores” es posible verificar el estado de cada uno de los sensores de la alarma
(intensidad del led, intensidad del ruido ingresando por el micrófono, ubicación por coordenadas,
velocidad de desplazamiento y temperatura).
COMPORTAMIENTO DE LA ALARMA Una vez que la alarma pasa al estado ENCENDIDA, el led indicador comienza a parpadear cada 2
segundos, se emite un (1) pitido desde el buzzer y se indica mediante un texto en el “control remoto”
que la alarma se encuentra ENCENDIDA. A partir de este momento, el sistema lee constantemente el
Página 12 de 16
ruido ambiente a través del micrófono. Si el ruido supera el umbral definido para el micrófono, la
alarma cambia de estado a ACTIVADA.
Cuando la alarma pasa al estado ACTIVADA, el buzzer comienza a realizar un sonido ululante, el led
comienza a apagarse y encenderse progresivamente y se refleja el estado en la pantalla del “control
remoto” indicando que la alarma se encuentra ACTIVADA.
Para detener la alarma se debe Apagar pasando la misma al estado APAGADA. Cuando la alarma pasa
a este estado, el buzzer realiza dos (2) pitidos y deja inmediatamente de emitir sonido, el led se
apaga y se indica en la pantalla que la alarma se encuentra APAGADA.
Para encender la alarma se debe Encender nuevamente la misma y pasará al estado ENCENDIDA.
Página 13 de 16
ANEXO I Protocolo de comunicación para la transferencia de datos entre la alarma “AlarmaTodoEstaBien” y la
app Smartphone control remoto.
HEADER DATOS
Descripción del header
Longitud del campo Tipo (notación de c) Nombre Descripción
1 byte uint8_t Len de password Longitud de la palabra secreta con 0 no está seteada y solo admite el comando de setear contraseña
N bytes string Password La contraseña secreta que se utiliza para habilitar el control
1 byte uint8_t Código de comando Código que identifica que datos se esperan
N bytes Binario Datos del comando Los datos propiamente dichos del comando
Listado de comandos
Código de comando Descripción
1 Establece contraseña
2 Estado alarma
3 Estado de sensores
4 Configurar Sensibilidad
5 Configurar intensidad led
6 Configurar distancia de encendido
7 Encender/Apagar motor
8 Encender/apagar/Activar alarma
9 Configurar modo
10 Encender calefacción/ventilación
11 Estado General
Descripción de los comandos
Comando establecer contraseña modo Solicitud
Longitud Tipo Nombre Descripción
1 Byte uint8_t Len Longitud de la contraseña
N bytes string contraseña Contraseña a establecer
Página 14 de 16
Comando establecer contraseña modo Respuesta
Longitud Tipo Nombre Descripción
1 byte uint8_t Código de resultado •0- Contraseña establecida. •1- Error de autenticación. •2- Error interno vuelva intentar
Comando estado de alarma modo Solicitud (SIN DATOS)
Comando estado de alarma modo Respuesta
Longitud Tipo Nombre Descripción
1 Byte uint8_t Código de resultado •1- Error de autenticación •2- Alarma encendida. •3- Alarma Apagada. •4- Alarma activa.
Comando estado de sensores modo Solicitud (SIN DATOS)
Comando estado de sensores modo Respuesta
Longitud Tipo Nombre Descripción
1 Byte uint8_t Código de resultado •0- Ok •1- Error de autenticación. •2- Error obteniendo estado de sensores.
4 Bytes Float Estado de micrófono Es un valor entre 0 y 1 con el ultimo valor captado del micrófono
4 Bytes Float Estado de potenciómetro
Es un valor entre 0 y 1 con el ultimo valor leído del potenciómetro.
Comando configurar sensibilidad modo Solicitud
Longitud Tipo Nombre Descripción
4 Bytes Float Nuevo valor de la sensibilidad del micrófono
Es un valor entero 0 y 1, es el valor con el cual sobrepasado la alarma se activa
Comando configurar sensibilidad modo Respuesta
Longitud Tipo Nombre Descripción
1 Byte uint8_t Código de resulta •0- Ok •1- Error de autenticación •2- Error guardando datos.
Comando configurar intensidad del led modo solicitud
Longitud Tipo Nombre Descripción
4 Bytes Float Valor de la intensidad del led
Es el valor con el cual se seteara el led. (También lo puede cambiar el potenciómetro)
Comando configurar intensidad del led modo Respuesta
Página 15 de 16
Longitud Tipo Nombre Descripción
1 Byte uint8_t Código de resulta •0- Ok •1- Error de autenticación •2- Error guardando datos.
Comando configurar distancia de encendido modo Solicitud
Longitud Tipo Nombre Descripción
4 Bytes Int Valor de activación Valor mediante el cual la alarma se encenderá y apagará.
Comando configurar distancia de encendido modo respuesta
Longitud Tipo Nombre Descripción
1 Byte uint8_t Código de resulta •0- Ok •1- Error de autenticación •2- Error guardando datos.
Comando encender/apagar motor modo solicitud
Longitud Tipo Nombre Descripción
1 Byte uint8_t Enciende o apaga el motor
•0- Apagar. •1- Encender
Comando encender/apagar motor modo respuesta
Longitud Tipo Nombre Descripción
1 Byte uint8_t Código de resulta •0- Ok •1- Error de autenticación •2- Error ejecutando acción.
Comando encender/apagar alarma modo solicitud
Longitud Tipo Nombre Descripción
1 Byte uint8_t Enciende, apaga o activa la alarma.
•0- Apagar. •1- Encender •2- Activar
Comando encender/apagar alarma modo respuesta
Longitud Tipo Nombre Descripción
1 Byte uint8_t Código de resulta •0- Ok •1- Error de autenticación •2- Error ejecutando acción.
Comando configurar modo, modo solicitud
Longitud Tipo Nombre Descripción
1 Byte uint8_t Configura la alarma en modo automático o manual
•0- Manual. •1- Automático
Comando configurar modo, modo respuesta
Longitud Tipo Nombre Descripción
Página 16 de 16
1 Byte uint8_t Código de resulta •0- Ok •1- Error de autenticación •2- Error ejecutando acción.
Comando encender calefacción/ventilación, modo solicitud
Longitud Tipo Nombre Descripción
1 Byte uint8_t Enciende apaga la calefacción/ventilación.
•0- Apagar. •1- Encender calefacción. •2- Encender ventilación
1 Byte uint8_t Nivel de potencia de la calefacción/ventilación
•Nivel de la potencia.
Comando encender calefacción/ventilación, modo respuesta
Longitud Tipo Nombre Descripción
1 Byte uint8_t Código de resulta •0- Ok •1- Error de autenticación •2- Error ejecutando acción.
Comando Estado general, modo solicitud (Sin Datos)
Comando Estado general, modo respuesta
Longitud Tipo Nombre Descripción
1 Byte uint8_t Código de resulta •0- Ok •1- Error de autenticación •2- Error ejecutando acción.
1 Byte uint8_t Estado calefacción/ventilación
•0- apagadas •1- calefacción encendida •2- ventilación encendida
1 Byte uint8_t Nivel de calefacción/ventilación
1 Byte uint8_t Modo de funcionamiento
•0- manual •1- automático
1 Byte uint8_t Estado motor •0- Apagado •1- Encendido