APP KNX See-Home: supervisión y control de la vivienda KNX en tiempo real desde smartphones y tablets

13 11 2012

Schneider Electric, especialista global en gestión de la energía y líder en eficiencia energética, ha participado en el marco de la feria Matelec en el IV Congreso KNX

 

 

En la jornada ha intervenido el Product Manager de Schneider Electric, Javier Hernández, quién ha realizado una ponencia sobre “La evolución del interface de usuario KNX”. En concreto, y partiendo de los dispositivos de visualización que existían el siglo pasado, ha centrado su intervención a subrayar la necesidad actual que supone la supervisión y el control de la instalación KNX desde cualquier lugar y en todo momento desde un Smartphone o dispositivo portátil.

 

Supervisión y control en tiempo real

 

Javier Hernández ha dedicado parte de su ponencia a presentar la nueva APP KNX de Schneider Electric: See-Home. Gracias a esta aplicación, el usuario podrá realizar una supervisión y control de la vivienda KNX en tiempo real desde smartphones y tablets que funcionen con sistema operativo Android o IOS (iPad, iPhone e iTouch).

 

 

Desde el APP See-Home de Schneider Electric se pueden llevar a cabo múltiples controles: iluminación (on/off, regulada y RGB), control de persianas (venecianas, enrollables y Gradhermetic), así como control de clima, desde consignas, temperatura real a modos de funcionamiento y velocidad del ventilador.

 

Todo ello además de realizar la activación de escenas, visualizar alarmas (de humo, inundación, gas y viento), visualización de voltaje, corriente y potencia, así como visualizar la velocidad del viento, lluvia, nivel de humedad relativa y calidad del aire (CO2). También visualizar cámaras de IP.

 

En paralelo a See-Home, Schneider Electric seguirá mostrando en Matelec su compromiso con la innovación y la calidad, poniendo como ejemplos algunas de las soluciones más destacadas de la compañía, como el Acti 9, las soluciones de energía segura para industria e infraestructuras, las soluciones de recarga para el vehículo eléctrico o las propuestas en energías renovables.

 

 

Anuncios




Zigbee: protocolo de comunicaciones inalámbricas basado en el estándar 802.15.4

22 08 2012

ZigBee es un protocolo de comunicaciones inalámbricas basado en el estándar 802.15.4, está pensado para comunicaciones a baja velocidad entre dos o varios dispositivos, se pueden formar redes con miles de dispositivos comunicandose entre sí, por lo que es ideal para muchas aplicaciones.

ZigBee es desarrollado por la ZigBee Alliance, formada por cientos de compañias que quieren solventar la necesidad de un estándar para comunicaciones a baja velocidad, con un bajo coste de implementación y donde los dispositivos que forman parte de una red pueden requerir un bajo consumo, llegando a estar funcionando durante años con un par de pilas.

Se basa en el estándar de comunicaciones 802.15.4 que define el hardware y software de las capas physical (Phy) y media access control (MAC). Cada capa es responsable de una serie de funciones necesarias para la comunicación, ZigBee añade capas sobre las dos capas anteriores del 802.15.4, una capa no sabe nada sobre la capa que está por encima de ella y cada capa que añadimos añade una serie de funciones a la base de las inferiores.

Cualquier dispositivo de un fabricante que soporte este estándar de comunicaciones y pase la certificación correspondiente, podrá comunicarse con otro dispositivo de otro fabricante distinto. Un dispositivo ZigBee estaría formado por una radio según el estándar 802.15.4 conectada a un microcontrolador con la pila (stack) de ZigBee, donde se implementan las capas por encima de las del 802.15.4. Esta pila está diseñada para poder ser implementada en microcontroladores de 8 bits.

Características de las redes/dispositivos ZigBee serían las siguientes:

  • Velocidad de transmisión entre 25-250 kbps.
  • Protocolo asíncrono, half duplex y estandarizado, permitiendo a productos de distintos fabricantes trabajar juntos.
  • Se pueden formar redes que contengan desde dos dispositivos hasta cientos de ellos.
  • Los dispositivos de estas redes pueden funcionar en un modo de bajo consumo, lo que supone años de duración de sus baterías.
  • Opera en la frecuencia de 2.4 GHz (16 canales) y también en las frecuencias de 868 MHz y 915 MHz.
  • Es un protocolo fiable, la red se organiza y se repara de forma automática y se rutean los paquetes de manera dinámica.
  • Es un protocolo seguro ya que se puede implementar encriptación y autentificación.

Se puede decir que ZigBee ocupa el vacío que hay por debajo de Bluetooth, para comunicaciones de datos que no requieren altas velocidades.

Una comparativa con Wifi y Bluetooth:

Los campos de aplicación de ZigBee son muchos, todos en los que se requiera transmitir comandos o recoger lectura de sensores, etc.. y no interese o no sea práctico usar cables.

Campos de aplicación pueden ser:

  • Agricultura: redes de sensores de bajo consumo en el campo para medir y recoger distintos parámetros.
  • Domótica, automatización de edificios y hogares, control industrial.
  • Atención sanitaria: recoger información de sensores en los pacientes, un ejemplo puede ser la ropa inteligente.
  • Control remoto de electrónica de consumo, como el mando de la televisión, luces, etc.

Podemos encontrar más sobre los distintos campos de aplicación de esta tecnología y sus estandares aquí.

La Alianza ZigBee también define unos llamados perfiles de aplicación, que especifican como los dispositivos ZigBee deben funcionar/comunicarse dentro de un determinado campo/mercado. Por ejemplo el perfil de domótica describiría como un sensor de temperatura debe mandar sus lecturas a un termostato, y como éste controlaría por ejemplo un radiador. De esta forma se pueden integrar dispositivos de distintos fabricantes para unas tareas determinadas.

En las redes ZigBee encontramos tres tipos de dispositivos:

  • Coordinator: en toda red sea de doscientos o de dos dispositivos, debe haber un coordinador, sólo puede haber uno por red y entre sus tareas están las de formar y gestionar la red.
  • Router: son dispositivos de la red que tienen la capacidad de enviar, recibir y enrutar información. Pueden actuar como mensajeros entre dispositivos que están muy alejados para establecer una comunicación directamente, los dispositivos ZigBee no están pensados para comunicaciones de largas distancias, sino para trabajar en redes de sensores y cubrir esas largas distancias pasando la información entre los distintos nodos.
  • End device: estos serían los dispositivos de bajo consumo. El coordinador y los routers deben estar siempre encendidos ya que pueden actuar como mensajeros entre otros dispositivos, por lo que lo normal puede ser conectarlos a la red eléctrica. Los end devices pueden enviar y recibir información pero no pueden actuar como mensajeros entre otros dos dispositivos de la red, lo normal es que el end device esté en un modo de bajo consumo y se despierte cuando quiere enviar o recibir información, alargando la duración de sus baterías durante mucho tiempo. Como los end device pueden estar dormidos en un modo de bajo consumo, necesitan estar asociados a un coordinador o a un router, que guarden los mensajes que han sido enviados para ellos mientras estaban dormidos y se los hagan llegar cuando despierten.

En una red ZigBee debe haber un coordinador (sólo uno) y todos los routers y end devices que queramos, la red más sencilla sería un coordinador más un router o end device.

Muchos son los fabricantes de dispositivos electrónicos que nos ofrecen radios y módulos ZigBee. La combianción de una radio 802.15.4 y un microcontrolador que implemente el stack ZigBee es lo que se llama un módulo ZigBee. En ese mismo microcontrolador suele quedar memoria suficiente para implementar una pequeña aplicación/programa, pero para ello necesitaremos herramientas sofware y hardware del fabricante que nos permitan hacer y descargar los programas en ese microcontrolador del módulo, herramientas que probablemente no sean nada baratas.

Para comenzar lo más sencillo suele ser comprar un módulo ZigBee, y en lugar de utilizar el microcontrolador del propio módulo para que corra nuestro programa de aplicación, utilizar otro microcontrolador externo donde programar nuestra aplicación y usar el módulo ZigBee sólo para que realice la comunicación, el microcontrolador externo se comunica con el interno para enviar y recibir datos a través del módulo.

Antes de empezar con los módulos y tras la breve introducción de la idea que me he hecho de ZigBee después de leer (espero no haberme equivocado mucho..), enlazo bibliografía sobre el tema:

Espero poder ir desarrollando proyectos de electrónica con ZigBee en este blog, para ir aprendiendo sobre el tema, ya que las aplicaciones son muchas y puede ser algo muy útil y entretenido.

Para empezar con ZigBee me he decidido por comprar unos módulos de Digi: XBee Series 2, no confundir con la Serie 1 que son módulos 802.15.4 pero no implementan ZigBee ni permiten montar redes de varios dispositivos.

En la foto se pueden ver varios módulos ZigBee de Digi International, podemos comprarlos de dos tipos: los módulos normales S2 y los módulos PRO S2B. La diferencia es que los módulos PRO tienen mayor alcance, mayor consumo y cuestan más dinero, también los S2B traen un segundo microcontrolador interno (además del que implementa el stack de ZigBee). Se ve como los módulos pueden llevar varios tipos de antena, para empezar a probar lo mejor es cogerse los módulos S2 con la antena de cable como se ve en la imagen de debajo.

Estos módulos tienen una serie de patillas para ser soldados a un circuito impreso, la separación de estas patillas no es de paso estándar (2.54 mm) de protoboard, por lo que no los podrémos pinchar directamente en una protoboard o soldar en una placa de topos, necesitaremos un adaptador. La separación entre las patas es de 2 mm.

El módulo está  diseñado a partir de un chip de Ember con una radio y un microcontrolador, el microcontrolador interno saca al exterior sus pines a través de las patillas del módulo, en su datasheet se puede encontrar la descripción detallada de cada una de ellas.

El microcontrolador interno del módulo se comunica con el exterior mediante una UART, esta UART la podemos utilizar para cambiar el firmware del módulo a través de un bootloader que lleva ya grabado, o para conectar el microcontrolador interno con la UART de un microcontrolador externo para que éste envie y reciba datos a través del módulo XBee.

Como se puede ver en la imagen una primera forma de utilizar estos módulos es usando un microcontrolador externo que se comunique con el módulo XBee a través de su puerto serie. El módulo XBee funciona a 3.3V, por lo que si nuestro microcontrolador externo funciona a 5V nos tocará hacer una adaptación de niveles entre las líneas de comunicación del microcontrolador externo y del módulo XBee.

Si miramos el datasheet vemos como muchos de los pines del módulos XBee se pueden configurar como entradas o salidas digitales, o como entradas analógicas. Lo que nos permite utilizar el módulo para leer directamente un sensor o activar algún dispositivo sin la necesidad de tener que añadir un microcontrolador externo al proyecto, lo que reduce el consumo y el coste. Por ejemplo podemos usar el módulo para leer un sensor de temperatura y mandar la información, alimentando todo con dos pilas y sin hardware adicional. Según vaya avanzando espero ir poniendo por aquí estas cosas, ya que el tema de ZigBee es amplio, de momento el objetivo de la entrada de este post es establecer una comunicación entre dos módulos XBee para probarlos.

Para poder integrar los módulos en nuestros proyectos sin necesidad de hacer un pcb necesitamos hardware adicional:

