Difference between revisions of "Apuntes sobre enrutamiento con nrf24l01"

From Wiki Makespace Madrid
Jump to: navigation, search
(añadidos unos apuntes)
 
(cosmetica)
Line 1: Line 1:
Decisiones generales:
+
=Decisiones generales=
  
 
* se utiliza el modo Shockburst con pipes siempre
 
* se utiliza el modo Shockburst con pipes siempre
  
  
Escenario 1: topologia a estrella con 6 hojas
+
=Escenario 1: topologia a estrella con 6 hojas=
  
 
la base se pone como nodo receptor Rx, y los otros nodos (hasta 6) como nodos transmisores (Tx).
 
la base se pone como nodo receptor Rx, y los otros nodos (hasta 6) como nodos transmisores (Tx).
 
Cada sensor tiene un pipe asignado distinto.
 
Cada sensor tiene un pipe asignado distinto.
La topologia es estatica y a estrella.
+
La topologia es estática y a estrella.
 
La base queda siempre recibiendo y los otros siempre transmitiendo.
 
La base queda siempre recibiendo y los otros siempre transmitiendo.
Los TX pueden apagarse quando quieran.
+
Los TX pueden apagarse cuando quieran.
 
Para comunicaciones de la base a los nodos es necesario usar los ACKs.
 
Para comunicaciones de la base a los nodos es necesario usar los ACKs.
  
 
Ventajas:
 
Ventajas:
 
* super sencillo
 
* super sencillo
* ningun overhead
+
* ningún overhead
 
* todo el payload queda disponible para las aplicaciones
 
* todo el payload queda disponible para las aplicaciones
* eficiencia energetica maxima
+
* eficiencia energética máxima
  
  
Line 23: Line 23:
 
* no mas que 6 nodos
 
* no mas que 6 nodos
 
* todos los nodos en rango
 
* todos los nodos en rango
* comunicacion empezada siempre por los transmisores
+
* comunicación empezada siempre por los transmisores
  
  
  
Escenario 2: topologia a arbol con enrutamiento manual  
+
=Escenario 2: topologia a árbol con enrutamiento manual=
  
 
como en el escenario 1, pero hay un tipo de nodo que es "relay", es decir que es Rx y Tx al mismo tiempo.
 
como en el escenario 1, pero hay un tipo de nodo que es "relay", es decir que es Rx y Tx al mismo tiempo.
El nodo relay tiene que alternar modo recibir y modo transmitir. Cada vez que recibe algo lo tiene que transmitir a la base o al relay al cual està conectado. Cuando el relay se pone a transmitir, es posible que algun sensor le quisiera enviar algo en el cual caso no encontraria el relay en escucha. Este caso habria que gestionarlo (por ejemplo esperando un tiempo y volviendo a intentarlo).
+
El nodo relay tiene que alternar modo recibir y modo transmitir. Cada vez que recibe algo lo tiene que transmitir a la base o al relay al cual està conectado. Cuando el relay se pone a transmitir, es posible que algún sensor le quisiera enviar algo en el cual caso no encontraría el relay en escucha. Este caso habría que gestionarlo (por ejemplo esperando un tiempo y volviendo a intentarlo).
 
La topologia es de arbol y estatica. Las direcciones de los pipes tienen que ser distintas, si no dos nodos con el mismo pipe intentaran comunicarse a la vez.
 
La topologia es de arbol y estatica. Las direcciones de los pipes tienen que ser distintas, si no dos nodos con el mismo pipe intentaran comunicarse a la vez.
 
La base y los nodos relay tienen que estar en escucha siempre.
 
La base y los nodos relay tienen que estar en escucha siempre.
Line 37: Line 37:
 
Ventajas:
 
Ventajas:
 
* super sencillo
 
* super sencillo
* permite concetar mas de 6 nodos y tambien nodos no alcanzables desde la base
+
* permite conectar mas de 6 nodos y también nodos no alcanzables desde la base
* overhead minimo en caso de que un relay no este en escucha
+
* overhead mínimo en caso de que un relay no este en escucha
 
