¿Qué es un "paquete con formato API"?

Arduino.cc recomienda esta página como introducción a las radios XBee.

Computación Física en ITP | Tutoriales / Conceptos básicos de Xbee

Por lo general, elige trabajar en el modo API y en el modo AT y no puede usar ambos al mismo tiempo. Sin embargo, la excepción es que incluso las radios que funcionan en modo AT seguirán produciendo paquetes con formato API cuando reciban información de E/S de otras radios configuradas como sensores independientes.

No me queda muy claro a qué se refieren con la alternativa al modo AT "modo API". ¿Qué es eso?

Sé qué es un paquete y sé cómo los diferentes protocolos tienen diferentes formatos de paquete, pero ¿qué significa "paquete con formato API"?

Supongo que puede envolver el comando AT en un paquete específico para el modo API. Consulte esta página para ver algunos ejemplos de paquetes/marcos del modo API.

Respuestas (2)

El modo API enmarca los datos en un formato específico. Cada cuadro tiene bytes asignados específicamente como encabezado/datos/suma de verificación/etc. Para utilizar este modo, deberá analizar estos fotogramas.

Desde el punto de vista de las características, el modo API generalmente le permite hacer más con el módulo. Puede acceder a capacidades de red e IO que pueden no estar disponibles en modo transparente. Esto es similar a algunos receptores GPS que tienen una salida NMEA estándar y una salida adicional específica del fabricante (API).

Este manual del producto lo explica con más detalle (páginas 12 y 56-62 específicamente).

Probablemente me quedaría con los comandos AT a menos que su aplicación requiera que use la API, ya que tendrá que escribir más código para manejar el modo API y no es tan portátil.

El 'modo AT' de XBee está hecho para parecerse a la forma de operación de un módem inteligente tradicional: después de la conexión, transmite/recibe datos un byte a la vez. Para controlar el módem, utiliza un método fuera de banda, donde escapa del modo de transmisión/recepción (a menudo usando la secuencia estándar <pausa>+++<pausa>), envía comandos y, opcionalmente, vuelve a ingresar a transmisión/recepción modo.

En el modo API, los comandos y los datos viajan al X-Bee en banda paquete por paquete (no byte por byte). Su microcontrolador es responsable de formatear cada paquete de comando/datos, proporcionando los valores correctos para las longitudes de carga útil, las sumas de verificación, etc. (no recuerdo los detalles en este momento, ha pasado un tiempo). Es más trabajo, pero como mencionó Tim, te permite hacer mucho más con el X-Bee.

Lo que el manual quiere decir en este contexto es que aunque esté en el modo de emulación de Hayes, hay casos en los que puede obtener una ráfaga de bytes que en realidad son un paquete de modo API. En esencia, si esto sucede (y si necesita estos datos), deberá incluir el código para decodificar estos paquetes. Esto es lo que me hizo usar el modo API en primer lugar: parece más complejo, pero en realidad es más simple, especialmente si estás haciendo transmisiones (en el sentido de red ), etc.