Xây dựng mạng Thread bằng các bo mạch Silicon Labs EFR32 và OpenThread bằng SSimpley Studio v5

1. Giới thiệu

26b7f4f6b3ea0700.png

OpenThread (OT) của Google là một cách triển khai nguồn mở của Thread. Google đã phát hành OpenThread để cung cấp rộng rãi hơn cho các nhà phát triển công nghệ mạng được dùng trong các sản phẩm của Google Nest, nhằm đẩy nhanh quá trình phát triển sản phẩm cho nhà thông minh và các toà nhà thương mại. Với lớp trừu tượng nền tảng hẹp và mức sử dụng bộ nhớ nhỏ, OpenThread có tính di động cao. Nền tảng này hỗ trợ cả thiết kế hệ thống trên chip (SoC) và bộ đồng xử lý mạng (NCP).

Quy cách Thread xác định một giao thức giao tiếp không dây đáng tin cậy, an toàn và tiêu thụ ít điện năng giữa các thiết bị dựa trên IPv6 cho các ứng dụng nhà ở và toà nhà thương mại.

Silicon Labs đã cải tiến OpenThread để hoạt động với phần cứng của Silicon Labs. Mã nguồn này có trên GitHub và cũng là một bộ công cụ phát triển phần mềm (SDK) được cài đặt cùng với Simplicity Studio 5 (SSv5). SDK này bao gồm một bản chụp đã được kiểm thử đầy đủ của mã nguồn GitHub. Phiên bản này hỗ trợ nhiều loại phần cứng hơn so với phiên bản trên GitHub, đồng thời có cả tài liệu và các ứng dụng mẫu không có trên GitHub.

Hướng dẫn này mô tả cách bắt đầu phát triển các ứng dụng OpenThread bằng Silicon Labs OpenThread SDK và Simplicity Studio 5. Hình ảnh bên dưới cho thấy các bảng (BRD) và phần cứng được thiết lập bằng một Bộ định tuyến biên OT (OTBR) và 2 thiết bị Thread được dùng trong lớp học lập trình.

Thiết lập phần cứng EFR32MG

Kiến thức bạn sẽ học được

  • Cách tạo dự án OpenThread bằng IDE Silicon Labs Simplicity Studio.
  • Cách tạo và flash các tệp nhị phân OpenThread CLI vào các bo mạch vô tuyến của Silicon Labs.
  • Cách thiết lập Raspberry Pi 3B+ trở lên làm Bộ định tuyến biên OpenThread (OTBR) bằng Docker.
  • Cách tạo mạng Thread trên OTBR.
  • Thiết lập thiết bị ngoài băng tần trên mạng Thread.
  • Cách xác minh giao tiếp Thread giữa các nút bằng lệnh ping.

2. Điều kiện tiên quyết

Phần cứng:

  1. 3 bảng vô tuyến EFR32MGxx – bạn có thể sử dụng kết hợp bất kỳ các thiết bị này. Lớp học lập trình này sử dụng BRD4166A làm RCP và 2 BRD4168A làm Thiết bị có đầy đủ chức năng của luồng.
    • EFR32MG12 (BRD4161A, BRD4166A, BRD4170A, BRD4304A)
    • EFR32MG13 (BRD4168A)
    • EFR32MG21 (BRD4180A, BRD4180B)
    Nếu mới bắt đầu, bạn có thể mua một trong các bộ khởi động Thread EFR32 có các bảng được liệt kê ở trên.
  2. BRD4001A: Bo mạch chính khởi động không dây (WSTK) để lưu trữ các bo mạch vô tuyến. Ngoại trừ BRD4166A, tất cả các bảng vô tuyến đều cần có một bảng chính khởi động. Cáp USB mini để kết nối và cấp nguồn cho các bo mạch chính hoặc cáp USB micro cho BRD4166A.

