Thiết kế bộ đồng xử lý được OpenThread hỗ trợ. Khi xây dựng ví dụ về OpenThread, hình ảnh chương trình cơ sở cho mỗi thiết kế bộ đồng xử lý sẽ tự động được tạo. Để biết thêm thông tin, hãy tham khảo phần Nhị phân.
Đồng xử lý vô tuyến (RCP)
Trong thiết kế RCP, lõi của OpenThread nằm trên bộ xử lý máy chủ chỉ có một "bộ điều khiển" lớp MAC tối thiểu trên thiết bị với đài Thread. Bộ xử lý máy chủ thường không ngủ trong thiết kế này, một phần để đảm bảo độ tin cậy của mạng Luồng.
Việc giao tiếp giữa RCP và bộ xử lý máy chủ được OpenThread Daemon quản lý thông qua giao diện SPI qua giao thức Spinel.
Ưu điểm ở đây là OpenThread có thể sử dụng tài nguyên trên bộ xử lý mạnh mẽ hơn.
Thiết kế này hữu ích cho các thiết bị ít nhạy cảm hơn với các hạn chế về nguồn điện. Ví dụ: bộ xử lý video lưu trữ trên máy quay video luôn bật để xử lý video.
Bộ định tuyến đường viền OpenThread hỗ trợ thiết kế RCP. Để biết thêm thông tin, hãy tham khảo Trình định tuyến đường viền OpenThread.
Để xây dựng một RCP, hãy tham khảo các Lớp học lập trình sau:
Xây dựng mạng lưới luồng bằng nRF52840 Bộ định tuyến đường viền
Bộ đồng xử lý mạng (NCP)
Thiết kế NCP tiêu chuẩn có các tính năng luồng trên SoC và chạy lớp ứng dụng trên bộ xử lý máy chủ lưu trữ, thường có khả năng cao hơn (nhưng có nhu cầu năng lượng cao hơn) so với thiết bị OpenThread.
Việc giao tiếp giữa NCP và bộ xử lý máy chủ được wpantund
quản lý thông qua giao diện nối tiếp, thường là sử dụng SPI hoặc UART, qua giao thức Spinel.
Lợi ích của thiết kế này là máy chủ công suất cao hơn có thể ngủ trong khi thiết bị OpenThread tiêu thụ điện năng thấp hơn vẫn hoạt động để duy trì vị trí trong mạng Luồng. Vì SoC không gắn với lớp ứng dụng nên quá trình phát triển và kiểm thử ứng dụng sẽ độc lập với bản dựng OpenThread.
Thiết kế này hữu ích đối với các thiết bị cổng hoặc thiết bị có nhu cầu xử lý khác như camera và loa IP.
Giao thức Spinel
Spinel là một giao thức quản lý chung giúp thiết bị lưu trữ giao tiếp và quản lý một bộ đồng xử lý. Ban đầu, được thiết kế để hỗ trợ các NCP dựa trên luồng, Spinel đã được thiết kế với phương pháp phân lớp cho phép dễ dàng điều chỉnh cho phù hợp với các công nghệ mạng khác trong tương lai. Giao diện này được dùng với cả thiết kế RCP và NCP.
Giao thức này có trong OpenThread tại
/src/lib/spinel
. Bạn có thể sử dụng công cụ Python CLI có tên là Pyspinel để thử nghiệm.
Để biết thêm thông tin, hãy xem Bản nháp trên Internet cho Giao thức kiểm soát máy chủ Spinel.