INFORME_PROY_ARQUI

3
Introducción Este documento describe el trabajo realizado, en el proyecto fnal del curso de Arquitectura de Computadoras. El proyecto describe el diseño e implementación de un sistema de seguridad y de domótica, partiendo desde cero. A continuación describiremos la estructura que tiene memoria y resumiremos el contenido de cada capítulo. En el segundo capítulo, se describen las ideas e intenciones antes de comenzar el proyecto, y como eolucionaron !asta tener como objetio el presente proyecto. En el tercer capítulo, se describen cu"les son los objetios del proyecto, detallando cual es el alcance e indicando trabajo que si se realizar" y cual no. Adem"s se e#plican las motiaciones del proyecto.En el cuarto capítulo se presentan las tecnologías usadas para abordar el proyecto y se justifcan las elecciones realizadas. En los tres capítulos siguientes, quito, se#to y s$ptimo, se detalla con precisión el diseño de la arquitectura del sistema completo. %a arquitectura se puede diidir en cuatro secciones como se puede er en la ilustración &. %a adquisición de datos, el ordenador central, el seridor y la aplicación Android. Arduino

Transcript of INFORME_PROY_ARQUI

Introduccin

Este documento describe el trabajo realizado, en el proyecto final del curso de Arquitectura de Computadoras. El proyecto describe el diseo e implementacin de un sistema de seguridad y de domtica, partiendo desde cero. A continuacin describiremos la estructura que tiene la memoria y resumiremos el contenido de cada captulo.

En el segundo captulo, se describen las ideas e intenciones antes de comenzar el proyecto, y como evolucionaron hasta tener como objetivo el presente proyecto. En el tercer captulo, se describen cules son los objetivos del proyecto, detallando cual es el alcance e indicando el trabajo que si se realizar y cual no. Adems se explican las motivaciones del proyecto. En el cuarto captulo se presentan las tecnologas usadas para abordar el proyecto y se justifican las elecciones realizadas. En los tres captulos siguientes, quito, sexto y sptimo, se detalla con precisin el diseo de la arquitectura del sistema completo. La arquitectura se puede dividir en cuatro secciones como se puede ver en la ilustracin 1. La adquisicin de datos, el ordenador central, el servidor y la aplicacin Android.

Arduino Arduino es una plataforma de hardware libre para interaccionar con elementos electrnicos. Consta de un microcontrolador RISC, normalmente de 16 MHz, y una placa que contiene entradas y salidas analgicas. Tambin dispone de un entorno para desarrollar software e introducirlo en los microcontroladores. El proyecto de Arduino se inici en 2005 y poco a poco ha ido creciendo hasta convertirse hoy en da en la mayor plataforma de este tipo, siendo ampliamente usada. Una de las razones por la que se ha elegido esta plataforma, es la magnitud con la que se ha extendido, por lo que existe una comunidad muy grande de desarrolladores, en la que hay un ambiente muy colaborativo. Para la mayora de sensores y actuadores comerciales que existen, si el fabricante no ha desarrollado una librera de su dispositivo para Arduino, en la comunidad habr un proyecto similar, por esa razn los conocimientos necesarios de electrnica de circuitos para abordar un proyecto con Arduino, no son muy superiores a los impartidos en los estudios de ingeniera informtica. Dado que la variedad de dispositivos electrnicos que pueden interaccionar con Arduino es casi ilimitada, existe una total libertad a la hora de desarrollar una gran variedad de proyectos hardware con Arduino.

A continuacin se incluye una lista con ejemplos de proyectos realizados conArduino: Ardupilot: software y hardware de aviones no tripulados. ArduSat: satlite basado en Arduino de cdigo abierto. Myspectral: espectrmetro hecho con Arduino. Openbci: interfaz cerebro-computador para Arduino.Para programar el microcontrolador de las tarjetas, existen mltiples entornos de desarrollo, pero en este proyecto se utilizara el IDE oficial de Arduino. El lenguaje que utilizaremos es el propio de Arduino, siendo este una combinacin de los lenguajes C y C++ con algunas caractersticas aadidas y otras reducidas. Aunque a la hora de programar para esta plataforma hay que tener en cuenta sus caractersticas, ya que los microcontroladores que utiliza Arduino, no funcionan bajo ningn sistema operativo, por lo tanto todo el cdigo que se programe ser el nico que est funcionando adentro del microcontrolador. Adems, estos microcontroladores, no admiten excepciones, es decir no existe la estructura try catch, por lo que cuando se produce una posible excepcin pueden ocurrir dos cosas. Si la excepcin puede permitir que el sistema siga funcionando, lo har. Por ejemplo, cuando accedemos a un array fuera de su ndice, no inicializamos una variable y accedemos a su valor, o cuando incrementamos el valor de una variable fuera de sus lmites, el programa continuar funcionando con valores errneos. Por otro lado cuando ocurre un error que no permite seguir con el funcionamiento, el hardware y software se reinicia automticamente. Comunicaciones inalmbricas y XBee Para comunicar las diferentes partes del sistema de adquisicin de datos es necesario hacerlo por medio inalmbrico, ya que si lo hiciramos por medio cableado estaramos desarrollando un producto menos atractivo al requerir una instalacin ms compleja y poco esttica. Existen muchas alternativas para que un proyecto adquiera capacidad inalmbrica, en el mercado hay mltiples dispositivos de bajo coste que por radio frecuencia permiten intercambiar informacin, normalmente, estos dispositivos de bajo coste, no suelen tener una documentacin buena y al existir tantos tipos diferentes cada uno funciona de un mtodo diferente. Para no tener que asumir riesgos innecesarios, se ha optado por utilizar dispositivos XBee , ya que es una plataforma muy conocida. Existe una amplia gama dispositivos XBee, se pueden clasificar, por muchas caractersticas diferentes, entre las ms importantes se encuentran, la topologa de red, velocidad de transmisin y la distancia de conexin. Los dispositivos XBee utilizan el protocolo de comunicaciones Zigbee . Zigbee es un protocolo de comunicaciones inalmbricas creado por Zigbee Alliance, una organizacin sin nimo de lucro. Este protocolo es ampliamente recomendado para sistemas como el que se presenta en este proyecto, ya que tienen un consumo bajo y cada nodo no requiere mucha electrnica, en contra posicin, no permiten velocidades de transmisin superiores a 250 kbit/s, es decir no pueden transportar informacin de forma masiva como lo hacen los protocolos Wi-Fi o bluetooth, pero son muy eficientes trabajando con datos de sensores.