WSTK AEM

  1. Raspberry Pi 3B+ trở lên có hình ảnh Raspbian Stretch Lite OS hoặc Raspbian Stretch with Desktop được kết nối với Internet qua Ethernet. Chúng tôi định cấu hình thiết bị này làm Bộ định tuyến biên OT.
  2. Hệ thống máy chủ Windows/Linux/Mac có ít nhất 2 cổng USB và kết nối Internet. Kiểm tra các yêu cầu về phần cứng và hệ điều hành tại SSv5.
  3. Ít nhất một cáp Ethernet để kết nối Raspberry Pi với Internet. WSTK cũng hỗ trợ gỡ lỗi và nhấp nháy qua IP. Do đó, bạn có thể dùng thêm cáp Ethernet (nếu muốn) để kết nối WSTK với hệ thống máy chủ thông qua một Bộ chuyển mạch Ethernet.

Phần mềm:

  • Simplicity Studio phiên bản 5 được cài đặt và cập nhật trên hệ thống máy chủ Windows/Linux/Mac bằng
    • Chuỗi công cụ GNU ARM
    • Gecko SDK Suite 3.2.0 trở lên và Silicon Labs OpenThread SDK.

3. Thiết lập phần cứng

Lớp học lập trình này được tạo bằng

  1. EFR32MG12 BRD4166A Thunderboard Sense 2 như minh hoạ ở bên trái.
  2. Hai BRD4168A EFR32MG13 như minh hoạ ở bên phải.
  3. Simplicity Studio phiên bản 5 được cài đặt trên macOS Catalina 10.15.7 bằng
    1. Gecko SDK 3.2.0
    2. GNU ARM phiên bản 7.2.1

BRD4168A

Kết nối từng bo mạch chính của Wireless Starter Kit với máy tính lưu trữ bằng USB như trong hình bên dưới. Những kết nối này sẽ cho phép lập trình và phân tích mạng của RCP và các thiết bị đầu cuối. Trước tiên, chúng ta sẽ dùng máy tính lưu trữ để lập trình BRD4166A bằng chương trình cơ sở ot-rcp và cuối cùng kết nối nó với Raspberry Pi. Ngoài ra, các thiết bị đầu cuối có thể được kết nối với máy tính lưu trữ thông qua một bộ chuyển mạch Ethernet chung. Bộ công cụ khởi động cũng hỗ trợ lập trình và phân tích mạng qua IPv4.

Kết nối

4. Thiết lập chương trình cơ sở

Có hai cách để bắt đầu. Cả hai lựa chọn đều cho phép bạn nạp các chương trình cơ sở cần thiết cho lớp học lập trình này.

  1. Dự án: (Nên dùng) Tạo, tạo bản dựng và flash một ứng dụng mẫu. Lựa chọn này cho phép bạn tuỳ chỉnh ứng dụng trong dự án.HOẶC
  2. Bản minh hoạ: (Không bắt buộc) Chạy nhanh các bản minh hoạ được tạo sẵn ngay trên bảng điều khiển radio cho bất kỳ ứng dụng mẫu nào. Người dùng nên thử thiết lập chương trình cơ sở bản minh họa như một bài tập không bắt buộc. Vui lòng tham khảo phần "Thiết lập phần mềm không bắt buộc – Bản minh hoạ" ở cuối lớp học lập trình này để biết thông tin chi tiết.

Chúng ta sẽ sử dụng phương thức dựa trên dự án cho lớp học lập trình này.

Tạo dự án bằng các ví dụ

Chúng ta sẽ tạo hai dự án. Dự án ot-rcp cho BRD4166A và dự án ot-cli-ftd cho hai BRD4168A. Vui lòng làm theo các bước này và chọn ứng dụng mẫu phù hợp cho bảng của bạn.

  1. Mở trình đơn File (Tệp) của Studio rồi chọn New > Silicon Labs Project Wizard (Mới > Trình hướng dẫn dự án của Silicon Labs). Hộp thoại Target, SDK và Toolchain Selection (Chọn mục tiêu, SDK và chuỗi công cụ) sẽ mở ra. Không thay đổi IDE Simplicity / chuỗi công cụ GNU mặc định mà OpenThread hỗ trợ. Nhấp vào Tiếp theo.
    • Bảng mục tiêu: Cho biết bảng vô tuyến đã chọn (BRD4168A) cùng với bảng chính (BRD4001A)
    • Thiết bị mục tiêu: Trường này cho biết chip vi điều khiển (MCU) trên bo mạch. BRD4168A có MCU EFR32MG13 tích hợp.
    • SDK: Tại đây, bạn có thể chọn phiên bản SDK của OT mà bạn đang sử dụng. Thông tin về bộ kiểm thử bao gồm thẻ SDK và bản dựng OpenThread của Silicon Labs, ví dụ: Platform 4.0.1.0OpenThread 2.0.1.0 (GitHub-55af6ce2c).
    • IDE/ Toolchain: Chuỗi công cụ sẽ được dùng để biên dịch dự án OT. Chúng tôi sử dụng GNU ARM.

