OpenThread มีทั้งฟังก์ชันการทำงานของเซิร์ฟเวอร์และไคลเอ็นต์ Secure CoAP ซึ่งทำให้อุปกรณ์เชื่อมต่อกับทรัพยากรในเซิร์ฟเวอร์ Secure CoAP และสังเกตการเปลี่ยนแปลงของทรัพยากรแต่ละรายการในสถานะปัจจุบันได้
Secure CoAP ใช้ Datagram Transport Layer Security (DTLS) เพื่อสร้างการเชื่อมต่อที่ปลอดภัยตั้งแต่ต้นจนจบ
Agent ของ Secure CoAP ที่ระบุไว้ใน CLI สามารถทำหน้าที่เป็นไคลเอ็นต์ Secure CoAP หรือเซิร์ฟเวอร์ Secure CoAP ได้
คู่มือนี้จะระบุงานพื้นฐานที่ใช้คำสั่ง Secure CoAP (coaps
) ทั่วไปบางรายการ
คำสั่ง CoAP ที่ปลอดภัย
สำหรับรายการคำสั่ง Secure CoAP ให้พิมพ์ help
:
coaps help
connect
delete
disconnect
get
isclosed
isconnactive
isconnected
post
psk
put
resource
set
start
stop
x509
Done
การอ้างอิงคำสั่ง CLI
สำหรับคำอธิบายและไวยากรณ์ของคำสั่งทั้งหมด โปรดดูการอ้างอิงคำสั่ง CLI คำสั่ง Secure CoAP จะขึ้นต้นด้วยตัวอักษรด้วย coaps Connect
ตัวอย่างการใช้คำสั่งของเซิร์ฟเวอร์และไคลเอ็นต์ Secure CoAP
ตัวอย่างนี้ใช้คำสั่ง CLI พื้นฐานเพื่อเริ่มเซิร์ฟเวอร์และไคลเอ็นต์ Secure CoAP, สร้างทรัพยากรการทดสอบบนเซิร์ฟเวอร์ Secure CoAP และให้ไคลเอ็นต์ Secure CoAP โต้ตอบกับทรัพยากร ข้อมูลตัวอย่างจะใช้เพื่อการอธิบาย
กำหนดค่าชุดการเข้ารหัส DTLS
coaps
CLI มีคำสั่ง psk
และ x509
ที่ใช้กับคีย์ PSK และใบรับรอง X.509 ได้
ดูไวยากรณ์คำสั่งและตัวอย่างได้ที่ coaps psk และ coaps x509
ตั้งค่าเซิร์ฟเวอร์ Secure CoAP
ในโหนดเซิร์ฟเวอร์ Secure CoAP ให้ทำตามขั้นตอนต่อไปนี้
เริ่มต้น Agent สำหรับ Secure CoAP
coaps start
Doneสร้างทรัพยากรการทดสอบ
coaps resource test-resource
Done
ตั้งค่าไคลเอ็นต์ Secure CoAP
ในโหนดไคลเอ็นต์ Secure CoAP ให้ทำตามขั้นตอนต่อไปนี้
เริ่มต้น Agent สำหรับ Secure CoAP
coaps start
Doneเรียกใช้คำสั่ง
connect
เพื่อเริ่มต้นเซสชัน DTLS กับแอปเทียบเท่าcoaps connect fdde:ad00:beef:0:9903:14b:27e0:5744
Done coaps connectedเรียกใช้คำสั่ง
get
เพื่อรับข้อมูลเกี่ยวกับทรัพยากร ดังนี้coaps get test-resource
Done coaps response from fdde:ad00:beef:0:9903:14b:27e0:5744 with payload: 68656c6c6f576f726c6400ส่วนสุดท้ายของการตอบสนองของเซิร์ฟเวอร์คือคำว่า
with payload:
ตามด้วยไบต์เพย์โหลดทั้งหมดในรูปแบบเลขฐานสิบหก ในตัวอย่างนี้with payload: 68656c6c6f576f726c6400
บ่งบอกว่าเพย์โหลดปัจจุบันสำหรับทรัพยากรเป็นค่าฐานสิบหก68656c6c6f576f726c6400
ซึ่งแปลงเป็นสตริงhelloWorld
ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้ตัวเลือกpayload
ได้ที่บล็อกโพสต์คุณแก้ไขทรัพยากรได้ด้วยคำสั่ง
put
ดังนี้coaps put test-resource con hellothere
Done coaps response from fdde:ad00:beef:0:9903:14b:27e0:5744ในตัวอย่างนี้
con
หมายความว่าคุณต้องการให้ส่งข้อความที่เชื่อถือได้ ซึ่งได้มาโดยใช้ข้อความที่ยืนยันได้ (con
) ไปยังเซิร์ฟเวอร์ CoAP ที่ปลอดภัย ค่าเริ่มต้นคือส่งข้อความที่ยืนยันไม่ได้ (non-con
)สตริง
hellothere
เป็นตัวอย่างของการใช้พารามิเตอร์payload
ที่ไม่บังคับเมื่อtype
เป็นcon
หรือnon-con
ดูข้อมูลเพิ่มเติมได้ที่ coaps Putเซิร์ฟเวอร์จะตอบกลับด้วยที่อยู่ IPv6 เพื่อระบุว่ามีการจัดการคำขอแล้ว
การตอบกลับที่ส่งไปยังเซิร์ฟเวอร์ Secure CoAP
ในเซิร์ฟเวอร์ เอาต์พุตจากตัวอย่างนี้จะคล้ายกับตัวอย่างต่อไปนี้
coaps request from fdde:ad00:beef:0:9e68:576f:714c:f395 GET coaps response sent coaps request from fdde:ad00:beef:0:9e68:576f:714c:f395 PUT with payload: 68656c6c6f7468657265 coaps response sent
ค่า payload
ของ 68656c6c6f7468657265
คือสตริง hellothere
ที่แปลงเป็นลำดับไบต์โค้ด ASCII