Kiểm thử khả năng kết nối với tài nguyên Giao thức ứng dụng giới hạn (CoAP) bằng OT CLI

Xem nguồn trên GitHub

OpenThread cung cấp cả chức năng máy chủ và máy khách CoAP, cho phép thiết bị kết nối với các tài nguyên trên máy chủ CoAP và quan sát từng tài nguyên về sự thay đổi trạng thái hiện tại của tài nguyên đó. Tác nhân CoAP được cung cấp trong CLI có thể hoạt động như máy khách hoặc máy chủ CoAP.

Các lệnh CoAP

Để xem danh sách các lệnh coap, hãy nhập help:

coap help
help
cancel
delete
get
observe
parameters
post
put
resource
set
start
stop
Done

Tham chiếu lệnh CLI

Để biết mô tả và cú pháp của tất cả các lệnh, hãy tham khảo Tham chiếu lệnh CLI. Các lệnh coap bắt đầu theo thứ tự bảng chữ cái với Coap cancel.

Ví dụ về cách sử dụng lệnh máy khách và máy chủ CoAP

Ví dụ này sử dụng các lệnh CLI cơ bản để khởi động máy chủ và ứng dụng CoAP, tạo tài nguyên kiểm thử trên máy chủ CoAP, đồng thời yêu cầu ứng dụng CoAP tương tác với tài nguyên. Dữ liệu mẫu chỉ mang tính minh hoạ.

Thiết lập máy chủ CoAP

Trên nút máy chủ CoAP, hãy thực hiện các bước sau:

  1. Khởi động tác nhân CoAP.

    coap start
    Done
    
  2. Tạo tài nguyên kiểm thử.

    coap resource test-resource
    Done
    

Thiết lập ứng dụng CoAP

Trên nút máy khách CoAP, hãy thực hiện các bước sau:

  1. Khởi động tác nhân CoAP:

    coap start
    Done
    
  2. Chạy lệnh get để lấy thông tin về tài nguyên:

    coap get fdde:ad00:beef:0:d395:daee:a75:3964 test-resource
    Done
    coap response from [fdde:ad00:beef:0:2780:9423:166c:1aac] with payload: 30
    

    Phần cuối cùng của máy chủ response là thuật ngữ with payload:, theo sau là tất cả các byte tải trọng ở định dạng chữ số thập lục phân. Do đó, trong ví dụ này, with payload: 30 cho biết rằng tải trọng hiện tại của tài nguyên được đặt thành một byte thông tin tải trọng có giá trị thập lục phân 0x30. Để biết thêm thông tin về cách sử dụng tuỳ chọn payload, hãy tham khảo bài đăng chèn.

  3. Bạn có thể sửa đổi tài nguyên bằng lệnh put:

    coap put fdde:ad00:beef:0:2780:9423:166c:1aac test-resource con hellothere
    Done
    coap response from [fdde:ad00:beef:0:2780:9423:166c:1aac]
    

    Trong ví dụ này, con có nghĩa là bạn muốn gửi một thông báo đáng tin cậy (nhận được qua thông báo có thể xác nhận (con) đến máy chủ CoAP. Chế độ mặc định là gửi một tin nhắn không thể xác nhận (non-con).

    Chuỗi hellothere là một ví dụ về việc sử dụng tham số payload không bắt buộc khi typecon hoặc non-con." Để biết thêm thông tin, hãy tham khảo phần đặt chồng.

    Máy chủ phản hồi bằng địa chỉ IPv6 để cho biết yêu cầu đã được xử lý.

Đã gửi phản hồi đến máy chủ CoAP

Trên máy chủ, kết quả trong ví dụ này sẽ tương tự như sau:

coap request from [fdde:ad00:beef:0:b3:e3f6:2dcc:4b79] GET
coap response sent
coap request from [fdde:ad00:beef:0:b3:e3f6:2dcc:4b79] PUT with payload: 68656c6c6f7468657265
coap response sent

Giá trị payload của 68656c6c6f7468657265 là chuỗi hellothere được chuyển đổi sang chuỗi byte mã ASCII.