Trình hướng dẫn dự án mới

  1. Hộp thoại Example Project Selection (Chọn dự án mẫu) sẽ mở ra. Bạn sẽ thấy danh sách các dự án mẫu. Sử dụng bộ lọc Từ khoá và Loại công nghệ Thread để tìm một ví dụ cụ thể. Hãy nhớ ghi lại số phiên bản của Gecko SDK Suite. Bạn sẽ cần thẻ phiên bản này khi thiết lập Raspberry Pi làm Bộ định tuyến biên. Chọn ot-cli-ftd, rồi nhấp vào TIẾP THEO.

Bước 2 của trình hướng dẫn dự án mới

  1. Hộp thoại Project Configuration (Cấu hình dự án) sẽ mở ra. Tại đây, bạn có thể đổi tên dự án, thay đổi vị trí mặc định của tệp dự án và xác định xem bạn sẽ liên kết hay sao chép các tệp dự án. Các tệp dự án được liên kết sẽ trỏ đến SDK và mọi nội dung sửa đổi bạn thực hiện sẽ được thực hiện trong SDK và được dùng cho các dự án trong tương lai. Sao chép các nguồn dự án, cho phép bạn chỉnh sửa bản sao cục bộ của dự án để các tệp SDK vẫn nguyên vẹn. "Liên kết SDK và sao chép các nguồn dự án" là lựa chọn mặc định và được đề xuất. Nhấp vào HOÀN TẤT.

Bước 3 của trình hướng dẫn dự án mới

  1. Chế độ xem Simplicity IDE sẽ mở ra cùng với Project Configurator ở thẻ OVERVIEW (TỔNG QUAN).

Tổng quan dự án

Dự án được định cấu hình từ thẻ Software Components (Thành phần phần mềm) bằng cách cài đặt và gỡ cài đặt các thành phần, đồng thời định cấu hình các thành phần đã cài đặt. Các thành phần đã cài đặt sẽ được kiểm tra. Nhấp vào Installed Components (Các thành phần đã cài đặt) để xem danh sách được lọc gồm các thành phần do ứng dụng mẫu cài đặt. Mọi thay đổi bạn thực hiện đều được lưu tự động và các tệp dự án được tạo tự động. Tiến trình được hiển thị ở góc dưới bên phải của chế độ xem Simplicity IDE.

Thành phần phần mềm

Trong bản minh hoạ này, chúng ta sẽ sử dụng cấu hình mặc định của các ứng dụng mẫu. Lặp lại các bước trên để tạo dự án ot-rcp cho bảng khác.

Tạo và nạp chương trình cho các dự án

Tạo và cài đặt ROM cả dự án ot-rcpot-cli-ftd.

  1. Sau khi dự án được định cấu hình, hãy nhấp vào Build control (biểu tượng búa) trong thanh công cụ trên cùng. Ngoài ra, bạn có thể nhấp chuột phải vào dự án rồi nhấp vào tạo dự án.

Nút Tạo dự án

  1. Tiến trình được hiển thị trong Bảng điều khiển và thanh tiến trình ở phía dưới bên phải. Mọi lỗi hoặc cảnh báo liên quan đến dự án của bạn cũng sẽ xuất hiện trong cửa sổ đầu ra này.

