Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:
Hola a todos!
Pues veréis, la pregunta de hoy lleva un poco de historia, intentaré ser breve.
Se trata de un proyecto para la gestión de una plantación: módulos terminales envían a un nodo central información de sensores.
La distancia de transmisión es crítica y debería de alcanzar los 500-1000 metros sin problemas, ahora este requisito ha cambiado y con unos 100 metros sería suficiente.
Los nodos Terminales NO tienen linea de visión directa con el nodo central.
La transmisión se hace de unas pocas decenas de bytes cada varias horas al día, asi que no es requisito fundamental ni la velcidad de transmisión, ni el ancho de banda.
Pues bien, en un principio barajé la opción de hacerlo con ZigBee, con los módulos XBee de Digi, pero al hacer las pruebas con estos módulos resultaron ser un absoluto desastre.... ¿por qué? Pues principalmente porque estos módulos trabajan mayoritariamente con 2.4GHz, asi que las distancias que decían alcanzar no las alcanzaban ni de lejos y daban una tasa de errores muy variabla, siendo muy dependientes de las condiciones meteorológicas o las condiciones del terreno (árboles, charcas, etc).
Y bueno, la verdad es que después de probar los XBee no me plantee el probar algún módulo ZigBee que funcionase en 868 MHz, si no que directamente descarté la tecnología y decidí hacerme mi propio protocolo a medida, utilizando unas tarjetas a 433 MHz que me han funcionado increiblemente bien hasta ahora, de echo, el sistema ya ha sido probado y funciona correctamente.
El tema es que ahora necesito ampliar la red y pasar de una topología punto-multipunto a una en malla, introducir nodos Router entre los nodos Terminales y el nodo Central que enruten los mensajes entre ambos.
Asi que he vuelto a mis orígenes y vuelvo a plantearme dos situaciones: o utilizar ZigBee o hacer mi propio protocolo de red.
El protocolo de red propio lo tengo a medio desarrollar y es bastante parecido a ZigBee, con algunas modificaciones para adaptarlo a las necesidades propias.
Si utilizo ZigBee:
Tiene que ser con módulos a 868 (que aunque no los he probado, espero que cumplan con los requisitos de alcance y estabilidad), pero nunca módulos a 2.4 GHz.
Es muy deseable que los módulos vengan con toda la pila de protocolo de ZigBee, incluida la capa de red para redes Mesh, al estilo de los módulos de XBee ZB de Digi.
He mirado en Digi y no he encontrado ningún módulo que implemente la capa de red para redes Mesh y que trabaje a 868.
Trabajo con Atmel, asi que he mirado también en la web de Atmel los ZigBit, pero no he encontrado información suficiente de los comandos SerialNet ni del framwork de BitCloud, con lo que no sé hasta que punto implementan la red, que métodos de enrutamiento utilizan ni cómo se lidia con ellos.
Y esto es todo, resumido a más no poder.
Me aconsejaríais seguir adelante con ZigBee o seguir adelante con un protocolo propio, más especializado pero menos estandarizado, en 433 MHz?
Si tenéis experiencia con ZigBee o si me podéis dirigir un poco con vuestras opiniones sobre lo que comento, os lo agradecería.
Y por supuesto, si sabéis de algún módulo ZigBee que funcione en 868 y que implemente la capa de red para Mesh, os agradecería la información.
Graciasy saludos!
Por la distancia y cantidad de información que tienes que enviar yo me quedaria con modulos RF a 433 con protocolo propio, con tener una rutina de checksum solida todo debe ir como la seda.
furri.
Buenas!!!
Gracias a todos por contestar!!!
Voy a aclarar algunos puntos que parece que bailan un poco (normal teniendo en cuenta el resumen y lo mal que me explico).
El que actualmente exija a los transceptores un alcance de unos 100 metros no quiere decir que la comunicación sea de punto a punto de 100 metros. Si así fuese, evidentemente no me molestaría en pensar en implantar una red de Routers. El tema es que un nodo A podrá estar a 50 metros o a 5 kilómetros del nodo Central cuándo quiera comunicarse con él, de ahí, de la necesidad de ampliar la red, es de donde saco la necesidad de una red Mesh, no poque quede bonito el nombre. Y por qué en malla? Pues en realidad íba a utilizar una topología en árbol (con un STP modificado), ya que todos los Terminales se comunican con un nodo Central y el Central con todos los Terminales y nunca Terminal a Terminal. Pero, al ser una red de módulos inalámbricos (y su inestabilidad) creo que es más aconsejable implementar una red en Malla para dotar de recursividad a los enlaces y poder generar caminos alternativos de forma dinámica para la transmisión de datos. De todas formas, se aceptan opiniones.
El protocolo es muy similar al que utilizan los módulos de XBee Pro ZB con modo Source Routing, de echo, si no fuese porque estos módulos trabajan en 2.4 GHz, probablemente ubiese acabado trabajando con ellos, pero en mi caso por ejemplo no utilizo la (desde mi humilde punto de vista) horrible sobrecarga de cabeceras que implementa el protocolo para la respuesta de mensajes, e intento hacer un uso menos abusivo (una vez más, dese mi humilde punto de vista) del multicast. Y a parte de esto, como dice Beamspot, hay algunas propiedades del protocolo de Xbee que para mi son más una carga que otra cosa, que si por lo menos fuese el precio de estandarizar un producto, pues vale, pero si son métodos tan propietarios como los que podría hacer yo... pues me lo pienso más.
No sé, el tema de utilizar algún protocolo de ZigBee era por eso, por tener un producto más estándar y ahorrarme mucho tiempo en desarrollar un protocolo propio, a cambio de que fuese un punto menos "a medida" y por lo tanto, en algunos aspectos menos optimizado (o menos optimizable).
Si os soy sincero, me ha sorprendido mucho que en general me aconsejáseis salirme de los estándares y lanzarme a hacer algo pseudopropietario, pero gracias a todos, ahora tengo otra vez las idéas un poco más claras, de todas formas seguiré visitando este hilo por si alguien propone nuevas cosas y me vuelve a hacer cambiar de opinión 😉 , que como dijo Dragonet80, estos temas de radiofrecuencias, protocolos y estándares siempre son interesantes y siempre tienen muchos novios y novias muy dispares.
Un saludo y gracias!!!
Si no te quiere complicar puedes usar XBee de 868MHz:
http://www.digi.com/products/wireless/point-multipoint/xbee-pro-868.jsp#overview " onclick="window.open(this.href);return false;
Es la que se usó en el globo sonda (40km), aunque tienes que tener cuidado con lo que se transmite (el duty cicle tiene que ser menor al 10%).
S2
Ranganok Schahzaman
Hola Ranganok,
el módulo que comentas lo estúve mirando, pero sólo implementa el protocolo para soportar redes punto-multipunto, no redes en malla.
El protocolo que ya tengo desarrollado para los módulos a 433MHz es punto-multipunto, y lo que busco es uno para redes en malla, con lo que la opción de Digi que comentas no me serviría, pero gracias.
Si alguien conoce o ha trabajado alguna vez con módulos ZigBit (en particular el ZigBit 900), le agradecería que comentase la experiencia, ya que en la web de Atmel la información que dan es más marketing que otra cosa y no profundizan en explicar el protocolo (probablemente porque la parte propietaria no les interesa sacarla a relucir...).
Saludos!!
No me refería a hacer una red, sino directamente a comunicar con el nodo central (nosotros hemos comunicado a 40km de distancia en campo abierto con este módulo).
S2
Ranganok Schahzaman