You are on page 1of 3

INTERPRETACIN DE UNA TRAMA API

7E 00 10 17 01 00 7D 33 A2 00 40 C5 19 82 F F 02 44 30 02 1D
F E
Start Length Length Fram Fram 00 13 A2 00 40 C5 19 82 16-bit Rem D 0 Paramete Checksum
Delimitie Bajo Alto e e destin ote r Value
r Type ID ation Com
addre man
ss d
Opti
ons
Por defecto Hay que Hay que Por Por MAC ADDRESS Por Por COMANDO VALOR DE Hay que
calcularl calcularl defecto defecto XBEE defecto defec AT PARMET calcularlo
o o to RO
(opcional)

7E 00 10 17 01 00 7D 33 A2 00 40 C5 19 82 FF FE 02 44 30 02 1D
MAC ADDRESS XBEE 00 13 A2 00 40 C5 19 82
7E 00 10 17 01 00 7D 33 A2 00 40 C5 19 82 FF FE 02 49 53 F7
Start Length Length Frame Frame 00 13 A2 00 40 C5 19 82 16-bit Remote I S Parameter Checksum
Delimitier Bajo Alto Type ID destination Command Value
address Options
Por defecto Hay que Hay que Por Por MAC ADDRESS Por defecto Por defecto COMANDO VALOR DE Hay que
calcularlo calcularlo defecto defecto AT PARMETRO calcularlo
(opcional)

7E 00 0F 17 01 00 7D 33 A2 00 40 C5 19 82 FF FE 02 49 53 F7
Checksum

Hnodo es la trama que se va a enviar

cant=sizeof(Hnodo) tamao de la trama

Datoh(nsensor,cant)

Datoh %lee el pin analgico del ADC del xbee

Hnodo[2]=tam-4 % 4 bytes de la trama no se usan (por defecto delimitadores y otros)

Hnodo[9]=sensor[nsensor][0] %En la trama la direccin del xbee se encuentra en los bytes 9 al 12

Hnodo[10]=sensor[nsensor][1]

Hnodo[11]=sensor[nsensor][2]

Hnodo[12]=sensor[nsensor][3]

Hnodo[tam-1]=cheksum(Hnodo,tam)

Matriz sensor

1 0x40 0xC2 0x88 0x54


2 0x40 0xC2 0x88 0x55
3 0x40 0xC2 0x88 0x56
4 0x40 0xC2 0x88 0x57

Datadc %Configura el pin analgico del ADC del xbee

Nodo led %enciende led del pin I/O del xbee

1. Se prepara adcnodo para configuracin con la funcin datadc(nsensor,tam) y tam=sizeof(adcnodo),


en adcnodo se ha guardado la trama preparada en XCTU
2. Se enva adcnodo por el puerto serial

For (i=0;i<tam;i++)
{
Serial1.write(adcnodo[i]);
}

3. Se prepara Hnodo para lectura del ADC del xbee (A01) con la funcin datoh(sensor,tam), con
tam=sizeof(Hnodo), en Hnodo se ha guardado la trama preparada en XCTU
4. Se enva adcnodo por el puerto serial

For (i=0;i<tam;i++)
{
Serial1.write(Hnodo[i]);
}

datosrx=0;

5. Al enviar la peticin de lectura la bandera datosrx se establece en cero (0)


6. Luego de enviada la peticin de lectura al xbee, se produce una interrupcin SerialEvent1(),
En el encabezado la bandera cmdl se ha inicializado como cero 0
temserial es otra bandera que se activa cuando detecta el carcter 0x7E que es el
delimitador que indica el inicio de una trama API

7. Se recibe una trama de comprobacin donde el valor que llegue en la posicin 3 (byte 4) corresponda
al valor 0x8B
8. Si corresponde datos[3]=0x8B entonces se comprueba si datos[8]=0 el xbee remoto recibi la
peticin
datos[8]=x00 Status OK
datos[8]=0x01 MAC ACK (trama) incorrecta
datos[8]=0x21 Fall la conexin
datos[8]=0x25 El nodo sensor no se encontr
datos[8]=0x74 Trama muy extensa
datos[8]=0x75 Mensaje no requerido

9. Si datos[8]=0x00, se recibe otra trama donde se busca que (byte 4) corresponda al valor 0x97,
datos[3]=0x97, si pasa eso se comprueba que los bytes 16 y 17 correspondan a I y S, datos[15]=I
y datos[16]=S
10. Una vez que pase eso se comprueba que el byte 18, datos[17]=0 que significa un OK
11. OPCIONAL, si son varios sensores, entonces se comprueba a que direccin MAC del xbee
corresponde, esta informacin se encuentra en datos[9], datos[10], datos[11] y datos[12], (bytes 8,9
10 y 11) de la segunda trama recibida.
12. Luego, se rescatan los datos del valores del ADC (por ejemplo pin A01) en los bytes 25 y 26,
datos[24] y datos[25].

You might also like