Aplicaciones básicas con transferencia de datos a través de puertos estándar
3.1. Herramientas de manejo de puertos en lenguaje de programación.3.2. Aplicaciones empleadas transferencia por puestos estándar.3.3. Sensores y actuadores en aplicaciones (como en domótica)
3.1. Herramientas de manejo de puertos en lenguaje de programación.
PUERTO SERIE (RS232)
Este programa proporciona la opción de comunicación con el dispositivo GPS a través de algún puerto serie del ordenador. Para que la transmisión de datos se realice satisfactoriamente es necesario configurar y poner los mismos parámetros de comunicación en ambos aparatos, por defecto aparece: puerto serie (COM1),velocidad de transferencia (4800 baudios), sin control de flujo de entrada ni de salida, bits de datos (8), bits de stop (1) y sin bits de paridad .
Implementación en java
Se ha utilizado la API CommAPI (Java communications API) para controlar los puertos serie con la aplicación java. Todas las clases empleadas se han almacenado en el paquete RS232 de la aplicación.
Clases empleadas
RS2332.java
Proporciona un panel para la interfaz RS232, donde permite cambiar de subpanel central tras la pulsación de los botones “CONFIGURAR ” o ”VER DATOS ”
Serial.java
facilita un panel para poder configurar ko parámetros de la comunicación serie, a través de elementos Combox. Esta clase también permite establecer la conexión por el puerto serie y la habilitación la transformación de la información RTCM usando un CheckBox
ParametrosSerie.java
Almacena los valores de los parámetros de la transmisión serie, donde pueden ser cambiados o leidos.
ConexiónSerie.java
La clase ConexionSerie.java es la encargada de realizar y supervisar la conexión RS232, e implementar SerialPortEventListener para escuchar los eventos producidos en el puesto serie.
Los métodos que la componen son:
• abrirConexion( ):
Intenta abrir una conexión serie, con sus flujos de datos de estrada y salida, usando los parámetros de configuración de la comunicación serie. Si algún paso no es soportado por el puerto se lanza una excepción y se cierra.
• poneParametros( ):
Pone los parámetros de la conexión. Si ocurre algún fallo cuando se ponen los parámetros en el puerto serie se deja el valor original de los parámetros.
• cierraConexion( ):
Cierra el puerto y borra los elementos asociados.
• serialEvent(SerialPortEvent e):
Método que escucha los eventos producidos por el puerto serie.Diferencia entre los dos tipos de eventos utilizados (DATA_AVAILABLE y Break_Interrupt). Cuando ocurre un evento DATA_AVAILABLE se lee el buffer del puerto hasta que no hay mas datos en evento de ruptura de transmisión es indicado en la caja de texto de entrada, y no lee datos.
• enviaPuertos(byte[ ] b, int off, int len):
Se encarga de enviar los bytes de longitud “ len” introducidos como parámetro al puerto serie, empezando por el byte correspondiente a la posición “off”.
3.2. Aplicaciones empleadas transferencia por puestos estándar.
Sobre la tecnología Bluetooth
Bluetooth es una tecnología de comunicación inalámbrica omnidireccional. Se ideó pensando en dispositivos de bajo consumo y comunicaciones a corta distancia (10 metros).
Se trata de una tecnología barata con un ancho de banda reducido: hasta 11 Mbit/s. Es ideal para periféricos de ordenador (ratón, teclado, manos libres,...) y dispositivos móviles (Teléfonos móviles, PDAs, Pocket PCs,...).
Mediante Bluetooth es posible formar pequeñas redes de dispositivos conectados denominadas piconets. Se pueden conectar varias piconets formando lo que se denomina una scatternet.
Las principales aplicaciones de Bluetooth son: transferencia de archivos, sincronización de dispositivos y conectividad de periféricos.
Sobre el API JSR-82
Este API está dividida en dos partes: el paquete javax.bluetooth y el paquete javax.obex.
Los dos paquetes son totalmente independientes. El primero de ellos define clases e interfaces básicas para el descubrimiento de dispositivos, descubrimiento de servicios, conexión y comunicación.
La comunicación a través de javax.bluetooth es a bajo nivel: mediante flujos de datos o mediante la transmisión de arrays de bytes.
Por el contrario el paquete javax.obex permite manejar el protocolo de alto nivel OBEX (OBject EXchange). Este protocolo es muy similar a HTTP y es utilizado sobre todo para el intercambio de archivos. El protocolo OBEX es un estándar desarrollado por IrDA y es utilizado también sobre otras tecnologías inalámbricas distintas de Bluetooth.
La plataforma principal de desarrollo del API JSR-82 es J2ME. El API ha sido diseñada para depender de la configuración CLDC. Sin embargo existen implementaciones para poder hacer uso de este API en J2SE. Al final del tutorial se listan la mayoría de las implementaciones del JSR-82 existentes.
El paquete javax.bluetooth
En una comunicación Bluetooth existe un dispositivo que ofrece un servicio (servidor) y otros dispositivos acceden a él (clientes). Dependiendo de qué parte de la comunicación debamos programar deberemos realizar una serie de acciones diferentes.
Un cliente Bluetooth deberá realizar las siguientes:
• Búsqueda de dispositivos. La aplicación realizará una búsqueda de los dispositivos
Bluetooth a su alcance que estén en modo conectable.
• Búsqueda de servicios. La aplicación realizará una búsqueda de servicios por cada dispositivo.
• Establecimiento de la conexión. Una vez encontrado un dispositivo que ofrece el servicio deseado nos conectaremos a él.
• Comunicación. Ya establecida la conexión podremos leer y escribir en ella.
Por otro lado, un servidor Bluetooth deberá hacer las siguientes operaciones:
• Crear una conexión servidora
• Especificar los atributos de servicio
• Abrir las conexiones clientes
Algunas clases básicas
Clase LocalDevice
Un objeto LocalDevice representa al dispositivo local. Este objeto será el punto de partida de prácticamente cualquier operación que vayamos a llevar a cabo en este API.
Alguna información de interés que podemos obtener a través de este objeto es, por ejemplo, la dirección Bluetooth de nuestro dispositivo, el apodo o "friendly-name" (también llamado "Bluetooth device name" o "user-friendly name"). A través de este objeto también podemos obtener y establecer el modo de conectividad: la forma en que nuestro dispositivo está o no visible para otros dispositivos. Esta clase es un "singleton"; para obtener la única instancia existente de esta clase llamaremos al método getLocalDevice() de laclase LocalDevice.
Veamos un ejemplo:
import javax.microedition.midlet.MIDlet;
import javax.microedition.lcdui.*;
import javax.bluetooth.*;
public class Ejemplo1 extends MIDlet {
public void startApp() {
LocalDevice localDevice = null;
try {
localDevice = LocalDevice.getLocalDevice();
} catch(BluetoothStateException e) {
System.out.println("Error al iniciar"+
" el sistema Bluetooth");
return;
3.3. Sensores y actuadores en aplicaciones (como en domótica).
Domótica.
Se llama domótica al conjunto
de sistemas capaces de automatizar una vivienda,
aportando servicios de gestión energética, seguridad, bienestar y comunicación,
y que pueden estar integrados por medio de redes interiores y exteriores de
comunicación, cableadas o inalámbricas, y cuyo control goza de cierta
ubicuidad, desde dentro y fuera del hogar.
Se podría definir como la integración de
la tecnología en el diseño inteligente de un recinto cerrado.
El término domótica viene de
la unión de las palabras domus (que
significa casa en latín) y tica (de automática,
palabra en griego, ‘que funciona por sí sola’).
Sensores.
Los sensores
son los elementos que utiliza el sistema para conocer el estado de ciertos
parámetros (la temperatura ambiente, la existencia de un escape de agua, etc.) Entre los más comúnmente utilizados se
distinguen los siguientes:
-Termostato de
ambiente, destinado a medir la temperatura de la estancia y permitir la
modificación de parámetros de consigna por parte del usuario.
-Sensor
de inundación, destinada a detectar posibles escapes de agua en cocinas, aseos,
etc.
-Detector de
fugas de gas, para la detección de posibles fugas de gas en cocina, etc.
-Detector de humo y/o fuego, para la detección de conatos de incendio.
Actuadores.
Son elementos que utiliza el sistema
para modificar el estado de ciertos equipos e instalaciones. Entre los más
comúnmente utilizados se distinguen los siguientes:
Dimmers
regulación iluminación
Contactores/relés
para base de enchufe
Válvulas para
la zonificación de la calefacción por agua caliente.
Sirenas o
elementos zumbadores, para el aviso de alarmas en curso.
Aplicaciones
•
Edificio de oficinas
•
Corporativas
•
Hoteles.
•
Hospitales.
•
Universidades.
•
Industrias.
No hay comentarios:
Publicar un comentario