* todo el payload queda disponible para las aplicaciones
 
* todo el payload queda disponible para las aplicaciones
  
  
 
Limitaciones:
 
Limitaciones:
* enrutamiento estatico
+
* enrutamiento estático
 
* los relays siempre en escucha
 
* los relays siempre en escucha
* comunicacion empezada siempre por los transmisores
+
* comunicación empezada siempre por los transmisores
  
  
Escenario 3: topologia a arbol con enrutamiento automatico estatico
+
=Escenario 3: topologia a arbol con enrutamiento automático semi-estático=
  
 
como en el escenario 2, pero el enrutamiento no es programado en firmware si no que se auto-constituye.
 
como en el escenario 2, pero el enrutamiento no es programado en firmware si no que se auto-constituye.
Una vez hecho el enrutamiento puede quedarse como estatico (grabado en memoria para siempre) o semi-estatico (con renovaciones periodicas). Para permitir este escenario es necesario que los nodos sean capaces de descubrirse el uno con el otro y enviarse informaciones sobre el alcance radio de cada uno y su situacion energetica.
+
Una vez hecho el enrutamiento puede quedarse como estático (grabado en memoria para siempre) o semi-estético (con renovaciones periódicas). Para permitir este escenario es necesario que los nodos sean capaces de descubrirse el uno con el otro y enviarse informaciones sobre el alcance radio de cada uno y su situación energética.
Para permitir esta informacion de "control" una de las opciones es dedicarle un pipe con una direccion comun, como si fuera un canal de broadcast general (mejor quitar los ACKs en este caso).
+
Para permitir esta información de "control" una de las opciones es dedicarle un pipe con una dirección común, como si fuera un canal de broadcast general (mejor quitar los ACKs en este caso).
  
Hay distintos algoritmos distribuidos o centralizados para generar el arbol de enrutamiento que tienen en cuenta distintos parametros y tienden a optimizar cosas como el gasto energetico, la fiabilidad del canal etc.
+
Hay distintos algoritmos distribuidos o centralizados para generar el árbol de enrutamiento que tienen en cuenta distintos parámetros y tienden a optimizar cosas como el gasto energético, la fiabilidad del canal etc.
Para elegir el algoritmo mejor hace falta un analisis ulterior de las posibiliades.
+
Para elegir el algoritmo mejor hace falta un análisis ulterior de las posibilidades teniendo en cuenta las limitaciones intrínsecas del HW que tenemos.
  
 +
Ventajas:
 +
* permite conectar cualquier numero de nodos y con distintos alcances
 +
* enrutamiento optimo (segun el algoritmo)
 +
* no hace falta configurar nada
 +
* si se separa el canal broadcast de los demas, todo el payload queda disponible para las aplicaciones
  
  
Escenario 4: topologia mesh con enrutamiento automatico dinamico
+
Limitaciones:
 +
* los relays siempre en escucha
 +
* comunicación empezada siempre por los transmisores
 +
* un pipe queda dedicado al broadcast
 +
* overhead considerable por tener que implementar el algoritmo de enrutamiento
 +
 
 +
=Escenario 4: topologia mesh con enrutamiento automático dinámico=
  
en este escenario cada mensaje se busca el recorrido hacia la base de manera dinamica, no hay rutas pre-establecidas, y no tiene sentido hablar de topologia, realmente es una red "mesh" donde todos estàn conectados a todos. Es un escenario apto para topologias extremadamente dinamicas con nodos en movimiento por ejemplo.
+
en este escenario cada mensaje se busca el recorrido hacia la base de manera dinamica, no hay rutas pre-establecidas, y no tiene sentido hablar de topologia, realmente es una red "mesh" donde todos están conectados a todos. Es un escenario apto para topologias extremadamente dinámicas con nodos en movimiento por ejemplo.

Revision as of 13:30, 6 October 2013

Decisiones generales

  • se utiliza el modo Shockburst con pipes siempre


