BeagleBone Black

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

OpenThread Border Router‏ (OTBR) מספק תמיכה בפלטפורמה BeagleBone Black‏ (BBB).

דרישות החומרה:

  • מתאם מתח חיצוני של 5V לחשמל
  • כרטיס microSD בנפח 8GB ומעלה ('כרטיס uSD' במדריך הזה)
  • פלטפורמת OpenThread נתמכת (כמו TI CC2652) לחיבור לרשת Thread בתכנון RCP

השלבים להפעלה:

  1. מורידים ומתקינים את מערכת ההפעלה.
  2. הכנת סביבת Debian ל-OTBR
  3. (אופציונלי) מפעילים את ה-Wi-Fi.
  4. פיתוח והתקנה של OTBR

הורדה והתקנה של מערכת ההפעלה

  1. מורידים את התמונה העדכנית של Debian IoT ל-BeagleBone.
    • הגרסה שבה נעשה שימוש במדריך הזה הייתה bone-debian-10.3-iot-armhf-2020-04-06-4gb.img.xz
  2. מתקינים את קובץ האימג' של מערכת ההפעלה בכרטיס uSD לפי ההוראות במאמר מדריך למתחילים ב-BeagleBone.
  3. מפעילים את BeagleBone ומתחברים למכשיר באמצעות SSH.
    • מומלץ להתחבר דרך רשת מקומית מבוססת-אתרנט.
    • נשבית את סביבת הפיתוח המשולבת של cloud9 בהמשך המדריך.
    • במדריך הזה נסביר איך לשנות את המצב של ממשקי הרשת של BeagleBone. חשוב לדעת שסשן המעטפת המאובטחת עשוי להתנתק.
    • כברירת מחדל, מנהלי האתחול המודרניים של BeagleBone יפעלו מכרטיס ה-uSD, אבל חלק ממכשירי BeagleBone Black עשויים לנסות לבצע אתחול מה-eMMC הפנימי. במקרה כזה, חשוב ללחוץ על לחצן ה-BOOT.

מידע מפורט יותר על BeagleBone זמין בדף התמיכה של BeagleBoard.

הכנת סביבת Debian ל-OTBR

מערכת הקבצים של תמונת uSD BeagleBone מוגבלת ל-4GB להתאמה לרוב כרטיסי ה-uSD. מרחיבים את המחיצה כדי להשתמש בכל נפח האחסון.

sudo /opt/scripts/tools/grow_partition.sh

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

sudo shutdown -r now

הפעולה הזו תסגור את סשן ה-SSH. אחרי שתיכנסו שוב לחשבון, תוכלו לדלג אל החלק של יצירת קוד OTBR.

(אופציונלי) מפעילים את ה-Wi-Fi.

אחרי שנכנסים שוב ל-BeagleBone, מתקינים את Network Manager:

sudo apt-get update
sudo apt-get install network-manager

לאחר מכן משביתים את connman ומפעילים את network-manager:

sudo systemctl disable connman
sudo systemctl enable network-manager

אם נשתמש ב-stop ישירות כאן, זה יהיה הפסקה של סשן ה-SSH כי ממשק הרשת מנוהל על ידי קונמן. במקום זאת, אנחנו מגדירים את ההגדרות כך שייכנסו לתוקף בהפעלה הבאה. עכשיו צריך להפעיל מחדש את Beaglebone ולהתחבר מחדש.

sudo shutdown -r now

ייתכן שמנהל הרשתות לא הגדיר את שרתי השמות של ה-DNS. עורכים את resolv.conf באמצעות הפקודה sudo vim /etc/resolv.conf ומוודאים שהתוכן מכיל את ה-DNS של Google ואת ה-DNS של Cloudflare:

nameserver 8.8.8.8
nameserver 1.1.1.1

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

sudo shutdown -r now

מודול WiLink 8 לא רוצה לשנות את כתובת ה-MAC שלו בזמן הריצה. מנהל הרשתות ינסה לעשות זאת במהלך הסריקה. עורכים את NetworkManager.conf באמצעות הפקודה sudo vim /etc/NetworkManager/NetworkManager.conf ומוסיפים את השורות הבאות:

[device]
wifi.scan-rand-mac-address=no

ה-BBONE-GATEWAY-CAPE לא מזוהה על ידי BeagleBone כברירת מחדל בגלל התנגשויות בין פינים. כדי להוסיף את ההגדרות באופן ידני, עורכים את uEnv.txt באמצעות הפקודה sudo vim /boot/uEnv.txt ומוודאים שהשורות הבאות תואמות:

#Custom Cape
dtb_overlay=/lib/firmware/BB-GATEWAY-WL1837-00A0.dtbo
#
#Disable auto loading of virtual capes (emmc/video/wireless/adc)
disable_uboot_overlay_emmc=1
disable_uboot_overlay_video=1
disable_uboot_overlay_audio=1
disable_uboot_overlay_wireless=1
disable_uboot_overlay_adc=1

סקריפטים להגדרת wilink של BeagleBone מנסים להשתמש ב-connman כברירת מחדל כדי להפעיל את הפעילות של נקודת הגישה (AP) של Wi-Fi. עורכים את תיקיית ברירת המחדל של ההגדרות האישיות עם הפקודה sudo vim /etc/default/bb-wl18xx ומוודאים שהמשתנים הבאים תואמים:

TETHER_ENABLED=no
USE_CONNMAN_TETHER=no

מפעילים מחדש כדי לוודא ש-Network Manager יכול לראות את הממשק החדש.

sudo shutdown -r now

אחרי הכניסה מחדש, תוכלו להריץ את הפקודה ifconfig או nmcli כדי לראות את הממשק החדש של wlan.

אל תשכחו להעביר את האפשרויות NETWORK_MANAGER=1 ו-NETWORK_MANAGER_WIFI=1 לסקריפט ההגדרה בשלב הבא כדי להשתמש במנהל הרשת.

פיתוח והתקנה של OTBR

להוראות ליצירה ולהתקנה של OTBR, ראו יצירה והגדרה.