Để thiết lập, bạn cần một thiết bị có vai trò Commissioner và một thiết bị có vai trò Joiner. Commissioner là một thiết bị Thread trong mạng Thread hiện có hoặc là một thiết bị bên ngoài mạng Thread (chẳng hạn như điện thoại di động) đóng vai trò Commissioner. Joiner là thiết bị muốn kết nối với mạng Thread.
Thread Commissioner được dùng để xác thực một thiết bị trên mạng. Thiết bị này không chuyển hoặc sở hữu thông tin xác thực mạng Thread, chẳng hạn như khoá mạng.
Hướng dẫn này trình bày quy trình thiết lập cơ bản trên mạng mà không cần Bộ thiết lập bên ngoài hoặc Bộ định tuyến biên. Để tìm hiểu cách sử dụng một Người uỷ quyền bên ngoài, hãy xem phần Uỷ quyền cho luồng bên ngoài.
Để xem ví dụ về việc thiết lập bằng 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ò Commissioner và Joiner, hãy sử dụng các lựa chọn cmake sau:
| Phương thức | Mô tả |
|---|---|
-DOT_COMMISSIONER=ON |
Cho phép vai trò Uỷ viên |
-DOT_JOINER=ON |
Cho phép vai trò Người tham gia |
Ví dụ: để tạo nền tảng ví dụ CC2538 để chỉ dùng làm Trình kết nối:
./script/build -DOT_JOINER=ON
Cài đặt ROM từng tệp nhị phân trên thiết bị mong muốn. Một thiết bị đóng vai trò là Người uỷ quyề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 tạo và flash các nền tảng được hỗ trợ trong kho lưu trữ OpenThread của từng nền tảng. Hãy xem tổ chức OpenThread trên 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à Người quản lý:
dataset init newDonedatasetActive 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 activeDoneifconfig upDonethread startDone
Đợi vài giây và xác minh rằng thiết bị đã trở thành Thiết bị dẫn đầu mạng Thread:
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ò Người quản trị:
commissioner start
Done
Sử dụng ký tự đại diện * để cho phép mọi Joiner có Joiner Credential được chỉ định tham gia vào mạng. Thông tin đăng nhập của thiết bị kết nối được dùng (cùng với Mã nhận dạng mạng cá nhân mở rộng và Tên mạng) để tạo Khoá được chia sẻ trước cho Thiết bị (PSKd). Sau đó, PSKd được dùng để xác thực thiết bị trong quá trình Thiết lập Thread. Thông tin đăng nhập của người tham gia phải là thông tin riêng biệt cho mỗi thiết bị.
commissioner joiner add * J01NME
Done
Chỉ cho phép một người tham gia cụ thể
Để hạn chế quá trình thiết lập cho một thiết bị cụ thể của Người tham gia, hãy sử dụng tham số eui64. Đây là EUI-64 IEEE do nhà máy chỉ định cho thiết bị.
Trên thiết bị đóng vai trò là Thiết bị kết nối, 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ị Commissioner:
commissioner joiner add 2f57d222545271f1 J01NME
Done
Bắt đầu vai trò Người tham gia
Trên thiết bị đóng vai trò là Thiết bị tham gia, hãy đặt lại thiết bị về trạng thái ban đầu, sau đó bật vai trò Thiết bị tham gia bằng cùng một Thông tin đăng nhập của thiết bị tham gia được chỉ định trên Thiết bị quản lý:
factoryresetifconfig upDonejoiner start J01NMEDone
Chờ vài giây để xác nhận:
Join success!
Thiết bị Joiner đã xác thực thành công với Commissioner và nhận được thông tin đăng nhập Mạng Thread.
Bây giờ, hãy khởi động Thread trên thiết bị Joiner:
thread start
Done
Xác thực
Kiểm tra trạng thái trên thiết bị Joiner để xác thực rằng thiết bị đã tham gia mạng. Trong vòng 2 phút, trạng thái sẽ chuyển từ thành phần con sang bộ định tuyến:
statechild Done ...staterouter Done