Phí hoa hồng trên lưới

Xem nguồn trên GitHub

Ủy viên và Người tham gia

Việc uỷ quyền yêu cầu một thiết bị có vai trò Uỷ viên và một thiết bị có vai trò Người tham gia. Ủy viên là một thiết bị Thread trong mạng Thread hiện có hoặc một thiết bị bên ngoài mạng Thread (chẳng hạn như điện thoại di động) để thực hiện vai trò uỷ viên. Tham gia là thiết bị muốn tham gia mạng Chuỗi.

Một uỷ viên luồng được dùng để xác thực một thiết bị trên mạng. Tệp này không chuyển hoặc có quyền sở hữu thông tin đăng nhập mạng Luồng, chẳng hạn như khoá mạng.

Hướng dẫn này trình bày về cách triển khai cơ bản, chi tiết lưới điện mà không có Uỷ viên bên ngoài hoặc Bộ định tuyến biên. Để tìm hiểu cách sử dụng uỷ viên bên ngoài, hãy xem phần Ủy quyền đối với luồng bên ngoài.

Để xem ví dụ về việc uỷ quyền bằng các thiết bị ảo, hãy xem Lớp học lập trình mô phỏng OpenThread.

Bật vai trò

Để bật vai trò Uỷ viên và Người tham gia, hãy sử dụng các lựa chọn cmake sau đây:

Lựa chọn Mô tả
-DOT_COMMISSIONER=ON Bật vai trò Uỷ viên
-DOT_JOINER=ON Bật vai trò Người tham gia

Ví dụ: để xây dựng nền tảng mẫu CC2538 chỉ để sử dụng làm Tham gia:

./script/build -DOT_JOINER=ON

Lưu từng tệp nhị phân vào thiết bị mong muốn. Một thiết bị đóng vai trò là Ủy viên, thiết bị còn lại đóng vai trò là Người tham gia.

Bạn có thể xem hướng dẫn cụ thể về cách xây dựng và cài đặt ROM các nền tảng được hỗ trợ trong kho lưu trữ OpenThread của từng nền tảng. Xem tổ chức OpenThread GitHub để tìm kho lưu trữ.

Tạo mạng

Tạo một mạng trên thiết bị đóng vai trò là Uỷ viên:

dataset init new
Done
dataset
Active Timestamp: 1
Channel: 13
Channel Mask: 07fff800
Ext PAN ID: d63e8e3e495ebbc3
Mesh Local Prefix: fd3d:b50b:f96d:722d/64
Network Key: dfd34f0f05cad978ec4e32b0413038ff
Network Name: OpenThread-8f28
PAN ID: 0x8f28
PSKc: c23a76e98f1a6483639b1ac1271e2e27
Security Policy: 0, onrcb
Done
dataset commit active
Done
ifconfig up
Done
thread start
Done

Đợi vài giây và xác minh rằng thiết bị đã trở thành Người lãnh đạo luồng:

state
leader
Done

Bắt đầu vai trò Uỷ viên

Trên cùng thiết bị đó, hãy bắt đầu vai trò Uỷ viên:

commissioner start
Done

Sử dụng ký tự đại diện * để cho phép mọi Trình kết nối có Thông tin xác thực của trình kết hợp được chỉ định được gửi tới mạng. Thông tin xác thực của trình kết nối được dùng (cùng với Mã PAN mở rộng và Tên mạng) để tạo Khóa chia sẻ trước cho Thiết bị (PSK). Sau đó, PSK được dùng để xác thực thiết bị trong quá trình uỷ quyền Luồng. Thông tin xác thực của người tham gia phải là duy nhất đối với mỗi thiết bị.

commissioner joiner add * J01NME
Done

Hạn chế với một người tham gia cụ thể

Để hạn chế việc ủy quyền cho một thiết bị Liên kết cụ thể, hãy sử dụng thông số eui64 là IEEE EUI-64 do nhà máy chỉ định.

Trên thiết bị đóng vai trò là thiết bị tham gia, hãy lấy EUI-64:

eui64
2f57d222545271f1
Done

Sử dụng giá trị đó thay vì ký tự đại diện * trong lệnh commissioner joiner trên thiết bị Uỷ viên:

commissioner joiner add 2f57d222545271f1 J01NME
Done

Bắt đầu vai trò Người tham gia

Trên thiết bị đóng vai trò là Người tham gia, hãy thực hiện thao tác đặt lại về trạng thái ban đầu, sau đó bật vai trò Người tham gia bằng cùng Thông tin xác thực người tham gia đã chỉ định trên Uỷ viên:

factoryreset
ifconfig up
Done
joiner start J01NME
Done

Đợi vài giây để xác nhận:

Join success!

Thiết bị Liên kết đã tự xác thực thành công với Uỷ viên và nhận được thông tin xác thực trên Mạng luồng.

Bây giờ, hãy bắt đầu chuỗi trên thiết bị Liên kết:

thread start
Done

Xác thực

Kiểm tra trạng thái trên thiết bị phối hợp để xác thực rằng thiết bị đã tham gia mạng. Trong vòng hai phút, trạng thái sẽ chuyển đổi từ con sang bộ định tuyến:

state
child
Done
...
state
router
Done