Proyecto redes industriales

23
“UNIVERSIDAD NACIONAL DE PIURA” FACULTAD DE INGENIERIA INDUSTRIAL ESCUELA PROFESIONAL DE INGENIERIA MECATRÓNICA COMUNICACIÓN RS232 ARDUINO Y ANDROID INTEGRANTES: Inga Herrera Jhon Paul. Santos Monsalve, Segundo Carlos Rosillo Casanova, Jonathan PROFESOR: ING. CALDERON PINEDO, LUIS Piura, 2015

description

Red maestro esclavo con arduino y celular android

Transcript of Proyecto redes industriales

UNIVERSIDAD NACIONAL DE PIURA

FACULTAD DE INGENIERIA INDUSTRIAL

ESCUELA PROFESIONAL DE INGENIERIA MECATRNICA

COMUNICACIN RS232 ARDUINO Y ANDROID

INTEGRANTES:

Inga Herrera Jhon Paul.

Santos Monsalve, Segundo Carlos

Rosillo Casanova, Jonathan

PROFESOR:

ING. CALDERON PINEDO, LUIS

Piura, 2015

Objetivos

Reconocer el protocolo rs232

Lograr la comunicacin entre 2 arduinos nano v3 y el S.O Android

Aprovechar la comunicacin inalmbrica con bluetooth

Aprender el desarrollo de aplicaciones para el sistema operativo Android

Configurar un modulo BT en modo maestro-esclavo

Introduccin

La historia de las comunicaciones se remonta a 1810 cuando un seor alemn de apellido Von Soemmering, utiliz 26 cables (1 por cada letra del alfabeto) pegados a la parte inferior de un acuario. Cuando se pasaba corriente por los cables, se producan burbujas en el agua. De esta forma, se podan enviar mensajes codificados por medio de burbujas. Los militares vieron este ingenio y se inici la carrera para desarrollar los sistemas de comunicaciones.

Luego, el seor Morse invent su dispositivo que enviaba sonidos cortos y largos, que representaban los caracteres. En el cdigo Morse, los sonidos cortos se llaman ESPACIOS y los sonidos largos se denominan MARCAS. Por lo tanto, esto es un cdigo binario, porque usa solo 2 valores posibles: Espacio y Marca. En trminos de computadoras se dira que trabaja con los nmeros 0 y 1, dependiendo de cada bit.

Cuando se habla de cdigo Morse, hablamos de comunicacin SERIAL. Se llama serial, porque los bits se reciben uno detrs de otro o en serie. La comunicacin RS-232 tambin es de tipo serial, ya que los bits vienen uno detrs de otro.

Se utilizan dos computadoras para realizar la interface, una que simule el medidor de nivel y la otra la interface con la que trabajar el usuario, es decir, una PC mandar los mismos datos que transmitira el dispositivo medidor de nivel y la otra PC los recibira mostrndolos al usuario, y por lo tanto enviara una respuesta.

Una de las maneras para realizar la comunicacin entre dos PCs, es utilizando un cable serial, conectado a los puertos seriales de ambas computadoras. La comunicacin serial utiliza el protocolo RS-232 y es el ms comn de los mtodos de comunicaciones.

En un extremo del cable de comunicaciones se encuentra un conector llamado DB9 hembra y del otro extremo un conector DB9 macho. Se llama as porque tiene la forma de una D. Y tiene el nmero 9 porque tiene 9 patitas o 9 entradas (Figura 1).

Figura 1 Conector DB9.

La otra versin de conector que se usa para comunicaciones seriales RS232 es el conector DB25.

1. Marco terico

Comunicacin serial:

La comunicacin serial es un protocolo muy comn (no hay que confundirlo con el Bus Serial de Comunicacin, o USB) para comunicacin entre dispositivos que se incluye de manera estndar en prcticamente cualquier computadora. La mayora de las computadoras incluyen dos puertos seriales RS-232. La comunicacin serial es tambin un protocolo comn utilizado por varios dispositivos para instrumentacin; existen varios dispositivos compatibles con GPIB que incluyen un puerto RS-232. Adems, la comunicacin serial puede ser utilizada para adquisicin de datos si se usa en conjunto con un dispositivo remoto de muestreo.

