สีดํา BeagleBone

ดูซอร์สโค้ดใน GitHub

Border Router ของ OpenThread (OTBR) รองรับแพลตฟอร์ม BeagleBone Black (BBB)

ข้อกำหนดของฮาร์ดแวร์

  • อะแดปเตอร์ AC 5 โวลต์ภายนอกสำหรับจ่ายไฟ
  • การ์ด microSD ขนาด 8 GB ขึ้นไป ("การ์ด uSD" ในคู่มือนี้)
  • แพลตฟอร์ม OpenThread ที่รองรับ (เช่น TI CC2652) สำหรับการเชื่อมต่อเครือข่ายเทรดในการออกแบบ 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 ลงในอุปกรณ์
    • เราขอแนะนำให้เชื่อมต่อผ่านเครือข่ายอีเทอร์เน็ตในพื้นที่
    • เราจะปิดใช้ IDE ของ Cloud9 ในคู่มือนี้ในภายหลัง
    • คู่มือนี้จะเปลี่ยนสถานะของอินเทอร์เฟซเครือข่าย BeagleBone โปรดทราบว่าเซสชัน Secure Shell อาจตัดการเชื่อมต่อ
    • บูตโหลดเดอร์ BeagleBone สมัยใหม่จะทำงานจากการ์ด uSD โดยค่าเริ่มต้น แต่อุปกรณ์ BeagleBone Black บางรุ่นอาจพยายามบูตจาก eMMC ภายใน อย่าลืมกดปุ่ม BOOT ในกรณีนี้

สำหรับข้อมูลโดยละเอียดเพิ่มเติมเกี่ยวกับ BeagleBone โปรดดูหน้าการสนับสนุนของ BeagleBoard

เตรียมสภาพแวดล้อม Debian สำหรับ OTBR

ระบบไฟล์สำหรับอิมเมจ BeagleBone ของ uSD จำกัดไว้ที่ 4 GB เพื่อให้พอดีกับการ์ด 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 connman โดยตรงที่นี่ เซสชัน SSH จะหยุดทำงานเนื่องจากอินเทอร์เฟซเครือข่ายได้รับการจัดการโดย connman แต่เราจะกำหนดค่าระบบให้มีผลในการบูตครั้งถัดไปแทน จากนั้นรีบูต Beaglebone และลงชื่อเข้าใช้อีกครั้ง

sudo shutdown -r now

เครื่องมือจัดการเครือข่ายอาจไม่ได้ตั้งค่าเนมเซิร์ฟเวอร์ DNS แก้ไข resolv.conf ด้วยคําสั่ง sudo vim /etc/resolv.conf และตรวจสอบว่าเนื้อหามี DNS ของ Google และ Cloudflare ดังนี้

nameserver 8.8.8.8
nameserver 1.1.1.1

รีสตาร์ทเพื่อให้แน่ใจว่าได้ตั้งค่า Network Manager อย่างถูกต้อง

sudo shutdown -r now

โมดูล WiLink 8 ไม่ต้องการให้เปลี่ยนที่อยู่ MAC ในระหว่างรันไทม์ Network Manager จะพยายามดำเนินการนี้เมื่อสแกน แก้ไข NetworkManager.conf ด้วยคำสั่ง sudo vim /etc/NetworkManager/NetworkManager.conf และเพิ่มบรรทัดด้านล่าง

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

BeagleBone ไม่รู้จัก BBONE-GATEWAY-CAPE โดยค่าเริ่มต้นเนื่องจากมีความขัดแย้งของพิน เพิ่มการกําหนดค่าด้วยตนเองโดยการแก้ไข 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 ไปยังสคริปต์การตั้งค่าในขั้นตอนถัดไปเพื่อใช้ NetworkManager

สร้างและติดตั้ง OTBR

โปรดดูวิธีการสร้างและติดตั้ง OTBR ที่หัวข้อบิลด์และการกําหนดค่า