الاطّلاع على المصدر على GitHub
يوفر OpenThread كلاً من خادم بروتوكول CoAP الآمن ووظيفة العميل، ما يتيح للأجهزة الاتصال بالموارد على خادم بروتوكول أمان CoAP الآمن ومراقبة كل مورد لملاحظة حدوث تغيير في حالته الحالية.
يستخدم بروتوكول CoAP الآمن بروتوكول أمان طبقة النقل لمخطّطات البيانات (DTLS) لإنشاء اتصالات آمنة بين الأطراف.
يمكن أن يعمل وكيل Secure CoAP المقدم في واجهة سطر الأوامر كعميل CoAP الآمن أو خادم CoAP الآمن.
يوفّر هذا الدليل المهام الأساسية التي تستخدم بعضًا من أوامر "بروتوكول CoAP الآمن" (coaps
) الأكثر شيوعًا.
أوامر CoAP الآمنة
للاطّلاع على قائمة بأوامر "بروتوكول CoAP الآمن"، اكتب help
:
coaps help
connect
delete
disconnect
get
isclosed
isconnactive
isconnected
post
psk
put
resource
set
start
stop
x509
Done
مرجع أوامر واجهة سطر الأوامر
للحصول على أوصاف وبنية جميع الأوامر، يُرجى الرجوع إلى مرجع أوامر واجهة سطر الأوامر. تبدأ أوامر "بروتوكول CoAP الآمن" أبجديًا باستخدام coaps Connect.
مثال على استخدام خادم CoAP الآمن وأمر العميل
يستخدم هذا المثال أوامر واجهة سطر الأوامر الأساسية لبدء خادم وعميل CoAP الآمن، وإنشاء مورد اختبار على خادم CoAP الآمن، وجعل عميل CoAP الآمن يتفاعل مع المورد. يتم استخدام بيانات العينة لأغراض التوضيح.
ضبط مجموعات رموز DTLS
توفّر واجهة سطر الأوامر coaps
الأوامر psk
وx509
التي يمكن استخدامها مع مفتاح PSK وشهادة X.509.
للحصول على أمثلة حول بنية الأوامر وأمثلة عنها، يمكنك الرجوع إلى مقالة
coaps psk
وcoaps x509.
إعداد خادم CoAP الآمن
في عقدة خادم CoAP الآمن، نفذ الخطوات التالية:
ابدأ تشغيل وكيل Secure CoAP
coaps start
Doneإنشاء مورد اختبار.
coaps resource test-resource
Done
إعداد عميل CoAP الآمن
في عقدة عميل CoAP الآمنة، نفِّذ الخطوات التالية:
بدء تشغيل وكيل "بروتوكول 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
، يمكنك مراجعة منشورات Coaps.يمكنك تعديل هذا المرجع باستخدام الأمر
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
. لمزيد من المعلومات، يمكنك مراجعة مقالة coapsput.يستجيب الخادم بعنوان IPv6 للإشارة إلى أنه تمت معالجة الطلب.
الردود المرسلة إلى خادم 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.