El concepto de comunicacin serial es sencillo. El puerto serial enva y recibe bytes de informacin un bit a la vez. Aun y cuando esto es ms lento que la comunicacin en paralelo, que permite la transmisin de un byte completo por vez, este mtodo de comunicacin es ms sencillo y puede alcanzar mayores distancias. Por ejemplo, la especificacin IEEE 488 para la comunicacin en paralelo determina que el largo del cable para el equipo no puede ser mayor a 20 metros, con no ms de 2 metros entre cualesquier dos dispositivos; por el otro lado, utilizando comunicacin serial el largo del cable puede llegar a los 1200 metros.

Tpicamente, la comunicacin serial se utiliza para transmitir datos en formato ASCII. Para realizar la comunicacin se utilizan 3 lneas de transmisin: (1) Tierra (o referencia), (2) Transmitir, (3) Recibir. Debido a que la transmisin es asincrnica, es posible enviar datos por un lnea mientras se reciben datos por otra. Existen otras lneas disponibles para realizar handshaking, o intercambio de pulsos de sincronizacin, pero no son requeridas. Las caractersticas ms importantes de la comunicacin serial son la velocidad de transmisin, los bits de datos, los bits de parada, y la paridad. Para que dos puertos se puedan comunicar, es necesario que las caractersticas sean iguales.

Velocidad de transmisin (baud rate): Indica el nmero de bits por segundo que se transfieren, y se mide en baudios (bauds). Por ejemplo, 300 baudios representa 300 bits por segundo. Cuando se hace referencia a los ciclos de reloj se est hablando de la velocidad de transmisin. Por ejemplo, si el protocolo hace una llamada a 4800 ciclos de reloj, entonces el reloj est corriendo a 4800 Hz, lo que significa que el puerto serial est muestreando las lneas de transmisin a 4800 Hz. Las velocidades de transmisin ms comunes para las lneas telefnicas son de 14400, 28800, y 33600. Es posible tener velocidades ms altas, pero se reducira la distancia mxima posible entre los dispositivos. Las altas velocidades se utilizan cuando los dispositivos se encuentran uno junto al otro, como es el caso de dispositivos GPIB.

Bits de datos: Se refiere a la cantidad de bits en la transmisin. Cuando la computadora enva un paquete de informacin, el tamao de ese paquete no necesariamente ser de 8 bits. Las cantidades ms comunes de bits por paquete son 5, 7 y 8 bits. El nmero de bits que se enva depende en el tipo de informacin que se transfiere. Por ejemplo, el ASCII estndar tiene un rango de 0 a 127, es decir, utiliza 7 bits; para ASCII extendido es de 0 a 255, lo que utiliza 8 bits. Si el tipo de datos que se est transfiriendo es texto simple (ASCII estndar), entonces es suficiente con utilizar 7 bits por paquete para la comunicacin. Un paquete se refiere a una transferencia de byte, incluyendo los bits de inicio/parada, bits de datos, y paridad. Debido a que el nmero actual de bits depende en el protocolo que se seleccione, el trmino paquete se usar para referirse a todos los casos.

Bits de parada: Usado para indicar el fin de la comunicacin de un solo paquete. Los valores tpicos son 1, 1.5 o 2 bits. Debido a la manera como se transfiere la informacin a travs de las lneas de comunicacin y que cada dispositivo tiene su propio reloj, es posible que los dos dispositivos no estn sincronizados. Por lo tanto, los bits de parada no slo indican el fin de la transmisin sino adems dan un margen de tolerancia para esa diferencia de los relojes. Mientras ms bits de parada se usen, mayor ser la tolerancia a la sincrona de los relojes, sin embargo la transmisin ser ms lenta.

Paridad: Es una forma sencilla de verificar si hay errores en la transmisin serial. Existen cuatro tipos de paridad: par, impar, marcada y espaciada. La opcin de no usar paridad alguna tambin est disponible. Para paridad par e impar, el puerto serial fijar el bit de paridad (el ltimo bit despus de los bits de datos) a un valor para asegurarse que la transmisin tenga un nmero par o impar de bits en estado alto lgico. Por ejemplo, si la informacin a transmitir es 011 y la paridad es par, el bit de paridad sera 0 para mantener el nmero de bits en estado alto lgico como par. Si la paridad seleccionada fuera impar, entonces el bit de paridad sera 1, para tener 3 bits en estado alto lgico. La paridad marcada y espaciada en realidad no verifican el estado de los bits de datos; simplemente fija el bit de paridad en estado lgico alto para la marcada, y en estado lgico bajo para la espaciada. Esto permite al dispositivo receptor conocer de antemano el estado de un bit, lo que servira para determinar si hay ruido que est afectando de manera negativa la transmisin de los datos, o si los relojes de los dispositivos no estn sincronizados.

