Thực thể

Mô-đun này bao gồm các hàm kiểm soát Thực thể OpenThread.

Tóm tắt

Typedef

otChangedFlags typedef
uint32_t
Đại diện cho một trường bit cho biết trạng thái/cấu hình cụ thể đã thay đổi.
otInstance typedef
struct otInstance
Đại diện cho cấu trúc thực thể OpenThread.
otStateChangedCallback)(otChangedFlags aFlags, void *aContext) typedef
void(*
Con trỏ được gọi để thông báo cho một số thay đổi nhất định về cấu hình hoặc trạng thái trong OpenThread.

Hàm

otGetRadioVersionString(otInstance *aInstance)
const char *
Lấy chuỗi phiên bản radio OpenThread.
otGetVersionString(void)
const char *
Lấy chuỗi phiên bản OpenThread.
otInstanceErasePersistentInfo(otInstance *aInstance)
Xoá tất cả thông tin cố định trong OpenThread (chế độ cài đặt mạng) được lưu trữ trên bộ nhớ bất biến.
otInstanceFactoryReset(otInstance *aInstance)
void
Xoá tất cả chế độ cài đặt được lưu trữ trên bộ nhớ bất biến, sau đó kích hoạt quá trình đặt lại nền tảng.
otInstanceFinalize(otInstance *aInstance)
void
Tắt thư viện OpenThread.
otInstanceGetId(otInstance *aInstance)
uint32_t
Lấy giá trị nhận dạng thực thể.
otInstanceGetUptime(otInstance *aInstance)
uint64_t
Trả về thời gian hoạt động của thực thể hiện tại (tính bằng mili giây).
otInstanceGetUptimeAsString(otInstance *aInstance, char *aBuffer, uint16_t aSize)
void
Trả về thời gian hoạt động của thực thể hiện tại dưới dạng chuỗi mà con người có thể đọc được.
otInstanceInit(void *aInstanceBuffer, size_t *aInstanceBufferSize)
Khởi chạy thư viện OpenThread.
otInstanceInitMultiple(uint8_t aIdx)
Khởi động thực thể OpenThread.
otInstanceInitSingle(void)
Khởi chạy phiên bản tĩnh đơn lẻ của thư viện OpenThread.
otInstanceIsInitialized(otInstance *aInstance)
bool
Cho biết liệu thực thể có hợp lệ/đã được khởi tạo hay không.
otInstanceReset(otInstance *aInstance)
void
Kích hoạt quá trình đặt lại nền tảng.
otInstanceResetRadioStack(otInstance *aInstance)
void
Đặt lại trạng thái nội bộ của ngăn xếp radio OpenThread.
otInstanceResetToBootloader(otInstance *aInstance)
Kích hoạt quá trình đặt lại nền tảng về chế độ trình tải khởi động (nếu được hỗ trợ).
otRemoveStateChangeCallback(otInstance *aInstance, otStateChangedCallback aCallback, void *aContext)
void
Xoá lệnh gọi lại để cho biết thời điểm một số cấu hình hoặc trạng thái nhất định thay đổi trong OpenThread.
otSetStateChangedCallback(otInstance *aInstance, otStateChangedCallback aCallback, void *aContext)
Đăng ký một lệnh gọi lại để cho biết thời điểm một cấu hình hoặc trạng thái nhất định thay đổi trong OpenThread.

Typedef

otChangedFlags

uint32_t otChangedFlags

Đại diện cho một trường bit cho biết trạng thái/cấu hình cụ thể đã thay đổi.

Xem định nghĩa OT_CHANGED_*.

otInstance

struct otInstance otInstance

Đại diện cho cấu trúc thực thể OpenThread.

otStateChangedCallback

void(* otStateChangedCallback)(otChangedFlags aFlags, void *aContext)

Con trỏ được gọi để thông báo cho một số thay đổi nhất định về cấu hình hoặc trạng thái trong OpenThread.

Thông tin chi tiết
Thông số
[in] aFlags
Trường bit cho biết trạng thái cụ thể đã thay đổi. Xem định nghĩa OT_CHANGED_*.
[in] aContext
Con trỏ đến ngữ cảnh dành riêng cho ứng dụng.

Hàm

otGetRadioVersionString

const char * otGetRadioVersionString(
  otInstance *aInstance
)

Lấy chuỗi phiên bản radio OpenThread.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
Trả về
Con trỏ đến phiên bản radio OpenThread.

otGetVersionString

const char * otGetVersionString(
  void
)

Lấy chuỗi phiên bản OpenThread.

Thông tin chi tiết
Trả về
Con trỏ đến phiên bản OpenThread.

otInstanceErasePersistentInfo

otError otInstanceErasePersistentInfo(
  otInstance *aInstance
)

Xoá tất cả thông tin cố định trong OpenThread (chế độ cài đặt mạng) được lưu trữ trên bộ nhớ bất biến.

Xoá chỉ thành công nếu thiết bị ở trạng thái/vai trò disabled.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
Giá trị trả về
OT_ERROR_NONE
Đã xoá thành công tất cả thông tin/trạng thái cố định.
OT_ERROR_INVALID_STATE
Thiết bị không ở trạng thái/vai trò disabled.

otInstanceFactoryReset

void otInstanceFactoryReset(
  otInstance *aInstance
)

Xoá tất cả chế độ cài đặt được lưu trữ trên bộ nhớ bất biến, sau đó kích hoạt quá trình đặt lại nền tảng.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.

otInstanceFinalize

void otInstanceFinalize(
  otInstance *aInstance
)

Tắt thư viện OpenThread.

Gọi hàm này khi OpenThread không còn được sử dụng nữa.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.

otInstanceGetId

uint32_t otInstanceGetId(
  otInstance *aInstance
)

Lấy giá trị nhận dạng thực thể.

Giá trị nhận dạng thực thể được đặt thành giá trị ngẫu nhiên khi thực thể được tạo, và sau đó giá trị này sẽ không thay đổi sau khi khởi tạo.

Thông tin chi tiết
Trả về
Giá trị nhận dạng thực thể.

otInstanceGetUptime

uint64_t otInstanceGetUptime(
  otInstance *aInstance
)

Trả về thời gian hoạt động của thực thể hiện tại (tính bằng mili giây).

Bạn cần bật OPENTHREAD_CONFIG_UPTIME_ENABLE.

Thời gian hoạt động được cung cấp dưới dạng mili giây kể từ khi thực thể OpenThread được khởi tạo.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
Trả về
Thời gian hoạt động (số mili giây).

otInstanceGetUptimeAsString

void otInstanceGetUptimeAsString(
  otInstance *aInstance,
  char *aBuffer,
  uint16_t aSize
)

Trả về thời gian hoạt động của thực thể hiện tại dưới dạng chuỗi mà con người có thể đọc được.

Bạn cần bật OPENTHREAD_CONFIG_UPTIME_ENABLE.

Chuỗi tuân theo định dạng "::." cho giờ, phút, giây và mili giây (nếu thời gian hoạt động ngắn hơn một ngày) hoặc "

d.::" (nếu lâu hơn một ngày).

Nếu chuỗi kết quả không vừa với aBuffer (trong phạm vi aSize ký tự), thì chuỗi sẽ bị cắt bớt nhưng chuỗi được trả về sẽ luôn kết thúc rỗng.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
[out] aBuffer
Con trỏ đến một mảng ký tự để xuất chuỗi.
[in] aSize
Kích thước của aBuffer (tính bằng byte). Bạn nên dùng OT_UPTIME_STRING_SIZE.

otInstanceInit

otInstance * otInstanceInit(
  void *aInstanceBuffer,
  size_t *aInstanceBufferSize
)

Khởi chạy thư viện OpenThread.

Khởi chạy OpenThread và chuẩn bị cho các lệnh gọi API OpenThread tiếp theo. Hàm này phải được gọi trước khi có bất kỳ lệnh gọi nào khác đến OpenThread.

Có sẵn và chỉ có thể sử dụng khi bạn bật tính năng hỗ trợ nhiều phiên bản OpenThread.

Thông tin chi tiết
Thông số
[in] aInstanceBuffer
Vùng đệm cho OpenThread dùng để phân bổ cấu trúc otInstance.
[in,out] aInstanceBufferSize
Khi nhập, kích thước của aInstanceBuffer. Tại đầu ra, nếu không đủ dung lượng cho otInstance, thì số byte cần thiết cho otInstance.
Trả về
Con trỏ đến thực thể OpenThread mới.
Xem thêm:
otInstanceFinalize

otInstanceInitMultiple

otInstance * otInstanceInitMultiple(
  uint8_t aIdx
)

Khởi động thực thể OpenThread.

Hàm này khởi chạy OpenThread và chuẩn bị cho các lệnh gọi API OpenThread tiếp theo. Hàm này phải được gọi trước khi có bất kỳ lệnh gọi nào khác đến OpenThread. Phương thức này sử dụng vùng đệm tĩnh để khởi chạy thực thể OpenThread.

Hàm này có sẵn và chỉ có thể dùng khi bạn bật tính năng hỗ trợ nhiều phiên bản tĩnh OpenThread (OPENTHREAD_CONFIG_MULTIPLE_STATIC_INSTANCE_ENABLE)

Thông tin chi tiết
Thông số
[in] aIdx
Chỉ mục của thực thể OpenThread để khởi động.
Trả về
Con trỏ đến thực thể OpenThread mới.

otInstanceInitSingle

otInstance * otInstanceInitSingle(
  void
)

Khởi chạy phiên bản tĩnh đơn lẻ của thư viện OpenThread.

Khởi chạy OpenThread và chuẩn bị cho các lệnh gọi API OpenThread tiếp theo. Hàm này phải được gọi trước khi có bất kỳ lệnh gọi nào khác đến OpenThread.

Có sẵn và chỉ có thể sử dụng khi tính năng hỗ trợ nhiều phiên bản OpenThread bị tắt.

Thông tin chi tiết
Trả về
Con trỏ đến một thực thể OpenThread.

otInstanceIsInitialized

bool otInstanceIsInitialized(
  otInstance *aInstance
)

Cho biết liệu thực thể có hợp lệ/đã được khởi tạo hay không.

Thực thể đó được coi là hợp lệ nếu được thu nạp và khởi tạo bằng otInstanceInitSingle() (trong trường hợp một thực thể) hoặc otInstanceInit() (trong trường hợp nhiều thực thể). Lệnh gọi tiếp theo đến otInstanceFinalize() khiến thực thể được coi là chưa khởi tạo.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
Trả về
TRUE nếu thực thể đã cho là hợp lệ/đã khởi tạo, nếu không thì là FALSE.

otInstanceReset

void otInstanceReset(
  otInstance *aInstance
)

Kích hoạt quá trình đặt lại nền tảng.

Quá trình đặt lại đảm bảo rằng tất cả trạng thái/thông tin OpenThread (được lưu trữ trong bộ nhớ dễ thay đổi) đều bị xoá. Lưu ý rằng otPlatformReset không xoá bất kỳ trạng thái/thông tin cố định nào đã lưu trong bộ nhớ bất biến.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.

otInstanceResetRadioStack

void otInstanceResetRadioStack(
  otInstance *aInstance
)

Đặt lại trạng thái nội bộ của ngăn xếp radio OpenThread.

Các lệnh gọi lại và cấu hình sẽ được giữ nguyên.

API này chỉ có trong các bản dựng radio (OPENTHREAD_RADIO = 1).

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.

otInstanceResetToBootloader

otError otInstanceResetToBootloader(
  otInstance *aInstance
)

Kích hoạt quá trình đặt lại nền tảng về chế độ trình tải khởi động (nếu được hỗ trợ).

Cần có OPENTHREAD_CONFIG_PLATFORM_BOOTLOADER_MODE_ENABLE.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
Giá trị trả về
OT_ERROR_NONE
Đặt lại thành công về trình tải khởi động.
OT_ERROR_BUSY
Không thành công do có một hoạt động khác đang diễn ra.
OT_ERROR_NOT_CAPABLE
Không thể đặt lại về trình tải khởi động.

otRemoveStateChangeCallback

void otRemoveStateChangeCallback(
  otInstance *aInstance,
  otStateChangedCallback aCallback,
  void *aContext
)

Xoá lệnh gọi lại để cho biết thời điểm một số cấu hình hoặc trạng thái nhất định thay đổi trong OpenThread.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
[in] aCallback
Con trỏ đến một hàm được gọi với một số thay đổi nhất định về cấu hình hoặc trạng thái.
[in] aContext
Con trỏ đến ngữ cảnh dành riêng cho ứng dụng.

otSetStateChangedCallback

otError otSetStateChangedCallback(
  otInstance *aInstance,
  otStateChangedCallback aCallback,
  void *aContext
)

Đăng ký một lệnh gọi lại để cho biết thời điểm một cấu hình hoặc trạng thái nhất định thay đổi trong OpenThread.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
[in] aCallback
Con trỏ đến một hàm được gọi với một số thay đổi nhất định về cấu hình hoặc trạng thái.
[in] aContext
Con trỏ đến ngữ cảnh dành riêng cho ứng dụng.
Giá trị trả về
OT_ERROR_NONE
Thêm lệnh gọi lại vào danh sách lệnh gọi lại.
OT_ERROR_ALREADY
Lệnh gọi lại đã được đăng ký.
OT_ERROR_NO_BUFS
Không thể thêm lệnh gọi lại do hạn chế về tài nguyên.

Macro

OT_CHANGED_ACTIVE_DATASET

 OT_CHANGED_ACTIVE_DATASET (1U << 28)

Đã thay đổi Tập dữ liệu về hoạt động đang hoạt động.

OT_CHANGED_CHANNEL_MANAGER_NEW_CHANNEL

 OT_CHANGED_CHANNEL_MANAGER_NEW_CHANNEL (1U << 21)

Đã thay đổi kênh chuỗi mới đang chờ xử lý trên Trình quản lý kênh.

OT_CHANGED_COMMISSIONER_STATE

 OT_CHANGED_COMMISSIONER_STATE (1U << 23)

Đã thay đổi trạng thái của uỷ viên.

OT_CHANGED_IP6_ADDRESS_ADDED

 OT_CHANGED_IP6_ADDRESS_ADDED (1U << 0)

Đã thêm địa chỉ IPv6.

OT_CHANGED_IP6_ADDRESS_REMOVED

 OT_CHANGED_IP6_ADDRESS_REMOVED (1U << 1)

Đã xóa địa chỉ IPv6.

OT_CHANGED_IP6_MULTICAST_SUBSCRIBED

 OT_CHANGED_IP6_MULTICAST_SUBSCRIBED (1U << 12)

Đã đăng ký địa chỉ phát đa hướng IPv6.

OT_CHANGED_IP6_MULTICAST_UNSUBSCRIBED

 OT_CHANGED_IP6_MULTICAST_UNSUBSCRIBED (1U << 13)

Đã huỷ đăng ký địa chỉ phát đa hướng IPv6.

OT_CHANGED_JOINER_STATE

 OT_CHANGED_JOINER_STATE (1U << 27)

Đã thay đổi trạng thái của trình kết hợp.

OT_CHANGED_NAT64_TRANSLATOR_STATE

 OT_CHANGED_NAT64_TRANSLATOR_STATE (1U << 30)

Trạng thái của trình dịch NAT64 đã thay đổi.

OT_CHANGED_NETWORK_KEY

 OT_CHANGED_NETWORK_KEY (1U << 18)

Đã thay đổi khoá mạng.

 OT_CHANGED_PARENT_LINK_QUALITY (1U << 31)

Đã thay đổi chất lượng của đường liên kết gốc.

OT_CHANGED_PENDING_DATASET

 OT_CHANGED_PENDING_DATASET (1U << 29)

Đã thay đổi Tập dữ liệu hoạt động đang chờ xử lý.

OT_CHANGED_PSKC

 OT_CHANGED_PSKC (1U << 19)

Đã thay đổi PSKc.

OT_CHANGED_SECURITY_POLICY

 OT_CHANGED_SECURITY_POLICY (1U << 20)

Đã thay đổi Chính sách bảo mật.

OT_CHANGED_SUPPORTED_CHANNEL_MASK

 OT_CHANGED_SUPPORTED_CHANNEL_MASK (1U << 22)

Đã thay đổi mặt nạ kênh được hỗ trợ.

OT_CHANGED_THREAD_BACKBONE_ROUTER_LOCAL

 OT_CHANGED_THREAD_BACKBONE_ROUTER_LOCAL (1U << 26)

Đã thay đổi cấu hình Bộ định tuyến đường trục cục bộ.

OT_CHANGED_THREAD_BACKBONE_ROUTER_STATE

 OT_CHANGED_THREAD_BACKBONE_ROUTER_STATE (1U << 25)

Đã thay đổi trạng thái Bộ định tuyến đường trục chính.

OT_CHANGED_THREAD_CHANNEL

 OT_CHANGED_THREAD_CHANNEL (1U << 14)

Đã thay đổi kênh mạng của luồng.

OT_CHANGED_THREAD_CHILD_ADDED

 OT_CHANGED_THREAD_CHILD_ADDED (1U << 10)

Đã thêm trẻ em.

OT_CHANGED_THREAD_CHILD_REMOVED

 OT_CHANGED_THREAD_CHILD_REMOVED (1U << 11)

Trẻ đã bị xoá.

OT_CHANGED_THREAD_EXT_PANID

 OT_CHANGED_THREAD_EXT_PANID (1U << 17)

Đã thay đổi mã PAN mở rộng của mạng chuỗi.

OT_CHANGED_THREAD_KEY_SEQUENCE_COUNTER

 OT_CHANGED_THREAD_KEY_SEQUENCE_COUNTER (1U << 8)

Đã thay đổi trình tự phím của luồng.

OT_CHANGED_THREAD_LL_ADDR

 OT_CHANGED_THREAD_LL_ADDR (1U << 3)

Địa chỉ liên kết cục bộ đã thay đổi.

OT_CHANGED_THREAD_ML_ADDR

 OT_CHANGED_THREAD_ML_ADDR (1U << 4)

Địa chỉ lưới cục bộ đã thay đổi.

OT_CHANGED_THREAD_NETDATA

 OT_CHANGED_THREAD_NETDATA (1U << 9)

Đã thay đổi dữ liệu mạng của luồng.

OT_CHANGED_THREAD_NETIF_STATE

 OT_CHANGED_THREAD_NETIF_STATE (1U << 24)

Đã thay đổi trạng thái giao diện mạng của luồng.

OT_CHANGED_THREAD_NETWORK_NAME

 OT_CHANGED_THREAD_NETWORK_NAME (1U << 16)

Đã thay đổi tên mạng chuỗi.

OT_CHANGED_THREAD_PANID

 OT_CHANGED_THREAD_PANID (1U << 15)

Đã thay đổi mã PAN của mạng chuỗi.

OT_CHANGED_THREAD_PARTITION_ID

 OT_CHANGED_THREAD_PARTITION_ID (1U << 7)

Đã thay đổi mã phân vùng.

OT_CHANGED_THREAD_RLOC_ADDED

 OT_CHANGED_THREAD_RLOC_ADDED (1U << 5)

RLOC đã được thêm.

OT_CHANGED_THREAD_RLOC_REMOVED

 OT_CHANGED_THREAD_RLOC_REMOVED (1U << 6)

RLOC đã bị xoá.

OT_CHANGED_THREAD_ROLE

 OT_CHANGED_THREAD_ROLE (1U << 2)

Vai trò (bị vô hiệu hoá, đã tách ra, con, bộ định tuyến, người lãnh đạo) đã thay đổi.

OT_UPTIME_STRING_SIZE

 OT_UPTIME_STRING_SIZE 24

Kích thước đề xuất cho chuỗi biểu thị thời gian hoạt động.

Tài nguyên

Các chủ đề tham khảo API OpenThread bắt nguồn từ mã nguồn, có trên GitHub. Để biết thêm thông tin hoặc để đóng góp cho tài liệu của chúng tôi, hãy tham khảo Tài nguyên.