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 ให้ทำตามขั้นตอนต่อไปนี้
เริ่มต้น Agent CoAP
coap startDoneสร้างทรัพยากรทดสอบ
coap resource test-resourceDone
ตั้งค่าไคลเอ็นต์ CoAP
ในโหนดไคลเอ็นต์ CoAP ให้ทำตามขั้นตอนต่อไปนี้
เริ่มต้น Agent ของ CoAP ด้วยคำสั่งต่อไปนี้
coap startDoneเรียกใช้คำสั่ง
getเพื่อรับข้อมูลเกี่ยวกับทรัพยากรcoap get fdde:ad00:beef:0:d395:daee:a75:3964 test-resourceDone 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คุณจะแก้ไขทรัพยากรได้โดยใช้คำสั่ง
putดังนี้coap put fdde:ad00:beef:0:2780:9423:166c:1aac test-resource con hellothereDone 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