XBee Explorer USB.

Esta placa nos va a permitir comunicar el pc con el módulo XBee, es un chip FTDI que hace de puente entre el USB del PC y la UART del microcontrolador. Esta placa hay que comprarla ya que se va a utilizar para actualizar, descargar firmware y configurar los módulos XBee que vayamos a utilizar en nuestros proyectos. También la vamos a utilizar para dotar a nuestro PC de conexión ZigBee y conectarlo a la red de dispositivos para enviar y recibir datos, conectamos un módulo a la placa conectada al puerto USB del PC. Para cambiar el firmware y configurar los módulos utilizamos el X-CTU, un programa de Digi que explico más abajo.

Breakout board.

Si queremos pinchar el módulos XBee en una placa de prototipos para hacer pruebas debemos comprar un placa que adapte el paso de los pines del módulo al paso de los pines de la protoboard. Además de los conectores correspondientes que debemos soldar a la placa adaptadora y un intercambiador de niveles de tensión si el microcontrolador externo va a funcionar a 5V. Enlazo los componentes necesarios:

XBee Explorer Regulated.

Si disponemos de una placa como vinciDuino podemos pinchar directamente el módulo XBee a nuestra placa con el microcontrolador externo, esta placa tiene un regulador de tensión de 3.3V para alimentar el módulo XBee, y un diodo para hacer una adaptación de niveles. Para conectar la placa a vinciDuino necesitaremos comprar el conector que se ve en la parte inferior de la imagen: conector. Los leds que se ven en la placa (la XBee Explorer USB también los tiene, nos indica cuando el módulo recibe o envia datos (DIN y DOUT) y la intensidad de la señal en el último paquete recibido (RSSI).

Los módulos XBee se pueden encontrar también en Sparkfun:

Las características de estos módulos según su datasheet son:

  • Alcance en interiores: 40 m.
  • Alcance en exteriores: 120 m.
  • Potencia de transmisión: 2 mW.
  • Sensibilidad del receptor: -96 dBm
  • Consumo de corriente en transmisión: 40 mA @ 3.3V
  • Consumo de corriente en recepción: 40 mA @ 3.3V
  • Consumo de corriente durmiendo: < 1uA

Una vez que tenemos nuestros módulos y el hardware adicional listo lo siguiente es probarlos:

Para poder utilizar los módulos lo primero es configurarlos, para ello tenemos que bajar el X-CTU de la página de Digi, con el podemos cambiar el firmware de los módulos XBee, también lo podemos usar como terminal serie para mandar y recibir datos por el módulo desde el PC.

Bajamos e instalamos el programa, diciendo que si a las actualizaciones si nos preguntan. Conectamos la placa XBee Explorer USB con uno de los módulos XBee al puerto USB y abrimos el programa X-CTU.

Dejamos todos los parámetros de la comunicación serie como vienen por defecto, seleccionamos el puerto donde está conectado el módulo al PC (en mi caso aparece sólo uno) y le damos a Test/Query para probar el módulo. Si todo está bien nos devolverá algo como esto:

Un cuadro de diálogo donde podemos ver el tipo de módulo que hemos pinchado en la XBee Explorer USB, la versión del programa interno del microcontrolador que lleva grabada y su número de serie. Este número de serie de los módulos es único, es decir no hay dos módulos ZigBee con el mismo número de serie igual.

En la parte de debajo podemos ver el número de cada módulo, los primeros 32 bits 0013A200 se corresponde con un número asignado para el fabricante, todos los módulos XBee tendrán el mismo, y los 32 bits siguientes 40813E2A son individuales para cada módulo, no habrá dos módulos con estos números iguales. Ya que este número se puede usar para identificar a un módulo dentro de la red y comunicarse con él.

Vamos a hacer el ejemplo más simple, coger estos dos módulos XBee y configurar uno como Coordinator y otro como Router para establecer una comunicación entre ellos. Los módulos llevan un microcontrolador que corre un programa, dependiendo de que tipo de dispositivo vaya a ser el módulo (coordinator, router o end device) y de su modo de comunicación por su puerto serie con el mundo exterior, hay que grabar un programa u otro en él mediante el X-CTU.

Para ello nos vamos a la pestaña de Module Configuration:

Y le damos al botón Read para leer el firmware (programa del microcontrolador) que lleva grabado el módulo:

Nos aparecen una serie de parámetros de configuración y unas listas desplegables, donde podemos seleccionar distintos programas para grabar en los módulos en función del tipo de dispositivo que queremos que sean en la red. Con las 3 listas desplegables Modem XBee, Function Set y Version seleccionamos el porgrama a descargar en el módulo.

Modem XBee se refiere al tipo de módulo que hemos comprado, en nuestro caso seleccionamos XB24-ZB para los módulos de la serie dos, si tuviesemos pinchado un módulo PRO tendríamos que seleccionar (o nos saldría) XBP24-ZB. En la siguiente lista Function Set tenemos varias opciones:

Podemos ver como podemos decidir si grabar un programa para que el módulo funcione como un coordinator, router o end device, y dentro de cada una de estás 3 opciones podemos elegir otras más , como que lea un sensor, o active una de sus salidas. La decisión más importante es decidir si vamos a configurar los módulos como AT o como API.

Con la opción de AT o API decidimos como nos vamos a comunicar con el puerto serie (la UART) del microcontrolador interno del módulo:

  • Si seleccionamos la opción de AT lo que el módulo reciba por el pin DIN de su UART, lo manda por la comunicación inalámbrica, es decir si le escribimos 10100000 el módulo transmitiría 10100000, así de simple. Y de igual forma lo que el módulo recibe se lo transmite al microcontrolador como le llega por el pin DOUT. Si mandamos a DIN del módulo los caracteres +++, el módulo entra en modo comandos, y nos permite configurar distintas opciones del módulo a través de su puerto serie.
  • Si seleccionamos API la comunicación con el módulo es más compleja, ya no entra y sale lo que mandamos al módulo por el puerto serie, sino que nos comunicamos con el módulo XBee mediante frames, es decir los datos tienen que ir estrucutrados según un orden establecido, con bytes de start, de longitud, de tipo de datos, de checksum, etc… Con esta opción de comunicación con el módulo tenemos muchas más posibilidades de comunicación que de la otra forma, podemos mandar comandos a otros módulos para configurarlos de manera remota, saber quien es el remitente del mensaje, saber si los paquetes han llegado, etc..

Para probar los módulos lo más simple, configurar un módulo XBee como Coordinator AT y el otro como Router AT, lo primero es apuntar la dirección de 64 bits única de los módulos, el módulo con dirección 0013A2004081372A va a ser el coordinator, y el módulo con dirección 0013A200407E6FCF va a ser el router.

Primero configuramos el coordinator, pinchamos el módulo en la placa XBee Explorer USB conectada al pc y nos vamos a la pestaña anterior de Function Set y seleccionamos ZigBee Coordinator AT, en modem XB24-ZB y en versión la última. Con esto decimos a X-CTU que vamos a grabar un programa en el módulo para que éste funcione como coordinator en modo AT, lo siguien es seleccionar los parámetros de la comunicación.

Lo primero es establecer el PAN ID, el número de identificación de nuestra red, todos los módulos que se comuniquen dentro de una red deben de tener el mismo número, establecemos como PAN ID por ejemplo el número 555.

Lo siguiente es establecer la Destination Address High y Low, es decir el número de 64 bits de nuestro router que hemos anotado antes.

Estableciendo estas direcciones le decimos a nuestro coordinator a que módulo de la red le va a mandar la información que reciba por su puerto serie, entrando en comandos AT con +++ podemos cambiar la dirección de destino y enviar información a otro módulo distinto al inicial. Una vez que hemos puesto las direcciones le damos a Write para que se descargue el programa correspondiente en el módulo XBee.

Ahora desconectamos la placa del puerto USB, cerramos el programa y pinchamos el módulos que va a funcionar como router y abrimos el programa para configurarlo, igual que antes nos vamos a la pestaña de modem configuration, seleccionamos el modo de funcionamiento y metemos el PAN ID y la dirección de 64 bits del coordinator, una vez hecho le damos a write.

Ya tenemos los módulos listos para ser usados, quitamos el router de la placa USB, cerramos el programa. Pinchamos el módulo del coordinator en la placa USB y lo conectamos al PC y abrimos en programa y nos vamos a terminal dejando todas las opciones de la configuración serie por defecto como están.

Ahora tenemos un módulo XBee conectado al PC y emitiendo y recibiendo datos, los carácteres que tecleemos aparecen en azul en el terminal, y son los que estamos enviando a la dirección de destino que hemos configurado en el coordinator, si tecleamos +++ podemos ver como entramos en modo de comandos, y si entramos y tecleamos  por ejemplo atid el módulo nos devuelve la ID de la red que hemos configurado. Todos los parámetros que hemos configurado en el X-CTU anteriormente (PAN ID y las direcciones de destino) se pueden configurar a través del terminal serie, del modo comandos se sale de manera automática después de un tiempo (10 s por defecto) sin teclear nada.

En un lado de la comunicación tenemos un coordinador conectado a un terminal serie de un pc, desde donde podemos enviar y recibir datos. Podríamos conectar el router a otro terminal serie del PC y comunicar ambos terminales mediante ZigBee, pero sólo tengo una XBee Explorer USB (abusan bastante del precio por esta placa). Por lo que usando una de las otras placas para los módulos vamos a conectar el router a un microcontrolador, como se ve en la imagen.

Hay que conectar el pin RX de la UART del microcontrolador con el pin DOUT del módulo XBee, y el pin TX de la UART del microcontrolador con el pin DIN de l módulo XBee, la placa donde pinchamos la XBee ya lleva un regulador para dar 3.3V al módulo y un diodo para adaptar el nivel de tensión de los 5V del microcontrolador a los 3.3V del módulo en la línea DIN.

Los parámetros de la UART del microcontrolador los debemos configurar como los que hemos dejado por defecto en el módulo: 9600, 8, 1…

Una vez que configuramos la UART del microcontrolador, lo que escribamos en el terminal del PC le llega al microcontrolador, y los caracteres que mandemos por la UART del microcontrolador aparecerán en el terminal del PC. Los caracteres que escribimos en el terminal aparecen en azul y los que recibimos en rojo.

Para realizar la prueba grabamos un programita sencillo en el microcontrolador, que encienda el led L de la placa de vinciDuino cuanto pulsemo ‘e’ en el pc y lo apague cuando pulsemos la letra ‘a’, cada vez que lo encienda o lo apague el microcontrolador le mandará al pc “LED1″ o “LED0″. Adjunto el video de del funcionamiento donde se pueden ver también los leds indicadores de las placas  y el código de la prueba al final.

Las aplicaciones de ZigBee son muchas y el tema de las redes de objetos inteligentes conectados bastante interesante, espero poder ir desarrollando proyectos de estos temas en el blog según voy aprendiendo sobre este estándar.

Código de la prueba en vinciDuino.

#include <avr/io.h>
#define F_CPU 16000000UL
#include <util/delay.h>

#define BAUD 9600
#define MYUBRR ((F_CPU/(BAUD*16UL))-1)

#define LEDRX PORTB0
#define LEDTX PORTD5	
#define LEDL PORTC7

void inicializar_micro(void);
void USART_Transmit( unsigned char data );
unsigned char USART_Receive( void );

int main(void)
{
	unsigned char dato = 0;

	inicializar_micro();

	PORTD |= (1<<LEDTX);
	PORTB |= (1<<LEDRX);
	PORTC &= ~(1<<LEDL);

    while(1)
    {
		dato = USART_Receive();

		if(dato == 'e')
		{
			PORTC |= (1<<LEDL);
			USART_Transmit(' ');
			USART_Transmit('L');
			USART_Transmit('1');
			USART_Transmit(13); 		
		}

		if(dato == 'a')
		{
			PORTC &= ~(1<<LEDL);
			USART_Transmit(' '); 
			USART_Transmit('L'); 
			USART_Transmit('0');
			USART_Transmit(13);    
		}   
    }
}

void inicializar_micro(void)
{
       //Configurar entradas y salidas.	
       DDRB = 0x01; //0000 0001
       PORTB = 0x00;
       DDRD = 0x20; //0010 0000
       PORTD = 0x00;
       DDRC = 0x80; //1000 0000
       PORTC = 0x00;

       //Habilitar el regulador interno de 3.3 V.
       UHWCON |= (1<<UVREGE); 

       //Inicializar usart.
       UBRR1H = (MYUBRR>>8);
       UBRR1L = MYUBRR;
       // Enable receiver and transmitter 
       UCSR1B = (1<<RXEN1)|(1<<TXEN1);
       // Set frame format: 8data, 1stop bit 
       UCSR1C = (3<<UCSZ10)|(1<<UCSZ11);

}

void USART_Transmit( unsigned char data )
{
    /* Wait for empty transmit buffer */
    while ( !( UCSR1A & (1<<UDRE1)) );
    /* Put data into buffer, sends the data */
    UDR1 = data;
}

unsigned char USART_Receive( void )
{
    /* Wait for data to be received */
    while ( !(UCSR1A & (1<<RXC1)) );
    /* Get and return received data from buffer */
    return UDR1;
}






Fuente: http://webdelcire.com/wordpress/






Sensor de temperatura LM35. Aplicación práctica

14 07 2012

El LM35 es un sensor de temperatura con una precisión calibrada de 1ºC y un rango que abarca desde -55º a +150ºC.

El sensor se presenta en diferentes encapsulados pero el mas común es el to-92 de igual forma que un típico transistor con 3 patas, dos de ellas para alimentarlo y la tercera nos entrega un valor de tensión proporcional a la temperatura medida por el dispositivo. Con el LM35 sobre la mesa las patillas hacia nosotros y las letras del encapsulado hacia arriba tenemos que de izquierda a derecha los pines son: VCC – Vout – GND.

La salida es lineal y equivale a 10mV/ºC por lo tanto:

  • +1500mV = 150ºC

  • +250mV = 25ºC

  • -550mV = -55ºC

Funcionamiento: Para hacernos un termómetro lo único que necesitamos es un voltímetro bien calibrado y en la escala correcta para que nos muestre el voltaje equivalente a temperatura. El LM35 funciona en el rango de alimentación comprendido entre 4 y 30 voltios.

Podemos conectarlo a un conversor Analógico/Digital y tratar la medida digitalmente, almacenarla o procesarla con un µControlador o similar.

Usos: El sensor de temperatura puede usarse para compensar un dispositivo de medida sensible a la temperatura ambiente, refrigerar partes delicadas del robot o bien para loggear temperaturas en el transcurso de un trayecto de exploración.


Circuito de prueba: El siguiente montaje es un medidor de temperatura de 4 canales usando un PIC16F876 y un LCD para mostrar los datos aunque se puede modificar fácilmente el programa para obtener los datos de temperatura y calcular con ellos lo que fuese necesario.

Para una medida real con el conversor del Analógico/Digital se ha dispuesto un generador de tensión de referencia ajustable modelo LM336 externo al pic, con lo cual la medida de temperatura será simple y fiable. El rango de medidas que soporta este montaje es solo de temperaturas positivas y abarca desde 0º a +150ºC.

En el LCD se muestran los 4 canales T1=RA0, T2=RA1, T3=RA2, T4=RA5.

Nota: Como puede verse en el esquema no esta puesto el circuito oscilador de 4 MHz necesario para que funcione el montaje, no olvidarse de ponerlo! (cristal de 4MHz y condensadores de 27pF). Tampoco olvidar poner condensadores de desacoplo de 100nF entre las patillas de alimentación de cada integrado lo mas cerca posible de estas para evitar interferencias por la línea de alimentación que son muy criticas usando el conversor A/D del pic

Ajuste: Hay un único ajuste que es necesario hacer correctamente y es referente a la tensión de referencia para el conversor A/D, lo haremos quitando el µControlador PIC de su zócalo y midiendo entre el pin número 5 correspondiente a “RA3 +Vref” y GND, entonces ajustaremos por medio de la resistencia variable multivuelta (recomiendo multivuelta y no normal por precisión de ajuste) para que en el polímetro nos marque exactamente 2,56 V con lo cual se consigue que con una precisión de conversión A/D de 8 bits cada 10mV represente un incremento en el byte de salida del conversor y por lo tanto lo podamos representar de manera sencilla sin hacer cálculos complejos.





X Imagine Cup. Traducción directa de lenguaje de signos a pantalla mediante guante sensórico

10 07 2012

La X Imagine Cup ya tiene ganador. El equipo ucraniano, con su proyecto Enable Talk, ha sido el gran vencedor de la categoría de diseño de ‘software’ en la competición informática para universitarios que organiza Microsoft. Aunque, eso sí, todos los participantes tendrán, como premio inesperado, un equipo con Windows 8 cuando esté disponible.Imagen de la Enable Talk en la Imagine Cup.

Un aborigen, con el sonido de su didgeridoo, seguido de un trío de baile tradicional, han dado el pistoletazo de salida a una entrega de premios ruidosa y animada, como lo fue la apertura de esta final. Ceremonia en la que, durante más de dos horas, se han desgranado los vencedores de la competición.

Para el final ha quedado el premio más importante, el de diseño de ‘software’. Galardón que ha recaído en Enable Talk, un sorprendente proyecto diseñado en Ucrania que permite traducir, gracias a un guante repleto de sensores, el lenguaje de signos en letras y palabras en una pantalla. El segundo lugar ha sido para All Ligths!, la iniciativa nipona con bombillas que se regulan solas, y el tercero se ha ido a Portugal con su wi-Go, el carrito que persigue al cliente para ayudarle a hacer la compra.

La compañía que dirige Steve Ballmer tiene gran parte de sus esperanzas puestas en el éxito de los nuevos ‘smartphones’ que desarrolla con compañías como Nokia. Otro de los premios de esta competición es para el mejor videojuego diseñado para estos dispositivos. Este galardón ha sido para MathDash, un proyecto estadounidense para facilitar el aprendizaje de las matemáticas.

Uno de los principales negocios de Microsoft, la Xbox, tiene su propia categoría en esta Imagine Cup. El ganador al mejor diseño de videojuegos para esta plataforma ha sido el equipo tailandés con su videojuego Tang Thai, un título de estrategia en tiempo real para concienciar sobre el problema de la deforestación.

Además de estas tres categorías principales hay un cuarto gran premio decidido tras una votación popular en la página web de la Imagine Cup. Este galardón ha sido para el proyecto indio, The D Labs, diseñado para ayudar a mejorar problemas de dislexia.

Los secundarios

Además de estas tres principales categorías y el premio popular, Microsoft entrega otros cinco galardones secundarios que denomina retos. Uno de los más codiciados, el IT Challenge, que premia al estudiante capaz de construir el sistema más robusto y mantenerlo, ha sido para el rumano Alexandru Ticlea.

El Azure Challenge, para el mejor proyecto basado en la ‘nube’ de Microsoft, ha ido a parar a manos brasileñas por el proyecto Virtual Dreams Azure. El Windows Phone Challenge para la mejor aplicación móvil ha sido para la iniciativa egipcia: Vivid.

El cuarto reto, para el mejor uso del sistema de reconocimiento de gestos Kinect y denominado Kinect Fun Labs Challenge, ha sido para otro proyecto brasileño, Interlab. Por último, el mejor diseño de una aplicación con interfaz Metro, el Windows Metro Style App Challenge, ha sido el tercer premio para un equipo brasileño, y el segundo para el equipo Virtual Dreams.

Por último, se han entregado dos premios extraordinarios. Uno a la sostenibilidad medioambiental que ha ido a parar al equipo alemán. Su proyecto, Greenway, consiste en un programa para ayudar a regular el tráfico de forma inteligente para evitar atascos y reducir las emisiones contaminantes. Tras ellos, sus colegas italianos han obtenido el premio a la concienciación sanitaria con su solución para ayudar al aprendizaje de niños con discapacidad intelectual.





Pachube/Cosm

7 07 2012

Pachube (ahora se llamará Cosm)  es pionera en desarrollo de aplicaciones y servicios web para conectar personas y dispositivos. Es lo que se considera “el Internet de las Cosas”, un concepto global en el que todo está conectado (casas, móviles, coches, lámparas, pcs…) nacido en 2008 y del que se está comenzando a hablar muy en serio.

Con ésta adquisición LogMeIn pretende entrar en un comercio en auge que se supone llegará a conectar más de 50.000 millones de dispositivos (muy variados entre si, como hemos comentado) en un futuro muy próximo. Ésta tecnología podría ayudar a mejorar la calidad de vida actual así como dar el último impulso a proyectos tan famosos como las viviendas inteligentes o ciudades “tecnológicas” enteras.

LogMeIn es más que conocido por sus programas de interconexión de ordenadores y control remoto para asistencia, trabajo a distancia… así que con la adquisición veremos, quizá, una diversificación de mercado y una ampliación enorme del valor de la empresa.
Por supuesto, queda mucho para que el “Internet de las Cosas” se haga una realidad pero cada día son más los dispositivos y sensores inteligentes que rodean nuestras vidas e incluso nuestro propio cuerpo.
Comenzando por los más modernos teléfonos móviles, alarmas y coches hasta terminar por tejidos inteligentes, implantes electrónicos y computadores cada vez más potentes y pequeños (todo esto aderezado con “la nube” ) estamos viviendo una convergencia de tecnologías en las que, esperemos, todas formen parte de un ente común.

Go to Pachube is now Cosm

Para quien no lo conozca, Pachube es una web donde poder transmitir la información que generan nuestros dispositivos (lo que se conoce como Internet de las cosas). Todos alguna vez hemos creado/tenido un dispositivo que genera información que nos gustaría consultar: Un sensor de temperatura o de humedad, un contador de entradas a un recinto, cuantas veces se ha ejecutado un comando, etc. Cualquier cosa que queramos saber y se pueda medir es susceptible de usarse con Pachube. Eso si, nuestro dispositivo debe tener una conexión a Internet para poder subir los datos (Wifi, ethernet, GPRS u estar conectado a otro dispositivo que lo tenga como un PC). La ventaja es que mediante nuestro ordenador/móvil/tablet podremos consultar los datos que nuestro dispositivo envía en la web de Pachube de una forma gráfica. El servicio es gratuito, podemos hacer que nuestros feeds sean públicos o privados, podemos consultar el historial de datos y enviar alarmas y notificaciones a nuestros dispositivos. Tiene limitaciones como que no se puede hacer más de 100 peticiones por minuto, pero en la mayoría de los casos nos da de sobra.

Se van a explicar de una forma sencilla cómo enviar los datos, (para un detalle mayor se debe profundizar  la documentación).

Los pasos a realizar son los siguientes:

1-El primer paso  es registrarse en su web https://pachube.com/. Es un proceso sencillo y rápido( no pide mas que una dirección de correo  y un par de cosas mas).

2-Lo segundo es crear una key en el menú My keys. Esta sirve para poder autentificarnos en las acciones que enviamos a Pachube. Además se les asignan permisos para que pueda ser usando en cualquier feed, en todos nuestros feeds (públicos o privados) o en unos determinados feed de nuestra elección.

Además se les asigna los permisos de lectura de feeds, creación de feeds, actualización de feeds o borrado de feeds. Igualmente tiene restricciones avanzadas:

  • Ccaducidad de la key
  • Sólo dejar a una direccion  IP determinada
  • Acceder desde una URL concreta para ejecutar el comando.

La guardamos y ya nos aparecerá en el menú de My keys.

3-El siguiente paso es crear un feed en el menú Create a feed. Un feed no es nada más que un servicio donde se almacenarán los datos que envíe nuestro dispositivo y que puede ser consultado a posteriori. Puede ser creado directamente desde las web de Pachube o desde la API de Pachube. Para crearlo debemos rellenar datos sobre su nombre, la ubicación de nuestro dispositivo, si es privado (sólo lo podemos consultar nosotros) o público (cualquier puede consultarlo), etc.

4-Finalmente tenemos que añadir tantos datastreams como distintos datos envía nuestro dispositivo: Si por ejemplo es un sensor de temperatura y de humedad tendremos que dar de alta dos datastreams. Los datastreams necesitan un identificador único en ese feed, un tag (nombre) que lo identifique, un nombre de la unidad en que se va a medir y el símbolo que se usa para esa unidad de medida. Lo guardamos y ya nos aparece en el menú de My feeds.

5-Ahora si accedemos al menu de My feeds podemos ver nuestro feed y si pulsamos sobre el podemos observar entre otras cosas qué número único le ha asignado Pachube en el campo Website.

6-Para meterle datos simplemente tenemos que rellenar los datapoints, que son los datos de nuestro sensor. Podemos hacerlo manualmente desde la misma página del feed, pero no tiene sentido ya que se supone que será nuestro dispositivo (u otro intermediario) conectado a internet el que los proporcione. Este debe tener la opción de comunicarse mediante peticiones HTTP a la web de Pachube como por ejemplo con una placa netduino-plus utilizadno c#.

De un forma elemental si el dispositivo intermedio es un PC podéis usar curl mediante scipts o las librerías que vuestro dispositivo tenga para usar TCP/IP y HTTP por ejemplo mediante de una petición PUT para actualizar un feed que contiene como datastream  de ejemplo.

Me conecto al puerto 80 del host api.pachube.com y le envío esto:

PUT /v2/feeds/48063.csv HTTP/1.0
Host:api.pachube.com
Content-Length:6
X-PachubeApiKey:nL8l2h_XRp62DSXwV48jhFtjXtWSAKxZUmJUZlExNmpXOD0g

cpu,90
Después de lanzar esa petición, si todo ha ido bien, recibiremos esta respuesta del servidor de Pachube:

HTTP/1.1 200 OK
Date: Tue, 13 Mar 2012 16:22:37 GMT
Content-Type: text/plain; charset=utf-8
Connection: close
X-Pachube-Logging-Key: logging.AzQG9Tniho13k7PtFTBo
X-PachubeRequestId: a498efd825d85bbeaab4be98ba3fa014874ca175
Cache-Control: max-age=0
Content-Length: 1
Age: 0
Vary: Accept-Encoding

Que indica con el código 200 que todo ha ido bien y que se ha guardado el datapoint en nuestro datastream. En nuestra petición le hemos indicado la URL de nuestro feed con la extensión csv para indicar que los datos que queremos subir están en ese formato, pero también podemos subirlos en XML o JSON (ver aquí una guía rápida). También hemos de enviar la key que tiene permisos para escribir en nuestro feed. Finalmente enviamos los datapoints en formato <datastream>,<valor> (uno por línea).

Así si nos vamos a la URL de nuestro feed (en este caso https://pachube.com/feeds/48063) podremos ver toda la información del feed: nombre, localización, lectura de los datos en formato JSON, XML y CSV y finalmente un gráfico que podemos configurar a nuestro gusto para ver cómo han ido evolucionando los valores





Cromalight. Una APP de iphone para controlar hasta 6 consumos e interface para cromoterapia con aplicaciones versátiles para la discapacidad

6 07 2012

Cromalight es una APP de iphone diseñada que se diseñó principalmente con el objetivo de ayudar a un niño discapacitado. La idea básica es
facilitarle a controlar un mínimo de interruptores de luz, timbres o electrodomésticos a distancia.

El proceso de diseño les hizo descubrir ARDUINO y sus componentes de fácil instalación y económicos, también fueron un poco más allá y agregaron el control RGB de una tira de leds.

Según Jean Pol de Cromalight :” Notamos que curiosamente podria servir no sólo para poner una luz de colores en el ambiente o como cromoterapia, sino también como un método de comunicación”.

Arduino es una plataforma de hardware libre, basada en una placa con un microcontrolador y un entorno de desarrollo, diseñada para facilitar el uso de la electrónica en proyectos multidisciplinares.

El hardware consiste en una placa con un microcontrolador Atmel AVR y puertos de entrada/salida. Los microcontroladores más usados son el Atmega168, Atmega328, Atmega1280, ATmega8 por su sencillez y bajo coste que permiten el desarrollo de múltiples diseños. Por otro lado el software consiste en un entorno de desarrollo que implementa el lenguaje de programación Processing/Wiring y el cargador de arranque (boot loader) que corre en la placa.

Arduino se puede utilizar para desarrollar objetos interactivos autónomos o puede ser conectado a software del ordenador (por ejemplo: Macromedia Flash, Processing, Max/MSP, Pure Data). Las placas se pueden montar a mano o adquirirse. El entorno de desarrollo integrado libre se puede descargar gratuitamente.

Al ser open-hardware, tanto su diseño como su distribución es libre. Es decir, puede utilizarse libremente para el desarrollo de cualquier tipo de proyecto sin haber adquirido ninguna licencia.

El proyecto Arduino recibió una mención honorífica en la categoría de Comunidades Digital en el Prix Ars Electronica de 2006

 

Más información en www.cromalight.com o en App Store





Aplicaciones y dispositivos tiflotécnicos.

1 07 2012

En la actualidad existen un gran número de aplicaciones y dispositivos tiflotécnicos.

Se deben distinguir dos grandes grupos de dispositivos:

– Dispositivos hardware: Son elementos electrónicos que permiten a un usuario con discapacidad visual el manejo de un ordenador.

– Dispositivos software: Son aplicaciones informáticas desarrolladas para facilitar el manejo de un ordenador, así como el acceso a la información que este facilita, por parte de una persona con discapacidad. Su uso puede complementarse con algún dispositivo hardware.

Dispositivos hardware.

Son periféricos de entrada/salida que ofrecen la información generada por un ordenador de una forma que permite que el usuario pueda tener acceso a ella.

Existen dos grandes tipos de dispositivos, los de voz y los de braille.

Dispositivos de voz.

Se trata de sintetizadores de voz que, mediante su uso con un software específico, permiten que la información ofrecida por el ordenador sea emitida mediante voz al usuario.

En la actualidad están en desuso, ya que la salida por voz se realiza mediante la tarjeta de sonido del ordenador, más barata y que ahorra el engorro de las conexiones a los puertos del ordenador.

Dispositivos braille.

Son dispositivos que conectados a un ordenador y mediante el uso de una aplicación adecuada permiten que la información que se genera, pueda ser leída en código braille por el usuario.

Se trata principalmente del dispositivo denominado Línea braille. Este dispositivo está constituido por una serie de celdas dispuestas en línea, cada una de las cuales contiene los puntos con los que se generan los caracteres en braille. En cada celda se representa un carácter y, para ello se elevan, de forma que sobresalen sobre la superficie de la línea braille, o se bajan, los puntos para mostrar el carácter que se quiere representar.

Existen varios modelos en el mercado, y la mayoría ofrece unas funcionalidades básicas que permiten al usuario un acceso más cómodo a la información, tales cómo la posibilidad de desplazarse por las líneas de un documento mediante la línea braille, posibilidad de detectar distintos colores dentro de un texto, mediante unas celdas especiales, etc.

Dispositivos software.

Son aplicaciones que permiten que la información generada por un ordenador sea accesible para una persona con discapacidad visual, además permiten que el usuario pueda manejar el ordenador.

Existen dos grandes tipos de aplicaciones; los magnificadores y los revisores de pantalla, veamos las características de cada una de ellos:

Magnificadores.

Son programas que aumentan el tamaño de los objetos que aparecen en pantalla, por tanto están diseñados para su uso por personas con resto visual.

Entre las funcionalidades que presentan se pueden destacar las siguientes:

–         Permitir distintos grados de aumento del tamaño.

–         Permitir el aumento de la pantalla completa, o de alguna zona especifica de ella.

–         Cambiar los colores de los objetos.

–         Aumentar y cambiar de tamaño o color el puntero del ratón.

–         Añadir un “localizador” al cursor.

Además de esto los magnificadores que están disponibles en la actualidad disponen de una síntesis de voz para facilitar el trabajo al usuario, ya que además de aumentar el tamaño de los objetos emite mensajes sonoros que ayudan al usuario y le permiten manejar el ordenador con mayor fluidez.

Existen varios en el mercado, y de varios fabricantes, aunque los más conocidos son ZoomText de Ai2 (http://www.aisquared.com), y Magic de Freedom Scientific (http://www.freedomscientific.com)

 

Revisores de pantalla.

Son programas que envían la información que ofrece el ordenador a una línea braille, a una síntesis de voz, o a ambas, por tanto están destinados a usuarios con discapacidad visual.

A su vez, también permiten manejar el ordenador mediante una serie de comandos y combinaciones de teclas.

En definitiva permiten manejar la mayoría de las funcionalidades de las aplicaciones mediante el uso del teclado, sin necesidad de utilizar el ratón, y a su vez informan al usuario en todo momento de las acciones que se van realizando.

Para llevar a cabo su cometido los revisores de pantalla utilizan información del sistema operativo y de los objetos que están presentes en cada momento, por tanto, cuanto más estándar sean las aplicaciones que se diseñen, más fácil serán de manejar con la ayuda de este software.

Además de esto, para desarrollar aplicaciones que después se puedan manejar con un magnificador, es necesario conocer el funcionamiento básico del mismo, ya que será necesario tener ciertos detalles en cuenta a la hora del diseño.

Existen varios revisores de pantalla de distintos fabricantes en el mercado, aunque el más extendido es JAWS, de Freedom Scientific

(http://www.freedomscientific.com)








A %d blogueros les gusta esto: