اختبِر الاتصال بمورد CoAP آمن باستخدام واجهة سطر الأوامر "OT CLI"

الاطّلاع على المصدر على 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 الآمن، نفذ الخطوات التالية:

  1. ابدأ تشغيل وكيل Secure CoAP

    coaps start
    Done
    
  2. إنشاء مورد اختبار.

    coaps resource test-resource
    Done
    

إعداد عميل CoAP الآمن

في عقدة عميل CoAP الآمنة، نفِّذ الخطوات التالية:

  1. بدء تشغيل وكيل "بروتوكول CoAP الآمن":

    coaps start
    Done
    
  2. شغِّل الأمر connect لإعداد جلسة بروتوكول أمان طبقة النقل لمخطّطات البيانات (DTLS) مع تطبيق مشابه:

    coaps connect fdde:ad00:beef:0:9903:14b:27e0:5744
    Done
    coaps connected
    
  3. شغِّل الأمر 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.

  4. يمكنك تعديل هذا المرجع باستخدام الأمر 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.