אימות היציאה

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

נדרש אימות בסיסי כדי לאמת יציאה מוצלחת של OpenThread אל דוגמה לפלטפורמת חומרה.

היערכות לפלטפורמת היעד

הדגמת גרסת build מוצלחת על ידי הידור של אפליקציית OpenThread לדוגמה לפלטפורמת היעד.

./script/build efr32mg12 -DBOARD=brd4161a

אינטראקציה עם ה-CLI

הדגמה של ביצוע מוצלח של OpenThread ויכולת UART על ידי אינטראקציה באמצעות ה-CLI.

פותחים טרמינל אל /dev/ttyACM0 (הגדרות היציאה הטורית: 115200 8-N-1). סוג help לרשימת הפקודות.

help
help
autostart
bufferinfo
...
version
whitelist

יצירת רשת בפרוטוקול Thread

הדגמה של מגבלות זמן לפרוטוקולים מוצלחות על ידי יצירת רשת פרוטוקול Thread ואימות הצומת עבר למצב Leader.

dataset init new
Done
dataset
Active Timestamp: 1
Channel: 13
Channel Mask: 07fff800
Ext PAN ID: d63e8e3e495ebbc3
Mesh Local Prefix: fd3d:b50b:f96d:722d/64
Network Key: dfd34f0f05cad978ec4e32b0413038ff
Network Name: OpenThread-8f28
PAN ID: 0x8f28
PSKc: c23a76e98f1a6483639b1ac1271e2e27
Security Policy: 0, onrcb
Done
dataset commit active
Done
ifconfig up
Done
thread start
Done

צריך לחכות כמה שניות...

state
leader
Done

צירוף צומת שני

הדגימו תקשורת רדיו מוצלחת על ידי חיבור צומת שני רשת פרוטוקול Thread חדשה, שמשתמשת באותו מפתח רשת פרוטוקול Thread ומזהה PAN מ- הצומת הראשון:

dataset networkkey dfd34f0f05cad978ec4e32b0413038ff
Done
dataset panid 0x8f28
Done
dataset commit active
Done
routerselectionjitter 1
Done
ifconfig up
Done
thread start
Done

צריך לחכות כמה שניות...

state
router
Done

פינג בין מכשירים

הדגמה של תקשורת מוצלחת בנתיב הנתונים על ידי שליחה/קבלה של ICMPv6 Echo הודעות בקשה/תגובה.

הצגת רשימה של כל כתובות ה-IPv6 של ה-Leader:

ipaddr
fdde:ad00:beef:0:0:ff:fe00:fc00
fdde:ad00:beef:0:0:ff:fe00:800
fdde:ad00:beef:0:5b:3bcd:deff:7786
fe80:0:0:0:6447:6e10:cf7:ee29
Done

שולחים פינג של ICMPv6 מ-Router לכתובת IPv6 של Mesh-Local EID של Leader:

ping fdde:ad00:beef:0:5b:3bcd:deff:7786
16 bytes from fdde:ad00:beef:0:5b:3bcd:deff:7786: icmp_seq=1 hlim=64 time=24ms

איפוס המכשיר ואימות צירוף מחדש

הדגמה של פונקציונליות שאינה תנודתית על ידי איפוס המכשיר ואימות חיבור מחדש לאותה רשת ללא התערבות של המשתמש.

התחלת רשת של פרוטוקול Thread:

dataset init new
Done
dataset
Active Timestamp: 1
Channel: 13
Channel Mask: 07fff800
Ext PAN ID: d63e8e3e495ebbc3
Mesh Local Prefix: fd3d:b50b:f96d:722d/64
Network Key: dfd34f0f05cad978ec4e32b0413038ff
Network Name: OpenThread-8f28
PAN ID: 0x8f28
PSKc: c23a76e98f1a6483639b1ac1271e2e27
Security Policy: 0, onrcb
Done
dataset commit active
Done
ifconfig up
Done
thread start
Done

ממתינים מספר שניות ומוודאים שמערך הנתונים הפעיל נשמר אחסון בלתי נדיף:

dataset active
Active Timestamp: 1
Channel: 13
Channel Mask: 07fff800
Ext PAN ID: d63e8e3e495ebbc3
Mesh Local Prefix: fd3d:b50b:f96d:722d/64
Network Key: dfd34f0f05cad978ec4e32b0413038ff
Network Name: OpenThread-8f28
PAN ID: 0x8f28
PSKc: c23a76e98f1a6483639b1ac1271e2e27
Security Policy: 0, onrcb
Done

מאפסים את המכשיר:

reset
ifconfig up
Done
thread start
Done

צריך להמתין מספר שניות ולוודא שהמכשיר חובר מחדש לרשת:

panid
0x8f28
Done
state
router
Done

אימות היצירה של מספרים אקראיים

הדגמה של יצירת מספרים אקראיים על ידי הרצת הפקודה factoryreset אימות של כתובת מורחבת חדשה ואקראית.

extaddr
a660421703f3fdc3
Done
factoryreset

צריך לחכות כמה שניות...

extaddr
9a8ed90715a5f7b6
Done