Cửa sổ kết quả của bản dựng dự án

  1. Các hình ảnh nhị phân được tạo sau khi bản dựng dự án thành công. Bạn có thể cài đặt ROM tệp nhị phân từ chế độ xem Trình khám phá dự án. Xác định vị trí tệp .bin, .hex hoặc .s37 trong thư mục con của trình biên dịch. Nhấp chuột phải vào tệp rồi chọn Flash to Device (Chuyển nhanh sang thiết bị). Nếu bạn có nhiều thiết bị được kết nối, hãy chọn một thiết bị để lập trình, rồi nhấp vào OK. Flash Programmer sẽ mở ra với đường dẫn tệp được điền sẵn. Nhấp vào CHƯƠNG TRÌNH.

Flash

5. Tóm tắt quá trình thiết lập chương trình cơ sở

Lúc này, bạn đã tạo, biên dịch và nạp chương trình cơ sở thích hợp vào các bảng vô tuyến. Sau khi ot-rcp được nạp vào BRD4166A, hãy ngắt kết nối thiết bị này khỏi hệ thống máy chủ và kết nối bo mạch này với Raspberry Pi.

Sau khi hoàn tất phần này, chế độ thiết lập phần cứng mạng Thread sẽ có dạng như sau.

Thiết lập EFR32MG

6. Thiết lập Bảng điều khiển nối tiếp cho các thiết bị ot-cli-ftd

Để chạy giao diện Bảng điều khiển, trong chế độ xem Simplicity IDE, hãy nhấp chuột phải vào thiết bị J-Link trong cửa sổ Devices View (Chế độ xem thiết bị)/Debug Adapters (Bộ gỡ lỗi). Chọn Launch Console (Khởi chạy bảng điều khiển). Để nhận lời nhắc trên Bảng điều khiển, hãy chọn thẻ Serial 1 rồi nhấn Enter. Kiểm tra trạng thái của nút FTD.

Chế độ xem Bảng điều khiển FTD Studio

Bạn sẽ nhận thấy rằng chúng tôi chưa có bảng điều khiển cho ot-rcp. Trong bước tiếp theo, chúng ta sẽ định cấu hình Raspberry Pi làm bộ định tuyến biên OT và thiết lập bảng điều khiển cho ot-rcp.

7. Thiết lập Raspberry Pi làm Bộ định tuyến biên

Silicon Labs đề xuất triển khai vùng chứa Docker của công ty bằng OTBR. Việc chạy OTBR trong một vùng chứa cho phép tạo các cấu phần phần mềm có thể triển khai dễ dàng, cũng như tạo mẫu và kiểm thử phát triển nhanh.

Hình ảnh OTBR của Silicon Labs được lưu trữ trên siliconlabsinc DockerHub, có gắn thẻ. Mỗi thẻ tương ứng với một phiên bản GSDK:

https://hub.docker.com/r/siliconlabsinc/openthread-border-router/tags

Bạn phải sử dụng các vùng chứa Docker với RCP được tạo bằng Simplicity Studio 5 cho một bản phát hành nhất định. Đảm bảo bạn sử dụng phiên bản thẻ trong trình chứa phù hợp với phiên bản GSDK mà bạn đang kiểm thử. Ví dụ: nếu phiên bản GDSK của bạn là Gecko SDK Suite v4.0.1 (140) khi bạn chọn ot-rcp trong cửa sổ Example Project Selection (Chọn dự án mẫu), hãy sử dụng hình ảnh siliconlabsinc/openthread-border-router:gsdk-4.0.1.

Phiên bản GSDK

Thiết lập Raspberry Pi

  1. Trên thẻ SD, hãy nhớ flash hình ảnh hệ điều hành Raspbian Stretch Lite hoặc Raspbian Stretch with Desktop.
  2. Bạn có thể SSH vào Raspberry Pi hoặc chọn làm việc trực tiếp với Raspbian Desktop. Mở một cửa sổ dòng lệnh.
  3. Nhớ cập nhật kho lưu trữ cục bộ và trình quản lý gói (apt-get updateapt-get upgrade trước khi cài đặt Docker).

