Archive for 30 enero 2010

Listo….

enero 30, 2010

Después de mucho tiempo, peleándome con una materia para mí, nueva y que nunca había utilizado, por fin, está operativa… Después de 1000 modificaciones,  en el Socket servidor, y el cliente arduino, ya que no me convencían las conexiones, y tampoco como se efectuaban los envíos, pues por fin, he conseguido que la comunicación entre el servidor y el cliente arduino, se comuniquen a partir de conexiones http 1.1, el próximamente colocaré un diagrama de flujo, para que sea más clara la comunicación servidor-arduino, y sea más transparente todo lo efectuado. Seguiré testeando un tiempo los archivos y pronto los subiré en la  forja… Ahora estoy investigando, el tema de encriptación de datos en arduino (los algoritmos md5,sha256, etc) para darle un poco de seguridad, a estas comunicaciones (referidas anteriormente). Muchas gracias por la espera.

Álvaro

Anuncios

Nuevo archivo socket servidor

enero 20, 2010

Han pasado un par de semanas de mi ultimo post, debido a los exámenes, he estado muy atareado pero si he seguido trabajando en el proyecto, aunque muy lentamente debido a que he ido desarrollando el archivo que utilizo para mantener la conexión con el arduino y así ir creando el xml para guardar los datos…. He ido creando varias versiones pero cada cuál me ha ido dando problemas diferente, hasta que creo que he llegado a la solución aunque aún falta la implementación total a código. Ahora el arduino nos va a enviar un paquete completo de información, donde dentro de él, va a estar un mini xml, que va a contener la información y así sea una comunicación http, en toda regla. Paso a explicar los pasos de comunicación:

1-. El arduino está en espera, hasta que le llega una señal, enviada a partir de la estructura de comunicación http que hay que seguir.

2-. Al recibir la señal, el arduino envía una señal al sevidor, para que así se verifique que ha llegado el mensaje del servidor y que comience a escuchar en el puerto designado, la información correspondiente.

3-. El arduino envía la información, como si fuera un paquete de información que esta constituido por un mini xml, que será tratado por el servidor.

4-. El servidor, registra la información, lo que efectúa es un parser de este archivo y extrae la información de relevancia para escribirla en el xml final.

Así es la comunicación entre arduino – servidor y con esto, podemos controlar que soló se le envié información al servidor, solamente cuando el servidor le diga que la quiere y no continuamente como estaba antes programado. Espero ultimar los últimar este archivo pronto, aunque tardaré un poco debido a los exámenes, perdonen las molestias.

Álvaro

Nuevo parser

enero 8, 2010

Como os comenté he modificado el parser a partir de unas estructuras que he creado y que voy ha mostrar con unos dibujos la estructura que he seguido trabajando durante este tiempo, adjunto una imagen y abajo os explico:
Dentro del objeto Sensor, tiene dos atributos, uno el numero del sensor y otro una lista para introducir datos. Estos datos son los objetos SensorData, que tienen 3 atributos por ahora: Humedad, Fecha y Index, este último sirve para enumerar los datos, debido a que la primera versión del proyecto cañafote solo se podrá hacer las gráficas dándole un orden de entrada a los datos (Index) que es colocado de forma automática por la clase sensor y sensordata.

class sensor:                                                    class sensordata:

def getNumberSensor()                                  def setIndex(ind)

def inputData(data)                                        def getIndex()

def removeData(data)                                    def getHum()

def getListData()                                            def getDate()

Creo que no merece la pena la explicación de cada método, ya que son es poco obvio lo que hace cada uno (lo dice todo en el nombre).

Ahora seguiré modificando el SocketServidor, para que esté lo mejor preparado para que pueda salir la primera versión, ya que hay una preliminar, pero no llega a convencerme todavía la obtención de datos. Espero que salga pronto, y no perdáis la paciencia con el proyecto.

Álvaro