CoAP

Este módulo incluye funciones que controlan la comunicación CoAP.

Resumen

Las funciones de este módulo están disponibles cuando se habilita la función de la API de CoAP (OPENTHREAD_CONFIG_COAP_API_ENABLE).

Enumeraciones

otCoapBlockSzx enum
Exponentes del tamaño de bloque de CoAP.
otCoapCode{
  OT_COAP_CODE_EMPTY = (((( 0 )&0x7) << 5) | (( 0 )&0x1f)),
  OT_COAP_CODE_GET = (((( 0 )&0x7) << 5) | (( 1 )&0x1f)),
  OT_COAP_CODE_POST = (((( 0 )&0x7) << 5) | (( 2 )&0x1f)),
  OT_COAP_CODE_PUT = (((( 0 )&0x7) << 5) | (( 3 )&0x1f)),
  OT_COAP_CODE_DELETE = (((( 0 )&0x7) << 5) | (( 4 )&0x1f)),
  OT_COAP_CODE_RESPONSE_MIN = (((( 2 )&0x7) << 5) | (( 0 )&0x1f)),
  OT_COAP_CODE_CREATED = (((( 2 )&0x7) << 5) | (( 1 )&0x1f)),
  OT_COAP_CODE_DELETED = (((( 2 )&0x7) << 5) | (( 2 )&0x1f)),
  OT_COAP_CODE_VALID = (((( 2 )&0x7) << 5) | (( 3 )&0x1f)),
  OT_COAP_CODE_CHANGED = (((( 2 )&0x7) << 5) | (( 4 )&0x1f)),
  OT_COAP_CODE_CONTENT = (((( 2 )&0x7) << 5) | (( 5 )&0x1f)),
  OT_COAP_CODE_CONTINUE = (((( 2 )&0x7) << 5) | (( 31 )&0x1f)),
  OT_COAP_CODE_BAD_REQUEST = (((( 4 )&0x7) << 5) | (( 0 )&0x1f)),
  OT_COAP_CODE_UNAUTHORIZED = (((( 4 )&0x7) << 5) | (( 1 )&0x1f)),
  OT_COAP_CODE_BAD_OPTION = (((( 4 )&0x7) << 5) | (( 2 )&0x1f)),
  OT_COAP_CODE_FORBIDDEN = (((( 4 )&0x7) << 5) | (( 3 )&0x1f)),
  OT_COAP_CODE_NOT_FOUND = (((( 4 )&0x7) << 5) | (( 4 )&0x1f)),
  OT_COAP_CODE_METHOD_NOT_ALLOWED = (((( 4 )&0x7) << 5) | (( 5 )&0x1f)),
  OT_COAP_CODE_NOT_ACCEPTABLE = (((( 4 )&0x7) << 5) | (( 6 )&0x1f)),
  OT_COAP_CODE_REQUEST_INCOMPLETE = (((( 4 )&0x7) << 5) | (( 8 )&0x1f)),
  OT_COAP_CODE_PRECONDITION_FAILED = (((( 4 )&0x7) << 5) | (( 12 )&0x1f)),
  OT_COAP_CODE_REQUEST_TOO_LARGE = (((( 4 )&0x7) << 5) | (( 13 )&0x1f)),
  OT_COAP_CODE_UNSUPPORTED_FORMAT = (((( 4 )&0x7) << 5) | (( 15 )&0x1f)),
  OT_COAP_CODE_INTERNAL_ERROR = (((( 5 )&0x7) << 5) | (( 0 )&0x1f)),
  OT_COAP_CODE_NOT_IMPLEMENTED = (((( 5 )&0x7) << 5) | (( 1 )&0x1f)),
  OT_COAP_CODE_BAD_GATEWAY = (((( 5 )&0x7) << 5) | (( 2 )&0x1f)),
  OT_COAP_CODE_SERVICE_UNAVAILABLE = (((( 5 )&0x7) << 5) | (( 3 )&0x1f)),
  OT_COAP_CODE_GATEWAY_TIMEOUT = (((( 5 )&0x7) << 5) | (( 4 )&0x1f)),
  OT_COAP_CODE_PROXY_NOT_SUPPORTED = (((( 5 )&0x7) << 5) | (( 5 )&0x1f))
}
enum
Valores del código CoAP.
otCoapOptionContentFormat{
  OT_COAP_OPTION_CONTENT_FORMAT_TEXT_PLAIN = 0,
  OT_COAP_OPTION_CONTENT_FORMAT_COSE_ENCRYPT0 = 16,
  OT_COAP_OPTION_CONTENT_FORMAT_COSE_MAC0 = 17,
  OT_COAP_OPTION_CONTENT_FORMAT_COSE_SIGN1 = 18,
  OT_COAP_OPTION_CONTENT_FORMAT_LINK_FORMAT = 40,
  OT_COAP_OPTION_CONTENT_FORMAT_XML = 41,
  OT_COAP_OPTION_CONTENT_FORMAT_OCTET_STREAM = 42,
  OT_COAP_OPTION_CONTENT_FORMAT_EXI = 47,
  OT_COAP_OPTION_CONTENT_FORMAT_JSON = 50,
  OT_COAP_OPTION_CONTENT_FORMAT_JSON_PATCH_JSON = 51,
  OT_COAP_OPTION_CONTENT_FORMAT_MERGE_PATCH_JSON = 52,
  OT_COAP_OPTION_CONTENT_FORMAT_CBOR = 60,
  OT_COAP_OPTION_CONTENT_FORMAT_CWT = 61,
  OT_COAP_OPTION_CONTENT_FORMAT_COSE_ENCRYPT = 96,
  OT_COAP_OPTION_CONTENT_FORMAT_COSE_MAC = 97,
  OT_COAP_OPTION_CONTENT_FORMAT_COSE_SIGN = 98,
  OT_COAP_OPTION_CONTENT_FORMAT_COSE_KEY = 101,
  OT_COAP_OPTION_CONTENT_FORMAT_COSE_KEY_SET = 102,
  OT_COAP_OPTION_CONTENT_FORMAT_SENML_JSON = 110,
  OT_COAP_OPTION_CONTENT_FORMAT_SENSML_JSON = 111,
  OT_COAP_OPTION_CONTENT_FORMAT_SENML_CBOR = 112,
  OT_COAP_OPTION_CONTENT_FORMAT_SENSML_CBOR = 113,
  OT_COAP_OPTION_CONTENT_FORMAT_SENML_EXI = 114,
  OT_COAP_OPTION_CONTENT_FORMAT_SENSML_EXI = 115,
  OT_COAP_OPTION_CONTENT_FORMAT_COAP_GROUP_JSON = 256,
  OT_COAP_OPTION_CONTENT_FORMAT_SENML_XML = 310,
  OT_COAP_OPTION_CONTENT_FORMAT_SENSML_XML = 311
}
enum
códigos de formato de contenido de CoAP.
otCoapOptionType{
  OT_COAP_OPTION_IF_MATCH = 1,
  OT_COAP_OPTION_URI_HOST = 3,
  OT_COAP_OPTION_E_TAG = 4,
  OT_COAP_OPTION_IF_NONE_MATCH = 5,
  OT_COAP_OPTION_OBSERVE = 6,
  OT_COAP_OPTION_URI_PORT = 7,
  OT_COAP_OPTION_LOCATION_PATH = 8,
  OT_COAP_OPTION_URI_PATH = 11,
  OT_COAP_OPTION_CONTENT_FORMAT = 12,
  OT_COAP_OPTION_MAX_AGE = 14,
  OT_COAP_OPTION_URI_QUERY = 15,
  OT_COAP_OPTION_ACCEPT = 17,
  OT_COAP_OPTION_LOCATION_QUERY = 20,
  OT_COAP_OPTION_BLOCK2 = 23,
  OT_COAP_OPTION_BLOCK1 = 27,
  OT_COAP_OPTION_SIZE2 = 28,
  OT_COAP_OPTION_PROXY_URI = 35,
  OT_COAP_OPTION_PROXY_SCHEME = 39,
  OT_COAP_OPTION_SIZE1 = 60
}
enum
Números de opción de CoAP.
otCoapType{
  OT_COAP_TYPE_CONFIRMABLE = 0,
  OT_COAP_TYPE_NON_CONFIRMABLE = 1,
  OT_COAP_TYPE_ACKNOWLEDGMENT = 2,
  OT_COAP_TYPE_RESET = 3
}
enum
Valores de tipo de CoAP (número entero de 2 bits sin firma).

