Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Zigbee

No description
by

juan martinez

on 9 January 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Zigbee

Evaluación de mecanismos de acceso al medio en redes de sensores Tecnología Zigbee Estándar IEEE 802.15.4 Zigbee Comunicación inalambrica Estandár IEEE 802.15.4 Frequencia de 2,4 GHz Velocidad de transmisión 250 Kbps Baja tasa de transmisión Identificadores de red IEEE 802.15.4 Low Rate Wireless Personal Area Networks Diseño de diferentes tipologías Capa MAC Asociación Desasociación Backoff Mecanismo CSMA/CA Implementación del Open-ZB Open-ZB es una implementación en código abierto que nos permite operar a un nivel tan bajo como es la capa MAC. TinyOs 2.x Sistema operativo de código abierto utilizado en redes WSN NesC Extensión del lenguaje de programación C diseñado para incorporar los conceptos estructurales y el modelo de ejecución de TinyOS. Hurray Una serie de librerías y programas realizados en NesC que forman la implementación Open-ZB Dispositivos TelosB Analizador de protocolos permite captar las tramas en las capas PHY y MAC del IEEE 802.15.4.

Las capturas de radio frecuencia se realizan utilizando dongles conectados al puerto USB. Analizador Perytons Dispositivo RF compatible con IEEE 802.15.4. 259kbps a 2,5GHz. capacidad para puerto USB, una antena integrada que trabaja a baja potencia y bajo consumo energético.
Incluye un Microcontrolador con la posibilidad de incluir más sensores. Aplicación "association" Esta aplicación nos muestra la asociación
y desasociación entre un coordinador y otros
dispositivo final. Aplicación "datasend" Esta aplicación genera tráfico sin necesidad
de que los dispositivos que se comunican
hayan realizado el proceso de asociación
y desasociación. Backoff El mecanismo de Backoff es un algoritmo
exponencial aleatorio que incorpora la
especificación IEEE 802.15.4 con el objetivo de
espaciar las transmisiones consecutivas de una
misma trama, permitiendo así incrementar el
tiempo de reacción para el medio congestionado. Modificaciones en el programa "Association" Definición de direcciones
Definición del canal
Canal radio
Transmisión de ACK
Timers
Longitud del payload
Tx de datos por parte del Coordinador
Transmisión de la información
Asociación con más de un ED Modificaciones en el programa "Datasend" Definición de direcciones
Definición del canal
Transmisión de ACK
Timers
Tx de datos con el Coordinador
Longitud del payload Modificación del Backoff Flujo grama
Longitud del Backoff
Modificación de aMaxBe o macMaxBe
Modificación de macMinBe
Modificación de BE
Resultados Backoff_duration = (random (2^BE-1) × aUnitBackoffPeriod × aUnitSymbolTime) aUnitBackoffPeriod = Número de símbolos basicos por el algoritmo CSMA/CA (20 símbolos) aUnitSymbolTime = Velocidad de símbolo (52,5 Ksymbolo/segundo) BE = exponente de Backoff Tiempo de trama = (127× 8)/(250 Kbps)= 4,06 milisegundos BE= 2 -> 960 microsegundos + 4,06 milisegundos = 5,02 milisegundos

BE= 5 -> 9,92 milisegundos + 4,06 milisegundos = 13,98 milisegundos

BE= 6 -> 20 milisegundos + 4,06 milisegundos = 24,06 milisegundos

BE= 10 -> 327 milisegundos + 4,06 milisegundos = 331,06 milisegundos aMaxBE o macMaxBE (flujo grama)
Valor máximo del exponente Backoff
Valores 5 (valor por defecto en el estándar), 50 y 500 La variable mac_PIB.macMinBE corresponde a macMinBE del flujograma.
MacMinBE es el valor mínimo del exponente Backoff.
Los valores que hemos asignado para esta variable son 3 y 4, la intención es ver cómo se comporta el sistema con los valores mínimos posibles. Por ejemplo:
B E = min (2, mac_PIB.macMinBE);

Por:

