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