CoAP

Ten moduł zawiera funkcje, które kontrolują komunikację CoAP.

Podsumowanie

Funkcje w tym module są dostępne po włączeniu interfejsu CoAP API (OPENTHREAD_CONFIG_COAP_API_ENABLE).

Wyliczenia

otCoapBlockSzx enum | typ wyliczeniowy
Wykładniki bloków 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 | typ wyliczeniowy
wartości kodów 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 | typ wyliczeniowy
Kody formatu treści 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 | typ wyliczeniowy
Numery opcji CoAP.
otCoapType{
  OT_COAP_TYPE_CONFIRMABLE = 0,
  OT_COAP_TYPE_NON_CONFIRMABLE = 1,
  OT_COAP_TYPE_ACKNOWLEDGMENT = 2,
  OT_COAP_TYPE_RESET = 3
}
enum | typ wyliczeniowy
Wartości typu CoAP (2-bitowa liczba całkowita bez znaku).

Typedefs

otCoapBlockSzx typedef
Wykładniki bloków CoAP.
otCoapBlockwiseReceiveHook)(void *aContext, const uint8_t *aBlock, uint32_t aPosition, uint16_t aBlockLength, bool aMore, uint32_t aTotalLength) typedef
Wskaźnik jest wywoływany po odebraniu wiadomości CoAP z opcją przenoszenia blokowania.
otCoapBlockwiseResource typedef
Reprezentuje zasób CoAP z transferem blokowym.
otCoapBlockwiseTransmitHook)(void *aContext, uint8_t *aBlock, uint32_t aPosition, uint16_t *aBlockLength, bool *aMore) typedef
Wskaźnik jest wywoływany przed wysłaniem następnego bloku w transferze blokowym.
otCoapCode typedef
enum otCoapCode
wartości kodów CoAP.
otCoapOption typedef
struct otCoapOption
Reprezentuje opcję CoAP.
otCoapOptionContentFormat typedef
Kody formatu treści CoAP.
otCoapOptionIterator typedef
Działa jako iterator opcji CoAP.
otCoapOptionType typedef
Numery opcji CoAP.
otCoapRequestHandler)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo) typedef
void(*
Wskaźnik jest wywoływany po odebraniu żądania CoAP z określoną ścieżką identyfikatora URI.
otCoapResource typedef
Reprezentuje zasób CoAP.
otCoapResponseHandler)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo, otError aResult) typedef
void(*
Wskaźnik jest wywoływany po odebraniu odpowiedzi CoAP lub po upływie czasu oczekiwania na żądanie.
otCoapTxParameters typedef
Reprezentuje parametry transmisji CoAP.
otCoapType typedef
enum otCoapType
Wartości typu CoAP (2-bitowa liczba całkowita bez znaku).

Funkcje

otCoapAddBlockWiseResource(otInstance *aInstance, otCoapBlockwiseResource *aResource)
void
Dodaje zasób blokowy do serwera CoAP.
otCoapAddResource(otInstance *aInstance, otCoapResource *aResource)
void
Dodaje zasób do serwera CoAP.
otCoapBlockSizeFromExponent(otCoapBlockSzx aSize)
uint16_t
Konwertuje pole SZX opcji bloku CoAP na rzeczywisty rozmiar bloku.
otCoapMessageAppendBlock1Option(otMessage *aMessage, uint32_t aNum, bool aMore, otCoapBlockSzx aSize)
Dodaje opcję Block1.
otCoapMessageAppendBlock2Option(otMessage *aMessage, uint32_t aNum, bool aMore, otCoapBlockSzx aSize)
Dodaje opcję Block2.
otCoapMessageAppendContentFormatOption(otMessage *aMessage, otCoapOptionContentFormat aContentFormat)
Dołącza opcję formatu treści CoAP zgodnie z opisem w https://tools.ietf.org/html/rfc7252#page-92.
otCoapMessageAppendMaxAgeOption(otMessage *aMessage, uint32_t aMaxAge)
Dodaje opcję Max-Age.
otCoapMessageAppendObserveOption(otMessage *aMessage, uint32_t aObserve)
Dodaje opcję Obserwuj.
otCoapMessageAppendOption(otMessage *aMessage, uint16_t aNumber, uint16_t aLength, const void *aValue)
Dodaje w nagłówku opcję CoAP.
otCoapMessageAppendProxyUriOption(otMessage *aMessage, const char *aUriPath)
Dodaje opcję identyfikatora serwera proxy.
otCoapMessageAppendUintOption(otMessage *aMessage, uint16_t aNumber, uint32_t aValue)
Dołącza opcję CoAP niepodpisanej liczby całkowitej zgodnie z opisem w https://tools.ietf.org/html/rfc7252#section-3.2.
otCoapMessageAppendUriPathOptions(otMessage *aMessage, const char *aUriPath)
Dodaje opcję ścieżki Uri.
otCoapMessageAppendUriQueryOption(otMessage *aMessage, const char *aUriQuery)
Dodaje pojedynczą opcję zapytania z identyfikatorem URI.
otCoapMessageCodeToString(const otMessage *aMessage)
const char *
Zwraca kod CoAP w postaci zrozumiałego dla człowieka ciągu znaków.
otCoapMessageGenerateToken(otMessage *aMessage, uint8_t aTokenLength)
void
Ustawia długość tokena i losowo wybiera jego wartość.
otCoapMessageGetCode(const otMessage *aMessage)
Zwraca wartość kodu.
otCoapMessageGetMessageId(const otMessage *aMessage)
uint16_t
Zwraca wartość identyfikatora wiadomości.
otCoapMessageGetToken(const otMessage *aMessage)
const uint8_t *
Zwraca wskaźnik do wartości tokena.
otCoapMessageGetTokenLength(const otMessage *aMessage)
uint8_t
Zwraca długość tokena.
otCoapMessageGetType(const otMessage *aMessage)
Zwraca wartość Typ.
otCoapMessageInit(otMessage *aMessage, otCoapType aType, otCoapCode aCode)
void
Inicjuje nagłówek CoAP.
otCoapMessageInitResponse(otMessage *aResponse, const otMessage *aRequest, otCoapType aType, otCoapCode aCode)
Inicjuje wiadomość z odpowiedzią.
otCoapMessageSetCode(otMessage *aMessage, otCoapCode aCode)
void
Ustawia wartość Kod.
otCoapMessageSetPayloadMarker(otMessage *aMessage)
Dodaje do nagłówka CoAP znacznik ładunku wskazujący początek ładunku.
otCoapMessageSetToken(otMessage *aMessage, const uint8_t *aToken, uint8_t aTokenLength)
Ustawia wartość i długość tokena w nagłówku.
otCoapNewMessage(otInstance *aInstance, const otMessageSettings *aSettings)
Tworzy nową wiadomość CoAP.
otCoapOptionIteratorGetFirstOption(otCoapOptionIterator *aIterator)
const otCoapOption *
Zwraca wskaźnik do pierwszej opcji.
otCoapOptionIteratorGetFirstOptionMatching(otCoapOptionIterator *aIterator, uint16_t aOption)
const otCoapOption *
Zwraca wskaźnik do pierwszej opcji pasującej do podanego numeru.
otCoapOptionIteratorGetNextOption(otCoapOptionIterator *aIterator)
const otCoapOption *
Zwraca wskaźnik do następnej opcji.
otCoapOptionIteratorGetNextOptionMatching(otCoapOptionIterator *aIterator, uint16_t aOption)
const otCoapOption *
Zwraca wskaźnik do następnej opcji pasującej do podanego numeru.
otCoapOptionIteratorGetOptionUintValue(otCoapOptionIterator *aIterator, uint64_t *aValue)
Wypełnia bieżącą wartość opcji w polu aValue przy założeniu, że bieżąca wartość jest niepodpisaną liczbą całkowitą zakodowaną zgodnie z wytycznymi https://tools.ietf.org/html/rfc7252#section-3.2.
otCoapOptionIteratorGetOptionValue(otCoapOptionIterator *aIterator, void *aValue)
Podaje bieżącą wartość opcji w ciągu aValue.
otCoapOptionIteratorInit(otCoapOptionIterator *aIterator, const otMessage *aMessage)
Inicjuje iterator dla opcji w danej wiadomości.
otCoapRemoveBlockWiseResource(otInstance *aInstance, otCoapBlockwiseResource *aResource)
void
Usuwa zasób blokowy z serwera CoAP.
otCoapRemoveResource(otInstance *aInstance, otCoapResource *aResource)
void
Usuwa zasób z serwera CoAP.
otCoapSendRequest(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, otCoapResponseHandler aHandler, void *aContext)
Wysyła żądanie dotyczące CoAP.
otCoapSendRequestBlockWise(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, otCoapResponseHandler aHandler, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook, otCoapBlockwiseReceiveHook aReceiveHook)
Wysyła żądanie CoAP w trybie bloku.
otCoapSendRequestBlockWiseWithParameters(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, otCoapResponseHandler aHandler, void *aContext, const otCoapTxParameters *aTxParameters, otCoapBlockwiseTransmitHook aTransmitHook, otCoapBlockwiseReceiveHook aReceiveHook)
Wysyła żądanie CoAP blokowo z niestandardowymi parametrami transmisji.
otCoapSendRequestWithParameters(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, otCoapResponseHandler aHandler, void *aContext, const otCoapTxParameters *aTxParameters)
Wysyła żądanie CoAP z niestandardowymi parametrami transmisji.
otCoapSendResponse(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo)
Wysyła odpowiedź CoAP z serwera.
otCoapSendResponseBlockWise(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook)
Wysyła odpowiedź CoAP z serwera w trybie bloku.
otCoapSendResponseBlockWiseWithParameters(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, const otCoapTxParameters *aTxParameters, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook)
Wysyła z serwera odpowiedź CoAP z niestandardowymi parametrami transmisji.
otCoapSendResponseWithParameters(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, const otCoapTxParameters *aTxParameters)
Wysyła z serwera odpowiedź CoAP z niestandardowymi parametrami transmisji.
otCoapSetDefaultHandler(otInstance *aInstance, otCoapRequestHandler aHandler, void *aContext)
void
Ustawia domyślny moduł obsługi nieobsłużonych żądań CoAP.
otCoapStart(otInstance *aInstance, uint16_t aPort)
Uruchamia serwer CoAP.
otCoapStop(otInstance *aInstance)
Zatrzymuje serwer CoAP.

Struktura

otCoapBlockwiseResource

Reprezentuje zasób CoAP z transferem blokowym.

otCoapOption

Reprezentuje opcję CoAP.

otCoapOptionIterator

Działa jako iterator opcji CoAP.

otCoapResource,

Reprezentuje zasób CoAP.

OTCoapTxParameters

Reprezentuje parametry transmisji CoAP.

Wyliczenia

OTCoapBlockSzx

 otCoapBlockSzx

Wykładniki bloków CoAP.

Kod CoapCode

 otCoapCode

wartości kodów CoAP.

Właściwości
OT_COAP_CODE_BAD_GATEWAY

Nieprawidłowa brama.

OT_COAP_CODE_BAD_OPTION

Zła opcja.

OT_COAP_CODE_BAD_REQUEST

Nieprawidłowe żądanie.

OT_COAP_CODE_CHANGED

Zmieniono.

OT_COAP_CODE_CONTENT

Treść.

OT_COAP_CODE_CONTINUE

RFC7959 – ciąg dalszy.

OT_COAP_CODE_CREATED

Utworzono.

OT_COAP_CODE_DELETE

Usuń.

OT_COAP_CODE_DELETED

Usunięto.

OT_COAP_CODE_EMPTY

Pusty kod wiadomości.

OT_COAP_CODE_FORBIDDEN

Dostęp zabroniony.

OT_COAP_CODE_GATEWAY_TIMEOUT

Przekroczenie limitu czasu bramy.

OT_COAP_CODE_GET

Zdobądź.

OT_COAP_CODE_INTERNAL_ERROR

Wewnętrzny błąd serwera.

OT_COAP_CODE_METHOD_NOT_ALLOWED

Niedozwolona metoda.

OT_COAP_CODE_NOT_ACCEPTABLE

Niedozwolone.

OT_COAP_CODE_NOT_FOUND

Nie znaleziono.

OT_COAP_CODE_NOT_IMPLEMENTED

Nie wdrożono.

OT_COAP_CODE_POST

Post.

OT_COAP_CODE_PRECONDITION_FAILED

Nie udało się spełnić warunku wstępnego.

OT_COAP_CODE_PROXY_NOT_SUPPORTED

Serwery proxy nie są obsługiwane.

OT_COAP_CODE_PUT

Puść.

OT_COAP_CODE_REQUEST_INCOMPLETE

RFC7959 – żądanie niepełne.

OT_COAP_CODE_REQUEST_TOO_LARGE

Jednostka żądania jest za duża.

OT_COAP_CODE_RESPONSE_MIN

2,00

OT_COAP_CODE_SERVICE_UNAVAILABLE

Usługa niedostępna.

OT_COAP_CODE_UNAUTHORIZED

Brak autoryzacji.

OT_COAP_CODE_UNSUPPORTED_FORMAT

Nieobsługiwany format treści.

OT_COAP_CODE_VALID

Prawidłowe.

otCoapOptionContentFormat

 otCoapOptionContentFormat

Kody formatu treści CoAP.

Pełną listę znajdziesz na stronie https://www.iana.org/assignments/core-parameters/core-parameters.xhtml#content-formats.

Właściwości
OT_COAP_OPTION_CONTENT_FORMAT_CBOR

aplikacja/cbor: [RFC7049]

OT_COAP_OPTION_CONTENT_FORMAT_COAP_GROUP_JSON

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

aplikacja/cose-key: [RFC8152];

OT_COAP_OPTION_CONTENT_FORMAT_COSE_KEY_SET

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

application/cwt: [RFC8392]

OT_COAP_OPTION_CONTENT_FORMAT_EXI

application/exi: [„Efficient XML Interchange (EXI) Format 1.0 (Second Edition)”, luty 2014 r.]

OT_COAP_OPTION_CONTENT_FORMAT_JSON

aplikacja/json: [RFC7159]

OT_COAP_OPTION_CONTENT_FORMAT_JSON_PATCH_JSON

application/json-patch+json: [RFC6902]

OT_COAP_OPTION_CONTENT_FORMAT_LINK_FORMAT

aplikacja/format linku: [RFC6690]

OT_COAP_OPTION_CONTENT_FORMAT_MERGE_PATCH_JSON

application/merge-patch+json: [RFC7396]

OT_COAP_OPTION_CONTENT_FORMAT_OCTET_STREAM

application/octet-stream: [RFC2045][RFC2046]

OT_COAP_OPTION_CONTENT_FORMAT_SENML_CBOR

aplikacja/senml+cbor: [RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENML_EXI

application/senml-exi: [RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENML_JSON

aplikacja/senml+json: [RFC8428],

OT_COAP_OPTION_CONTENT_FORMAT_SENML_XML

aplikacja/senml+xml: [RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENSML_CBOR

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

aplikacja/xml: [RFC3023]

Typ opcji otCoap

 otCoapOptionType

Numery opcji CoAP.

Właściwości
OT_COAP_OPTION_ACCEPT

Akceptuj.

OT_COAP_OPTION_BLOCK1

Block1 (RFC7959)

OT_COAP_OPTION_BLOCK2

Block2 (RFC7959)

OT_COAP_OPTION_CONTENT_FORMAT

Content-Format.

OT_COAP_OPTION_E_TAG

ETag.

OT_COAP_OPTION_IF_MATCH

„If-Match”.

OT_COAP_OPTION_IF_NONE_MATCH

Jeśli-brak-dopasowania.

OT_COAP_OPTION_LOCATION_PATH

Lokalizacja-ścieżka.

OT_COAP_OPTION_LOCATION_QUERY

Zapytanie o lokalizację.

OT_COAP_OPTION_MAX_AGE

Max-Age.

OT_COAP_OPTION_OBSERVE

Zapoznaj się z dokumentem [RFC7641].

OT_COAP_OPTION_PROXY_SCHEME

Schemat serwera proxy.

OT_COAP_OPTION_PROXY_URI

Proxy-Uri.

OT_COAP_OPTION_SIZE1

Rozmiar1.

OT_COAP_OPTION_SIZE2

Rozmiar2 (RFC7959)

OT_COAP_OPTION_URI_HOST

Uri-Host.

OT_COAP_OPTION_URI_PATH

Ścieżka identyfikatora URI.

OT_COAP_OPTION_URI_PORT

Port Uri.

OT_COAP_OPTION_URI_QUERY

Zapytanie dotyczące identyfikatora URI.

Typ CoapType

 otCoapType

Wartości typu CoAP (2-bitowa liczba całkowita bez znaku).

Właściwości
OT_COAP_TYPE_ACKNOWLEDGMENT

Potwierdzenie

OT_COAP_TYPE_CONFIRMABLE

Potwierdzenie.

OT_COAP_TYPE_NON_CONFIRMABLE

Nie można potwierdzić.

OT_COAP_TYPE_RESET

Zresetuj.

Typedefs

OTCoapBlockSzx

enum otCoapBlockSzx otCoapBlockSzx

Wykładniki bloków CoAP.

otCoapBlockwiseOdbierzHook

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

Wskaźnik jest wywoływany po odebraniu wiadomości CoAP z opcją przenoszenia blokowania.

Jest dostępna, gdy włączona jest konfiguracja OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE.

Szczegóły
Parametry
[in] aContext
Wskaźnik kontekstu aplikacji.
[in] aBlock
Wskaźnik do fragmentu bryły.
[in] aPosition
Pozycja elementu aBlock w sekwencji (w bajtach).
[in] aBlockLength
Długość segmentu blokowego w bajtach.
[in] aMore
Oznacz, jeśli obserwujesz więcej zablokowanych segmentów.
[in] aTotalLength
Całkowita długość przeniesionych informacji (w bajtach) określona przez opcję Rozmiar1 lub Rozmiar2.
Zwracane wartości
OT_ERROR_NONE
Segment blokowania został zapisany.
OT_ERROR_NO_BUFS
Brak pamięci do przechowywania bloków.
OT_ERROR_NO_FRAME_RECEIVED
Brak segmentu blokowania.

otCoapBlockwiseResource

struct otCoapBlockwiseResource otCoapBlockwiseResource

Reprezentuje zasób CoAP z transferem blokowym.

otCoapBlockwiseTransmitHook

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

Wskaźnik jest wywoływany przed wysłaniem następnego bloku w transferze blokowym.

Jest dostępna, gdy włączona jest konfiguracja OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE.

Gdy zmienisz wartość aBlockLength, renegocjowany jest rozmiar bloku całej wymiany. Warto to zrobić po pierwszej blokadzie, ponieważ późniejsze zmiany mogą powodować problemy z innymi implementacjami CoAP.

Szczegóły
Parametry
[in] aContext
Wskaźnik kontekstu aplikacji.
[in,out] aBlock
Wskaźnik miejsca, w którym można zapisać fragment blokowy.
[in] aPosition
Pozycja w sekwencji, z której ma zostać pobrany segment blokowy.
[in,out] aBlockLength
Maksymalna długość segmentu blokowego po wejściu na stronę w bajtach.
[out] aMore
Wskaźnik, który wskazuje, czy pojawi się kolejna część bloków.
Zwracane wartości
OT_ERROR_NONE
Nie wystąpiły żadne błędy.
OT_ERROR_INVALID_ARGS
Blokada w aPosition nie istnieje.

Kod CoapCode

enum otCoapCode otCoapCode

wartości kodów CoAP.

otCoapOption

struct otCoapOption otCoapOption

Reprezentuje opcję CoAP.

otCoapOptionContentFormat

enum otCoapOptionContentFormat otCoapOptionContentFormat

Kody formatu treści CoAP.

Pełną listę znajdziesz na stronie https://www.iana.org/assignments/core-parameters/core-parameters.xhtml#content-formats.

otCoapOptionIterator

struct otCoapOptionIterator otCoapOptionIterator

Działa jako iterator opcji CoAP.

Typ opcji otCoap

enum otCoapOptionType otCoapOptionType

Numery opcji CoAP.

otCoapRequestHandler

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

Wskaźnik jest wywoływany po odebraniu żądania CoAP z określoną ścieżką identyfikatora URI.

Szczegóły
Parametry
[in] aContext
Wskazówka do dowolnych informacji kontekstowych.
[in] aMessage
Wskaźnik wiadomości.
[in] aMessageInfo
Wskaźnik do informacji o wiadomości dla: aMessage.

Zasób Coap

struct otCoapResource otCoapResource

Reprezentuje zasób CoAP.

otCoapResponseHandler

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

Wskaźnik jest wywoływany po odebraniu odpowiedzi CoAP lub po upływie czasu oczekiwania na żądanie.

Szczegóły
Parametry
[in] aContext
Wskaźnik kontekstu aplikacji.
[in] aMessage
Wskaźnik do bufora wiadomości zawierającego odpowiedź. Wartość NULL, jeśli nie otrzymano odpowiedzi.
[in] aMessageInfo
Wskaźnik do informacji o wiadomości dla: aMessage. Wartość NULL, jeśli nie otrzymano odpowiedzi.
[in] aResult
Wynik transakcji CoAP.
Zwracane wartości
OT_ERROR_NONE
Odpowiedź została odebrana.
OT_ERROR_ABORT
Transakcja CoAP została zresetowana przez użytkownika połączenia.
OT_ERROR_RESPONSE_TIMEOUT
W tym czasie nie otrzymano odpowiedzi ani potwierdzenia.

Parametry otCoapTx

struct otCoapTxParameters otCoapTxParameters

Reprezentuje parametry transmisji CoAP.

Typ CoapType

enum otCoapType otCoapType

Wartości typu CoAP (2-bitowa liczba całkowita bez znaku).

Funkcje

otCoapAddBlockWiseResource

void otCoapAddBlockWiseResource(
  otInstance *aInstance,
  otCoapBlockwiseResource *aResource
)

Dodaje zasób blokowy do serwera CoAP.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aResource
Wskaźnik do zasobu.

otCoapAddResource

void otCoapAddResource(
  otInstance *aInstance,
  otCoapResource *aResource
)

Dodaje zasób do serwera CoAP.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aResource
Wskaźnik do zasobu.

OTCoapBlockSizeFromExponent

uint16_t otCoapBlockSizeFromExponent(
  otCoapBlockSzx aSize
)

Konwertuje pole SZX opcji bloku CoAP na rzeczywisty rozmiar bloku.

Szczegóły
Parametry
[in] aSize
Wykładnik rozmiaru bloku.
Zwroty
Wartość wykładnika rzeczywistego rozmiaru.

otCoapMessageJoinBlock1Option

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

Dodaje opcję Block1.

Szczegóły
Parametry
[in,out] aMessage
Wskaźnik do komunikatu CoAP.
[in] aNum
Obecny numer bloku.
[in] aMore
Wartość logiczna wskazująca, że zostanie wysłanych więcej bloków.
[in] aSize
Wykładnik rozmiaru bloku.
Zwracane wartości
OT_ERROR_NONE
Opcja została dodana.
OT_ERROR_INVALID_ARGS
Typ opcji nie jest równy ostatniemu ani większy.
OT_ERROR_NO_BUFS
Długość opcji przekracza rozmiar bufora.

otCoapMessageJoinBlock2Option

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

Dodaje opcję Block2.

Szczegóły
Parametry
[in,out] aMessage
Wskaźnik do komunikatu CoAP.
[in] aNum
Obecny numer bloku.
[in] aMore
Wartość logiczna wskazująca, że zostanie wysłanych więcej bloków.
[in] aSize
Wykładnik rozmiaru bloku.
Zwracane wartości
OT_ERROR_NONE
Opcja została dodana.
OT_ERROR_INVALID_ARGS
Typ opcji nie jest równy ostatniemu ani większy.
OT_ERROR_NO_BUFS
Długość opcji przekracza rozmiar bufora.

otCoapMessageJoinContentFormatOption

otError otCoapMessageAppendContentFormatOption(
  otMessage *aMessage,
  otCoapOptionContentFormat aContentFormat
)

Dołącza opcję formatu treści CoAP zgodnie z opisem w https://tools.ietf.org/html/rfc7252#page-92.

Jeśli wiadomość ma zawierać ładunek, należy wywołać tę metodę przed ustawieniem otCoapMessageSetPayloadMarker.

Ta funkcja jest wygodnym opakowaniem wokół elementu otCoapMessageAttachUintOption. Jeśli kod żądanego typu formatu nie jest wymieniony w otCoapOptionContentFormat, należy użyć tej funkcji podstawowej.

Szczegóły
Parametry
[in,out] aMessage
Wskaźnik do komunikatu CoAP.
[in] aContentFormat
Jeden z formatów treści wymienionych powyżej w polu otCoapOptionContentFormat.
Zwracane wartości
OT_ERROR_NONE
Opcja została dodana.
OT_ERROR_INVALID_ARGS
Typ opcji nie jest równy ostatniemu ani większy.
OT_ERROR_NO_BUFS
Długość opcji przekracza rozmiar bufora.

otCoapMessageJoinMaxAgeOption

otError otCoapMessageAppendMaxAgeOption(
  otMessage *aMessage,
  uint32_t aMaxAge
)

Dodaje opcję Max-Age.

Szczegóły
Parametry
[in,out] aMessage
Wskaźnik do komunikatu CoAP.
[in] aMaxAge
Wartość Max-Age.
Zwracane wartości
OT_ERROR_NONE
Opcja została dodana.
OT_ERROR_INVALID_ARGS
Typ opcji nie jest równy ostatniemu ani większy.
OT_ERROR_NO_BUFS
Długość opcji przekracza rozmiar bufora.

otCoapMessageJoinObserveOption

otError otCoapMessageAppendObserveOption(
  otMessage *aMessage,
  uint32_t aObserve
)

Dodaje opcję Obserwuj.

Szczegóły
Parametry
[in,out] aMessage
Wskaźnik do komunikatu CoAP.
[in] aObserve
Obserwuj wartość pola.
Zwracane wartości
OT_ERROR_NONE
Opcja została dodana.
OT_ERROR_INVALID_ARGS
Typ opcji nie jest równy ostatniemu ani większy.
OT_ERROR_NO_BUFS
Długość opcji przekracza rozmiar bufora.

otCoapMessageJoinOption

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

Dodaje w nagłówku opcję CoAP.

Szczegóły
Parametry
[in,out] aMessage
Wskaźnik do komunikatu CoAP.
[in] aNumber
Numer opcji CoAP.
[in] aLength
Długość opcji CoAP.
[in] aValue
Wskaźnik do wartości CoAP.
Zwracane wartości
OT_ERROR_NONE
Opcja została dodana.
OT_ERROR_INVALID_ARGS
Typ opcji nie jest równy ostatniemu ani większy.
OT_ERROR_NO_BUFS
Długość opcji przekracza rozmiar bufora.

otCoapMessageRequireProxyUriOption

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

Dodaje opcję identyfikatora serwera proxy.

Szczegóły
Parametry
[in,out] aMessage
Wskaźnik do komunikatu CoAP.
[in] aUriPath
Wskaźnik do ciągu znaków zakończonego wartością NULL.
Zwracane wartości
OT_ERROR_NONE
Opcja została dodana.
OT_ERROR_INVALID_ARGS
Typ opcji nie jest równy ostatniemu ani większy.
OT_ERROR_NO_BUFS
Długość opcji przekracza rozmiar bufora.

otCoapMessageJoinUintOption

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

Dołącza opcję CoAP niepodpisanej liczby całkowitej zgodnie z opisem w https://tools.ietf.org/html/rfc7252#section-3.2.

Szczegóły
Parametry
[in,out] aMessage
Wskaźnik do komunikatu CoAP.
[in] aNumber
Numer opcji CoAP.
[in] aValue
Niepodpisana wartość całkowita dla opcji CoAP.
Zwracane wartości
OT_ERROR_NONE
Opcja została dodana.
OT_ERROR_INVALID_ARGS
Typ opcji nie jest równy ostatniemu ani większy.
OT_ERROR_NO_BUFS
Długość opcji przekracza rozmiar bufora.
Zobacz też:
otCoapMessageGetOptionUintValue

otCoapMessageJoinUriPathOptions

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

Dodaje opcję ścieżki Uri.

Szczegóły
Parametry
[in,out] aMessage
Wskaźnik do komunikatu CoAP.
[in] aUriPath
Wskaźnik do ciągu znaków zakończonego wartością NULL.
Zwracane wartości
OT_ERROR_NONE
Opcja została dodana.
OT_ERROR_INVALID_ARGS
Typ opcji nie jest równy ostatniemu ani większy.
OT_ERROR_NO_BUFS
Długość opcji przekracza rozmiar bufora.

otCoapMessageJoinUriQueryOption

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

Dodaje pojedynczą opcję zapytania z identyfikatorem URI.

Szczegóły
Parametry
[in,out] aMessage
Wskaźnik do komunikatu CoAP.
[in] aUriQuery
Wskaźnik do ciągu zakończonego wartością NULL, który powinien zawierać jedną parę klucz=wartość.
Zwracane wartości
OT_ERROR_NONE
Opcja została dodana.
OT_ERROR_INVALID_ARGS
Typ opcji nie jest równy ostatniemu ani większy.
OT_ERROR_NO_BUFS
Długość opcji przekracza rozmiar bufora.

otCoapMessageCodeToString

const char * otCoapMessageCodeToString(
  const otMessage *aMessage
)

Zwraca kod CoAP w postaci zrozumiałego dla człowieka ciągu znaków.

@ zwraca kod CoAP w postaci ciągu znaków.

Szczegóły
Parametry
[in] aMessage
Wskaźnik do komunikatu CoAP.

otCoapMessageWygenerujToken

void otCoapMessageGenerateToken(
  otMessage *aMessage,
  uint8_t aTokenLength
)

Ustawia długość tokena i losowo wybiera jego wartość.

Szczegóły
Parametry
[in,out] aMessage
Wskaźnik do komunikatu CoAP.
[in] aTokenLength
Długość tokena do ustawienia.

otCoapMessageGetCode

otCoapCode otCoapMessageGetCode(
  const otMessage *aMessage
)

Zwraca wartość kodu.

Szczegóły
Parametry
[in] aMessage
Wskaźnik do komunikatu CoAP.
Zwroty
Wartość Kod.

Identyfikator otCoapMessageGetMessage

uint16_t otCoapMessageGetMessageId(
  const otMessage *aMessage
)

Zwraca wartość identyfikatora wiadomości.

Szczegóły
Parametry
[in] aMessage
Wskaźnik do komunikatu CoAP.
Zwroty
Wartość identyfikatora wiadomości.

otCoapMessageGetToken

const uint8_t * otCoapMessageGetToken(
  const otMessage *aMessage
)

Zwraca wskaźnik do wartości tokena.

Szczegóły
Parametry
[in] aMessage
Wskaźnik do komunikatu CoAP.
Zwroty
Wskaźnik wartości tokena.

otCoapMessageGetTokenLength

uint8_t otCoapMessageGetTokenLength(
  const otMessage *aMessage
)

Zwraca długość tokena.

Szczegóły
Parametry
[in] aMessage
Wskaźnik do komunikatu CoAP.
Zwroty
Długość tokena.

OTCoapMessageGetType

otCoapType otCoapMessageGetType(
  const otMessage *aMessage
)

Zwraca wartość Typ.

Szczegóły
Parametry
[in] aMessage
Wskaźnik do komunikatu CoAP.
Zwroty
Wartość Typ.

otCoapMessageInit

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

Inicjuje nagłówek CoAP.

Szczegóły
Parametry
[in,out] aMessage
Wskaźnik do zainicjowania komunikatu CoAP.
[in] aType
Typ wiadomości CoAP.
[in] aCode
Kod komunikatu CoAP.

otCoapMessageInitResponse

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

Inicjuje wiadomość z odpowiedzią.

Szczegóły
Parametry
[in,out] aResponse
Wskaźnik do komunikatu odpowiedzi CoAP.
[in] aRequest
Wskaźnik do wiadomości z prośbą o coAP.
[in] aType
Typ wiadomości CoAP.
[in] aCode
Kod komunikatu CoAP.
Zwracane wartości
OT_ERROR_NONE
Zainicjowano komunikat z odpowiedzią.
OT_ERROR_NO_BUFS
Niewystarczająca ilość buforów wiadomości do zainicjowania odpowiedzi.

otCoapMessageSetCode

void otCoapMessageSetCode(
  otMessage *aMessage,
  otCoapCode aCode
)

Ustawia wartość Kod.

Szczegóły
Parametry
[in,out] aMessage
Wskaźnik do zainicjowania komunikatu CoAP.
[in] aCode
Kod komunikatu CoAP.

otCoapMessageSetPayloadMarker

otError otCoapMessageSetPayloadMarker(
  otMessage *aMessage
)

Dodaje do nagłówka CoAP znacznik ładunku wskazujący początek ładunku.

Szczegóły
Parametry
[in,out] aMessage
Wskaźnik do komunikatu CoAP.
Zwracane wartości
OT_ERROR_NONE
Znacznik ładunku został dodany.
OT_ERROR_NO_BUFS
Znacznik ładunku nagłówka przekracza rozmiar bufora.

otCoapMessageSetToken

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

Ustawia wartość i długość tokena w nagłówku.

Szczegóły
Parametry
[in,out] aMessage
Wskaźnik do komunikatu CoAP.
[in] aToken
Wskaźnik wartości tokena.
[in] aTokenLength
Długość aToken.
Zwracane wartości
OT_ERROR_NONE
Wartość tokena została ustawiona.
OT_ERROR_NO_BUFS
Niewystarczająca ilość buforów, aby ustawić wartość tokena.

Nowa wiadomość

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

Tworzy nową wiadomość CoAP.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aSettings
Wskaźnik ustawień wiadomości lub wartość NULL, która pozwala ustawić ustawienia domyślne.
Zwroty
Wskaźnik do bufora wiadomości lub wartości NULL, jeśli nie są dostępne żadne bufory wiadomości lub parametry są nieprawidłowe.

otCoapOptionIteratorGetFirstOption

const otCoapOption * otCoapOptionIteratorGetFirstOption(
  otCoapOptionIterator *aIterator
)

Zwraca wskaźnik do pierwszej opcji.

Szczegóły
Parametry
[in,out] aIterator
Wskaźnik do iteratora opcji wiadomości CoAP.
Zwroty
Wskaźnik pierwszej opcji. Jeśli nie ma żadnej opcji, zwracany jest wskaźnik NULL.

otCoapOptionIteratorGetFirstOptionMatching

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

Zwraca wskaźnik do pierwszej opcji pasującej do podanego numeru.

Szczegóły
Parametry
[in] aIterator
Wskaźnik do iteratora opcji wiadomości CoAP.
[in] aOption
Żądany numer opcji.
Zwroty
Wskaźnik pierwszej opcji dopasowania. Jeśli nie ma odpowiedniej opcji, zwracany jest wskaźnik NULL.

otCoapOptionIteratorGetNextOption

const otCoapOption * otCoapOptionIteratorGetNextOption(
  otCoapOptionIterator *aIterator
)

Zwraca wskaźnik do następnej opcji.

Szczegóły
Parametry
[in,out] aIterator
Wskaźnik do iteratora opcji wiadomości CoAP.
Zwroty
Wskaźnik do następnej opcji. Jeśli nie ma więcej opcji, zwracany jest wskaźnik NULL.

otCoapOptionIteratorGetNextOptionMatching

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

Zwraca wskaźnik do następnej opcji pasującej do podanego numeru.

Szczegóły
Parametry
[in] aIterator
Wskaźnik do iteratora opcji wiadomości CoAP.
[in] aOption
Żądany numer opcji.
Zwroty
Wskaźnik do następnej opcji dopasowania. Jeśli nie będzie odpowiedniej opcji dopasowania, zwracany jest wskaźnik NULL.

otCoapOptionIteratorGetOptionUintValue

otError otCoapOptionIteratorGetOptionUintValue(
  otCoapOptionIterator *aIterator,
  uint64_t *aValue
)

Wypełnia bieżącą wartość opcji w polu aValue przy założeniu, że bieżąca wartość jest niepodpisaną liczbą całkowitą zakodowaną zgodnie z wytycznymi https://tools.ietf.org/html/rfc7252#section-3.2.

Szczegóły
Parametry
[in,out] aIterator
Wskaźnik do iteratora opcji wiadomości CoAP.
[out] aValue
Wskaźnik niepodpisanej liczby całkowitej, który umożliwia otrzymanie wartości opcji.
Zwracane wartości
OT_ERROR_NONE
Wprowadzono wartość.
OT_ERROR_NOT_FOUND
Brak bieżącej opcji.
OT_ERROR_NO_BUFS
Wartość jest zbyt długa, aby zmieścić się w uint64_t.
Zobacz też:
otCoapMessageJoinUintOption

otCoapOptionIteratorGetOptionValue

otError otCoapOptionIteratorGetOptionValue(
  otCoapOptionIterator *aIterator,
  void *aValue
)

Podaje bieżącą wartość opcji w ciągu aValue.

Szczegóły
Parametry
[in,out] aIterator
Wskaźnik do iteratora opcji wiadomości CoAP.
[out] aValue
Wskaźnik do bufora pozwalającego na otrzymanie wartości opcji.
Zwracane wartości
OT_ERROR_NONE
Wprowadzono wartość.
OT_ERROR_NOT_FOUND
Brak bieżącej opcji.

otCoapOptionIteratorInit

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

Inicjuje iterator dla opcji w danej wiadomości.

Szczegóły
Parametry
[in,out] aIterator
Wskaźnik do iteratora opcji wiadomości CoAP.
[in] aMessage
Wskaźnik do komunikatu CoAP.
Zwracane wartości
OT_ERROR_NONE
Zainicjowano.
OT_ERROR_PARSE
Stan wiadomości jest niespójny.

otCoapRemoveBlockWiseResource

void otCoapRemoveBlockWiseResource(
  otInstance *aInstance,
  otCoapBlockwiseResource *aResource
)

Usuwa zasób blokowy z serwera CoAP.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aResource
Wskaźnik do zasobu.

otCoapRemoveResource

void otCoapRemoveResource(
  otInstance *aInstance,
  otCoapResource *aResource
)

Usuwa zasób z serwera CoAP.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aResource
Wskaźnik do zasobu.

Żądanie wysyłania żądań otCoap

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

Wysyła żądanie dotyczące CoAP.

Jeśli oczekiwana jest odpowiedź na żądanie, należy podać odpowiednie informacje o funkcji i kontekście. Jeśli nie oczekujesz odpowiedzi, te argumenty powinny zawierać wskaźniki NULL.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aMessage
Wskaźnik wiadomości do wysłania.
[in] aMessageInfo
Wskaźnik do informacji o wiadomości powiązanych z zasobnikiem aMessage.
[in] aHandler
Wskaźnik funkcji, który powinien być wywoływany po odebraniu odpowiedzi lub upłynięciu czasu oczekiwania.
[in] aContext
Wskazówka do dowolnych informacji kontekstowych. Jeśli nie jest używana, może mieć wartość NULL.
Zwracane wartości
OT_ERROR_NONE
Wysłano wiadomość CoAP.
OT_ERROR_NO_BUFS
Nie udało się przydzielić danych do ponownej transmisji.

otCoapSendRequestBlockWise

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

Wysyła żądanie CoAP w trybie bloku.

Jest dostępna, gdy włączona jest konfiguracja OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE.

Jeśli oczekiwana jest odpowiedź na żądanie, należy podać odpowiednie informacje o funkcji i kontekście. Jeśli oczekiwano, że odpowiedź dotyczy bloku, należy podać odpowiednią funkcję hooka. Jeśli nie oczekujesz odpowiedzi, te argumenty powinny zawierać wskaźniki NULL.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aMessage
Wskaźnik wiadomości do wysłania.
[in] aMessageInfo
Wskaźnik do informacji o wiadomości powiązanych z zasobnikiem aMessage.
[in] aHandler
Wskaźnik funkcji, który powinien być wywoływany po odebraniu odpowiedzi lub upłynięciu czasu oczekiwania.
[in] aContext
Wskazówka do dowolnych informacji kontekstowych. Jeśli nie jest używana, może mieć wartość NULL.
[in] aTransmitHook
Wskaźnik funkcji hooka do wychodzącego transferu blokowego.
[in] aReceiveHook
Wskaźnik funkcji hooka przychodzącego transferu blokowego.
Zwracane wartości
OT_ERROR_NONE
Wysłano wiadomość CoAP.
OT_ERROR_NO_BUFS
Nie udało się przydzielić danych do ponownej transmisji.

otCoapSendRequestBlockWiseWithParameters

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

Wysyła żądanie CoAP blokowo z niestandardowymi parametrami transmisji.

Jest dostępna, gdy włączona jest konfiguracja OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE.

Jeśli oczekiwana jest odpowiedź na żądanie, należy podać odpowiednie informacje o funkcji i kontekście. Jeśli oczekiwano, że odpowiedź dotyczy bloku, należy podać odpowiednią funkcję hooka. Jeśli nie oczekujesz odpowiedzi, te argumenty powinny zawierać wskaźniki NULL.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aMessage
Wskaźnik wiadomości do wysłania.
[in] aMessageInfo
Wskaźnik do informacji o wiadomości powiązanych z zasobnikiem aMessage.
[in] aHandler
Wskaźnik funkcji, który powinien być wywoływany po odebraniu odpowiedzi lub upłynięciu czasu oczekiwania.
[in] aContext
Wskazówka do dowolnych informacji kontekstowych. Jeśli nie jest używana, może mieć wartość NULL.
[in] aTxParameters
Wskaźnik parametrów transmisji danego żądania. Aby określić wartości domyślne, użyj wartości NULL.
[in] aTransmitHook
Wskaźnik funkcji hooka do wychodzącego transferu blokowego.
[in] aReceiveHook
Wskaźnik funkcji hooka przychodzącego transferu blokowego.
Zwracane wartości
OT_ERROR_NONE
Wysłano wiadomość CoAP.
OT_ERROR_NO_BUFS
Nie udało się przydzielić danych do ponownej transmisji.
OT_ERROR_INVALID_ARGS
Podano nieprawidłowe argumenty.

otCoapSendRequestWithParameters

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

Wysyła żądanie CoAP z niestandardowymi parametrami transmisji.

Jeśli oczekiwana jest odpowiedź na żądanie, należy podać odpowiednie informacje o funkcji i kontekście. Jeśli nie oczekujesz odpowiedzi, te argumenty powinny zawierać wskaźniki NULL.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aMessage
Wskaźnik wiadomości do wysłania.
[in] aMessageInfo
Wskaźnik do informacji o wiadomości powiązanych z zasobnikiem aMessage.
[in] aHandler
Wskaźnik funkcji, który powinien być wywoływany po odebraniu odpowiedzi lub upłynięciu czasu oczekiwania.
[in] aContext
Wskazówka do dowolnych informacji kontekstowych. Jeśli nie jest używana, może mieć wartość NULL.
[in] aTxParameters
Wskaźnik parametrów transmisji danego żądania. Aby określić wartości domyślne, użyj wartości NULL. W przeciwnym razie podane parametry muszą spełniać te warunki:
  1. Wartość mMaxRetransmit nie jest większa niż OT_COAP_MAX_RETRANSMIT.
  2. Wartość mAckRandomFactorLiczbaator / mAckRandomFactorDenominator nie może być mniejsza niż 1,0.
  3. Obliczony czas życia giełdy nie może przekraczać wartości uint32_t.
Zwracane wartości
OT_ERROR_NONE
Wysłano wiadomość CoAP.
OT_ERROR_NO_BUFS
Nie udało się przydzielić danych do ponownej transmisji.
OT_ERROR_INVALID_ARGS
Podano nieprawidłowe argumenty.

otCoapSendResponse

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

Wysyła odpowiedź CoAP z serwera.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aMessage
Wskaźnik do wysłania odpowiedzi CoAP.
[in] aMessageInfo
Wskaźnik do informacji o wiadomości powiązanych z zasobnikiem aMessage.
Zwracane wartości
OT_ERROR_NONE
Komunikat z odpowiedzią CoAP został dodany do kolejki.
OT_ERROR_NO_BUFS
Za mało dostępnych buforów, aby wysłać odpowiedź CoAP.

otCoapSendResponseBlockWise

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

Wysyła odpowiedź CoAP z serwera w trybie bloku.

Jest dostępna, gdy włączona jest konfiguracja OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aMessage
Wskaźnik do wysłania odpowiedzi CoAP.
[in] aMessageInfo
Wskaźnik do informacji o wiadomości powiązanych z zasobnikiem aMessage.
[in] aContext
Wskazówka do dowolnych informacji kontekstowych. Jeśli nie jest używana, może mieć wartość NULL.
[in] aTransmitHook
Wskaźnik funkcji hooka do wychodzącego transferu blokowego.
Zwracane wartości
OT_ERROR_NONE
Komunikat z odpowiedzią CoAP został dodany do kolejki.
OT_ERROR_NO_BUFS
Za mało dostępnych buforów, aby wysłać odpowiedź CoAP.

otCoapSendResponseBlockWiseWithParameters

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

Wysyła z serwera odpowiedź CoAP z niestandardowymi parametrami transmisji.

Jest dostępna, gdy włączona jest konfiguracja OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aMessage
Wskaźnik do wysłania odpowiedzi CoAP.
[in] aMessageInfo
Wskaźnik do informacji o wiadomości powiązanych z zasobnikiem aMessage.
[in] aTxParameters
Wskaźnik parametrów transmisji w tej odpowiedzi. Aby określić wartości domyślne, użyj wartości NULL.
[in] aContext
Wskazówka do dowolnych informacji kontekstowych. Jeśli nie jest używana, może mieć wartość NULL.
[in] aTransmitHook
Wskaźnik funkcji hooka do wychodzącego transferu blokowego.
Zwracane wartości
OT_ERROR_NONE
Komunikat z odpowiedzią CoAP został dodany do kolejki.
OT_ERROR_NO_BUFS
Za mało dostępnych buforów, aby wysłać odpowiedź CoAP.
OT_ERROR_INVALID_ARGS
Podano nieprawidłowe argumenty.

otCoapSendResponseWithParameters

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

Wysyła z serwera odpowiedź CoAP z niestandardowymi parametrami transmisji.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aMessage
Wskaźnik do wysłania odpowiedzi CoAP.
[in] aMessageInfo
Wskaźnik do informacji o wiadomości powiązanych z zasobnikiem aMessage.
[in] aTxParameters
Wskaźnik parametrów transmisji w tej odpowiedzi. Aby określić wartości domyślne, użyj wartości NULL.
Zwracane wartości
OT_ERROR_NONE
Komunikat z odpowiedzią CoAP został dodany do kolejki.
OT_ERROR_NO_BUFS
Za mało dostępnych buforów, aby wysłać odpowiedź CoAP.
OT_ERROR_INVALID_ARGS
Podano nieprawidłowe argumenty.

otCoapSetDefaultHandler

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

Ustawia domyślny moduł obsługi nieobsłużonych żądań CoAP.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aHandler
Wskaźnik funkcji, który powinien być wywoływany po nadejściu nieobsłużonego żądania.
[in] aContext
Wskazówka do dowolnych informacji kontekstowych. Jeśli nie jest używana, może mieć wartość NULL.

otCoapStart,

otError otCoapStart(
  otInstance *aInstance,
  uint16_t aPort
)

Uruchamia serwer CoAP.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aPort
Lokalny port UDP, z którym chcesz utworzyć powiązanie.
Zwracane wartości
OT_ERROR_NONE
Serwer CoAP został uruchomiony.
OT_ERROR_FAILED
Nie udało się uruchomić serwera CoAP.

OTCoapStop

otError otCoapStop(
  otInstance *aInstance
)

Zatrzymuje serwer CoAP.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
Zwracane wartości
OT_ERROR_NONE
Serwer CoAP został zatrzymany.

Makra

Kod_COAP_dogr.

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

Makro pomocnicze do definiowania wartości kodu CoAP.

DŁUGOŚĆ_COAP_DEFAULT_TOKEN_LENGTH

 OT_COAP_DEFAULT_TOKEN_LENGTH 2

Domyślna długość tokena.

OT_COAP_MAX_RETRANSMIT

 OT_COAP_MAX_RETRANSMIT 20

Maksymalna wartość ponownej przesyłania obsługiwana przez OpenThread.

OT_COAP_MAX_TOKEN_LENGTH

 OT_COAP_MAX_TOKEN_LENGTH 8

Maksymalna długość tokena określona w RFC 7252.

OT_COAP_MIN_ACK_TIMEOUT

 OT_COAP_MIN_ACK_TIMEOUT 1000

Minimalny czas oczekiwania na potwierdzenie (w milisekundach) obsługiwany przez OpenThread.

OT_DEFAULT_COAP_PORT

 OT_DEFAULT_COAP_PORT 5683

Domyślny port CoAP określony w RFC 7252.

Zasoby

Tematy referencyjne interfejsu OpenThread API pochodzą z kodu źródłowego dostępnego w GitHub. Aby dowiedzieć się więcej lub dołączyć do naszej dokumentacji, zajrzyj do zasobów.