ทดสอบการเชื่อมต่อกับทรัพยากร Application Protocol (CoAP) แบบจำกัดโดยใช้ OT CLI

ดูซอร์สบน GitHub

OpenThread มีทั้งฟังก์ชันการทำงานของเซิร์ฟเวอร์และไคลเอ็นต์ ซึ่งทำให้อุปกรณ์เชื่อมต่อกับทรัพยากรในเซิร์ฟเวอร์ CoAP และสังเกตการเปลี่ยนแปลงของทรัพยากรแต่ละรายการในสถานะปัจจุบันได้ เอเจนต์ CoAP ที่ให้ไว้ใน CLI สามารถทำหน้าที่เป็นไคลเอ็นต์หรือเซิร์ฟเวอร์ CoAP ก็ได้

คำสั่ง CoAP

สำหรับรายการคำสั่ง coap ให้พิมพ์ help:

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

การอ้างอิงคำสั่ง CLI

สำหรับคำอธิบายและไวยากรณ์ของคำสั่งทั้งหมด โปรดดูการอ้างอิงคำสั่ง CLI คำสั่ง coap จะขึ้นต้นด้วยตัวอักษรด้วย coap cancel

ตัวอย่างการใช้คำสั่งของเซิร์ฟเวอร์และไคลเอ็นต์ CoAP

ตัวอย่างนี้ใช้คำสั่ง CLI พื้นฐานเพื่อเริ่มเซิร์ฟเวอร์และไคลเอ็นต์ CoAP, สร้างทรัพยากรการทดสอบบนเซิร์ฟเวอร์ CoAP และทำให้ไคลเอ็นต์ CoAP โต้ตอบกับทรัพยากร ข้อมูลตัวอย่างจะใช้เพื่อการอธิบาย

ตั้งค่าเซิร์ฟเวอร์ CoAP

ในโหนดเซิร์ฟเวอร์ CoAP ให้ทำตามขั้นตอนต่อไปนี้

  1. เริ่ม Agent CoAP

    coap start
    Done
    
  2. สร้างทรัพยากรการทดสอบ

    coap resource test-resource
    Done
    

ตั้งค่าไคลเอ็นต์ CoAP

ในโหนดไคลเอ็นต์ CoAP ให้ทำตามขั้นตอนต่อไปนี้

  1. เริ่ม Agent CoAP

    coap start
    Done
    
  2. เรียกใช้คำสั่ง get เพื่อรับข้อมูลเกี่ยวกับทรัพยากร ดังนี้

    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
    

    ส่วนสุดท้ายของเซิร์ฟเวอร์ response คือคำว่า with payload: ตามด้วยไบต์เพย์โหลดทั้งหมดในรูปแบบเลขฐานสิบหก ดังนั้น ในตัวอย่าง with payload: 30 จะระบุว่ามีการตั้งค่าเพย์โหลดปัจจุบันสำหรับทรัพยากรเป็นข้อมูลเพย์โหลด 1 ไบต์ที่มีค่าฐานสิบหก 0x30 ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้ตัวเลือก payload ได้ที่การโพสต์เนื้อหา

  3. คุณแก้ไขทรัพยากรได้ด้วยคำสั่ง 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]
    

    ในตัวอย่างนี้ con หมายความว่าคุณต้องการให้ส่งข้อความที่เชื่อถือได้ ซึ่งได้มาโดยใช้ข้อความที่ยืนยันได้ (con) ไปยังเซิร์ฟเวอร์ CoAP ค่าเริ่มต้นคือส่งข้อความที่ยืนยันไม่ได้ (non-con)

    สตริง hellothere คือตัวอย่างของการใช้พารามิเตอร์ payload ที่ไม่บังคับเมื่อ type เป็น con หรือ non-con" ดูข้อมูลเพิ่มเติมได้ที่การ Coap Put

    เซิร์ฟเวอร์จะตอบกลับด้วยที่อยู่ IPv6 เพื่อระบุว่ามีการจัดการคำขอแล้ว

ส่งคำตอบไปยังเซิร์ฟเวอร์ CoAP แล้ว

ในเซิร์ฟเวอร์ เอาต์พุตจากตัวอย่างนี้จะคล้ายกับตัวอย่างต่อไปนี้

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

ค่า payload ของ 68656c6c6f7468657265 คือสตริง hellothere ที่แปลงเป็นลำดับไบต์โค้ด ASCII