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 ให้ทำตามขั้นตอนต่อไปนี้
เริ่ม Agent CoAP
coap start
Doneสร้างทรัพยากรการทดสอบ
coap resource test-resource
Done
ตั้งค่าไคลเอ็นต์ CoAP
ในโหนดไคลเอ็นต์ CoAP ให้ทำตามขั้นตอนต่อไปนี้
เริ่ม Agent CoAP
coap start
Doneเรียกใช้คำสั่ง
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
ได้ที่การโพสต์เนื้อหาคุณแก้ไขทรัพยากรได้ด้วยคำสั่ง
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