Qu es RS-232?

RS-232 (Estndar ANSI/EIA-232) es el conector serial hallado en las PCs IBM y compatibles. Es utilizado para una gran variedad de propsitos, como conectar un ratn, impresora o modem, as como instrumentacin industrial. Gracias a las mejoras que se han ido desarrollando en las lneas de transmisin y en los cables, existen aplicaciones en las que se aumenta el desempeo de RS-232 en lo que respecta a la distancia y velocidad del estndar. RS-232 est limitado a comunicaciones de punto a punto entre los dispositivos y el puerto serial de la computadora. El hardware de RS-232 se puede utilizar para comunicaciones seriales en distancias de hasta 50 pies.

Pines del conector DB-9

--------------

\ 1 2 3 4 5 /

\ 6 7 8 9 /

---------

Conector externo de la computadora y expuesto del cable.

Funciones de los pines en RS-232:

Datos:TXD (pin 3), RXD (pin 2)

Handshake:RTS (pin 7), CTS (pin 8), DSR (pin 6), DCD (pin 1), DTR (pin 4)

Tierra:GND (pin 5)

Otros:RI (pin 9)

Qu es RS-422?

RS-422 (Estndar EIA RS-422-A) es el conector serial utilizado en las computadoras Apple de Macintosh. RS-422 usa seales elctricas diferenciales, en comparacin con seales referenciadas a tierra como en RS-232. La transmisin diferencial, que utiliza dos lneas para transmitir y recibir, tiene la ventaja que es ms inmune al ruido y puede lograr mayores distancias que RS-232. La inmunidad al ruido y la distancia son dos puntos clave para ambientes y aplicaciones industriales.

Qu es RS-485?

RS-485 (Estndar EIA-485) es una mejora sobre RS-422 ya que incrementa el nmero de dispositivos que se pueden conectar (de 10 a 32) y define las caractersticas necesarias para asegurar los valores adecuados de voltaje cuando se tiene la carga mxima. Gracias a esta capacidad, es posible crear redes de dispositivos conectados a un solo puerto RS-485. Esta capacidad, y la gran inmunidad al ruido, hacen que este tipo de transmisin serial sea la eleccin de muchas aplicaciones industriales que necesitan dispositivos distribuidos en red conectados a una PC u otro controlador para la coleccin de datos, HMI, u otras operaciones. RS-485 es un conjunto que cubre RS-422, por lo que todos los dispositivos que se comunican usando RS-422 pueden ser controlados por RS-485. El hardware de RS-485 se puede utilizar en comunicaciones seriales de distancias de hasta 4000 pies de cable.

Pines del conector DB-9

-------------

\ 1 2 3 4 5 /

\ 6 7 8 9 /

---------

Conector externo de la computadora y expuesto del cable.

Funciones de los pines en RS-485 y RS-422:

Datos: TXD+ (pin 8), TXD- (pin 9), RXD+ (pin 4), RXD- (pin 5)

Handshake: RTS+ (pin 3), RTS- (pin 7), CTS+ (pin 2), CTS- (pin 6)

Tierra: GND (pin 1)

