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
Donedataset
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 Donedataset commit active
Doneifconfig up
Donethread 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
Donejoiner 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