Cài đặt hình ảnh Docker

  1. Cài đặt Docker bằng lệnh sau trên RPi.
    curl -sSL https://get.docker.com | sh
    
  2. Sau khi hoàn tất, bạn có thể sửa đổi chế độ cài đặt người dùng Docker để không yêu cầu sudo trước mỗi lệnh. Bạn cần khởi động lại.
    sudo usermod -aG docker $USER
    
  3. Phát các lệnh sau để cài đặt vùng chứa. Xin lưu ý rằng bạn chỉ có thể chạy một vùng chứa Border Router tại một thời điểm bằng RCP. Ngoài ra, hãy nhớ so khớp phiên bản GSDK của Simplicity Studio với hình ảnh Docker chính xác. Ví dụ: gsdk-4.0.1:
    docker pull siliconlabsinc/openthread-border-router:gsdk-4.0.1
    

Định cấu hình và chạy Docker

  1. Bạn cần định cấu hình cổng TTY mà bạn muốn dùng cho OTBR để kết nối RCP khi khởi động. Tìm cổng TTY của thiết bị RCP. Cách dễ nhất để thực hiện việc này là tìm mục /tty/dev... sau khi RCP được kết nối. Thông thường, giá trị này sẽ là /dev/ttyUSB0 hoặc /dev/ttyACM0.
  2. Chạy bản cài đặt Docker bằng lệnh sau. Hãy nhớ thay thế tên hình ảnh Docker của bạn bằng phiên bản GSDK phù hợp. Ví dụ: gsdk-4.0.1:
    docker run -d --name "otbr" \
     --sysctl "net.ipv6.conf.all.disable_ipv6=0 net.ipv4.conf.all.forwarding=1 net.ipv6.conf.all.forwarding=1" \
     -p 8080:80 --dns=127.0.0.1 -it \
     --volume /dev/ttyACM0:/dev/ttyACM0 \
     --privileged siliconlabsinc/openthread-border-router:gsdk-4.0.1 \
     --radio-url spinel+hdlc+uart:///dev/ttyACM0?uart-baudrate=460800 \
     --backbone-interface eth0
    
    • -d đảm bảo rằng vùng chứa chạy ở chế độ tách biệt.
    • Bạn có thể xem nhật ký đang chạy của vùng chứa bất cứ lúc nào bằng lệnh docker logs.
    • --name sẽ vẫn còn cho đến khi vùng chứa Docker được đóng (hoặc xoá) đúng cách.
    • Cổng 8080 cho biết cổng của máy chủ web lưu trữ trang quản lý Border Router.
    • ?uart-baudrate=460800 là bắt buộc trong các lựa chọn về URL vô tuyến để giải quyết các vấn đề về phân mảnh / tái hợp nhất qua UART, với các hoạt động tốn kém như DTLS với các gói IPv6 dài.

Tương tác với nút RCP

Sau khi docker chạy, bạn có thể giao tiếp với nút RCP thông qua một shell tương tác bằng lệnh này. Kiểm tra trạng thái của nút RCP.

$ docker exec -ti otbr sh -c "sudo ot-ctl"
> state 
disabled
Done

Bạn có thể lấy danh sách mã nhận dạng vùng chứa đang chạy

$ docker ps -aq

Bạn có thể kiểm tra cửa sổ đang chạy vùng chứa OTBR Docker để xem đầu ra nhật ký đang chạy của Bộ định tuyến biên hoặc theo dõi nhật ký vùng chứa như sau:

$ docker logs [container-id] -f

Nếu muốn, bạn có thể dừng, xoá hoặc huỷ hình ảnh nếu vùng chứa Docker được tải đúng cách.

$ docker stop otbr
$ docker rm otbr
$ docker kill otbr

Không bắt buộc: Để thoát khỏi shell, hãy dùng tổ hợp phím CNTL + C.

Tại thời điểm này, bạn sẽ có 3 bảng điều khiển.

  1. Hai bảng điều khiển ot-cli-ftd trong Simplicity Studio được thiết lập làm thiết bị Full Thread.
  2. Một shell tương tác ot-ctl trên Raspberry Pi được thiết lập làm bộ định tuyến biên OT.

