Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

CoAP

Questo modulo include funzioni che controllano la comunicazione CoAP.

Riepilogo

Le funzioni in questo modulo sono disponibili quando la funzionalità CoAP API (OPENTHREAD_CONFIG_COAP_API_ENABLE) è abilitata.

Enumerazioni

otCoapBlockSzx enum
Esponenti delle dimensioni dei blocchi 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
Valori del codice 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
Codici formato dei contenuti 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
Numeri di opzione CoAP.
otCoapType{
  OT_COAP_TYPE_CONFIRMABLE = 0,
  OT_COAP_TYPE_NON_CONFIRMABLE = 1,
  OT_COAP_TYPE_ACKNOWLEDGMENT = 2,
  OT_COAP_TYPE_RESET = 3
}
enum
Valori del tipo CoAP (numero intero a 2 bit senza segno).

Defin

otCoapBlockSzx Typedef
Esponenti delle dimensioni dei blocchi CoAP.
otCoapBlockwiseReceiveHook)(void *aContext, const uint8_t *aBlock, uint32_t aPosition, uint16_t aBlockLength, bool aMore, uint32_t aTotalLength) Typedef
Il suggerimento di questa funzione viene richiamato quando si riceve un messaggio CoAP con un'opzione di trasferimento a blocchi.
otCoapBlockwiseResource Typedef
Questa struttura rappresenta una risorsa CoAP con trasferimento in blocco di blocco.
otCoapBlockwiseTransmitHook)(void *aContext, uint8_t *aBlock, uint32_t aPosition, uint16_t *aBlockLength, bool *aMore) Typedef
Il puntatore di questa funzione viene richiamato prima dell'invio del blocco successivo in un blocco a blocchi.
otCoapCode Typedef
enum otCoapCode
Valori del codice CoAP.
otCoapOption Typedef
struct otCoapOption
Questa struttura rappresenta un'opzione CoAP.
otCoapOptionContentFormat Typedef
Codici formato dei contenuti CoAP.
otCoapOptionIterator Typedef
Questa struttura funge da iteratore per le opzioni CoAP.
otCoapOptionType Typedef
Numeri di opzione CoAP.
otCoapRequestHandler)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo) Typedef
void(*
Il suggerimento di questa funzione viene richiamato quando viene ricevuta una richiesta CoAP con un determinato Uri-Path.
otCoapResource Typedef
Questa struttura rappresenta una risorsa CoAP.
otCoapResponseHandler)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo, otError aResult) Typedef
void(*
Il puntatore della funzione viene richiamato quando si riceve una risposta CoAP o al timeout della richiesta.
otCoapTxParameters Typedef
Questa struttura rappresenta i parametri di trasmissione CoAP.
otCoapType Typedef
enum otCoapType
Valori del tipo CoAP (numero intero a 2 bit senza segno).

Functions

otCoapAddBlockWiseResource(otInstance *aInstance, otCoapBlockwiseResource *aResource)
void
Questa funzione aggiunge una risorsa a blocchi al server CoAP.
otCoapAddResource(otInstance *aInstance, otCoapResource *aResource)
void
Questa funzione aggiunge una risorsa al server CoAP.
otCoapBlockSizeFromExponent(otCoapBlockSzx aSize)
uint16_t
Questa funzione converte un campo SZX di opzione CoAP Block nella dimensione effettiva del blocco.
otCoapMessageAppendBlock1Option(otMessage *aMessage, uint32_t aNum, bool aMore, otCoapBlockSzx aSize)
Questa funzione aggiunge un'opzione Block1.
otCoapMessageAppendBlock2Option(otMessage *aMessage, uint32_t aNum, bool aMore, otCoapBlockSzx aSize)
Questa funzione aggiunge un'opzione Block2.
otCoapMessageAppendContentFormatOption(otMessage *aMessage, otCoapOptionContentFormat aContentFormat)
Questa funzione aggiunge l'opzione Content Manager CoAP come specificato in https://tools.ietf.org/html/rfc7252#page-92.
otCoapMessageAppendMaxAgeOption(otMessage *aMessage, uint32_t aMaxAge)
Questa funzione aggiunge un'opzione età massima.
otCoapMessageAppendObserveOption(otMessage *aMessage, uint32_t aObserve)
Questa funzione aggiunge un'opzione Osserva.
otCoapMessageAppendOption(otMessage *aMessage, uint16_t aNumber, uint16_t aLength, const void *aValue)
Questa funzione aggiunge un'opzione CoAP in un'intestazione.
otCoapMessageAppendProxyUriOption(otMessage *aMessage, const char *aUriPath)
Questa funzione aggiunge un'opzione URI proxy.
otCoapMessageAppendUintOption(otMessage *aMessage, uint16_t aNumber, uint32_t aValue)
Questa funzione aggiunge un'opzione CoAP numero intero senza segno come specificato in https://tools.ietf.org/html/rfc7252#section-3.2.
otCoapMessageAppendUriPathOptions(otMessage *aMessage, const char *aUriPath)
Questa funzione aggiunge un'opzione Uri-Path.
otCoapMessageAppendUriQueryOption(otMessage *aMessage, const char *aUriQuery)
Questa funzione aggiunge una singola opzione Uri-Query.
otCoapMessageCodeToString(const otMessage *aMessage)
const char *
Questo metodo restituisce il codice CoAP come stringa leggibile dall'uomo.
otCoapMessageGenerateToken(otMessage *aMessage, uint8_t aTokenLength)
void
Questa funzione imposta la lunghezza del token e ne randomizza il valore.
otCoapMessageGetCode(const otMessage *aMessage)
Questa funzione restituisce il valore Code.
otCoapMessageGetMessageId(const otMessage *aMessage)
uint16_t
Questa funzione restituisce il valore ID messaggio.
otCoapMessageGetToken(const otMessage *aMessage)
const uint8_t *
Questa funzione restituisce un puntatore al valore del token.
otCoapMessageGetTokenLength(const otMessage *aMessage)
uint8_t
Questa funzione restituisce la lunghezza del token.
otCoapMessageGetType(const otMessage *aMessage)
Questa funzione restituisce il valore Type.
otCoapMessageInit(otMessage *aMessage, otCoapType aType, otCoapCode aCode)
void
Questa funzione inizializza l'intestazione CoAP.
otCoapMessageInitResponse(otMessage *aResponse, const otMessage *aRequest, otCoapType aType, otCoapCode aCode)
Questa funzione inizializza un messaggio di risposta.
otCoapMessageSetCode(otMessage *aMessage, otCoapCode aCode)
void
Questa funzione imposta il valore Code (Codice).
otCoapMessageSetPayloadMarker(otMessage *aMessage)
Questa funzione aggiunge un indicatore del payload che indica l'inizio del payload all'intestazione CoAP.
otCoapMessageSetToken(otMessage *aMessage, const uint8_t *aToken, uint8_t aTokenLength)
Questa funzione imposta il valore e la lunghezza del token in un'intestazione.
otCoapNewMessage(otInstance *aInstance, const otMessageSettings *aSettings)
Questa funzione crea un nuovo messaggio CoAP.
otCoapOptionIteratorGetFirstOption(otCoapOptionIterator *aIterator)
const otCoapOption *
Questa funzione restituisce un puntatore alla prima opzione.
otCoapOptionIteratorGetFirstOptionMatching(otCoapOptionIterator *aIterator, uint16_t aOption)
const otCoapOption *
Questa funzione restituisce un puntatore alla prima opzione corrispondente al numero di opzione specificato.
otCoapOptionIteratorGetNextOption(otCoapOptionIterator *aIterator)
const otCoapOption *
Questa funzione restituisce un puntatore all'opzione successiva.
otCoapOptionIteratorGetNextOptionMatching(otCoapOptionIterator *aIterator, uint16_t aOption)
const otCoapOption *
Questa funzione restituisce un puntatore all'opzione successiva corrispondente al numero di opzione specificato.
otCoapOptionIteratorGetOptionUintValue(otCoapOptionIterator *aIterator, uint64_t *aValue)
Questa funzione inserisce il valore corrente dell'opzione in aValue supponendo che il valore corrente sia un numero intero senza segno codificato in base a https://tools.ietf.org/html/rfc7252#section-3.2.
otCoapOptionIteratorGetOptionValue(otCoapOptionIterator *aIterator, void *aValue)
Questa funzione inserisce il valore dell'opzione corrente in aValue.
otCoapOptionIteratorInit(otCoapOptionIterator *aIterator, const otMessage *aMessage)
Questa funzione inizializza un iteratore per le opzioni nel messaggio specificato.
otCoapRemoveBlockWiseResource(otInstance *aInstance, otCoapBlockwiseResource *aResource)
void
Questa funzione rimuove una risorsa a blocchi dal server CoAP.
otCoapRemoveResource(otInstance *aInstance, otCoapResource *aResource)
void
Questa funzione rimuove una risorsa dal server CoAP.
otCoapSendRequest(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, otCoapResponseHandler aHandler, void *aContext)
Questa funzione invia una richiesta CoAP.
otCoapSendRequestBlockWise(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, otCoapResponseHandler aHandler, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook, otCoapBlockwiseReceiveHook aReceiveHook)
Questa funzione invia una richiesta CoAP in blocco.
otCoapSendRequestBlockWiseWithParameters(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, otCoapResponseHandler aHandler, void *aContext, const otCoapTxParameters *aTxParameters, otCoapBlockwiseTransmitHook aTransmitHook, otCoapBlockwiseReceiveHook aReceiveHook)
Questa funzione invia una richiesta CoAP in modalità blocco con parametri di trasmissione personalizzati.
otCoapSendRequestWithParameters(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, otCoapResponseHandler aHandler, void *aContext, const otCoapTxParameters *aTxParameters)
Questa funzione invia una richiesta CoAP con parametri di trasmissione personalizzati.
otCoapSendResponse(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo)
Questa funzione invia una risposta CoAP dal server.
otCoapSendResponseBlockWise(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook)
Questa funzione invia una risposta CoAP in blocco dal server.
otCoapSendResponseBlockWiseWithParameters(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, const otCoapTxParameters *aTxParameters, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook)
Questa funzione invia dal server una risposta CoAP in blocco, con parametri di trasmissione personalizzati.
otCoapSendResponseWithParameters(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, const otCoapTxParameters *aTxParameters)
Questa funzione invia una risposta CoAP dal server con parametri di trasmissione personalizzati.
otCoapSetDefaultHandler(otInstance *aInstance, otCoapRequestHandler aHandler, void *aContext)
void
Questa funzione imposta il gestore predefinito per le richieste CoAP non gestite.
otCoapStart(otInstance *aInstance, uint16_t aPort)
Questa funzione avvia il server CoAP.
otCoapStop(otInstance *aInstance)
Questa funzione interrompe il server CoAP.

Struttura

OtCoapBlockRayResource

Questa struttura rappresenta una risorsa CoAP con trasferimento in blocco di blocco.

Opzione otCoap

Questa struttura rappresenta un'opzione CoAP.

otCoapOptionIterator

Questa struttura funge da iteratore per le opzioni CoAP.

Risorsa otCoap

Questa struttura rappresenta una risorsa CoAP.

Parametri otCoapTx

Questa struttura rappresenta i parametri di trasmissione CoAP.

Enumerazioni

otCoapBlockSzx

 otCoapBlockSzx

Esponenti delle dimensioni dei blocchi CoAP.

Codice otCoap

 otCoapCode

Valori del codice CoAP.

Proprietà
OT_COAP_CODE_BAD_GATEWAY

Gateway non valido.

OT_COAP_CODE_BAD_OPTION

Opzione errata.

OT_COAP_CODE_BAD_REQUEST

Richiesta errata.

OT_COAP_CODE_CHANGED

Modificato.

OT_COAP_CODE_CONTENT

Contenuti.

OT_COAP_CODE_CONTINUE

RFC7959 Continua.

OT_COAP_CODE_CREATED

Creata.

OT_COAP_CODE_DELETE

Elimina.

OT_COAP_CODE_DELETED

Eliminato.

OT_COAP_CODE_EMPTY

Codice messaggio vuoto.

OT_COAP_CODE_FORBIDDEN

Non consentito.

OT_COAP_CODE_GATEWAY_TIMEOUT

Timeout gateway.

OT_COAP_CODE_GET

Scarica.

OT_COAP_CODE_INTERNAL_ERROR

Errore interno del server.

OT_COAP_CODE_METHOD_NOT_ALLOWED

Metodo non consentito.

OT_COAP_CODE_NOT_ACCEPTABLE

Non accettabile.

OT_COAP_CODE_NOT_FOUND

Non trovato.

OT_COAP_CODE_NOT_IMPLEMENTED

Non implementato.

OT_COAP_CODE_POST

Post.

OT_COAP_CODE_PRECONDITION_FAILED

Precondizione non riuscita.

OT_COAP_CODE_PROXY_NOT_SUPPORTED

Proxy non supportato.

OT_COAP_CODE_PUT

Metti.

OT_COAP_CODE_REQUEST_INCOMPLETE

Entità richiesta RFC7959 incompleta.

OT_COAP_CODE_REQUEST_TOO_LARGE

L'entità della richiesta è troppo grande.

OT_COAP_CODE_RESPONSE_MIN

2.00

OT_COAP_CODE_SERVICE_UNAVAILABLE

Servizio non disponibile.

OT_COAP_CODE_UNAUTHORIZED

Non autorizzato.

OT_COAP_CODE_UNSUPPORTED_FORMAT

Formato dei contenuti non supportato.

OT_COAP_CODE_VALID

Valida.

otCoapOptionContentFormat

 otCoapOptionContentFormat

Codici formato dei contenuti CoAP.

L'elenco completo è documentato all'indirizzo https://www.iana.org/assignments/core-parameters/core-parameters.xhtml#content-formats

Proprietà
OT_COAP_OPTION_CONTENT_FORMAT_CBOR

applicazione/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={quot;cose-encrypt": [RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_ENCRYPT0

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

OT_COAP_OPTION_CONTENT_FORMAT_COSE_KEY

applicazione/chiave chiave: [RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_KEY_SET

applicazione/cose-key-set: [RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_MAC

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

OT_COAP_OPTION_CONTENT_FORMAT_COSE_MAC0

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

OT_COAP_OPTION_CONTENT_FORMAT_COSE_SIGN

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

OT_COAP_OPTION_CONTENT_FORMAT_COSE_SIGN1

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

OT_COAP_OPTION_CONTENT_FORMAT_CWT

applicazione/cwt: [RFC8392]

OT_COAP_OPTION_CONTENT_FORMAT_EXI

application/exi: ["Effective XML Interchange (EXI) Format 1.0 (Seconda edizione)", febbraio 2014]

OT_COAP_OPTION_CONTENT_FORMAT_JSON

applicazione/json: [RFC7159]

OT_COAP_OPTION_CONTENT_FORMAT_JSON_PATCH_JSON

application/json-patch+json: [RFC6902].

OT_COAP_OPTION_CONTENT_FORMAT_LINK_FORMAT

application/link-format: [RFC6690]

OT_COAP_OPTION_CONTENT_FORMAT_MERGE_PATCH_JSON

application/merge-patch+json: [RFC7396]

OT_COAP_OPTION_CONTENT_FORMAT_OCTET_STREAM

applicazione/stream ottetto: [RFC2045][RFC2046]

OT_COAP_OPTION_CONTENT_FORMAT_SENML_CBOR

applicazione/senml+cbor: [RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENML_EXI

application/senml-exi: [RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENML_JSON

application/senml+json: [RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENML_XML

applicazione/senml+xml: [RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENSML_CBOR

applicazione/sensml+cbor: [RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENSML_EXI

application/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

text/plain; charset=utf-8: [RFC2046][RFC3676][RFC5147]

OT_COAP_OPTION_CONTENT_FORMAT_XML

applicazione/xml: [RFC3023]

TipoOpzioneOtCoap

 otCoapOptionType

Numeri di opzione CoAP.

Proprietà
OT_COAP_OPTION_ACCEPT

Accettali.

OT_COAP_OPTION_BLOCK1

Blocco1 (RFC7959)

OT_COAP_OPTION_BLOCK2

Blocco2 (RFC7959)

OT_COAP_OPTION_CONTENT_FORMAT

Formato dei contenuti.

OT_COAP_OPTION_E_TAG

ETag.

OT_COAP_OPTION_IF_MATCH

Se è una corrispondenza.

OT_COAP_OPTION_IF_NONE_MATCH

If-None-Match

OT_COAP_OPTION_LOCATION_PATH

Percorso-località.

OT_COAP_OPTION_LOCATION_QUERY

Query-località.

OT_COAP_OPTION_MAX_AGE

Età massima.

OT_COAP_OPTION_OBSERVE

Osserva [RFC7641].

OT_COAP_OPTION_PROXY_SCHEME

schema proxy.

OT_COAP_OPTION_PROXY_URI

URI proxy.

OT_COAP_OPTION_SIZE1

Taglia1.

OT_COAP_OPTION_SIZE2

Taglia 2 (RFC7959)

OT_COAP_OPTION_URI_HOST

host URI.

OT_COAP_OPTION_URI_PATH

Percorso URI.

OT_COAP_OPTION_URI_PORT

URI.

OT_COAP_OPTION_URI_QUERY

query Uri.

Tipo otCoap

 otCoapType

Valori del tipo CoAP (numero intero a 2 bit senza segno).

Proprietà
OT_COAP_TYPE_ACKNOWLEDGMENT

Accettazione.

OT_COAP_TYPE_CONFIRMABLE

Confermabile.

OT_COAP_TYPE_NON_CONFIRMABLE

Non confermabile.

OT_COAP_TYPE_RESET

Ripristina.

Defin

otCoapBlockSzx

enum otCoapBlockSzx otCoapBlockSzx

Esponenti delle dimensioni dei blocchi CoAP.

otCoapBlockRayReceivedHook

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

Il suggerimento di questa funzione viene richiamato quando si riceve un messaggio CoAP con un'opzione di trasferimento a blocchi.

Questa funzione è disponibile quando la configurazione OPENThread_CONFIG_COAP_BLOCKWISE_transfer_ENABLE è abilitata.

Dettagli
Parametri
[in] aContext
Un puntatore al contesto specifico dell'applicazione.
[in] aBlock
Un puntatore al segmento di blocco.
[in] aPosition
La posizione di aBlock in una sequenza in byte.
[in] aBlockLength
La lunghezza del segmento di blocchi in byte.
[in] aMore
Segnala se sono seguiti altri segmenti bloccati.
[in] aTotalLength
La lunghezza totale in byte delle informazioni trasferite (indicate da un'opzione per Taglia 1 o Taglia 2).
Valori restituiti
OT_ERROR_NONE
Il segmento di blocco è stato memorizzato.
OT_ERROR_NO_BUFS
Memoria insufficiente per archiviare i blocchi.
OT_ERROR_NO_FRAME_RECEIVED
Segmento di blocco mancante.

otCoapBlockintResource

struct otCoapBlockwiseResource otCoapBlockwiseResource

Questa struttura rappresenta una risorsa CoAP con trasferimento in blocco di blocco.

otCoapBlockRayTransmitHook

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

Il puntatore di questa funzione viene richiamato prima dell'invio del blocco successivo in un blocco a blocchi.

Questa funzione è disponibile quando la configurazione OPENThread_CONFIG_COAP_BLOCKWISE_transfer_ENABLE è abilitata.

Modificando il valore di aBlockLength, la dimensione del blocco dell'intera piattaforma di scambio viene rinegoziata. Si consiglia di eseguire questa operazione dopo la ricezione del primo blocco, poiché le modifiche successive potrebbero causare problemi con altre implementazioni CoAP.

Dettagli
Parametri
[in] aContext
Un puntatore al contesto specifico dell'applicazione.
[in,out] aBlock
Un puntatore a cui può essere scritto il segmento di blocco.
[in] aPosition
La posizione in una sequenza da cui ottenere il segmento di blocco.
[in,out] aBlockLength
Alla voce, la lunghezza massima del segmento di blocco in byte.
[out] aMore
Un puntatore al flag se verranno seguiti altri segmenti di blocco.
Valori restituiti
OT_ERROR_NONE
Non si è verificato alcun errore.
OT_ERROR_INVALID_ARGS
Il blocco su aPosition non esiste.

Codice otCoap

enum otCoapCode otCoapCode

Valori del codice CoAP.

Opzione otCoap

struct otCoapOption otCoapOption

Questa struttura rappresenta un'opzione CoAP.

otCoapOptionContentFormat

enum otCoapOptionContentFormat otCoapOptionContentFormat

Codici formato dei contenuti CoAP.

L'elenco completo è documentato all'indirizzo https://www.iana.org/assignments/core-parameters/core-parameters.xhtml#content-formats

otCoapOptionIterator

struct otCoapOptionIterator otCoapOptionIterator

Questa struttura funge da iteratore per le opzioni CoAP.

TipoOpzioneOtCoap

enum otCoapOptionType otCoapOptionType

Numeri di opzione CoAP.

otCoapRequestHandler

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

Il suggerimento di questa funzione viene richiamato quando viene ricevuta una richiesta CoAP con un determinato Uri-Path.

Dettagli
Parametri
[in] aContext
Un puntatore alle informazioni di contesto arbitrarie.
[in] aMessage
Un puntatore al messaggio.
[in] aMessageInfo
Un puntatore alle informazioni del messaggio per aMessage.

Risorsa otCoap

struct otCoapResource otCoapResource

Questa struttura rappresenta una risorsa CoAP.

otCoapResponseHandler

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

Il puntatore della funzione viene richiamato quando si riceve una risposta CoAP o al timeout della richiesta.

Dettagli
Parametri
[in] aContext
Un puntatore al contesto specifico dell'applicazione.
[in] aMessage
Un puntatore al buffer dei messaggi contenente la risposta. NULL se non è stata ricevuta alcuna risposta.
[in] aMessageInfo
Un puntatore alle informazioni del messaggio per aMessage. NULL se non è stata ricevuta alcuna risposta.
[in] aResult
Un risultato della transazione CoAP.
Valori restituiti
OT_ERROR_NONE
È stata ricevuta una risposta.
OT_ERROR_ABORT
Una transazione CoAP è stata reimpostata dal peer.
OT_ERROR_RESPONSE_TIMEOUT
Non è stata ricevuta alcuna risposta o conferma durante il periodo di timeout.

Parametri OtCoapTx

struct otCoapTxParameters otCoapTxParameters

Questa struttura rappresenta i parametri di trasmissione CoAP.

Tipo otCoap

enum otCoapType otCoapType

Valori del tipo CoAP (numero intero a 2 bit senza segno).

Functions

otCoapAddBlockWiseResource

void otCoapAddBlockWiseResource(
  otInstance *aInstance,
  otCoapBlockwiseResource *aResource
)

Questa funzione aggiunge una risorsa a blocchi al server CoAP.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aResource
Un puntatore alla risorsa.

OtCoapAggiungiRisorsa

void otCoapAddResource(
  otInstance *aInstance,
  otCoapResource *aResource
)

Questa funzione aggiunge una risorsa al server CoAP.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aResource
Un puntatore alla risorsa.

otCoapBlockSizeFromExponent

uint16_t otCoapBlockSizeFromExponent(
  otCoapBlockSzx aSize
)

Questa funzione converte un campo SZX di opzione CoAP Block nella dimensione effettiva del blocco.

Dettagli
Parametri
[in] aSize
Dimensioni dell'esponente delle dimensioni del blocco.
Restituisce
Il valore dell'esponente delle dimensioni effettive.

otCoapMessageAppendBlock1Opzione

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

Questa funzione aggiunge un'opzione Block1.

Dettagli
Parametri
[in,out] aMessage
Un puntatore al messaggio CoAP.
[in] aNum
Numero di blocco corrente.
[in] aMore
Booleano per indicare l'invio di altri blocchi.
[in] aSize
Esponente dimensioni blocco.
Valori restituiti
OT_ERROR_NONE
Opzione aggiunta correttamente.
OT_ERROR_INVALID_ARGS
Il tipo di opzione non è uguale o superiore all'ultimo tipo di opzione.
OT_ERROR_NO_BUFS
La lunghezza dell'opzione supera la dimensione del buffer.

otCoapMessageAppendBlock2Option

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

Questa funzione aggiunge un'opzione Block2.

Dettagli
Parametri
[in,out] aMessage
Un puntatore al messaggio CoAP.
[in] aNum
Numero di blocco corrente.
[in] aMore
Booleano per indicare l'invio di altri blocchi.
[in] aSize
Esponente dimensioni blocco.
Valori restituiti
OT_ERROR_NONE
Opzione aggiunta correttamente.
OT_ERROR_INVALID_ARGS
Il tipo di opzione non è uguale o superiore all'ultimo tipo di opzione.
OT_ERROR_NO_BUFS
La lunghezza dell'opzione supera la dimensione del buffer.

otCoapMessageAppendContentFormatOption

otError otCoapMessageAppendContentFormatOption(
  otMessage *aMessage,
  otCoapOptionContentFormat aContentFormat
)

Questa funzione aggiunge l'opzione Content Manager CoAP come specificato in https://tools.ietf.org/html/rfc7252#page-92.

Questa funzione deve essere chiamata prima di impostare otCoapMessageSetPayloadMarker se è necessario includere un payload nel messaggio.

La funzione è un wrapper pratico per otCoapMessageAppendUintOption. Se il codice del tipo di formato desiderato non è presente in otCoapOptionContentFormat, dovrebbe essere utilizzata questa funzione di base.

Dettagli
Parametri
[in,out] aMessage
Un puntatore al messaggio CoAP.
[in] aContentFormat
Uno dei formati di contenuto elencati in otCoapOptionContentFormat.
Valori restituiti
OT_ERROR_NONE
Opzione aggiunta correttamente.
OT_ERROR_INVALID_ARGS
Il tipo di opzione non è uguale o superiore all'ultimo tipo di opzione.
OT_ERROR_NO_BUFS
La lunghezza dell'opzione supera la dimensione del buffer.

otCoapMessageAppendMaxAgeOption

otError otCoapMessageAppendMaxAgeOption(
  otMessage *aMessage,
  uint32_t aMaxAge
)

Questa funzione aggiunge un'opzione età massima.

Dettagli
Parametri
[in,out] aMessage
Un puntatore al messaggio CoAP.
[in] aMaxAge
Il valore dell'età massima.
Valori restituiti
OT_ERROR_NONE
Opzione aggiunta correttamente.
OT_ERROR_INVALID_ARGS
Il tipo di opzione non è uguale o superiore all'ultimo tipo di opzione.
OT_ERROR_NO_BUFS
La lunghezza dell'opzione supera la dimensione del buffer.

otCoapMessageAppendObserveOpzione

otError otCoapMessageAppendObserveOption(
  otMessage *aMessage,
  uint32_t aObserve
)

Questa funzione aggiunge un'opzione Osserva.

Dettagli
Parametri
[in,out] aMessage
Un puntatore al messaggio CoAP.
[in] aObserve
Osserva il valore del campo.
Valori restituiti
OT_ERROR_NONE
Opzione aggiunta correttamente.
OT_ERROR_INVALID_ARGS
Il tipo di opzione non è uguale o superiore all'ultimo tipo di opzione.
OT_ERROR_NO_BUFS
La lunghezza dell'opzione supera la dimensione del buffer.

otCoapMessageAppendOption

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

Questa funzione aggiunge un'opzione CoAP in un'intestazione.

Dettagli
Parametri
[in,out] aMessage
Un puntatore al messaggio CoAP.
[in] aNumber
Il numero di opzione CoAP.
[in] aLength
La lunghezza dell'opzione CoAP.
[in] aValue
Un puntatore al valore CoAP.
Valori restituiti
OT_ERROR_NONE
Opzione aggiunta correttamente.
OT_ERROR_INVALID_ARGS
Il tipo di opzione non è uguale o superiore all'ultimo tipo di opzione.
OT_ERROR_NO_BUFS
La lunghezza dell'opzione supera la dimensione del buffer.

otCoapMessageAppendProxyUriOption

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

Questa funzione aggiunge un'opzione URI proxy.

Dettagli
Parametri
[in,out] aMessage
Un puntatore al messaggio CoAP.
[in] aUriPath
Un puntatore a una stringa terminata con NULL.
Valori restituiti
OT_ERROR_NONE
Opzione aggiunta correttamente.
OT_ERROR_INVALID_ARGS
Il tipo di opzione non è uguale o superiore all'ultimo tipo di opzione.
OT_ERROR_NO_BUFS
La lunghezza dell'opzione supera la dimensione del buffer.

Opzione otCoapMessageAppendUint

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

Questa funzione aggiunge un'opzione CoAP numero intero senza segno come specificato in https://tools.ietf.org/html/rfc7252#section-3.2.

Dettagli
Parametri
[in,out] aMessage
Un puntatore al messaggio CoAP.
[in] aNumber
Il numero di opzione CoAP.
[in] aValue
Il valore intero senza firma dell'opzione CoAP.
Valori restituiti
OT_ERROR_NONE
Opzione aggiunta correttamente.
OT_ERROR_INVALID_ARGS
Il tipo di opzione non è uguale o superiore all'ultimo tipo di opzione.
OT_ERROR_NO_BUFS
La lunghezza dell'opzione supera la dimensione del buffer.
Vedi anche:
otCoapMessageGetOptionUintValue

otCoapMessageAppendUriPathOptions

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

Questa funzione aggiunge un'opzione Uri-Path.

Dettagli
Parametri
[in,out] aMessage
Un puntatore al messaggio CoAP.
[in] aUriPath
Un puntatore a una stringa terminata con NULL.
Valori restituiti
OT_ERROR_NONE
Opzione aggiunta correttamente.
OT_ERROR_INVALID_ARGS
Il tipo di opzione non è uguale o superiore all'ultimo tipo di opzione.
OT_ERROR_NO_BUFS
La lunghezza dell'opzione supera la dimensione del buffer.

otCoapMessageAppendUriQueryOption

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

Questa funzione aggiunge una singola opzione Uri-Query.

Dettagli
Parametri
[in,out] aMessage
Un puntatore al messaggio CoAP.
[in] aUriQuery
Un puntatore alla stringa terminata con NULL, che deve contenere una singola coppia chiave-valore.
Valori restituiti
OT_ERROR_NONE
Opzione aggiunta correttamente.
OT_ERROR_INVALID_ARGS
Il tipo di opzione non è uguale o superiore all'ultimo tipo di opzione.
OT_ERROR_NO_BUFS
La lunghezza dell'opzione supera la dimensione del buffer.

otCoapMessageCodeToString

const char * otCoapMessageCodeToString(
  const otMessage *aMessage
)

Questo metodo restituisce il codice CoAP come stringa leggibile dall'uomo.

@ restituisce il codice CoAP come stringa.

Dettagli
Parametri
[in] aMessage
Un puntatore al messaggio CoAP.

otCoapMessageGenerateToken

void otCoapMessageGenerateToken(
  otMessage *aMessage,
  uint8_t aTokenLength
)

Questa funzione imposta la lunghezza del token e ne randomizza il valore.

Dettagli
Parametri
[in,out] aMessage
Un puntatore al messaggio CoAP.
[in] aTokenLength
La lunghezza di un token da impostare.

otCoapMessageGetCode

otCoapCode otCoapMessageGetCode(
  const otMessage *aMessage
)

Questa funzione restituisce il valore Code.

Dettagli
Parametri
[in] aMessage
Un puntatore al messaggio CoAP.
Restituisce
Il valore del codice.

otCoapMessageGetMessageId

uint16_t otCoapMessageGetMessageId(
  const otMessage *aMessage
)

Questa funzione restituisce il valore ID messaggio.

Dettagli
Parametri
[in] aMessage
Un puntatore al messaggio CoAP.
Restituisce
Il valore dell'ID messaggio.

otCoapMessageGetToken

const uint8_t * otCoapMessageGetToken(
  const otMessage *aMessage
)

Questa funzione restituisce un puntatore al valore del token.

Dettagli
Parametri
[in] aMessage
Un puntatore al messaggio CoAP.
Restituisce
Un puntatore al valore del token.

otCoapMessageGetTokenLength

uint8_t otCoapMessageGetTokenLength(
  const otMessage *aMessage
)

Questa funzione restituisce la lunghezza del token.

Dettagli
Parametri
[in] aMessage
Un puntatore al messaggio CoAP.
Restituisce
La lunghezza del token.

otCoapMessageGetType

otCoapType otCoapMessageGetType(
  const otMessage *aMessage
)

Questa funzione restituisce il valore Type.

Dettagli
Parametri
[in] aMessage
Un puntatore al messaggio CoAP.
Restituisce
Il valore Type.

otCoapMessageInit

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

Questa funzione inizializza l'intestazione CoAP.

Dettagli
Parametri
[in,out] aMessage
Un puntatore al messaggio CoAP da inizializzare.
[in] aType
Tipo di messaggio CoAP.
[in] aCode
Codice messaggio CoAP.

otCoapMessageInitResponse

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

Questa funzione inizializza un messaggio di risposta.

Dettagli
Parametri
[in,out] aResponse
Un puntatore al messaggio di risposta CoAP.
[in] aRequest
Un puntatore al messaggio di richiesta CoAP.
[in] aType
Tipo di messaggio CoAP.
[in] aCode
Codice messaggio CoAP.
Valori restituiti
OT_ERROR_NONE
Il messaggio di risposta è stato inizializzato.
OT_ERROR_NO_BUFS
Buffer dei messaggi insufficienti per inizializzare il messaggio di risposta.

otCoapMessageSetCode

void otCoapMessageSetCode(
  otMessage *aMessage,
  otCoapCode aCode
)

Questa funzione imposta il valore Code (Codice).

Dettagli
Parametri
[in,out] aMessage
Un puntatore al messaggio CoAP da inizializzare.
[in] aCode
Codice messaggio CoAP.

otCoapMessageSetPayloadMarker

otError otCoapMessageSetPayloadMarker(
  otMessage *aMessage
)

Questa funzione aggiunge un indicatore del payload che indica l'inizio del payload all'intestazione CoAP.

Dettagli
Parametri
[in,out] aMessage
Un puntatore al messaggio CoAP.
Valori restituiti
OT_ERROR_NONE
Indicatore del payload aggiunto.
OT_ERROR_NO_BUFS
L'indicatore di payload dell'intestazione supera le dimensioni del buffer.

otCoapMessageSetToken

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

Questa funzione imposta il valore e la lunghezza del token in un'intestazione.

Dettagli
Parametri
[in,out] aMessage
Un puntatore al messaggio CoAP.
[in] aToken
Un puntatore al valore del token.
[in] aTokenLength
La lunghezza di aToken.
Valori restituiti
OT_ERROR_NONE
Il valore del token è stato impostato correttamente.
OT_ERROR_NO_BUFS
Buffer insufficienti per impostare il valore del token.

Nuovo messaggio OtCoap

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

Questa funzione crea un nuovo messaggio CoAP.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aSettings
Un puntatore alle impostazioni del messaggio o NULL per configurare le impostazioni predefinite.
Restituisce
Un puntatore al buffer dei messaggi o a NULL se non sono disponibili buffer di messaggio o parametri non validi.

otCoapOptionIteratorGetFirstOption

const otCoapOption * otCoapOptionIteratorGetFirstOption(
  otCoapOptionIterator *aIterator
)

Questa funzione restituisce un puntatore alla prima opzione.

Dettagli
Parametri
[in,out] aIterator
Un puntatore all'iteratore dell'opzione di messaggio CoAP.
Restituisce
Un puntatore alla prima opzione. Se non è presente alcuna opzione, viene restituito il puntatore NULL.

otCoapOptionIteratorGetFirstOptionMatching

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

Questa funzione restituisce un puntatore alla prima opzione corrispondente al numero di opzione specificato.

Dettagli
Parametri
[in] aIterator
Un puntatore all'iteratore dell'opzione di messaggio CoAP.
[in] aOption
Il numero di opzione che hai cercato.
Restituisce
Un puntatore alla prima opzione di corrispondenza. Se non è presente alcuna opzione di corrispondenza, viene restituito un puntatore NULL.

otCoapOptionIteratorGetNextOption

const otCoapOption * otCoapOptionIteratorGetNextOption(
  otCoapOptionIterator *aIterator
)

Questa funzione restituisce un puntatore all'opzione successiva.

Dettagli
Parametri
[in,out] aIterator
Un puntatore all'iteratore dell'opzione di messaggio CoAP.
Restituisce
Un puntatore all'opzione successiva. Se non sono presenti altre opzioni, viene restituito il puntatore NULL.

otCoapOptionIteratorGetNextOptionMatching

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

Questa funzione restituisce un puntatore all'opzione successiva corrispondente al numero di opzione specificato.

Dettagli
Parametri
[in] aIterator
Un puntatore all'iteratore dell'opzione di messaggio CoAP.
[in] aOption
Il numero di opzione che hai cercato.
Restituisce
Un puntatore all'opzione di corrispondenza successiva. Se non è presente alcuna opzione di corrispondenza aggiuntiva, viene restituito il puntatore NULL.

otCoapOptionIteratorGetOptionUintValue

otError otCoapOptionIteratorGetOptionUintValue(
  otCoapOptionIterator *aIterator,
  uint64_t *aValue
)

Questa funzione inserisce il valore corrente dell'opzione in aValue supponendo che il valore corrente sia un numero intero senza segno codificato in base a https://tools.ietf.org/html/rfc7252#section-3.2.

Dettagli
Parametri
[in,out] aIterator
Un puntatore all'iteratore dell'opzione di messaggio CoAP.
[out] aValue
Un puntatore a un numero intero senza segno per ricevere il valore dell'opzione.
Valori restituiti
OT_ERROR_NONE
Valore compilato correttamente.
OT_ERROR_NOT_FOUND
Nessuna opzione corrente.
OT_ERROR_NO_BUFS
Il valore è troppo lungo per rientrare in uint64_t.
Vedi anche:
otCoapMessageAppendUintOption

otCoapOptionIteratorGetOptionValue

otError otCoapOptionIteratorGetOptionValue(
  otCoapOptionIterator *aIterator,
  void *aValue
)

Questa funzione inserisce il valore dell'opzione corrente in aValue.

Dettagli
Parametri
[in,out] aIterator
Un puntatore all'iteratore dell'opzione di messaggio CoAP.
[out] aValue
Un puntatore a un buffer per ricevere il valore dell'opzione.
Valori restituiti
OT_ERROR_NONE
Valore compilato correttamente.
OT_ERROR_NOT_FOUND
Nessuna opzione corrente.

otCoapOptionIteratorInit

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

Questa funzione inizializza un iteratore per le opzioni nel messaggio specificato.

Dettagli
Parametri
[in,out] aIterator
Un puntatore all'iteratore dell'opzione di messaggio CoAP.
[in] aMessage
Un puntatore al messaggio CoAP.
Valori restituiti
OT_ERROR_NONE
Inizializzazione riuscita.
OT_ERROR_PARSE
Lo stato del messaggio non è coerente.

otCoapRemoveBlockWiseResource

void otCoapRemoveBlockWiseResource(
  otInstance *aInstance,
  otCoapBlockwiseResource *aResource
)

Questa funzione rimuove una risorsa a blocchi dal server CoAP.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aResource
Un puntatore alla risorsa.

OtCoapRimuoviRisorsa

void otCoapRemoveResource(
  otInstance *aInstance,
  otCoapResource *aResource
)

Questa funzione rimuove una risorsa dal server CoAP.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aResource
Un puntatore alla risorsa.

otCoapSendRequest

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

Questa funzione invia una richiesta CoAP.

Se è prevista una risposta a una richiesta, è necessario fornire le informazioni relative a funzioni e contesti. Se non è prevista una risposta, questi argomenti dovrebbero essere puntatori NULL.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aMessage
Un puntatore al messaggio da inviare.
[in] aMessageInfo
Un puntatore alle informazioni del messaggio associate a aMessage.
[in] aHandler
Un puntatore della funzione che deve essere richiamato alla ricezione o al timeout della risposta.
[in] aContext
Un puntatore alle informazioni di contesto arbitrarie. Potrebbe non essere NULL se non viene usato.
Valori restituiti
OT_ERROR_NONE
Messaggio CoAP inviato correttamente.
OT_ERROR_NO_BUFS
Impossibile allocare i dati di ritrasmissione.

otCoapSendRequestBlockWise

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

Questa funzione invia una richiesta CoAP in blocco.

Questa funzione è disponibile quando la configurazione OPENThread_CONFIG_COAP_BLOCKWISE_transfer_ENABLE è abilitata.

Se è prevista una risposta a una richiesta, è necessario fornire le informazioni relative a funzioni e contesti. Se si prevede che la risposta sia in blocco, deve essere fornita una funzione di hook corrispondente. Se non è prevista una risposta, questi argomenti dovrebbero essere puntatori NULL.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aMessage
Un puntatore al messaggio da inviare.
[in] aMessageInfo
Un puntatore alle informazioni del messaggio associate a aMessage.
[in] aHandler
Un puntatore della funzione che deve essere richiamato alla ricezione o al timeout della risposta.
[in] aContext
Un puntatore alle informazioni di contesto arbitrarie. Potrebbe non essere NULL se non viene usato.
[in] aTransmitHook
Un puntatore a una funzione hook per il trasferimento in uscita a blocchi in uscita.
[in] aReceiveHook
Un puntatore a una funzione hook per il trasferimento in entrata a blocchi in entrata.
Valori restituiti
OT_ERROR_NONE
Messaggio CoAP inviato correttamente.
OT_ERROR_NO_BUFS
Impossibile allocare i dati di ritrasmissione.

otCoapSendRequestBlockWiseWithParameters

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

Questa funzione invia una richiesta CoAP in modalità blocco con parametri di trasmissione personalizzati.

Questa funzione è disponibile quando la configurazione OPENThread_CONFIG_COAP_BLOCKWISE_transfer_ENABLE è abilitata.

Se è prevista una risposta a una richiesta, è necessario fornire le informazioni relative a funzioni e contesti. Se si prevede che la risposta sia in blocco, deve essere fornita una funzione di hook corrispondente. Se non è prevista una risposta, questi argomenti dovrebbero essere puntatori NULL.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aMessage
Un puntatore al messaggio da inviare.
[in] aMessageInfo
Un puntatore alle informazioni del messaggio associate a aMessage.
[in] aHandler
Un puntatore della funzione che deve essere richiamato alla ricezione o al timeout della risposta.
[in] aContext
Un puntatore alle informazioni di contesto arbitrarie. Potrebbe non essere NULL se non viene usato.
[in] aTxParameters
Un puntatore ai parametri di trasmissione per questa richiesta. Usa NULL per impostazione predefinita.
[in] aTransmitHook
Un puntatore a una funzione hook per il trasferimento in uscita a blocchi in uscita.
[in] aReceiveHook
Un puntatore a una funzione hook per il trasferimento in entrata a blocchi in entrata.
Valori restituiti
OT_ERROR_NONE
Messaggio CoAP inviato correttamente.
OT_ERROR_NO_BUFS
Impossibile allocare i dati di ritrasmissione.

otCoapSendRequestWithParameters

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

Questa funzione invia una richiesta CoAP con parametri di trasmissione personalizzati.

Se è prevista una risposta a una richiesta, è necessario fornire le informazioni relative a funzioni e contesti. Se non è prevista una risposta, questi argomenti dovrebbero essere puntatori NULL.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aMessage
Un puntatore al messaggio da inviare.
[in] aMessageInfo
Un puntatore alle informazioni del messaggio associate a aMessage.
[in] aHandler
Un puntatore della funzione che deve essere richiamato alla ricezione o al timeout della risposta.
[in] aContext
Un puntatore alle informazioni di contesto arbitrarie. Potrebbe non essere NULL se non viene usato.
[in] aTxParameters
Un puntatore ai parametri di trasmissione per questa richiesta. Usa NULL per impostazione predefinita. In caso contrario, i parametri forniti devono soddisfare le seguenti condizioni:
  1. Il valore di mMaxRetransmit non è superiore a OT_COAP_MAX_RETRANSMIT.
  2. mAckrandomfactorNumerator / mAckrandomfactorDenominator non deve essere inferiore a 1.0.
  3. La durata calcolata della piattaforma di scambio non deve superare il valore uint32_t.
Valori restituiti
OT_ERROR_INVALID_ARGS
Il campo aTxParameters non è valido.
OT_ERROR_NONE
Messaggio CoAP inviato correttamente.
OT_ERROR_NO_BUFS
Impossibile allocare i dati di ritrasmissione.

otCoapSendResponse

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

Questa funzione invia una risposta CoAP dal server.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aMessage
Un puntatore alla risposta CoAP da inviare.
[in] aMessageInfo
Un puntatore alle informazioni del messaggio associate a aMessage.
Valori restituiti
OT_ERROR_NONE
Il messaggio di risposta CoAP è stato accodato.
OT_ERROR_NO_BUFS
Buffer insufficienti per inviare la risposta CoAP.

otCoapSendResponseBlockWise

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

Questa funzione invia una risposta CoAP in blocco dal server.

Questa funzione è disponibile quando la configurazione OPENThread_CONFIG_COAP_BLOCKWISE_transfer_ENABLE è abilitata.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aMessage
Un puntatore alla risposta CoAP da inviare.
[in] aMessageInfo
Un puntatore alle informazioni del messaggio associate a aMessage.
[in] aContext
Un puntatore alle informazioni di contesto arbitrarie. Potrebbe non essere NULL se non viene usato.
[in] aTransmitHook
Un puntatore a una funzione hook per il trasferimento in uscita a blocchi in uscita.
Valori restituiti
OT_ERROR_NONE
Il messaggio di risposta CoAP è stato accodato.
OT_ERROR_NO_BUFS
Buffer insufficienti per inviare la risposta CoAP.

otCoapSendResponseBlockWiseWithParameters

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

Questa funzione invia dal server una risposta CoAP in blocco, con parametri di trasmissione personalizzati.

Questa funzione è disponibile quando la configurazione OPENThread_CONFIG_COAP_BLOCKWISE_transfer_ENABLE è abilitata.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aMessage
Un puntatore alla risposta CoAP da inviare.
[in] aMessageInfo
Un puntatore alle informazioni del messaggio associate a aMessage.
[in] aTxParameters
Un puntatore ai parametri di trasmissione per questa risposta. Usa NULL per impostazione predefinita.
[in] aContext
Un puntatore alle informazioni di contesto arbitrarie. Potrebbe non essere NULL se non viene usato.
[in] aTransmitHook
Un puntatore a una funzione hook per il trasferimento in uscita a blocchi in uscita.
Valori restituiti
OT_ERROR_NONE
Il messaggio di risposta CoAP è stato accodato.
OT_ERROR_NO_BUFS
Buffer insufficienti per inviare la risposta CoAP.

otCoapSendResponseWithParameters

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

Questa funzione invia una risposta CoAP dal server con parametri di trasmissione personalizzati.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aMessage
Un puntatore alla risposta CoAP da inviare.
[in] aMessageInfo
Un puntatore alle informazioni del messaggio associate a aMessage.
[in] aTxParameters
Un puntatore ai parametri di trasmissione per questa risposta. Usa NULL per impostazione predefinita.
Valori restituiti
OT_ERROR_NONE
Il messaggio di risposta CoAP è stato accodato.
OT_ERROR_NO_BUFS
Buffer insufficienti per inviare la risposta CoAP.

otCoapSetDefaultHandler

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

Questa funzione imposta il gestore predefinito per le richieste CoAP non gestite.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aHandler
Un puntatore della funzione che viene richiamato all'arrivo di una richiesta non gestita.
[in] aContext
Un puntatore alle informazioni di contesto arbitrarie. Potrebbe non essere NULL se non viene usato.

OtCoapStart

otError otCoapStart(
  otInstance *aInstance,
  uint16_t aPort
)

Questa funzione avvia il server CoAP.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aPort
La porta UDP locale da associare.
Valori restituiti
OT_ERROR_NONE
Il server CoAP è stato avviato.
OT_ERROR_FAILED
Avvio del server CoAP non riuscito.

OtCoapStop

otError otCoapStop(
  otInstance *aInstance
)

Questa funzione interrompe il server CoAP.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
Valori restituiti
OT_ERROR_NONE
Il server CoAP è stato interrotto.

Macro

CODICE_OT_COAP

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

Macro di supporto per definire i valori del codice CoAP.

OT_COAP_DEFAULT_TOKEN_LENGTH

 OT_COAP_DEFAULT_TOKEN_LENGTH 2

Lunghezza del token predefinita.

OT_COAP_MAX_RETRANSMIT

 OT_COAP_MAX_RETRANSMIT 20

Ritrasmissione massima supportata da OpenThread.

OT_COAP_MAX_TOKEN_LENGTH

 OT_COAP_MAX_TOKEN_LENGTH 8

Lunghezza massima del token come specificato (RFC 7252).

OT_COAP_MIN_ACK_TIMEOUT

 OT_COAP_MIN_ACK_TIMEOUT 1000

Timeout ACK minimo in millisecondi supportato da OpenThread.

OT_DEFAULT_COAP_PORT

 OT_DEFAULT_COAP_PORT 5683

Porta CoAP predefinita, come specificato in RFC 7252.

Risorse

Gli argomenti di riferimento dell'API OpenThread provengono dal codice sorgente, disponibile su GitHub. Per scoprire di più o per contribuire alla nostra documentazione, consulta le Risorse.