B E = min (2, al número correspondiente para cada captura (3 o 4)); La variable BE corresponde a la del flujograma.
BE es el valor que se le asignara al exponente del Backoff.
Los valores que hemos asignado para esta variable son fijos 2, 5, 6, 7, 10.
Esta variable exponencial será la que más influencie al Backoff. Por ejemplo:
BE = min (BE+1,aMaxBE);

Por:

BE= al número correspondiente para cada prueba (2,5,6,7,10). Para realizar las mediciones hicimos 10 pruebas por escenario.

Utilizado el programa DatasendExample.

La variable macMaxCSMABackoff = 10000.

Captura --> 1200 tramas seguidas --> Tiempo total -->Divide el tiempo total por las 1200 tramas --> Tiempo medio de transmisión de una trama. Profundidad del dispositivo
Corrección de la dirección del coordinador
Definición de la dirección corta (16 bits) (FIRST_SHORT_ADDRESS)
Definición de la dirección larga (64 bits) (TOS_NODE_ID) Original:

call MLME_ASSOCIATE.request(0x15, SHORT_ADDRESS, 0x1234, c_addr, 0x00, 0x00);

Sustituido:

call MLME_ASSOCIATE.request(LOGICAL_CHANNEL, SHORT_ADDRESS, 0x1234, c_addr, 0x00, 0x00);

Definición en associationexample.h

//define el canal de trabajo en hexadecimal
#define LOGICAL_CHANNEL 0x15 Original:

call MLME_ASSOCIATE.request(0x15, SHORT_ADDRESS, 0x1234, c_addr, 0x00, 0x00);

Sustituido:

call MLME_ASSOCIATE.request(0x15, SHORT_ADDRESS, MAC_PANID, c_addr, 0x00, 0x00); Profundidad del dispositivo
Definición de la dirección larga (64 bits) (TOS_NODE_ID)
Añadir en Timer_Send.fired()
//Direccion MAC corta del mote origen
#define addr_corta_mote 0x0003
//Direccion MAC corta del mote destino
#define addr_destino 0x0000 Originalmente:
call MCPS_DATA.request(SHORT_ADDRESS, MAC_PANID, SrcAddr, SHORT_ADDRESS, MAC_PANID, DestinationMote, 4, msdu_payload,1,MACK);

Sustituimos:
call MCPS_DATA.request(SHORT_ADDRESS, MAC_PANID, SrcAddr, SHORT_ADDRESS, MAC_PANID, DestinationMote, LONGITUD, msdu_payload,1,MACK);

datasendexample.h.
//definimos la longitud del payload
#define LONGITUD 4 Originalmente:
call MCPS_DATA.request(SHORT_ADDRESS, MAC_PANID, SrcAddr, SHORT_ADDRESS, MAC_PANID, DstAddr, 4, msdu_payload,1 set_txoptions(1,0,0,0));

Sustituimos:
call MCPS_DATA.request(SHORT_ADDRESS, MAC_PANID, SrcAddr, SHORT_ADDRESS, MAC_PANID, DstAddr, 4, msdu_payload,1,MACK);

// configura si quieres ACK al modificar el primer bit de (_,0,0,0)-->ACK 1, NOACK 0
#define MACK set_txoptions(1,0,0,0) Transmisión de datos En la función event void Timer0.fired(),sustituimos:

call Timer_Send.startPeriodic(50)

Por:
Timer_Start
Timer_Start_Coordinator_2

Centralizamos las variables en datasendexemple.h:

//configura el timer for ED
#define Timer_Start call Timer_Send.startPeriodic(50)

// configura el timer for coordinator,
#define Timer_Start_Coordinator_2 call Timer_Send.startPeriodic(50) Conclusión

Satisfacción en la configuración de Association y Datasend
Estudio y modificación del Backoff, aceptación de la MAC
AUTOR: Juan José Martínez Román

DIRECTOR: Elena López Aguilera CW = Num. de períodos de backoff que necesitan estar escuchando la actividad del canal antes de que la transmisión pueda comenzar
Full transcript