OpenThread มีทั้งฟังก์ชันการทำงานของเซิร์ฟเวอร์และไคลเอ็นต์ที่ปลอดภัย ซึ่งช่วยให้อุปกรณ์ใช้งานได้ เพื่อเชื่อมต่อกับทรัพยากรในเซิร์ฟเวอร์ Secure CoAP และสังเกตทรัพยากรแต่ละรายการสำหรับ การเปลี่ยนแปลงในสถานะปัจจุบัน
Secure CoAP ใช้ Datagram Transport Layer Security (DTLS) เพื่อสร้างความปลอดภัย จากต้นทางถึงปลายทางได้
Agent Secure CoAP ที่มีให้ใน CLI สามารถทำหน้าที่เป็นไคลเอ็นต์ Secure CoAP หรือเซิร์ฟเวอร์ Secure CoAP ได้
คู่มือนี้อธิบายงานพื้นฐานที่ใช้คำสั่ง Secure CoAP (coaps) ที่ใช้กันโดยทั่วไปบางส่วน
คำสั่ง Secure 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
CLI ใน coaps มีคำสั่ง psk และ x509 ที่ใช้กับ
คีย์ PSK และใบรับรอง X.509
ดูไวยากรณ์คำสั่งและตัวอย่างได้ที่
coaps psk และ
coaps x509
ตั้งค่าเซิร์ฟเวอร์ Secure CoAP
ในโหนดเซิร์ฟเวอร์ Secure CoAP ให้ทำตามขั้นตอนต่อไปนี้
เริ่มต้น Secure CoAP Agent
coaps startDoneสร้างทรัพยากรทดสอบ
coaps resource test-resourceDone
ตั้งค่าไคลเอ็นต์ Secure CoAP
ในโหนดไคลเอ็นต์ Secure CoAP ให้ทำตามขั้นตอนต่อไปนี้
เริ่ม Secure CoAP Agent ด้วยคำสั่งต่อไปนี้
coaps startDoneเรียกใช้คำสั่ง
connectเพื่อเริ่มต้นเซสชัน DTLS ด้วยเพียร์:coaps connect fdde:ad00:beef:0:9903:14b:27e0:5744Done coaps connectedเรียกใช้คำสั่ง
getเพื่อรับข้อมูลเกี่ยวกับทรัพยากรcoaps get test-resourceDone 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 hellothereDone coaps response from fdde:ad00:beef:0:9903:14b:27e0:5744ในตัวอย่างนี้
conหมายถึงคุณต้องการข้อความที่เชื่อถือได้ ซึ่งก็คือ ที่ได้รับโดยใช้ข้อความที่ยืนยันได้ (con) เพื่อส่งไปยังเซิร์ฟเวอร์ Secure CoAP ค่าเริ่มต้นคือส่งข้อความที่ยืนยันไม่ได้ (non-con)สตริง
hellothereเป็นตัวอย่างของการใช้payloadที่ไม่บังคับ เมื่อtypeเป็นconหรือnon-conดูข้อมูลเพิ่มเติมได้ที่ ผู้ฝึกสอนเซิร์ฟเวอร์จะตอบกลับด้วยที่อยู่ 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