Nền tảng

OpenThread do Google phát hành đã được nhóm OpenThread, các nhà cung cấp silicon và cộng đồng chuyển sang một số thiết bị và nền tảng. Các ví dụ về bản dựng cho tất cả nền tảng đã chuyển có trong kho lưu trữ OpenThread.

Xem phần Nhà cung cấp dịch vụ Tìm kiếm để biết danh sách có thể tìm kiếm về tất cả các cổng cộng đồng và nền tảng được nhà cung cấp hỗ trợ.

Hỗ trợ

Mức độ hỗ trợ cho mỗi nền tảng sẽ thay đổi theo thời gian. Một số nền tảng được gắn thẻ với mức độ hỗ trợ hiện tại theo xác định của nhóm OpenThread. Các nền tảng không được gắn thẻ chưa được kiểm thử gần đây và có thể bị coi là có trạng thái "Hỗ trợ có giới hạn".

Mức nâng đỡ ngựcNội dung mô tả
Có thể làm Hỗ trợ đầy đủ và cơ bản, cũng như mọi Thành phần được chứng nhận về luồng sử dụng OpenThread. Nhiều nền tảng trong số này đã được nhóm OpenThread thử nghiệm và sử dụng. Đây là những nền tảng nên được đưa vào các bản minh hoạ và Lớp học lập trình của chúng tôi.
Hỗ trợ có giới hạn Các nền tảng này chưa được kiểm thử đầy đủ và có thể thiếu một số chức năng chính.
Không được hỗ trợ Tính năng này hiện không được hỗ trợ và có thể gặp vấn đề khi chạy OpenThread. Bạn tự chịu rủi ro khi sử dụng.

Cấu trúc hệ thống

Cấu trúc hệ thống OT

OpenThread được thiết kế với tính di động và tính linh hoạt. Mã này là C/C++ di động (C99 và C++11) không phụ thuộc vào cấu trúc hệ thống do có một lớp trừu tượng hẹp. Lớp trừu tượng này đồng nghĩa với việc OpenThread có thể chạy trên nền tảng kim loại trần hoặc hệ điều hành. Đến nay, OpenThread đã được chứng minh là có thể chạy trên FreeRTOS, RIOT-OS, Zephyr OS, Linux và macOS.

Tính chất di động của OpenThread không đưa ra giả định về các tính năng của nền tảng. OpenThread cung cấp các hook để tận dụng các tính năng mã hoá và đài phát thanh nâng cao, giúp giảm các yêu cầu về hệ thống, chẳng hạn như bộ nhớ, mã và chu kỳ tính toán. Bạn có thể thực hiện việc này theo từng nền tảng, mà vẫn có thể đặt mặc định thành cấu hình chuẩn.

OpenThread có một hệ thống xây dựng có thể định cấu hình mà nhà phát triển có thể bật hoặc tắt các tính năng nếu cần. Ngoài chuỗi công cụ GNU mặc định, nguồn này còn được thiết kế để hoạt động với một số chuỗi công cụ phổ biến khác như IAR và Visual Studio.

Thiết kế nền tảng

OpenThread hỗ trợ cả thiết kế hệ thống trên chip (SoC) và thiết kế bộ đồng xử lý mạng (NCP).

SoC là một giải pháp chip đơn có cả RFIC kết hợp (802.15.4 trong trường hợp Thread) và bộ xử lý, trong đó OpenThread và lớp ứng dụng chạy trên bộ xử lý cục bộ.

Thiết kế NCP là trong đó lớp ứng dụng chạy trên bộ xử lý máy chủ lưu trữ và giao tiếp với OpenThread thông qua kết nối nối tiếp bằng giao thức chuẩn hoá máy chủ lưu trữ – bộ điều khiển mà chúng tôi gọi là Spinel. Trong thiết kế này, OpenThread có thể chạy trên bộ xử lý đài hoặc bộ xử lý lưu trữ.

Chip đơn, chỉ dựa trên luồng (SoC)

Cấu trúc OT SoC

Trong thiết kế này, lớp ứng dụng và OpenThread chạy trên cùng một bộ xử lý. Ứng dụng trực tiếp sử dụng API OpenThread và ngăn xếp IPv6.

Đây là thiết kế SoC thường dùng nhất cho các thiết bị cuối. Vì được tích hợp nhiều vào một loại silicon duy nhất, nên mô hình này có chi phí thấp nhất và mức tiêu thụ điện năng thấp nhất.

Một chip, nhiều giao diện (SoC)

Kiến trúc OT nhiều SoC

Khi một SoC có nhiều đài, chẳng hạn như 802.15.4 và Wi-Fi, hoặc 802.15.4 và Bluetooth năng lượng thấp (BLE), lớp ứng dụng và OpenThread vẫn chạy trên cùng một bộ xử lý. Trong thiết kế nhiều giao diện, OpenThread tận dụng ngăn xếp IPv6 dùng chung của bên thứ ba thông qua giao diện datagram IPv6 thô.

Thiết kế của bộ xử lý đồng xử lý

OpenThread hỗ trợ các thiết kế Radio Co-Processor (RCP) và Network Co-Processor (NCP). Để biết thêm thông tin, hãy tham khảo bài viết Thiết kế cùng bộ xử lý.

Mở các vấn đề về nền tảng

Các vấn đề sau đây hiện chưa được xử lý đối với các nền tảng OpenThread: