הגדרת DUT של נתב גבול

לפני שממשיכים, מומלץ לעבור על הסדנה המקוונת בנושא חומרה של OpenThread, שבה מוסבר איך להגדיר את הסביבה ולהתקין את כל הכלים והתוכנות שנדרשים להפעלת לוח nRF52840 DK שמשמש במדריך הזה.

איך יוצרים OpenThread

  1. משכפלים את מאגר OpenThread ועוברים אל Thread Reference 2018-09-26 commit של הגרסה:
    git clone https://github.com/openthread/openthread
    cd openthread
    git checkout -b thread-reference-20180926
  2. מתקינים את GNU toolchain ויחסי תלות אחרים:
    ./script/bootstrap
  3. מבצעים build לדוגמה של nRF52840. המתג USB=1 מאפשר USB CDC ACM מקורי כהעברה טורית.
    make -f examples/Makefile-nRF52840 BORDER_AGENT=1 BORDER_ROUTER=1 COMMISSIONER=1 \
      DHCP6_CLIENT=1 DHCP6_SERVER=1 JOINER=1 MAC_FILTER=1 REFERENCE_DEVICE=1 \
      UDP_FORWARD=1 USB=1

הפעלת הפלאש וחיבור ה-NCP

OTBR Nordic Connection

במדריך Pre-Built NCP Firmware מפורטים השלבים Flash the nRF52840 ו-Connect the nRF52840. השלבים האלה מסבירים איך להפעיל את לוח nRF52840 DK כ-NCP ולחבר אותו ל-Raspberry Pi.

הוראות דומות מופיעות גם ב-OpenThread Hardware Codelab.

הגדרת Raspberry Pi

הוראות להתקנת מערכת ההפעלה ולהגדרת המכשיר מופיעות בשלב ההורדה וההתקנה של מערכת ההפעלה בדף הפלטפורמה של נתב הגבול Raspberry Pi 3B ‏ (RPi3B).

בנוסף להגדרה הרגילה של RPi3B, צריך להתקין את git וכמה כלי עזר מומלצים:

sudo apt-get install git screen tcpdump

הגדרה של OpenThread Border Router

  1. משכפלים את מאגר OpenThread Border Router ועוברים אל קומיט הגרסה Thread Certified 2018-08-19:
    git clone https://github.com/openthread/ot-br-posix
    cd ot-br-posix
    git checkout -b thread-br-certified-20180819
  2. יחסי תלות של התקנות:
    ./script/bootstrap
  3. מהדרים ומתקינים את OTBR ואת wpantund באמצעות קומיט האישור של OTBR עבור wpantund:
    WPANTUND_COMMIT=8c189c6 ./script/setup
  4. פותחים את /etc/wpantund.conf ומעדכנים את יציאת ה-UART עבור nRF52840 DK NCP:
    Config:NCP:SocketPath '/dev/ttyACM0'
  5. מפעילים מחדש את שירות wpantund:
    sudo service wpantund restart

הנתב של הגבול אמור להיות פעיל עכשיו. מידע נוסף על OTBR זמין במאמר OpenThread Border Router.