Giờ đây, chúng ta đã sẵn sàng tạo một mạng Thread.

8. Tạo mạng Thread

Thiết lập RCP

Để tạo mạng, chúng ta bắt đầu bằng shell ot-ctl trên OTBR. Shell này được dùng để giao tiếp với nút RCP. Nhập các lệnh sau theo thứ tự như minh hoạ bên dưới:

Chỉ mục

Lệnh

Mô tả lệnh

Phản hồi dự kiến

1

dataset init new

Tạo một cấu hình mạng mới.

Xong

2

dataset commit active

Cam kết tập dữ liệu mới cho Tập dữ liệu hoạt động đang hoạt động.

Xong

3

ifconfig up

Bật giao diện Thread.

Xong

4

thread start

Bật và đính kèm hoạt động giao thức Thread.

Xong

Chờ 10 giây để giao diện luồng hoạt động.

5

state

Kiểm tra trạng thái thiết bị. Đây phải là thiết bị chính.
Các trạng thái có thể có khác: ngoại tuyến, đã tắt, đã tách,
thiết bị con, bộ định tuyến hoặc thiết bị chính

Người lãnh đạo
Xong

6

dataset

Xem cấu hình mạng.
Các giá trị của bạn sẽ khác với giá trị trong lớp học lập trình này.
Ghi lại kênh, khoá mạng,
tên mạng và PAN ID.

Active Timestamp: 1
Channel: 20
Channel Mask: 0x07fff800
Ext PAN ID: 39ba71f7fc367160
Mesh Local Prefix: fd5c:c6b:3a17:40b9::/64
Network Key: 81ae2c2c17368d585dee71eaa8cf1e90
Network Name: OpenThread-008c
PAN ID: 0x008c
PSKc: c98f0193d4236025d22dd0ee614e641f
Security Policy: 0, onrcb
Done

Chúng ta sẽ sử dụng số kênh và khoá mạng trên ot-cli-ftd để kết nối 2 FTD với mạng lưới này.

Thiết lập và thêm FTD vào mạng Thread (phương thức ngoài băng tần)

Với phương thức ngoài băng tần, chúng ta biết tất cả thông tin bảo mật và thêm nút theo cách thủ công. Trong bảng điều khiển Simplicity, hãy thêm cả hai FTD vào mạng của chúng ta bằng cách sử dụng các lệnh sau theo thứ tự như bên dưới.

Chỉ mục

Lệnh

Mô tả lệnh

Phản hồi dự kiến

1

dataset channel 20

Đặt kênh mà OTBR sử dụng.

Xong

2

dataset networkkey 81ae2c2c17368d585dee71eaa8cf1e90

Thiết bị chỉ cần có Khoá mạng để kết nối với mạng Thread.

Xong

3

dataset commit active

Cam kết tập dữ liệu mới cho Tập dữ liệu hoạt động đang hoạt động.

Xong

4

ifconfig up

Bật giao diện Thread.

Xong

5

thread start

Bật và đính kèm hoạt động giao thức Thread.

Xong

Chờ 20 giây trong khi thiết bị tham gia và tự định cấu hình.

6

state

Xem cấu hình mạng.

child
Đã hoàn tất

Giao tiếp giữa các thiết bị Thread

Chúng ta sẽ dùng lệnh ping để kiểm tra xem các thiết bị có thể giao tiếp với nhau hay không. Để sử dụng lệnh ping, chúng ta cần địa chỉ IPv6 của các thiết bị. Bạn có thể lấy các thông tin này bằng lệnh ipaddr.

> ipaddr
fd5c:c6b:3a17:40b9:0:ff:fe00:fc00		# Leader Anycast Locator (ALOC)
fd5c:c6b:3a17:40b9:0:ff:fe00:1800		# Routing Locator (RLOC)
fd5c:c6b:3a17:40b9:84e2:bae8:bd5b:fa03		# Mesh-Local EID (ML-EID)
fe80:0:0:0:c449:ca4a:101f:5d16			# Link-Local Address (LLA)

