בדיקת הקישוריות למשאב של פרוטוקול אפליקציה מוגבל (CoAP) באמצעות OT CLI

הצגת המקור ב-GitHub

OpenThread מציעה גם פונקציונליות של שרת CoAP וגם פונקציונליות של לקוח, וכך לאפשר מכשירים להתחבר למשאבים בשרת CoAP ולצפות בכל משאב שינוי במצב הנוכחי. נציג CoAP שכלול ב-CLI יכול לפעול כלקוח או כשרת של CoAP.

פקודות CoAP

לרשימה של פקודות coap, מקלידים help:

coap help
help
cancel
delete
get
observe
parameters
post
put
resource
set
start
stop
Done

חומר עזר על פקודות ב-CLI

לקבלת תיאורים ותחביר של כל הפקודות, עיינו ב'חומר העזר בנושא פקודות ב-CLI'. הפקודות coap מתחילות בסדר אלפביתי עם ביטול קופי.

דוגמה לשימוש בשרת CoAP ובפקודת לקוח

בדוגמה הזו נעשה שימוש בפקודות CLI בסיסיות כדי להפעיל שרת ולקוח של CoAP, ליצור משאב בדיקה בשרת CoAP, ולקוח CoAP רוצה לקיים אינטראקציה עם המשאב. נתונים שנדגמו משמשים להמחשה.

הגדרת שרת CoAP

בצומת שרת CoAP, מבצעים את השלבים הבאים:

  1. הפעלת הנציג של CoAP.

    coap start
    Done
    
  2. יוצרים משאב לבדיקה.

    coap resource test-resource
    Done
    

הגדרת לקוח CoAP

בצומת הלקוח של CoAP, מבצעים את השלבים הבאים:

  1. כדי להפעיל את הנציג של CoAP:

    coap start
    Done
    
  2. מריצים את הפקודה get כדי לקבל מידע על המשאב:

    coap get fdde:ad00:beef:0:d395:daee:a75:3964 test-resource
    Done
    coap response from [fdde:ad00:beef:0:2780:9423:166c:1aac] with payload: 30
    

    החלק האחרון של השרת response הוא המונח with payload:, במעקב כל הבייטים של המטען הייעודי (payload) בפורמט של ספרה הקסדצימלית. לכן, בדוגמה, with payload: 30 מציין המטען הייעודי (Payload) הנוכחי של המשאב מוגדר ל- בייט אחד של פרטי מטען ייעודי (payload) עם ערך הקסדצימלי של 0x30. למידע נוסף על השימוש באפשרות payload, יש לעיין במאמר coap post.

  3. אפשר לשנות את המשאב באמצעות הפקודה put:

    coap put fdde:ad00:beef:0:2780:9423:166c:1aac test-resource con hellothere
    Done
    coap response from [fdde:ad00:beef:0:2780:9423:166c:1aac]
    

    בדוגמה הזו, המשמעות של con היא שאתם רוצים הודעה אמינה, שהתקבלו באמצעות הודעה לאישור (con), שתישלח לשרת CoAP. ברירת המחדל היא שליחת הודעה שאינה ניתנת לאישור (non-con).

    המחרוזת hellothere היא דוגמה לשימוש בפונקציה payload האופציונלית כאשר type הוא con או non-con." מידע נוסף זמין במאמר אמצעי שם.

    השרת מגיב בכתובת IPv6 שלו כדי לציין שהבקשה טופלה.

התשובות נשלחו לשרת CoAP

בשרת, הפלט מהדוגמה הזו יהיה דומה לדוגמה הבאה:

coap request from [fdde:ad00:beef:0:b3:e3f6:2dcc:4b79] GET
coap response sent
coap request from [fdde:ad00:beef:0:b3:e3f6:2dcc:4b79] PUT with payload: 68656c6c6f7468657265
coap response sent

הערך payload של 68656c6c6f7468657265 הוא המחרוזת hellothere שהומרה לרצף עם קוד ASCII.