<body>

Sitios web relacionados: PingBlog | Fotos

domingo, mayo 18, 2008

Como medir temperatura desde Java, usando Perk

Running the client app to listen to the motes from Eclipse
El código de captura es bien sencillo


¿Recuerdan como les prometí que iba a jugar con Sentilla Perk? Hoy comencé con una sencilla aplicación la cual mide la temperatura usando los dos sensores (llamados "Motes") para luego transmitirla a la laptop la cual tiene instalado el "Gateway" que habla el protocolo CC420 en el puerto USB.



Después de leer los ejemplos, la guia de programador y el API me conseguí que es muy fácil recolectar datos con los sensores. El código que hace la captura es el siguiente (este código es instalado desde la máquina que corre el servidor Perk en todos los motes):
     Sender sender = SenderDriver.create("local");
short count = 0;
TempMessage datamsg = new TempMessage();
datamsg.moteId = id;
while(true) {
count++;
leds.toggle(count);
// Play with the leds

datamsg.count = count;
datamsg.temperature = tempSensor.read();
// Read the temperature

sender.send(datamsg);
Thread.sleep(WAIT_TIME);
}

Y en la Laptop en donde estoy corriendo el servidor me limito a capturar la información enviada por los sensores para mostrarla por pantalla (código):

 
client = new HostClient();
client.connect();
Receiver receiver =
ReceiverDriver
.create(TempMessage.class);
while(true) {
receiver.setReceive().submit().block(500);
if (receiver.isDone()) {
TempMessage msg = receiver.getData();
log.log(Level.INFO, String.format(
"Mote ID: %d, Count: %d, Temperature: %fC\n",
msg.moteId,
msg.count,
msg.temperature.doubleValue(CELSIUS)));
}
}
Sencillo hasta ahora, ¿no es así?

Pienso hacer una interfaz para poder mostrar esta información en Internet, esten pendientes. Por ahora los dejo con un video en el que se ve como corre el cliente que recibe los datos de los sensores:



Buscar en otros sitios:

Blogalaxia:, , , ,
Technorati:, , , ,
To2blogs:, , , ,
Del.icio.us:, , , ,

Etiquetas: , , , ,

0 Comentarios:

Publicar un comentario en la entrada

Enlaces a este articulo:

Crear un vínculo

<< Regresar