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

ดูแหล่งที่มาใน GitHub

OpenThread มีทั้งฟังก์ชันเซิร์ฟเวอร์ CoAP และไคลเอ็นต์ ซึ่งช่วยให้อุปกรณ์ใช้งานได้ เพื่อเชื่อมต่อกับทรัพยากรในเซิร์ฟเวอร์ CoAP และสังเกตทรัพยากรแต่ละรายการสำหรับ การเปลี่ยนแปลงในสถานะปัจจุบัน Agent 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 โปรดดู Coap Post

  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