Escenario 1: topologia a estrella con 6 hojas

la base se pone como nodo receptor Rx, y los otros nodos (hasta 6) como nodos transmisores (Tx). Cada sensor tiene un pipe asignado distinto. La topologia es estática y a estrella. La base queda siempre recibiendo y los otros siempre transmitiendo. Los TX pueden apagarse cuando quieran. Para comunicaciones de la base a los nodos es necesario usar los ACKs.

Ventajas:

  • super sencillo
  • ningún overhead
  • todo el payload queda disponible para las aplicaciones
  • eficiencia energética máxima


Limitaciones:

  • no mas que 6 nodos
  • todos los nodos en rango
  • comunicación empezada siempre por los transmisores


Escenario 2: topologia a árbol con enrutamiento manual

como en el escenario 1, pero hay un tipo de nodo que es "relay", es decir que es Rx y Tx al mismo tiempo. El nodo relay tiene que alternar modo recibir y modo transmitir. Cada vez que recibe algo lo tiene que transmitir a la base o al relay al cual està conectado. Cuando el relay se pone a transmitir, es posible que algún sensor le quisiera enviar algo en el cual caso no encontraría el relay en escucha. Este caso habría que gestionarlo (por ejemplo esperando un tiempo y volviendo a intentarlo). La topologia es de arbol y estatica. Las direcciones de los pipes tienen que ser distintas, si no dos nodos con el mismo pipe intentaran comunicarse a la vez. La base y los nodos relay tienen que estar en escucha siempre. Para comunicaciones de la base a los nodos se pueden usar los ACKs, pero no se pueden seleccionar todos los nodos de manera distinta (dado que solo se pueden direccionar los nodos conectados a la base), asi que queda solo la comunicacion de tipo broadcast.

Ventajas:

  • super sencillo
  • permite conectar mas de 6 nodos y también nodos no alcanzables desde la base
  • overhead mínimo en caso de que un relay no este en escucha
  • todo el payload queda disponible para las aplicaciones


Limitaciones:

  • enrutamiento estático
  • los relays siempre en escucha
  • comunicación empezada siempre por los transmisores


Escenario 3: topologia a arbol con enrutamiento automático semi-estático

como en el escenario 2, pero el enrutamiento no es programado en firmware si no que se auto-constituye. Una vez hecho el enrutamiento puede quedarse como estático (grabado en memoria para siempre) o semi-estético (con renovaciones periódicas). Para permitir este escenario es necesario que los nodos sean capaces de descubrirse el uno con el otro y enviarse informaciones sobre el alcance radio de cada uno y su situación energética. Para permitir esta información de "control" una de las opciones es dedicarle un pipe con una dirección común, como si fuera un canal de broadcast general (mejor quitar los ACKs en este caso).

Hay distintos algoritmos distribuidos o centralizados para generar el árbol de enrutamiento que tienen en cuenta distintos parámetros y tienden a optimizar cosas como el gasto energético, la fiabilidad del canal etc. Para elegir el algoritmo mejor hace falta un análisis ulterior de las posibilidades teniendo en cuenta las limitaciones intrínsecas del HW que tenemos.

Ventajas:

  • permite conectar cualquier numero de nodos y con distintos alcances
  • enrutamiento optimo (segun el algoritmo)
  • no hace falta configurar nada
  • si se separa el canal broadcast de los demas, todo el payload queda disponible para las aplicaciones


Limitaciones:

  • los relays siempre en escucha
  • comunicación empezada siempre por los transmisores
  • un pipe queda dedicado al broadcast
  • overhead considerable por tener que implementar el algoritmo de enrutamiento

Escenario 4: topologia mesh con enrutamiento automático dinámico

en este escenario cada mensaje se busca el recorrido hacia la base de manera dinamica, no hay rutas pre-establecidas, y no tiene sentido hablar de topologia, realmente es una red "mesh" donde todos están conectados a todos. Es un escenario apto para topologias extremadamente dinámicas con nodos en movimiento por ejemplo.