Typedefs

otCoapBlockSzx typedef
Exponentes del tamaño de bloque de CoAP.
otCoapBlockwiseReceiveHook)(void *aContext, const uint8_t *aBlock, uint32_t aPosition, uint16_t aBlockLength, bool aMore, uint32_t aTotalLength) typedef
Se llama al puntero cuando se recibe un mensaje CoAP con una opción de transferencia a nivel de bloques.
otCoapBlockwiseResource typedef
Representa un recurso de CoAP con transferencia a nivel de bloques.
otCoapBlockwiseTransmitHook)(void *aContext, uint8_t *aBlock, uint32_t aPosition, uint16_t *aBlockLength, bool *aMore) typedef
Se llama al puntero antes de que se envíe el siguiente bloque en una transferencia a nivel de bloque.
otCoapCode typedef
enum otCoapCode
Valores del código CoAP.
otCoapOption typedef
struct otCoapOption
Representa una opción de CoAP.
otCoapOptionContentFormat typedef
códigos de formato de contenido de CoAP.
otCoapOptionIterator typedef
Actúa como un iterador para las opciones de CoAP.
otCoapOptionType typedef
Números de opción de CoAP.
otCoapRequestHandler)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo) typedef
void(*
Se llama al puntero cuando se recibe una solicitud CoAP con una ruta de URI determinada.
otCoapResource typedef
Representa un recurso de CoAP.
otCoapResponseHandler)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo, otError aResult) typedef
void(*
Se llama al puntero cuando se recibe una respuesta de CoAP o cuando se agota el tiempo de espera de la solicitud.
otCoapTxParameters typedef
Representa los parámetros de transmisión de CoAP.
otCoapType typedef
enum otCoapType
Valores de tipo de CoAP (número entero de 2 bits sin firma).

Funciones

otCoapAddBlockWiseResource(otInstance *aInstance, otCoapBlockwiseResource *aResource)
void
Agrega un recurso en bloques al servidor de CoAP.
otCoapAddResource(otInstance *aInstance, otCoapResource *aResource)
void
Agrega un recurso al servidor de CoAP.
otCoapBlockSizeFromExponent(otCoapBlockSzx aSize)
uint16_t
Convierte un campo SZX de la opción de bloqueo de CoAP en el tamaño de bloque real.
otCoapMessageAppendBlock1Option(otMessage *aMessage, uint32_t aNum, bool aMore, otCoapBlockSzx aSize)
Agrega una opción de Block1.
otCoapMessageAppendBlock2Option(otMessage *aMessage, uint32_t aNum, bool aMore, otCoapBlockSzx aSize)
Agrega una opción Block2.
otCoapMessageAppendContentFormatOption(otMessage *aMessage, otCoapOptionContentFormat aContentFormat)
Agrega la opción CoAP de formato de contenido como se especifica en https://tools.ietf.org/html/rfc7252#page-92.
otCoapMessageAppendMaxAgeOption(otMessage *aMessage, uint32_t aMaxAge)
Agrega una opción de edad máxima.
otCoapMessageAppendObserveOption(otMessage *aMessage, uint32_t aObserve)
Agrega una opción de observación.
otCoapMessageAppendOption(otMessage *aMessage, uint16_t aNumber, uint16_t aLength, const void *aValue)
Agrega una opción de CoAP a un encabezado.
otCoapMessageAppendProxyUriOption(otMessage *aMessage, const char *aUriPath)
Agrega una opción de URI del proxy.
otCoapMessageAppendUintOption(otMessage *aMessage, uint16_t aNumber, uint32_t aValue)
Agrega una opción de CoAP de número entero sin firma, como se especifica en https://tools.ietf.org/html/rfc7252#section-3.2.
otCoapMessageAppendUriPathOptions(otMessage *aMessage, const char *aUriPath)
Agrega una opción de ruta de URI.
otCoapMessageAppendUriQueryOption(otMessage *aMessage, const char *aUriQuery)
Agrega una sola opción de consulta de URI.
otCoapMessageCodeToString(const otMessage *aMessage)
const char *
Muestra el código CoAP como una cadena legible.
otCoapMessageGenerateToken(otMessage *aMessage, uint8_t aTokenLength)
void
Establece la longitud del token y aleatoriza su valor.
otCoapMessageGetCode(const otMessage *aMessage)
Muestra el valor Código.
otCoapMessageGetMessageId(const otMessage *aMessage)
uint16_t
Muestra el valor del ID de mensaje.
otCoapMessageGetToken(const otMessage *aMessage)
const uint8_t *
Muestra un puntero al valor del token.
otCoapMessageGetTokenLength(const otMessage *aMessage)
uint8_t
Muestra la longitud del token.
otCoapMessageGetType(const otMessage *aMessage)
Muestra el valor Type.
otCoapMessageInit(otMessage *aMessage, otCoapType aType, otCoapCode aCode)
void
Inicializa el encabezado de CoAP.
otCoapMessageInitResponse(otMessage *aResponse, const otMessage *aRequest, otCoapType aType, otCoapCode aCode)
Inicializa un mensaje de respuesta.
otCoapMessageSetCode(otMessage *aMessage, otCoapCode aCode)
void
Establece el valor de Código.
otCoapMessageSetPayloadMarker(otMessage *aMessage)
Agrega un marcador de carga útil que indica el comienzo de la carga útil al encabezado de CoAP.
otCoapMessageSetToken(otMessage *aMessage, const uint8_t *aToken, uint8_t aTokenLength)
Establece el valor y la longitud del token en un encabezado.
otCoapNewMessage(otInstance *aInstance, const otMessageSettings *aSettings)
Crea un nuevo mensaje de CoAP.
otCoapOptionIteratorGetFirstOption(otCoapOptionIterator *aIterator)
const otCoapOption *
Muestra un puntero a la primera opción.
otCoapOptionIteratorGetFirstOptionMatching(otCoapOptionIterator *aIterator, uint16_t aOption)
const otCoapOption *
Muestra un puntero a la primera opción que coincide con el número de opción especificado.
otCoapOptionIteratorGetNextOption(otCoapOptionIterator *aIterator)
const otCoapOption *
Muestra un puntero a la siguiente opción.
otCoapOptionIteratorGetNextOptionMatching(otCoapOptionIterator *aIterator, uint16_t aOption)
const otCoapOption *
Muestra un puntero a la siguiente opción que coincide con el número de opción especificado.
otCoapOptionIteratorGetOptionUintValue(otCoapOptionIterator *aIterator, uint64_t *aValue)
Completa el valor de la opción actual en aValue, suponiendo que el valor actual es un número entero sin firma codificado según https://tools.ietf.org/html/rfc7252#section-3.2.
otCoapOptionIteratorGetOptionValue(otCoapOptionIterator *aIterator, void *aValue)
Completa el valor de la opción actual en aValue.
otCoapOptionIteratorInit(otCoapOptionIterator *aIterator, const otMessage *aMessage)
Inicializa un iterador para las opciones en el mensaje proporcionado.
otCoapRemoveBlockWiseResource(otInstance *aInstance, otCoapBlockwiseResource *aResource)
void
Quita un recurso a nivel de bloques del servidor de CoAP.
otCoapRemoveResource(otInstance *aInstance, otCoapResource *aResource)
void
Quita un recurso del servidor de CoAP.
otCoapSendRequest(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, otCoapResponseHandler aHandler, void *aContext)
Envía una solicitud de CoAP.
otCoapSendRequestBlockWise(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, otCoapResponseHandler aHandler, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook, otCoapBlockwiseReceiveHook aReceiveHook)
Envía una solicitud CoAP a nivel de bloques.
otCoapSendRequestBlockWiseWithParameters(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, otCoapResponseHandler aHandler, void *aContext, const otCoapTxParameters *aTxParameters, otCoapBlockwiseTransmitHook aTransmitHook, otCoapBlockwiseReceiveHook aReceiveHook)
Envía una solicitud de CoAP a nivel de bloques con parámetros de transmisión personalizados.
otCoapSendRequestWithParameters(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, otCoapResponseHandler aHandler, void *aContext, const otCoapTxParameters *aTxParameters)
Envía una solicitud de CoAP con parámetros de transmisión personalizados.
otCoapSendResponse(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo)
Envía una respuesta CoAP desde el servidor.
otCoapSendResponseBlockWise(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook)
Envía una respuesta CoAP a nivel de bloques desde el servidor.
otCoapSendResponseBlockWiseWithParameters(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, const otCoapTxParameters *aTxParameters, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook)
Envía una respuesta de CoAP a nivel de bloques desde el servidor con parámetros de transmisión personalizados.
otCoapSendResponseWithParameters(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, const otCoapTxParameters *aTxParameters)
Envía una respuesta CoAP desde el servidor con parámetros de transmisión personalizados.
otCoapSetDefaultHandler(otInstance *aInstance, otCoapRequestHandler aHandler, void *aContext)
void
Configura el controlador predeterminado para las solicitudes de CoAP no controladas.
otCoapStart(otInstance *aInstance, uint16_t aPort)
Inicia el servidor de CoAP.
otCoapStop(otInstance *aInstance)
Detiene el servidor de CoAP.

Structs

otCoapBlockwiseResource.

Representa un recurso de CoAP con transferencia a nivel de bloques.

OpciónCoap

Representa una opción de CoAP.

otCoapOptionIterator

Actúa como un iterador para las opciones de CoAP.

RecursoOTCoap

Representa un recurso de CoAP.

oTCoapTxParameters

Representa los parámetros de transmisión de CoAP.

Enumeraciones

otCoapBlockSzx

 otCoapBlockSzx

Exponentes del tamaño de bloque de CoAP.

Código otCoap

 otCoapCode

Valores del código CoAP.

Propiedades
OT_COAP_CODE_BAD_GATEWAY

La puerta de enlace es incorrecta.

OT_COAP_CODE_BAD_OPTION

Opción incorrecta.

OT_COAP_CODE_BAD_REQUEST

La solicitud no es válida.

OT_COAP_CODE_CHANGED

Cambiada.

OT_COAP_CODE_CONTENT

Contenido.

OT_COAP_CODE_CONTINUE

RFC7959 Continuar.

OT_COAP_CODE_CREATED

Fecha de creación.

OT_COAP_CODE_DELETE

Borrar

OT_COAP_CODE_DELETED

Borrado.

OT_COAP_CODE_EMPTY

El código del mensaje está vacío.

OT_COAP_CODE_FORBIDDEN

Prohibido.

OT_COAP_CODE_GATEWAY_TIMEOUT

Se agotó el tiempo de espera de la puerta de enlace.

OT_COAP_CODE_GET

¡Completa

OT_COAP_CODE_INTERNAL_ERROR

Error del servidor interno

OT_COAP_CODE_METHOD_NOT_ALLOWED

No se permite este método.

OT_COAP_CODE_NOT_ACCEPTABLE

Inaceptable.

OT_COAP_CODE_NOT_FOUND

No se encontró.

OT_COAP_CODE_NOT_IMPLEMENTED

No se implementó.

OT_COAP_CODE_POST

Publicación.

OT_COAP_CODE_PRECONDITION_FAILED

Error de condición previa.

OT_COAP_CODE_PROXY_NOT_SUPPORTED

No se admite el proxy.

OT_COAP_CODE_PUT

Poner.

OT_COAP_CODE_REQUEST_INCOMPLETE

Entidad de solicitud RFC7959 incompleta.

OT_COAP_CODE_REQUEST_TOO_LARGE

Entidad de solicitud demasiado grande

OT_COAP_CODE_RESPONSE_MIN

2.00

OT_COAP_CODE_SERVICE_UNAVAILABLE

Servicio no disponible

OT_COAP_CODE_UNAUTHORIZED

No autorizado.

OT_COAP_CODE_UNSUPPORTED_FORMAT

Formato de contenido no admitido

OT_COAP_CODE_VALID

Válida.

otCoapOptionContentFormatear

 otCoapOptionContentFormat

códigos de formato de contenido de CoAP.

La lista completa está documentada en https://www.iana.org/assignments/core-parameters/core-parameters.xhtml#content-formats.

Propiedades
OT_COAP_OPTION_CONTENT_FORMAT_CBOR

Aplicación/cbor: [RFC7049]

OT_COAP_OPTION_CONTENT_FORMAT_COAP_GROUP_JSON

application/coap-group+json: [RFC7390]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_ENCRYPT

application/cose; cose-type="cose-encrypt": [RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_ENCRYPT0

application/cose; cose-type="cose-encrypt0": [RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_KEY

aplicación/clave-cose: [RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_KEY_SET

aplicación/cose-key-set: [RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_MAC

application/cose; cose-type="cose-mac": [RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_MAC0

application/cose; cose-type="cose-mac0": [RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_SIGN

application/cose; cose-type="cose-sign": [RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_SIGN1

application/cose; cose-type="cose-sign1": [RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_CWT

aplicación/cwt: [RFC8392]

OT_COAP_OPTION_CONTENT_FORMAT_EXI

application/exi: ["Efficient XML Interchange (EXI) Format 1.0 (Second Edition)", febrero de 2014]

OT_COAP_OPTION_CONTENT_FORMAT_JSON

application/json: [RFC7159]

OT_COAP_OPTION_CONTENT_FORMAT_JSON_PATCH_JSON

application/json-patch+json: [RFC6902]

OT_COAP_OPTION_CONTENT_FORMAT_LINK_FORMAT

aplicación/formato de vínculo: [RFC6690]

OT_COAP_OPTION_CONTENT_FORMAT_MERGE_PATCH_JSON

application/merge-patch+json: [RFC7396]

OT_COAP_OPTION_CONTENT_FORMAT_OCTET_STREAM

aplicación/octeto-stream: [RFC2045][RFC2046]

OT_COAP_OPTION_CONTENT_FORMAT_SENML_CBOR

aplicación/senml+cbor: [RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENML_EXI

aplicación/senml-exi: [RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENML_JSON

application/senml+json: [RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENML_XML

application/senml+xml: [RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENSML_CBOR

aplicación/sensml+cbor: [RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENSML_EXI

aplicación/sensml-exi: [RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENSML_JSON

application/sensml+json: [RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENSML_XML

application/sensml+xml: [RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_TEXT_PLAIN

texto/sin formato; charset=utf-8: [RFC2046][RFC3676][RFC5147]

OT_COAP_OPTION_CONTENT_FORMAT_XML

application/xml: [RFC3023]

OtCoapOptionType

 otCoapOptionType

Números de opción de CoAP.

Propiedades
OT_COAP_OPTION_ACCEPT

Aceptar

OT_COAP_OPTION_BLOCK1

Block1 (RFC7959)

OT_COAP_OPTION_BLOCK2

Block2 (RFC7959)

OT_COAP_OPTION_CONTENT_FORMAT

Formato del Contenido.

OT_COAP_OPTION_E_TAG

ETag:

OT_COAP_OPTION_IF_MATCH

Si-coincidencia.

OT_COAP_OPTION_IF_NONE_MATCH

Si no hay coincidencia.

OT_COAP_OPTION_LOCATION_PATH

Ruta-Ubicación.

OT_COAP_OPTION_LOCATION_QUERY

Consulta de ubicación.

OT_COAP_OPTION_MAX_AGE

Edad máx.

OT_COAP_OPTION_OBSERVE

Observa [RFC7641].

OT_COAP_OPTION_PROXY_SCHEME

Esquema de proxy

OT_COAP_OPTION_PROXY_URI

URI del proxy.

OT_COAP_OPTION_SIZE1

Tamaño1.

OT_COAP_OPTION_SIZE2

Size2 (RFC7959)

OT_COAP_OPTION_URI_HOST

Host del URI.

OT_COAP_OPTION_URI_PATH

Ruta de acceso del URI.

OT_COAP_OPTION_URI_PORT

Puerto URI.

OT_COAP_OPTION_URI_QUERY

Consulta de URI.

Tipo de otCoap

 otCoapType

Valores de tipo de CoAP (número entero de 2 bits sin firma).

Propiedades
OT_COAP_TYPE_ACKNOWLEDGMENT

Reconocimiento.

OT_COAP_TYPE_CONFIRMABLE

Confirmable.

OT_COAP_TYPE_NON_CONFIRMABLE

No confirmable

OT_COAP_TYPE_RESET

Restablecer.

Typedefs

otCoapBlockSzx

enum otCoapBlockSzx otCoapBlockSzx

Exponentes del tamaño de bloque de CoAP.

otCoapBlockwiseReceiveHook

otError(* otCoapBlockwiseReceiveHook)(void *aContext, const uint8_t *aBlock, uint32_t aPosition, uint16_t aBlockLength, bool aMore, uint32_t aTotalLength)

Se llama al puntero cuando se recibe un mensaje CoAP con una opción de transferencia a nivel de bloques.

Está disponible cuando se habilita la configuración OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE.

Detalles
Parámetros
[in] aContext
Un puntero al contexto específico de la aplicación.
[in] aBlock
Un puntero para el segmento de bloque.
[in] aPosition
Es la posición de aBlock en una secuencia, expresada en bytes.
[in] aBlockLength
Es la longitud del segmento del bloque expresada en bytes.
[in] aMore
Marca si hay más segmentos de bloque que siguen.
[in] aTotalLength
La longitud total en bytes de la información transferida (indicada por una opción Size1 o Size2).
Valores que se muestran
OT_ERROR_NONE
El segmento de bloque se almacenó correctamente.
OT_ERROR_NO_BUFS
No hay más memoria para almacenar bloques.
OT_ERROR_NO_FRAME_RECEIVED
Falta el segmento del bloque.

otCoapBlockwiseResource

struct otCoapBlockwiseResource otCoapBlockwiseResource

Representa un recurso de CoAP con transferencia a nivel de bloques.

otCoapBlockwiseTransmitHook

otError(* otCoapBlockwiseTransmitHook)(void *aContext, uint8_t *aBlock, uint32_t aPosition, uint16_t *aBlockLength, bool *aMore)

Se llama al puntero antes de que se envíe el siguiente bloque en una transferencia a nivel de bloque.

Está disponible cuando se habilita la configuración OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE.

Cuando se cambia el valor de aBlockLength, el tamaño del bloque de todo el intercambio se renegocia. Se recomienda hacer esto después de recibir el primer bloque, ya que los cambios posteriores podrían causar problemas con otras implementaciones de CoAP.

Detalles
Parámetros
[in] aContext
Un puntero al contexto específico de la aplicación.
[in,out] aBlock
Un puntero hacia donde se puede escribir el segmento de bloque.
[in] aPosition
Es la posición en una secuencia a partir de la cual se obtiene el segmento de bloque.
[in,out] aBlockLength
En la entrada, la longitud máxima del segmento del bloque expresada en bytes.
[out] aMore
Un puntero a la marca si se sumarán más segmentos de bloques.
Valores que se muestran
OT_ERROR_NONE
No se produjo ningún error.
OT_ERROR_INVALID_ARGS
El bloque en aPosition no existe.

Código otCoap

enum otCoapCode otCoapCode

Valores del código CoAP.

Opción otCoap

struct otCoapOption otCoapOption

Representa una opción de CoAP.

otCoapOptionContentFormatear

enum otCoapOptionContentFormat otCoapOptionContentFormat

códigos de formato de contenido de CoAP.

La lista completa está documentada en https://www.iana.org/assignments/core-parameters/core-parameters.xhtml#content-formats.

otCoapOptionIterator

struct otCoapOptionIterator otCoapOptionIterator

Actúa como un iterador para las opciones de CoAP.

OtCoapOptionType

enum otCoapOptionType otCoapOptionType

Números de opción de CoAP.

otCoapRequestHandler

void(* otCoapRequestHandler)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo)

Se llama al puntero cuando se recibe una solicitud CoAP con una ruta de URI determinada.

Detalles
Parámetros
[in] aContext
Un puntero a información de contexto arbitrario.
[in] aMessage
Un puntero para el mensaje.
[in] aMessageInfo
Un puntero para la información del mensaje de aMessage.

Recurso otCoap

struct otCoapResource otCoapResource

Representa un recurso de CoAP.

otCoapResponseHandler

void(* otCoapResponseHandler)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo, otError aResult)

Se llama al puntero cuando se recibe una respuesta de CoAP o cuando se agota el tiempo de espera de la solicitud.

Detalles
Parámetros
[in] aContext
Un puntero al contexto específico de la aplicación.
[in] aMessage
Un puntero para el búfer de mensaje que contiene la respuesta. NULL si no se recibió ninguna respuesta.
[in] aMessageInfo
Un puntero para la información del mensaje de aMessage. NULL si no se recibió ninguna respuesta.
[in] aResult
Es el resultado de la transacción CoAP.
Valores que se muestran
OT_ERROR_NONE
Se recibió una respuesta correctamente.
OT_ERROR_ABORT
Un par restableció una transacción de CoAP.
OT_ERROR_RESPONSE_TIMEOUT
No se recibió ninguna respuesta ni confirmación durante el tiempo de espera.

otCoapTxParameters

struct otCoapTxParameters otCoapTxParameters

Representa los parámetros de transmisión de CoAP.

Tipo de otCoap

enum otCoapType otCoapType

Valores de tipo de CoAP (número entero de 2 bits sin firma).

Funciones

otCoapAddBlockWiseResource

void otCoapAddBlockWiseResource(
  otInstance *aInstance,
  otCoapBlockwiseResource *aResource
)

Agrega un recurso en bloques al servidor de CoAP.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aResource
Un puntero al recurso.

otCoapAddResource

void otCoapAddResource(
  otInstance *aInstance,
  otCoapResource *aResource
)

Agrega un recurso al servidor de CoAP.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aResource
Un puntero al recurso.

otCoapBlockSizeFromExponent

uint16_t otCoapBlockSizeFromExponent(
  otCoapBlockSzx aSize
)

Convierte un campo SZX de la opción de bloqueo de CoAP en el tamaño de bloque real.

Detalles
Parámetros
[in] aSize
Exponente del tamaño de bloque
Qué muestra
El valor del exponente de tamaño real.

otCoapMessageAddBlock1Option

otError otCoapMessageAppendBlock1Option(
  otMessage *aMessage,
  uint32_t aNum,
  bool aMore,
  otCoapBlockSzx aSize
)

Agrega una opción de Block1.

Detalles
Parámetros
[in,out] aMessage
Un puntero para el mensaje de CoAP.
[in] aNum
Número de bloque actual.
[in] aMore
Es un valor booleano para indicar que se enviarán más bloques.
[in] aSize
Exponente del tamaño del bloque.
Valores que se muestran
OT_ERROR_NONE
Se agregó correctamente la opción.
OT_ERROR_INVALID_ARGS
El tipo de opción no es igual o mayor que el último tipo de opción.
OT_ERROR_NO_BUFS
La longitud de la opción supera el tamaño del búfer.

otCoapMessageAddBlock2Option

otError otCoapMessageAppendBlock2Option(
  otMessage *aMessage,
  uint32_t aNum,
  bool aMore,
  otCoapBlockSzx aSize
)

Agrega una opción Block2.

Detalles
Parámetros
[in,out] aMessage
Un puntero para el mensaje de CoAP.
[in] aNum
Número de bloque actual.
[in] aMore
Es un valor booleano para indicar que se enviarán más bloques.
[in] aSize
Exponente del tamaño del bloque.
Valores que se muestran
OT_ERROR_NONE
Se agregó correctamente la opción.
OT_ERROR_INVALID_ARGS
El tipo de opción no es igual o mayor que el último tipo de opción.
OT_ERROR_NO_BUFS
La longitud de la opción supera el tamaño del búfer.

otCoapMessageAddContentFormatOption

otError otCoapMessageAppendContentFormatOption(
  otMessage *aMessage,
  otCoapOptionContentFormat aContentFormat
)

Agrega la opción CoAP de formato de contenido como se especifica en https://tools.ietf.org/html/rfc7252#page-92.

Se debe llamar a este método antes de configurar otCoapMessageSetPayloadMarker si se debe incluir una carga útil en el mensaje.

La función es un wrapper práctico alrededor de otCoapMessageAttachUintOption y, si el código de tipo de formato deseado no aparece en otCoapOptionContentFormat, se debe usar esta función base.

Detalles
Parámetros
[in,out] aMessage
Un puntero para el mensaje de CoAP.
[in] aContentFormat
Uno de los formatos de contenido mencionados anteriormente en otCoapOptionContentFormat.
Valores que se muestran
OT_ERROR_NONE
Se agregó correctamente la opción.
OT_ERROR_INVALID_ARGS
El tipo de opción no es igual o mayor que el último tipo de opción.
OT_ERROR_NO_BUFS
La longitud de la opción supera el tamaño del búfer.

otCoapMessageAddMaxAgeOption

otError otCoapMessageAppendMaxAgeOption(
  otMessage *aMessage,
  uint32_t aMaxAge
)

Agrega una opción de edad máxima.

Detalles
Parámetros
[in,out] aMessage
Un puntero para el mensaje de CoAP.
[in] aMaxAge
Es el valor Max-Age.
Valores que se muestran
OT_ERROR_NONE
Se agregó correctamente la opción.
OT_ERROR_INVALID_ARGS
El tipo de opción no es igual o mayor que el último tipo de opción.
OT_ERROR_NO_BUFS
La longitud de la opción supera el tamaño del búfer.

otCoapMessageAddObserveOption

otError otCoapMessageAppendObserveOption(
  otMessage *aMessage,
  uint32_t aObserve
)

Agrega una opción de observación.

Detalles
Parámetros
[in,out] aMessage
Un puntero para el mensaje de CoAP.
[in] aObserve
Valor del campo de observación.
Valores que se muestran
OT_ERROR_NONE
Se agregó correctamente la opción.
OT_ERROR_INVALID_ARGS
El tipo de opción no es igual o mayor que el último tipo de opción.
OT_ERROR_NO_BUFS
La longitud de la opción supera el tamaño del búfer.

otCoapMessageAddOption

otError otCoapMessageAppendOption(
  otMessage *aMessage,
  uint16_t aNumber,
  uint16_t aLength,
  const void *aValue
)

Agrega una opción de CoAP a un encabezado.

Detalles
Parámetros
[in,out] aMessage
Un puntero para el mensaje de CoAP.
[in] aNumber
Es el número de opción de CoAP.
[in] aLength
Longitud de la opción CoAP.
[in] aValue
Un puntero para el valor de CoAP.
Valores que se muestran
OT_ERROR_NONE
Se agregó correctamente la opción.
OT_ERROR_INVALID_ARGS
El tipo de opción no es igual o mayor que el último tipo de opción.
OT_ERROR_NO_BUFS
La longitud de la opción supera el tamaño del búfer.

otCoapMessageAttachProxyUriOption

otError otCoapMessageAppendProxyUriOption(
  otMessage *aMessage,
  const char *aUriPath
)

Agrega una opción de URI del proxy.

Detalles
Parámetros
[in,out] aMessage
Un puntero para el mensaje de CoAP.
[in] aUriPath
Un puntero para una string terminada en NULL.
Valores que se muestran
OT_ERROR_NONE
Se agregó correctamente la opción.
OT_ERROR_INVALID_ARGS
El tipo de opción no es igual o mayor que el último tipo de opción.
OT_ERROR_NO_BUFS
La longitud de la opción supera el tamaño del búfer.

otCoapMessageAddUintOption

otError otCoapMessageAppendUintOption(
  otMessage *aMessage,
  uint16_t aNumber,
  uint32_t aValue
)

Agrega una opción de CoAP de número entero sin firma, como se especifica en https://tools.ietf.org/html/rfc7252#section-3.2.

Detalles
Parámetros
[in,out] aMessage
Un puntero para el mensaje de CoAP.
[in] aNumber
Es el número de opción de CoAP.
[in] aValue
El valor de número entero sin firma de la opción de CoAP.
Valores que se muestran
OT_ERROR_NONE
Se agregó correctamente la opción.
OT_ERROR_INVALID_ARGS
El tipo de opción no es igual o mayor que el último tipo de opción.
OT_ERROR_NO_BUFS
La longitud de la opción supera el tamaño del búfer.
Consulta también:
otCoapMessageGetOptionUintValue

otCoapMessageAddUriPathOptions

otError otCoapMessageAppendUriPathOptions(
  otMessage *aMessage,
  const char *aUriPath
)

Agrega una opción de ruta de URI.

Detalles
Parámetros
[in,out] aMessage
Un puntero para el mensaje de CoAP.
[in] aUriPath
Un puntero para una string terminada en NULL.
Valores que se muestran
OT_ERROR_NONE
Se agregó correctamente la opción.
OT_ERROR_INVALID_ARGS
El tipo de opción no es igual o mayor que el último tipo de opción.
OT_ERROR_NO_BUFS
La longitud de la opción supera el tamaño del búfer.

otCoapMessageAddUriQueryOption

otError otCoapMessageAppendUriQueryOption(
  otMessage *aMessage,
  const char *aUriQuery
)

Agrega una sola opción de consulta de URI.

Detalles
Parámetros
[in,out] aMessage
Un puntero para el mensaje de CoAP.
[in] aUriQuery
Un puntero para una string terminada en NULL, que debe contener un solo par clave-valor.
Valores que se muestran
OT_ERROR_NONE
Se agregó correctamente la opción.
OT_ERROR_INVALID_ARGS
El tipo de opción no es igual o mayor que el último tipo de opción.
OT_ERROR_NO_BUFS
La longitud de la opción supera el tamaño del búfer.

otCoapMessageCodeToString

const char * otCoapMessageCodeToString(
  const otMessage *aMessage
)

Muestra el código CoAP como una cadena legible.

@ muestra el código CoAP como una string.

Detalles
Parámetros
[in] aMessage
Un puntero para el mensaje de CoAP.

otCoapMessageGenerateToken

void otCoapMessageGenerateToken(
  otMessage *aMessage,
  uint8_t aTokenLength
)

Establece la longitud del token y aleatoriza su valor.

Detalles
Parámetros
[in,out] aMessage
Un puntero para el mensaje de CoAP.
[in] aTokenLength
Es la longitud de un token que se configurará.

otCoapMessageGetCode

otCoapCode otCoapMessageGetCode(
  const otMessage *aMessage
)

Muestra el valor Código.

Detalles
Parámetros
[in] aMessage
Un puntero para el mensaje de CoAP.
Qué muestra
Es el valor Código.

otCoapMessageGetMessageId

uint16_t otCoapMessageGetMessageId(
  const otMessage *aMessage
)

Muestra el valor del ID de mensaje.

Detalles
Parámetros
[in] aMessage
Un puntero para el mensaje de CoAP.
Qué muestra
Es el valor del ID de mensaje.

otCoapMessageGetToken

const uint8_t * otCoapMessageGetToken(
  const otMessage *aMessage
)

Muestra un puntero al valor del token.

Detalles
Parámetros
[in] aMessage
Un puntero para el mensaje de CoAP.
Qué muestra
Un puntero para el valor del token.

otCoapMessageGetTokenLength

uint8_t otCoapMessageGetTokenLength(
  const otMessage *aMessage
)

Muestra la longitud del token.

Detalles
Parámetros
[in] aMessage
Un puntero para el mensaje de CoAP.
Qué muestra
Es la longitud del token.

otCoapMessageGetType

otCoapType otCoapMessageGetType(
  const otMessage *aMessage
)

Muestra el valor Type.

Detalles
Parámetros
[in] aMessage
Un puntero para el mensaje de CoAP.
Qué muestra
El valor Type.

otCoapMessageInit

void otCoapMessageInit(
  otMessage *aMessage,
  otCoapType aType,
  otCoapCode aCode
)

Inicializa el encabezado de CoAP.

Detalles
Parámetros
[in,out] aMessage
Un puntero para el mensaje de CoAP que se inicializará.
[in] aType
Tipo de mensaje de CoAP.
[in] aCode
Código de mensaje CoAP.

otCoapMessageInitResponse

otError otCoapMessageInitResponse(
  otMessage *aResponse,
  const otMessage *aRequest,
  otCoapType aType,
  otCoapCode aCode
)

Inicializa un mensaje de respuesta.

Detalles
Parámetros
[in,out] aResponse
Un puntero para el mensaje de respuesta de CoAP.
[in] aRequest
Un puntero para el mensaje de solicitud de CoAP.
[in] aType
Tipo de mensaje de CoAP.
[in] aCode
Código de mensaje CoAP.
Valores que se muestran
OT_ERROR_NONE
Se inicializó correctamente el mensaje de respuesta.
OT_ERROR_NO_BUFS
No hay suficientes búferes de mensaje disponibles para inicializar el mensaje de respuesta.

otCoapMessageSetCode

void otCoapMessageSetCode(
  otMessage *aMessage,
  otCoapCode aCode
)

Establece el valor de Código.

Detalles
Parámetros
[in,out] aMessage
Un puntero para el mensaje de CoAP que se inicializará.
[in] aCode
Código de mensaje CoAP.

otCoapMessageSetPayloadMarker

otError otCoapMessageSetPayloadMarker(
  otMessage *aMessage
)

Agrega un marcador de carga útil que indica el comienzo de la carga útil al encabezado de CoAP.

Detalles
Parámetros
[in,out] aMessage
Un puntero para el mensaje de CoAP.
Valores que se muestran
OT_ERROR_NONE
Se agregó correctamente el marcador de carga útil.
OT_ERROR_NO_BUFS
El marcador de carga útil del encabezado supera el tamaño del búfer.

otCoapMessageSetToken

otError otCoapMessageSetToken(
  otMessage *aMessage,
  const uint8_t *aToken,
  uint8_t aTokenLength
)

Establece el valor y la longitud del token en un encabezado.

Detalles
Parámetros
[in,out] aMessage
Un puntero para el mensaje de CoAP.
[in] aToken
Un puntero para el valor del token.
[in] aTokenLength
La longitud de aToken
Valores que se muestran
OT_ERROR_NONE
Se configuró correctamente el valor del token.
OT_ERROR_NO_BUFS
No hay búferes suficientes para configurar el valor del token.

otCoapNuevoMensaje

otMessage * otCoapNewMessage(
  otInstance *aInstance,
  const otMessageSettings *aSettings
)

Crea un nuevo mensaje de CoAP.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aSettings
Un puntero a la configuración del mensaje o NULL para establecer la configuración predeterminada.
Qué muestra
Un puntero para el búfer de mensajes o NULL si no hay búferes de mensajes disponibles o los parámetros no son válidos.

otCoapOptionIteratorObtenerPrimeraOpción

const otCoapOption * otCoapOptionIteratorGetFirstOption(
  otCoapOptionIterator *aIterator
)

Muestra un puntero a la primera opción.

Detalles
Parámetros
[in,out] aIterator
Un puntero para el iterador de opciones de mensajes de CoAP.
Qué muestra
Un puntero para la primera opción. Si no hay una opción presente, se muestra el puntero NULL.

otCoapOptionIteratorGetFirstOptionMatching

const otCoapOption * otCoapOptionIteratorGetFirstOptionMatching(
  otCoapOptionIterator *aIterator,
  uint16_t aOption
)

Muestra un puntero a la primera opción que coincide con el número de opción especificado.

Detalles
Parámetros
[in] aIterator
Un puntero para el iterador de opciones de mensajes de CoAP.
[in] aOption
Es el número de opción deseado.
Qué muestra
Un puntero para la primera opción coincidente. Si no hay una opción de coincidencia presente, se muestra el puntero NULL.

otCoapOptionIteratorObtenerSiguienteOpción

const otCoapOption * otCoapOptionIteratorGetNextOption(
  otCoapOptionIterator *aIterator
)

Muestra un puntero a la siguiente opción.

Detalles
Parámetros
[in,out] aIterator
Un puntero para el iterador de opciones de mensajes de CoAP.
Qué muestra
Un puntero a la siguiente opción. Si no hay más opciones presente, se muestra el puntero NULL.

otCoapOptionIteratorObtenerNextOptionMatching

const otCoapOption * otCoapOptionIteratorGetNextOptionMatching(
  otCoapOptionIterator *aIterator,
  uint16_t aOption
)

Muestra un puntero a la siguiente opción que coincide con el número de opción especificado.

Detalles
Parámetros
[in] aIterator
Un puntero para el iterador de opciones de mensajes de CoAP.
[in] aOption
Es el número de opción deseado.
Qué muestra
Un puntero para la siguiente opción coincidente. Si no hay más opciones de coincidencia presente, se muestra el puntero NULL.

otCoapOptionIteratorGetOptionUintValue

otError otCoapOptionIteratorGetOptionUintValue(
  otCoapOptionIterator *aIterator,
  uint64_t *aValue
)

Completa el valor de la opción actual en aValue, suponiendo que el valor actual es un número entero sin firma codificado según https://tools.ietf.org/html/rfc7252#section-3.2.

Detalles
Parámetros
[in,out] aIterator
Un puntero para el iterador de opciones de mensajes de CoAP.
[out] aValue
Un puntero a un número entero sin firma para recibir el valor de la opción.
Valores que se muestran
OT_ERROR_NONE
El valor se completó correctamente.
OT_ERROR_NOT_FOUND
No hay ninguna opción actual.
OT_ERROR_NO_BUFS
El valor es demasiado largo para caber en un uint64_t.
Consulta también:
otCoapMessageAddUintOption

otCoapOptionIteratorGetOptionValue

otError otCoapOptionIteratorGetOptionValue(
  otCoapOptionIterator *aIterator,
  void *aValue
)

Completa el valor de la opción actual en aValue.

Detalles
Parámetros
[in,out] aIterator
Un puntero para el iterador de opciones de mensajes de CoAP.
[out] aValue
Un puntero a un búfer para recibir el valor de la opción.
Valores que se muestran
OT_ERROR_NONE
El valor se completó correctamente.
OT_ERROR_NOT_FOUND
No hay ninguna opción actual.

otCoapOptionIteratorInit

otError otCoapOptionIteratorInit(
  otCoapOptionIterator *aIterator,
  const otMessage *aMessage
)

Inicializa un iterador para las opciones en el mensaje proporcionado.

Detalles
Parámetros
[in,out] aIterator
Un puntero para el iterador de opciones de mensajes de CoAP.
[in] aMessage
Un puntero para el mensaje de CoAP.
Valores que se muestran
OT_ERROR_NONE
Se inicializó correctamente.
OT_ERROR_PARSE
El estado del mensaje no es coherente.

otCoapRemoveBlockWiseResource

void otCoapRemoveBlockWiseResource(
  otInstance *aInstance,
  otCoapBlockwiseResource *aResource
)

Quita un recurso a nivel de bloques del servidor de CoAP.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aResource
Un puntero al recurso.

otCoapRemoveResource

void otCoapRemoveResource(
  otInstance *aInstance,
  otCoapResource *aResource
)

Quita un recurso del servidor de CoAP.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aResource
Un puntero al recurso.

otCoapSendRequest

otError otCoapSendRequest(
  otInstance *aInstance,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo,
  otCoapResponseHandler aHandler,
  void *aContext
)

Envía una solicitud de CoAP.

Si se espera una respuesta para una solicitud, se deben proporcionar la función y la información de contexto correspondientes. Si no se espera una respuesta, estos argumentos deben ser punteros NULL.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aMessage
Un puntero para el mensaje que se enviará.
[in] aMessageInfo
Un puntero para la información del mensaje asociada con aMessage
[in] aHandler
Un puntero de función al que se debe llamar en la recepción de respuesta o el tiempo de espera.
[in] aContext
Un puntero a información de contexto arbitrario. Puede ser NULO si no se usa.
Valores que se muestran
OT_ERROR_NONE
El mensaje CoAP se envió correctamente.
OT_ERROR_NO_BUFS
No se pudieron asignar los datos de retransmisión.

otCoapSendRequestBlockWise

otError otCoapSendRequestBlockWise(
  otInstance *aInstance,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo,
  otCoapResponseHandler aHandler,
  void *aContext,
  otCoapBlockwiseTransmitHook aTransmitHook,
  otCoapBlockwiseReceiveHook aReceiveHook
)

Envía una solicitud CoAP a nivel de bloques.

Está disponible cuando se habilita la configuración OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE.

Si se espera una respuesta para una solicitud, se deben proporcionar la función y la información de contexto correspondientes. Si se espera que la respuesta sea en bloques, se debe proporcionar una función hook respectiva. Si no se espera una respuesta, estos argumentos deben ser punteros NULL.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aMessage
Un puntero para el mensaje que se enviará.
[in] aMessageInfo
Un puntero para la información del mensaje asociada con aMessage
[in] aHandler
Un puntero de función al que se debe llamar en la recepción de respuesta o el tiempo de espera.
[in] aContext
Un puntero a información de contexto arbitrario. Puede ser NULO si no se usa.
[in] aTransmitHook
Un puntero a una función hook para la transferencia saliente en bloque.
[in] aReceiveHook
Un puntero a una función hook para la transferencia entrante a nivel de bloque.
Valores que se muestran
OT_ERROR_NONE
El mensaje CoAP se envió correctamente.
OT_ERROR_NO_BUFS
No se pudieron asignar los datos de retransmisión.

otCoapSendRequestBlockWiseWithParameters

otError otCoapSendRequestBlockWiseWithParameters(
  otInstance *aInstance,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo,
  otCoapResponseHandler aHandler,
  void *aContext,
  const otCoapTxParameters *aTxParameters,
  otCoapBlockwiseTransmitHook aTransmitHook,
  otCoapBlockwiseReceiveHook aReceiveHook
)

Envía una solicitud de CoAP a nivel de bloques con parámetros de transmisión personalizados.

Está disponible cuando se habilita la configuración OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE.

Si se espera una respuesta para una solicitud, se deben proporcionar la función y la información de contexto correspondientes. Si se espera que la respuesta sea en bloques, se debe proporcionar una función hook respectiva. Si no se espera una respuesta, estos argumentos deben ser punteros NULL.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aMessage
Un puntero para el mensaje que se enviará.
[in] aMessageInfo
Un puntero para la información del mensaje asociada con aMessage
[in] aHandler
Un puntero de función al que se debe llamar en la recepción de respuesta o el tiempo de espera.
[in] aContext
Un puntero a información de contexto arbitrario. Puede ser NULO si no se usa.
[in] aTxParameters
Un puntero para los parámetros de transmisión de esta solicitud. Usa NULL para los valores predeterminados.
[in] aTransmitHook
Un puntero a una función hook para la transferencia saliente en bloque.
[in] aReceiveHook
Un puntero a una función hook para la transferencia entrante a nivel de bloque.
Valores que se muestran
OT_ERROR_NONE
El mensaje CoAP se envió correctamente.
OT_ERROR_NO_BUFS
No se pudieron asignar los datos de retransmisión.
OT_ERROR_INVALID_ARGS
Se proporcionaron argumentos no válidos.

otCoapSendRequestWithParameters

otError otCoapSendRequestWithParameters(
  otInstance *aInstance,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo,
  otCoapResponseHandler aHandler,
  void *aContext,
  const otCoapTxParameters *aTxParameters
)

Envía una solicitud de CoAP con parámetros de transmisión personalizados.

Si se espera una respuesta para una solicitud, se deben proporcionar la función y la información de contexto correspondientes. Si no se espera una respuesta, estos argumentos deben ser punteros NULL.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aMessage
Un puntero para el mensaje que se enviará.
[in] aMessageInfo
Un puntero para la información del mensaje asociada con aMessage
[in] aHandler
Un puntero de función al que se debe llamar en la recepción de respuesta o el tiempo de espera.
[in] aContext
Un puntero a información de contexto arbitrario. Puede ser NULO si no se usa.
[in] aTxParameters
Un puntero para los parámetros de transmisión de esta solicitud. Usa NULL para los valores predeterminados. De lo contrario, los parámetros proporcionados deben cumplir las siguientes condiciones:
  1. mMaxRetransmit no es superior a OT_COAP_MAX_RETRANSMIT.
  2. mAckRandomFactorNumerator / mAckRandomFactorDenominator no deben ser inferiores a 1.0.
  3. El tiempo de vida del intercambio calculado no debe superar el valor de uint32_t.
Valores que se muestran
OT_ERROR_NONE
El mensaje CoAP se envió correctamente.
OT_ERROR_NO_BUFS
No se pudieron asignar los datos de retransmisión.
OT_ERROR_INVALID_ARGS
Se proporcionaron argumentos no válidos.

otCoapSendResponse

otError otCoapSendResponse(
  otInstance *aInstance,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo
)

Envía una respuesta CoAP desde el servidor.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aMessage
Un puntero para la respuesta de CoAP que se enviará.
[in] aMessageInfo
Un puntero para la información del mensaje asociada con aMessage
Valores que se muestran
OT_ERROR_NONE
Se puso correctamente en cola el mensaje de respuesta de CoAP.
OT_ERROR_NO_BUFS
No hay suficientes búferes disponibles para enviar la respuesta de CoAP.

otCoapSendResponseBlockWise

otError otCoapSendResponseBlockWise(
  otInstance *aInstance,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo,
  void *aContext,
  otCoapBlockwiseTransmitHook aTransmitHook
)

Envía una respuesta CoAP a nivel de bloques desde el servidor.

Está disponible cuando se habilita la configuración OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aMessage
Un puntero para la respuesta de CoAP que se enviará.
[in] aMessageInfo
Un puntero para la información del mensaje asociada con aMessage
[in] aContext
Un puntero a información de contexto arbitrario. Puede ser NULO si no se usa.
[in] aTransmitHook
Un puntero a una función hook para la transferencia saliente en bloque.
Valores que se muestran
OT_ERROR_NONE
Se puso correctamente en cola el mensaje de respuesta de CoAP.
OT_ERROR_NO_BUFS
No hay suficientes búferes disponibles para enviar la respuesta de CoAP.

otCoapSendResponseBlockWiseWithParameters

otError otCoapSendResponseBlockWiseWithParameters(
  otInstance *aInstance,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo,
  const otCoapTxParameters *aTxParameters,
  void *aContext,
  otCoapBlockwiseTransmitHook aTransmitHook
)

Envía una respuesta de CoAP a nivel de bloques desde el servidor con parámetros de transmisión personalizados.

Está disponible cuando se habilita la configuración OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aMessage
Un puntero para la respuesta de CoAP que se enviará.
[in] aMessageInfo
Un puntero para la información del mensaje asociada con aMessage
[in] aTxParameters
Un puntero a los parámetros de transmisión de esta respuesta. Usa NULL para los valores predeterminados.
[in] aContext
Un puntero a información de contexto arbitrario. Puede ser NULO si no se usa.
[in] aTransmitHook
Un puntero a una función hook para la transferencia saliente en bloque.
Valores que se muestran
OT_ERROR_NONE
Se puso correctamente en cola el mensaje de respuesta de CoAP.
OT_ERROR_NO_BUFS
No hay suficientes búferes disponibles para enviar la respuesta de CoAP.
OT_ERROR_INVALID_ARGS
Se proporcionaron argumentos no válidos.

otCoapSendResponseWithParameters

otError otCoapSendResponseWithParameters(
  otInstance *aInstance,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo,
  const otCoapTxParameters *aTxParameters
)

Envía una respuesta CoAP desde el servidor con parámetros de transmisión personalizados.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aMessage
Un puntero para la respuesta de CoAP que se enviará.
[in] aMessageInfo
Un puntero para la información del mensaje asociada con aMessage
[in] aTxParameters
Un puntero a los parámetros de transmisión de esta respuesta. Usa NULL para los valores predeterminados.
Valores que se muestran
OT_ERROR_NONE
Se puso correctamente en cola el mensaje de respuesta de CoAP.
OT_ERROR_NO_BUFS
No hay suficientes búferes disponibles para enviar la respuesta de CoAP.
OT_ERROR_INVALID_ARGS
Se proporcionaron argumentos no válidos.

otCoapSetDefaultHandler

void otCoapSetDefaultHandler(
  otInstance *aInstance,
  otCoapRequestHandler aHandler,
  void *aContext
)

Configura el controlador predeterminado para las solicitudes de CoAP no controladas.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aHandler
Un puntero de función al que se debe llamar cuando llega una solicitud no controlada
[in] aContext
Un puntero a información de contexto arbitrario. Puede ser NULO si no se usa.

otCoapStart

otError otCoapStart(
  otInstance *aInstance,
  uint16_t aPort
)

Inicia el servidor de CoAP.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aPort
El puerto UDP local con el que se vinculará.
Valores que se muestran
OT_ERROR_NONE
Se inició correctamente el servidor de CoAP.
OT_ERROR_FAILED
No se pudo iniciar el servidor de CoAP.

otCoapStop

otError otCoapStop(
  otInstance *aInstance
)

Detiene el servidor de CoAP.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Valores que se muestran
OT_ERROR_NONE
El servidor de CoAP se detuvo correctamente.

Macros

OT_COAP_CODE [CÓDIGO_COAP]

 OT_COAP_CODE ((((c)&0x7) << 5) | ((d)&0x1f))

Macro auxiliar para definir valores de código CoAP.

OT_COAP_DEFAULT_TOKEN_LENGTH

 OT_COAP_DEFAULT_TOKEN_LENGTH 2

Longitud predeterminada del token.

OT_COAP_MAX_RETRANSMIT

 OT_COAP_MAX_RETRANSMIT 20

Retransmisión máxima que admite OpenThread

OT_COAP_MAX_TOKEN_LENGTH

 OT_COAP_MAX_TOKEN_LENGTH 8

Longitud máxima del token especificada (RFC 7252).

OT_COAP_MIN_ACK_TIMEOUT

 OT_COAP_MIN_ACK_TIMEOUT 1000

Tiempo de espera mínimo de ACK en milisegundos admitido por OpenThread.

OT_DEFAULT_COAP_PORT

 OT_DEFAULT_COAP_PORT 5683

Puerto de CoAP predeterminado, como se especifica en RFC 7252.

Recursos

Los temas de referencia de la API de OpenThread se originan en el código fuente, disponible en GitHub. Para obtener más información, o a fin de contribuir a nuestra documentación, consulta Recursos.