¿Por qué recibo un Estado de módem (0x8A) en los mensajes de transmisión (XBee)?

3

Estoy enviando una Solicitud de comando AT remoto en transmisión (sin ACK - frameID = 0x00), desde mi Coordinador API, para configurar el comando CB en 1: este botón de puesta en servicio simula 1 presiona el software del dispositivo remoto para recibir un indicador de identificación de nodo.

Cuando envío el primer paquete:

7e 0 10 17 0 0 0 0 0 0 0 ff ff ff fe 1 43(C) 42(B) 1 66 

Recibo el siguiente cuadro de indicador de identificación de nodo:

7e 0 27 95 0 13 a2 0 40 aa d0 6 f9 5d 2 f9 5d 0 13 a2 0 40 aa d0 6 52 4f 54 45 41 44 4f 52 0 ff fe 1 1 c1 5 10 1e 7f

pero, si vuelvo a enviar el mismo comando AT remoto (comando CB con el parámetro 1), obtengo estos dos cuadros de estado del módem:

7e 0 2 8a 1 74 
7e 0 2 8a 6 6f 

El primero significa un reinicio del temporizador de vigilancia (1), y el otro significa un coordinador iniciado (6). Revisé el voltaje en mi XBee y está todo bien (3,3V), ¿entonces no se supone que se reinicie? Si vuelvo a enviar el comando AT remoto (una tercera vez), obtendré el marco del indicador de identificación de nodo. Y al enviar una segunda vez (cuarta vez), obtengo los dos marcos de Estado del módem. Entonces, se sigue repitiendo ..

¿Por qué sucede esto? Tuve que enviar dos veces para obtener la respuesta que quería.

EDIT

Estoy usando XBee Series 2

    
pregunta renatogbp

1 respuesta

1

Parece que no ha enviado un paquete de difusión de API correcto. Enviaste

7e 0 10 17 0 0 0 0 0 0 0 ff ff ff fe 1 43(C) 42(B) 1 66

Donde el primer byte es el delimitador de inicio para un paquete de API (0x73) - correcto

los siguientes dos bytes son la longitud, que es 16 (0x0010) - correcta

El siguiente byte es el valor del identificador de API para la solicitud de comando AT (0x17) - correcto

La ID del cuadro también es correcta como ya se mencionó en tu publicación - corregir

La dirección de destino de 64 bits (0x000000000000FFFF) - correcta

Dirección de red de destino (0xFFFE) - correcta

Las opciones de comando deben ser 0x02 o 0x00. Todos los demás bits deben ser 0. Usted tiene 1, lo que significa que el bit 0 está establecido, lo que no debería ser el caso. Supongo que el reinicio se debe a este valor incorrecto. Cambia eso a 0x02 y estarás bien.

    
respondido por el TomS

Lea otras preguntas en las etiquetas