Following yesterday’s post, the inspiration finally has arrived.
The first problem was that the network didn’t function with the Arduino Mega. The library I am using is one for the Arduino Xbee, and this library does not work if the nodes aren’t configured to API enabled with escape sequences. Like everything in the world of Arduino, this symptom is completely esoteric (esta palabra existe en ingles, pero no lo se que significa!!) and doesn’t track the problem. In this case, the node packets arrived to the coordinator filled with zeros.
The second problem was it didn’t work on the Arduino based on the 328 chip which was identified as a RAM problem. Whoever works with Arduino will know that when they go over the maximum capacity of the RAM, the symptoms are completely random and you cannot know how much ram will be consumed in any given moment.
Today I decieded to try the sketch removing all of the extendable parts and the symptom changed. I loaded a function/feature to view the memory in screen and I looked at several points where I thought it had failed. Indeed some of the free memory was zero.
With the problem diagnosed, the tricky part was then to solve it. After more than 15 days testing the program it was not clear what functions I modified receiving the packet contents as a parameter, defining a single variable to the contents of the package in the sketch. After some problems, everything finally worked!
What we haven’t achieved yet is it working on the Xboard ‘placa’, which I already have the box for. So I mounted one on the Itead Studio ($29 with POE, Ethernet card and a SC). The shame is that it is slightly larger and doesn’t come with a box, however as a very resourceful person (and a smoker!), I came up with this….
The upside is tomorrow you can buy one of these boxes from your local…
Siguiendo con el post de ayer, la inspiración finalmente ha llegado.
El primer problema, la red no me funcionaba en el Arduino Mega, era evidente, no lo había resuelto por estar cegado en el problema, la librería que estoy utilizando es la Xbee para Arduino, eta librería no funciona si los nodos no están configurados como API con secuencias de escape habilitadas. Como todo en el mundo de Arduino el síntoma es absolutamente esotérico y no da pistas del problema. En este caso los paquetes de los nodos llegaban al coordinador rellenos de ceros.
El segundo problema, no funciona en un Arduino basado en el chip 328, era un problema de RAM. Cualquiera que trabaje con Arduino sabrá que cuando se supera la capacidad de la RAM los síntomas son completamente aleatorios, no se puede saber la RAM que se consume en cada momento, etc.
Hoy he decidido probar el sketch quitando todas las partes prescindibles, y el síntoma ha cambiado, he cargado una función para ver por pantalla la memoria y la he puesto en varios puntos donde creía que fallaba, efectivamente en algunos la memoria libre era cero.
Una vez confirmado que este era el problema me quedaba la parte complicada de resolverlo, después de más de 15 días comprimiendo el programa no lo tenía claro, lo que he modificado son las funciones que recibían el contenido de los paquetes como parámetro, definiendo una única variable para el contenido del paquete en el sketch, después de algunos problemas todo ha funcionado.
Lo que no he conseguido todavía es que me funcione en la placa Xboard (para la que ya tenía caja), por lo que lo he montado en una de Itead Studio, (29$, con POE, tarjeta SC y Ethernet), la lástima es que es de un tamaño un poco más grande y no tenía niguna caja, pero soy una persona de recursos, ahí van unas fotos.
La parte positiva es que mañana puedo comprar una caja en un estanco…
Hola, me gustaría intentar tu proyecto, soy nuevo en openDomo y estoy interesado en experimentar con el, pero considero que es muy necesaria la integración con una tecnología inalambrica, lastima que JenNet todavía no es OpenSource como prometieron. En fin, me podrías guiar en la creación de mi propio gateway?
Te dejo mi email: alkazar.r@gmail.com
Gracias
Ruben
Ruben,
estamos en ello y no tardaremos demasiado tiempo…
La idea es simple, opendomo maneja puertos entrantes y salientes digitales y analógicos, las radios Xbee los incorporan, se trata de crear una pasarela entre las puertas del Xbee y los puertos del Opendomo.
Aunque suena sencillo hay algunas complicaciones, una vez que lo tengamos un poco más avanzado iremos publicando información concreta.