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

Xem nguồn trên GitHub

Uỷ viên hội đồng và Thợ làm đồ gỗ

Để 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 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 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ý:

factoryreset
ifconfig up
Done
joiner start J01NME
Done

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:

state
child
Done
...
state
router
Done