בדיקת הקישוריות למשאב של פרוטוקול אפליקציה מוגבל (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 cancel.

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

בדוגמה הזו נעשה שימוש בפקודות CLI בסיסיות ב-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 זמין בפוסט קו תחתון.

  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." למידע נוסף, קראו את המאמר coapput.

    השרת מגיב באמצעות כתובת ה-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.