Archive for 29 diciembre 2009

Creando estructuras

diciembre 29, 2009

Después de llevar un tiempo programando, ya tengo el parser y el Socket servidor operativos, pero han surgido una serie de circunstancias que casi tengo que modificarlo entero, lo primero es que como os comente en post anteriores el arduino, envía los datos letras a letra o numero a numero, que sucede, que cuando llega al socket servidor es un poco caótico, estoy intentando reparar ese pequeño fallo del arduino, por tanto, se tendrá que cambiar el código del socketServidor….. También hay avances en el parser, esta terminado, y ya crea gráficas pero el problema que existe es que las estructuras de datos utilizadas, para mas largo plazo, si se quiere extender se tiene que modificar un montón de código, por ejemplo si quieres crear nuevos datos a recoger, por ejemplo gps o temperatura…… En el siguiente post, os haré un esquema de como serán estas nuevas estructuras, ya que esta decisión se ha tomado de un día para otro.

Álvaro

Anuncios

Ante todo Feliz Navidad

diciembre 24, 2009

Llevo varios días peleándome con el proyecto, ya que  el parser lo acabé, pero no consigo usar la herramienta GNUPLOT para dibujar gráficas en las que el eje X sean String y no números. Pero esto no implica que me haya cruzado de brazos, todo lo contrario, he terminado la página web, solo falta colgarla por internet y echar a andar los arduinos, aunque todavía va a tardar un poco la cosa, ya que ahora empieza la temática de seguridad, por ejemplo, que no se puedan modificar los códigos de los arduinos, que nadie pueda introducir información errónea, etc…. Poco a poco, espero avanzar en este tema que es nuevo para mí.

También comunicaros que podéis estar informado de los post que se van colocando a través de Twitter, ya que el proyecto Cañafote, ya tiene Twitter.

http://twitter.com/canafote

Así cuando se escriba un post, lo sabréis al momento.

Feliz Navidad

Álvaro

Terminado el Parser

diciembre 21, 2009

Perdón, por este tiempo que no he escrito, he seguido investigando pero no me ha dado tiempo a escribir en el blog, por los exámenes…
El parser lo he finalizado el domingo,que pasó todas las pruebas, si existen errores dentro del parser no los trata por ejemplo:

<xml>

<entry>

<sensor>1</sensor>

<humedad>27</humedad>

</entry>

</xml>

Aquí falta la temperatura. Lo que hace el parser, es tomar la información que no es incompleta y no la guarda.
El parser lo que hace es crear una lista para cada sensor, por ejemplo, si entra información del sensor número 1, crea una lista y guarda la información en una tupla de  y a su vez guarda esa tupla en la lista, para que más tarde sea tratada.
El tratamiento está todavía en proceso , ya que lo que voy a intentar hacer es crear unas gráficas a partir de algún programa, el programa que tenía pensado usar es el GNUPLOT pero tendré que aprender todavía a usar esta herramienta. Cuando tenga más avances, seguiré informando.

Álvaro

Nuevos bugs y avance

diciembre 15, 2009

El otro día, me pasé durante 1 hora obteniendo datos del arduino para empezar el parser para la información, pero me fijé 10 minutos después que del 100% de la información casi el 30% estaba sin información del arduino, solo la hora y la fecha en la que llegó, me pareció curioso. Lo único que he llegado a pensar es que se pierde información en el tiempo del envío, ya que el arduino si hace un write() no debe de ser bloqueante (la verdad no estoy seguro)…. Es algo que seguiré mirando, para poder sanar el problema.

Ahora os comento los avances, el parser está en construcción, ya está cercano a finalizarse, aunque estoy teniendo muchos contratiempos con los árboles DOM de Python, pero la verdad que el uso es muy interesante. Todavía tengo un problema, que es que tengo la lista de elementos, por ejemplo del tipo “clock” y no consigo obtener la información escrita, nada más que consiga obtener esa información pasaré a crear las gráficas y a montar la página web donde se podrá ver la información del arduino en el tiempo.

Como siempre si tenéis cualquier duda, os contestaré con mucho gusto…

Álvaro

Nuevas modificaciones

diciembre 13, 2009

Voy a comentar en que punto está el proyecto, y las nuevas modificaciones que le he introducido al código. El proyecto se puede dividir en varias partes, ahora mismo estoy centrado en la implementación del código para el servidor, el lenguaje que estoy usando es Python.

Bueno, después de semanas peleándome, eché a andar el socket servidor y a los arduinos le implenté el código de sockets clientes, ya existía conexión, pero no funcionaba la función select(), cosa que después de unos días de trabajo lo eche a andar y estoy muy contento con el programa. El programa lo que hace es escuchar el envío de información del arduino, y va escribiéndolo en un XML, aquí aparecen los problemas, el arduino sólo hace envío de 1 byte por cada vez que se usa la función de recibir información, os comento el problema que me encontré: El programa efectuaba un montón de escrituras pero por separado, escribía cada vez el código entero del XML, pero si habia 27 grados escribía el código XML con la temperatura 2 y después otro trozo de código con el 7 de temperatura, ya he podido arreglarlo. Pero me encontraba con el problema que no conseguía que la información se separase, ejemplo:

<xml>

<entry>

<senhumtemp>1,24,50</senhumtemp>

</entry>

</xml>

Después de mucha lucha conseguí modificarlo y ya está separado el número del sensor,humedad y temperatura, enviando una serie de indicadores desde el arduino que es tratado por el servidor y escrito en el archivo XML, dejando el XML de esta forma:

<xml>

<entry>

<sensor>1</sensor>

<humedad>27</humedad>

<temperatura>28</temperatura>

</entry>

</xml>

Esto son los avances del proyecto Cañafote. Comienzo con la implementación del código del parser.

Álvaro

Bienvenidos a Cañafote

diciembre 12, 2009

Bienvenidos al blog del proyecto Cañafote, para iros introduciendo en el proyecto voy a dar una pequeña explicacion para saber en que se basa este proyecto. Con el proyecto cañafote, buscamos crear una red de sensores, o motas, que sea segura y a la vez pueda actuar ante circunsctancias externas. El microcontrolador que uso es arduino, quiero crear una malla en la que exista comunicacion entre motas y a la vez con un servidor, y el servidor pueda tratar la información, y actuar ante una serie de situaciones. Por ahora las “motas” (microcontrolador + sensores) vienen dotadas con un sensor de humedad y un sensor  temperatura. Envia la informacion de la humedad ambiente y la temperatura ambiente a un servidor, que creando un XML, más tarde se parseará y se podrá efectuar unas gráficas o más adelante,actuará….

En este blog ire comentando los progresos o problemas que me vayan surgiendo, si teneis alguna duda, podeis preguntarme y encantado, contestaré vuestras dudas.

Álvaro