Từ cả hai FTD, hãy ping OTBR bằng địa chỉ RLOC của OTBR.

> ping fd5c:c6b:3a17:40b9:0:ff:fe00:1800
Done
> 
> 16 bytes from fd5c:c6b:3a17:40b9:0:ff:fe00:1800: icmp_seq=3 hlim=64 time=30ms
16 bytes from fd5c:c6b:3a17:40b9:0:ff:fe00:1800: icmp_seq=3 hlim=64 time=52ms

Phản hồi cho biết tải trọng đã nhận được và quá trình giao tiếp đã thành công. Lặp lại quy trình này để ping FTD từ OTBR.

9. Xin chúc mừng

Bạn đã tạo mạng Thread!

Giờ thì bạn đã biết:

  • Cách tạo dự án OpenThread bằng IDE Silicon Labs Simplicity Studio.
  • Cách tạo và flash các tệp nhị phân OpenThread CLI vào các bo mạch vô tuyến của Silicon Labs.
  • Cách thiết lập Raspberry Pi 3B+ trở lên làm Bộ định tuyến biên OpenThread (OTBR) bằng Docker.
  • Cách tạo mạng Thread trên OTBR.
  • Thiết lập thiết bị ngoài băng tần trên mạng Thread.
  • Cách xác minh giao tiếp Thread giữa các nút bằng lệnh ping.

Tài liệu đọc thêm

Hãy xem openthread.ioGitHub để biết nhiều tài nguyên về OpenThread, bao gồm:

10. Thiết lập chương trình cơ sở không bắt buộc – Bản minh hoạ

Bản minh hoạ là hình ảnh phần mềm được tạo sẵn và sẵn sàng tải xuống một thiết bị tương thích. Cách nhanh nhất để biết một linh kiện có bản minh hoạ trong Simplicity Studio hay không là nhấp vào linh kiện đó trong chế độ xem Debug Adapters (Bộ gỡ lỗi) rồi chuyển đến thẻ EXAMPLE PROJECTS & DEMOS (DỰ ÁN VÍ DỤ VÀ BẢN MINH HOẠ) trong Launcher Perspective (Giao diện trình chạy). Tắt bộ lọc Dự án mẫu và đánh dấu vào hộp đánh dấu Nút chọn luồng trong mục Loại công nghệ.

Bản minh hoạ về Studio

Các hình ảnh ứng dụng minh hoạ được biên dịch sẵn đi kèm với OpenThread SDK tương thích với các bảng sau:

  1. BRD4161a
  2. BRD4166a
  3. BRD4168a
  4. BRD4180a
  5. BRD4304a

Danh sách này có thể được cập nhật trong các bản phát hành SDK sau này để bổ sung thêm các bảng mạch vô tuyến. Vui lòng tham khảo ghi chú phát hành của Silicon Labs OpenThread SDK trong phần Tài liệu để biết danh sách đầy đủ các thành phần được hỗ trợ.

Cài đặt ROM các bản minh hoạ sau trên các bảng tương ứng. Để nhấp nháy, hãy chọn bảng của bạn trong phần Debug Adapters (Bộ gỡ lỗi) ở bên trái rồi nhấp vào RUN (CHẠY) cho các ứng dụng mẫu tương ứng. Một cửa sổ bật lên sẽ cho biết tiến trình flash.

  1. BRD4166A: ot-rcp – Thiết bị này sẽ hoạt động như một Bộ đồng xử lý vô tuyến cho Bộ định tuyến biên OT. Chúng ta sẽ dùng thiết bị này để tạo mạng Thread và kết nối 2 thiết bị còn lại vào mạng Thread. Là một Bộ định tuyến biên, thiết bị này cũng đóng vai trò là một cổng để các thiết bị trong mạng Thread giao tiếp qua Internet.
  2. Hai BRD4168A: ot-cli-ftd – Hai thiết bị này sẽ hoạt động như Thiết bị Thread đầy đủ. Các thiết bị này sẽ kết nối với mạng Thread do OTBR tạo.