Proyecto Redes Industriales
Proyecto Redes Industriales
Proyecto Redes Industriales
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
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 RS232 se puede utilizar para comunicaciones seriales en distancias de hasta 50 pies.
Datos:
Handshake:
Tierra:
Otros:
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 RS422, 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.
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.
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:
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 preensamblada; 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.
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.
Fig. 03
Fig. 04
INICIO
A0
ENCENDER
BLUETOOTH
BLUETOOTH = ON
N
O
SI
ENVIAR A (Desde
celular a Arduino
nano 1)
ENVIAR VALOR DE
A (Arduino nano 2)
LEER VALOR DE
A
A<6
N
O
LEER VALOR
DE A
SI
ENCENDER
LEDS (Arduino
nano 1)
N
O
A>6
SI
ENCER LED S
(Arduino nano
2)
FIN
Fuentes
http://digital.ni.com/public.nsf/allkb/039001258CEF8FB686256E0F00588
8D1
http://catarina.udlap.mx/u_dl_a/tales/documentos/lem/morales_h_oe/capi
tulo3.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_PD
F/EL_RS232.PDF
http://es.wikipedia.org/wiki/Android