Qu es handshaking (o intercambio de pulsos de sincronizacin?

El mtodo de comunicacin usado por RS-232 requiere de una conexin muy simple, utilizando slo tres lneas: Tx, Rx, y GND. Sin embargo, para que los datos puedan ser transmitidos correctamente ambos extremos deben estar sincronizados a la misma velocidad. Aun y cuando este mtodo es ms que suficiente para la mayora de las aplicaciones, es limitado en su respuesta a posibles problemas que puedan surgir durante la comunicacin; por ejemplo, si el receptor se comienza a sobrecargar de informacin. Es en estos casos cuando el intercambio de pulsos de sincronizacin, o handshaking, es til. En esta seccin se describirn brevemente las tres formas ms populares de handshaking con RS-232: handshaking for software, handshaking por hardware, y XModem.

Handshaking por software: sta ser la primera forma de handshaking que discutiremos. Esta forma de sincronizacin utiliza bytes de datos como caracteres de control, de manera similar a como GPIB utiliza las cadenas de caracteres como comandos. Las lneas necesarias para la comunicacin siguen siendo Tx, Rx, y GND, ya que los caracteres de control se envan a travs de las lneas de transmisin como si fueran datos. La funcin SetXMode permite al usuario habilitar o deshabilitar el uso de dos caracteres de control: XON y XOFF. Estos caracteres son enviados por el receptor para pausar al transmisor durante la comunicacin.

A manera de ejemplo, asmase que el transmisor comienza a enviar datos a alta velocidad. Durante la transmisin, el receptor se da cuenta que el bfer de entrada se est llenando debido a que el CPU est ocupado con otras tareas. Para pausar temporalmente la transmisin, el receptor enva XOFF (cuyo valor es tpicamente 19 decimal, o 13 hexadecimal) hasta que el bfer se vace. Una vez que el receptor est preparado para recibir ms datos enva XON (cuyo valor es tpicamente 17 decimal, u 11 hexadecimal) para continuar la comunicacin. LabWindows enviar un XOFF cuando el bfer de entrada se encuentre a la mitad de su capacidad. Adems, en caso que la transmisin inicial de XOFF haya fallado, LabWindows enviar de nuevo un XOFF cuando el bfer alcance un 75% y 90% de su capacidad. Para que funcione correctamente, es necesario que el transmisor est utilizando el mismo protocolo.

La mayor desventaja de este mtodo es adems lo ms importante a considerar: los nmeros decimales 17 y 19 son ahora los lmites para la transmisin. Cuando se transmite en ASCII, esto no importa mucho ya que estos valores no representan carcter alguno. Sin embargo, si la transmisin de datos es en binario, lo ms probable es que estos valores sean transmitidos como datos regulares y falle la comunicacin.

Handshaking por hardware: El segundo mtodo de handshaking utiliza lneas de hardware. De manera similar a las lneas Tx y Rx, las lneas RTS/CTS y DTR/DSR trabajan de manera conjunta siendo un par la entrada y el otro par la salida. El primer par de lneas es RTS (por sus siglas en ingls, Request to Send) y CTS (Clear to Send). Cuando el receptor est listo para recibir datos, cambia la lnea RTS a estado alto; este valor ser ledo por el transmisor en la lnea CTS, indicando que est libre para enviar datos. El siguiente par de lneas es DTR (por sus siglas en ingls, Data Terminal Ready) y DSR (Data Set Ready). Estas lneas se utilizan principalmente para comunicacin por modem, permiten al puerto serial y modem indicarse mutuamente su estado. Por ejemplo, cuando el modem se encuentra preparado para que la PC enve datos, cambia la lnea DTR a estado alto indicando que se ha realizado una conexin por la lnea de telfono. Este valor se lee a travs de la lnea DSR y la PC comienza a enviar datos. Como regla general, las lneas DTR/DSR se utilizan para indicar que el sistema est listo para la comunicacin, mientras que las lneas RTS/CTS se utilizan para paquetes individuales de datos.

En LabWindows, la funcin SetCTSMode habilita o deshabilita el uso de handshaking por hardware. Si el modo CTS est habilitado, LabWindows aplica las siguientes reglas:

Cuando la PC enva datos:

La librera de RS-232 debe de detectar que la lnea CTS se encuentra en estado alto antes de enviar datos.

Cuando la PC recibe datos:

Si el puerto est abierto y el bfer de entrada puede contener ms datos, la librera enva a RTS y DTR a estado alto.

Si el bfer de entrada est al 90% de su capacidad, la librera manda a estado bajo RTS pero mantiene DTR en alto.

Si el bfer de entrada est casi vaco, la librera manda a estado alto RTS y mantiene DTR en alto.

Si el puerto se cierra, la librera manda a estado bajo a RTS y DTR.

Handshaking por XModem: El ltimo modo de handshaking presentado es el protocolo de transmisin de archivos XModem. Este protocolo es muy comn en comunicacin por modem. Aun y cuando es ms utilizado para comunicacin por modem, el protocolo XModem puede ser utilizado directamente entre otros dispositivos. En LabWindows, la implementacin de XModem se mantiene oculta para el usuario. Mientras la PC se conecte a otro dispositivo que utilice el protocolo XModem, se pueden utilizan las funciones de LabWindows para transferir datos de un lado a otro. Estas funciones son XModemConfig, XModemSend, y XModemReceive.

XModem utiliza un protocolo basado en los siguientes parmetros: start_of_data, end_of_trans, neg_ack, ack, wait_delay, start_delay, max_tries, packet_size. Estos parmetros deben de ser comunes en ambos lados de la comunicacin, y el estndar XModem contiene la definicin estndar de stos; sin embargo, se pueden modificar utilizando la funcin XModemConfig de LabWindows para cumplir cualquier otro requerimiento. Los parmetros en XModem funcionan de la siguiente manera: el receptor enva el carcter "neg_ack". Esto indica al transmisor que ya est listo para recibir datos. El receptor continuar enviado el carcter "neg_ack" en intervalos de tiempo de duracin de "start_delay" hasta que iguale la cuenta de "max_tries" o reciba "start_of_data" del transmisor. Si el receptor intenta comunicarse con el transmisor la misma cantidad de veces que "max_tries", informar al usuario que no fue posible comunicarse con el transmisor. Si el receptor s recibe el "start_of_data" del transmisor, leer el paquete de informacin que sigue. Este paquete contiene el nmero de paquete, el complemento del nmero de paquete para fines de verificacin de errores, el paquete actual de datos con una cantidad de bytes igual a "packet_size", y un checksum para ms verificacin de errores. Despus de recibir el paquete, el receptor mandar llamar el "wait_delay", y luego enviar el "ack" al transmisor. Si el transmisor no recibe el "ack", intentar de reenviar el paquete de datos una cantidad de veces igual a "max_tries" o hasta que reciba el "ack". Si nunca recibe el "ack", informar al usuario que hubo un fallo al momento de querer transferir el archivo.

Los datos deben de ser enviados en paquetes con una cantidad de bytes igual a "packet_size". Debido a esto, cuando se est enviando el ltimo paquete y no se tiene la cantidad suficiente de informacin vlida para llenarlo, el protocolo llenar el paquete con el carcter ASCII nulo (0). Esto puede causar que el archivo recibido sea ms grande que el original. Es importante recordar que no hay que usar XON/XOFF con el protocolo XModem, ya que el nmero de paquete durante la transferencia por XModem se incrementar conforme se envan los caracteres XON/XOFF, lo que puede causar una falla en la comunicacin.

Bluetooth:

Bluetooth es una especificacin industrial para Redes Inalmbricas de rea Personal (WPAN) que posibilita la transmisin de voz y datos entre diferentes dispositivos mediante un enlace por radiofrecuencia en la banda ISM de los 2,4 GHz. Los principales objetivos que se pretenden conseguir con esta norma son:

Facilitar las comunicaciones entre equipos mviles.

Eliminar los cables y conectores entre stos.

Ofrecer la posibilidad de crear pequeas redes inalmbricas y facilitar la sincronizacin de datos entre equipos personales.

Los dispositivos que con mayor frecuencia utilizan esta tecnologa pertenecen a sectores de las telecomunicaciones y la informtica personal, como PDA, telfonos mviles, computadoras porttiles, ordenadores personales, impresoras o cmaras digitales.

El estndar Bluetooth, del mismo modo que WiFi, utiliza la tcnica FHSS (Frequency Hopping Spread Spectrum, en espaol Espectro ensanchado por saltos de frecuencia), que consiste en dividir la banda de frecuencia de 2.402 - 2.480 GHz en 79 canales (denominados saltos) de 1 MHz de ancho cada uno y, despus, transmitir la seal utilizando una secuencia de canales que sea conocida tanto para la estacin emisora como para la receptora.

Por lo tanto, al cambiar de canales con una frecuencia de 1600 veces por segundo, el estndar Bluetooth puede evitar la interferencia con otras seales de radio.

Principio de comunicacin

El estndar Bluetooth se basa en el modo de operacin maestro/esclavo. El trmino "piconet" se utiliza para hacer referencia a la red formada por un dispositivo y todos los dispositivos que se encuentran dentro de su rango. Pueden coexistir hasta 10 piconets dentro de una sola rea de cobertura. Un dispositivo maestro se puede conectar simultneamente con hasta 7 dispositivos esclavos activos (255 cuando se encuentran en modo en espera). Los dispositivos en una piconet poseen una direccin lgica de 3 bits, para un mximo de 8 dispositivos. Los dispositivos que se encuentran en el modo en espera se sincronizan, pero no tienen su propia direccin fsica en la piconet.

Bluetooth: 1 maestro, 7 esclavos

En realidad, en un momento determinado, el dispositivo maestro slo puede conectarse con un solo esclavo al mismo tiempo. Por lo tanto, rpidamente cambia de esclavos para que parezca que se est conectando simultneamente con todos los dispositivos esclavos.

Bluetooth permite que dos piconets puedan conectarse entre s para formar una red ms amplia, denominada "scatternet", al utilizar ciertos dispositivos que actan como puente entre las dos piconets.

Cmo se establecen las conexiones

El establecimiento de una conexin entre dos dispositivos Bluetooth sigue un procedimiento relativamente complicado para garantizar un cierto grado de seguridad, como el siguiente:

Modo pasivo

Solicitud: Bsqueda de puntos de acceso

Paginacin: Sincronizacin con los puntos de acceso

Descubrimiento del servicio del punto de acceso

Creacin de un canal con el punto de acceso

Emparejamiento mediante el PIN (seguridad)

Utilizacin de la red

Durante el uso normal, un dispositivo funciona en "modo pasivo", es decir, que est escuchando la red.

El establecimiento de una conexin comienza con una fase denominada "solicitud", durante la cual el dispositivo maestro enva una solicitud a todos los dispositivos que encuentra dentro de su rango, denominados puntos de acceso. Todos los dispositivos que reciben la solicitud responden con su direccin.

El dispositivo maestro elige una direccin y se sincroniza con el punto de acceso mediante una tcnica denominada paginacin, que principalmente consiste en la sincronizacin de su reloj y frecuencia con el punto de acceso.

De esta manera se establece un enlace con el punto de acceso que le permite al dispositivo maestro ingresar a una fase de descubrimiento del servicio del punto de acceso, mediante un protocolo denominado SDP (Service Discovery Protocol, en espaol Protocolo de descubrimiento de servicios).

Cuando esta fase de descubrimiento del servicio finaliza, el dispositivo maestro est preparado para crear un canal de comunicacin con el punto de acceso, mediante el protocolo L2CAP.

Segn cules sean las necesidades del servicio, se puede establecer un canal adicional, denominado RFCOMM que funciona por el canal L2CAP, para proporcionar un puerto serial virtual. De hecho, algunas aplicaciones se han diseado para que puedan conectarse a un puerto estndar, independientemente del hardware utilizado. Por ejemplo, se han diseado ciertos programas de navegacin en carretera para la conexin con cualquier dispositivo GPS Bluetooth (GPS significa Global Positioning System [Sistema de posicionamiento global], un sistema de localizacin geogrfica por satlite para encontrar las coordenadas geogrficas de un dispositivo mvil o de un vehculo).

El punto de acceso puede incluir un mecanismo de seguridad denominado emparejamiento, que restringe el acceso slo a los usuarios autorizados para brindarle a la piconet cierto grado de proteccin. El emparejamiento se realiza con una clave cifrada comnmente conocida como "PIN" (PIN significa Personal Information Number [Nmero de identificacin personal]). Para esto, el punto de acceso le enva una solicitud de emparejamiento al dispositivo maestro. La mayora de las veces se le solicitar al usuario que ingrese el PIN del punto de acceso. Si el PIN recibido es correcto, se lleva a cabo la conexin.

En el modo seguro, el PIN se enviar cifrado con una segunda clave para evitar poner en riesgo la seal.

Cuando el emparejamiento se activa, el dispositivo maestro puede utilizar libremente el canal de comunicacin establecido.

Perfiles Bluetooth

El estndar Bluetooth define un cierto nmero de perfiles de aplicacin (denominados perfiles Bluetooth) para definir qu tipos de servicios ofrece un dispositivo Bluetooth. Por lo tanto, cada dispositivo puede admitir mltiples perfiles. A continuacin encontrar una lista de los principales perfiles Bluetooth:

Perfil de distribucin de audio avanzado (A2DP)

Perfil de control remoto de audio y vdeo (AVRCP)

Perfil bsico de imagen (BIP)

Perfil bsico de impresin (BPP)

Perfil de telefona inalmbrica (CTP)

Perfil de red de marcado (DUNP)

Perfil de fax (FAX)

Perfil de transferencia de archivos (FTP)

Perfil de acceso genrico (GAP)

Perfil genrico de intercambio de objetos (GOEP)

Perfil de sustitucin de cable de copia impresa (HCRP)

Perfil manos libres (HFP)

Perfil de dispositivo de interfaz humana (HID)

Perfil de auricular (HSP)

Perfil de intercomunicador (IP)

Perfil de acceso LAN (LAP)

Perfil de objeto push (OPP)

Perfil de redes de rea personal (PAN)

Perfil de acceso SIM (SAP)

Perfil de aplicacin de descubrimiento de servicio (SDAP)

Perfil de sincronizacin (SP): se utiliza para sincronizar el dispositivo con un administrador de informacin personal (abreviado PIM).

Perfil de puerto de serie (SPP)

Qu es Arduino?

Arduino es una herramienta para la toma de los equipos que pueden detectar y controlar ms del mundo fsico de su ordenador de sobremesa. Es una plataforma de computacin fsica de cdigo abierto basado en una placa electrnica simple, y un entorno de desarrollo para escribir software para la placa.

Arduino se puede utilizar para desarrollar objetos interactivos, teniendo las entradas de una variedad de interruptores o sensores, y el control de una variedad de luces, motores y otras salidas fsicas. Proyectos de Arduino pueden ser autnomos, o pueden comunicarse con el software que se ejecuta en su computadora (por ejemplo, Flash, Processing, MaxMSP). Las tablas se pueden montar a mano o comprados pre-ensamblada; el IDE de cdigo abierto se puede descargar de forma gratuita.

El lenguaje de programacin de Arduino es una implementacin de cableado, una plataforma similar computacin fsica, que se basa en el entorno de programacin multimedia de procesamiento.

Por qu Arduino?

Hay muchos otros microcontroladores y plataformas de microcontroladores disponibles para la computacin fsica. Parallax Basic Stamp, de Netmedia BX-24, Phidgets, Handyboard del MIT, y muchos otros ofrecen una funcionalidad similar. Todas estas herramientas toman los detalles sucios de programacin de microcontroladores y se envuelve en un paquete fcil de usar. Arduino tambin simplifica el proceso de trabajar con microcontroladores, pero ofrece algunas ventajas para los profesores, estudiantes y aficionados interesados sobre otros sistemas:

Asequible - placas Arduino son relativamente baratos en comparacin con otras plataformas de microcontroladores. La versin menos costosa del mdulo Arduino puede ser ensamblado a mano, e incluso los mdulos de Arduino premontados cuestan menos de $ 50

Cruz-plataforma - El software de Arduino se ejecuta en los sistemas operativos Windows, Macintosh OSX y Linux. La mayora de los sistemas de microcontroladores estn limitados a Windows.

Entorno de programacin simple, claro - El entorno de programacin de Arduino es suficiente para los usuarios avanzados que aprovechan as de fcil de usar para principiantes, pero flexible. Para los profesores, se basa convenientemente en el entorno de programacin Processing, por lo que los estudiantes aprenden a programar en ese entorno estarn familiarizados con el aspecto y la sensacin de Arduino

El cdigo abierto y extensible en software El software de Arduino est publicado como herramientas de cdigo abierto, disponible para la extensin por programadores experimentados. El idioma se puede ampliar a travs de las bibliotecas C ++, y la gente con ganas de entender los detalles tcnicos pueden dar el salto de Arduino para el lenguaje de programacin AVR C en la que se basa. Del mismo modo, puede agregar cdigo AVR-C directamente en sus programas de Arduino si quieres.

El cdigo abierto y el hardware extensible - El Arduino se basa en de Atmel ATmega8 y ATmega168 microcontroladores. Los planes para los mdulos estn publicados bajo una licencia de Creative Commons, por lo que los diseadores de circuitos con experiencia pueden hacer su propia versin del mdulo, amplindolo y mejorndolo. Incluso los usuarios con poca experiencia pueden construir la versin tablero del mdulo con el fin de entender cmo funciona y ahorrar dinero.

Android:

Android es un sistema operativo basado en el kernel de Linux diseado principalmente para dispositivos mviles con pantalla tctil, como telfonos inteligentes o tabletas, y tambin para relojes inteligentes, televisores y automviles, inicialmente desarrollado por Android Inc., que Google respald econmicamente y ms tarde compr esta empresa en 2005.9 Android fue presentado en 2007 junto la fundacin del Open Handset Alliance: un consorcio de compaas de hardware, software y telecomunicaciones para avanzar en los estndares abiertos de los dispositivos mviles.10 El primer mvil con el sistema operativo Android fue el HTC Dream y se vendi en octubre de 2008.11

Arquitectura:

Los componentes principales del sistema operativo de Android (cada seccin se describe en detalle):

Aplicaciones: las aplicaciones base incluyen un cliente de correo electrnico, programa de SMS, calendario, mapas, navegador, contactos y otros. Todas las aplicaciones estn escritas en lenguaje de programacin Java.

Marco de trabajo de aplicaciones: los desarrolladores tienen acceso completo a los mismos APIs del framework usados por las aplicaciones base. La arquitectura est diseada para simplificar la reutilizacin de componentes; cualquier aplicacin puede publicar sus capacidades y cualquier otra aplicacin puede luego hacer uso de esas capacidades (sujeto a reglas de seguridad del framework). Este mismo mecanismo permite que los componentes sean reemplazados por el usuario.

Bibliotecas: Android incluye un conjunto de bibliotecas de C/C++ usadas por varios componentes del sistema. Estas caractersticas se exponen a los desarrolladores a travs del marco de trabajo de aplicaciones de Android; algunas son: System C library (implementacin biblioteca C estndar), bibliotecas de medios, bibliotecas de grficos, 3D y SQLite, entre otras.

Runtime de Android: Android incluye un set de bibliotecas base que proporcionan la mayor parte de las funciones disponibles en las bibliotecas base del lenguaje Java. Cada aplicacin Android corre su propio proceso, con su propia instancia de la mquina virtual Dalvik. Dalvik ha sido escrito de forma que un dispositivo puede correr mltiples mquinas virtuales de forma eficiente. Dalvik ejecuta archivos en el formato Dalvik Executable (.dex), el cual est optimizado para memoria mnima. La Mquina Virtual est basada en registros y corre clases compiladas por el compilador de Java que han sido transformadas al formato.dex por la herramienta incluida "dx".

Ncleo Linux: Android depende de Linux para los servicios base del sistema como seguridad, gestin de memoria, gestin de procesos, pila de red y modelo de controladores. El ncleo tambin acta como una capa de abstraccin entre el hardware y el resto de la pila de software.

Descripcin del proyecto

En este proyecto lograremos conectar 2 Arduinos nanov3.0 con el S.O Android

Por bluetooth, usaremos 3 mdulos hc-05 de los cuales uno estar en modo esclavo y otro en maestro esto ser en la comunicacin los 2 Arduinos, el Arduino 01 tendr conectado 2 mdulos hc-05 (Fig. 01), uno de ellos usara el puerto serial que trae el Arduino y el otro se creara uno virtual con la librera #include y asi lograr que este se comunique con S.O Android desde el cual se podr activar actuadores tanto como en el Arduino 01 y Arduino 02 se leer de ellos una variable analgica que en este caso ser temperatura con sensor lm35 para el desarrollo de nuestra aplicacin usaremos el software App Inventor (Fig. 02)

Fig. 01Circuito de estados lgicos

Fig. 03

Fig. 04

Diagrama de flujo del funcionamiento

(INICIO)

(A 0)

(ENCENDER BLUETOOTH)

(NO) (BLUETOOTH = ON)

(SI)

(ENVIAR A (Desde celular a Arduino nano 1))

(LEER VALOR DE A) (ENVIAR VALOR DE A (Arduino nano 2))

(NO) (A < 6)

(LEER VALOR DE A)

(SI)

(NO) (ENCENDER LEDS (Arduino nano 1)) (A > 6)

(SI)

(ENCER LED S (Arduino nano 2))

(FIN)

Fuentes

http://digital.ni.com/public.nsf/allkb/039001258CEF8FB686256E0F005888D1

http://catarina.udlap.mx/u_dl_a/tales/documentos/lem/morales_h_oe/capitulo3.pdf

http://es.kioskea.net/contents/69-como-funciona-bluetooth

http://html.rincondelvago.com/bluetooth_comunicacion-inalambrica.html

http://galia.fc.uaslp.mx/~cantocar/microcontroladores/SLIDES_8051_PDF/EL_RS232.PDF

http://es.wikipedia.org/wiki/Android