สีดํา BeagleBone

ดูซอร์สบน GitHub

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

ข้อกำหนดเกี่ยวกับฮาร์ดแวร์

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

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

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

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

sudo shutdown -r now

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

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

BeagleBone ไม่รู้จัก BBONE-GATEWAY-CAPE โดยค่าเริ่มต้นเนื่องจาก PIN ขัดแย้งกัน เพิ่มการกำหนดค่าด้วยตนเองโดยแก้ไข 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

สคริปต์การตั้งค่า Wi-Fi ของ BeagleBone จะพยายามใช้ Connman เพื่อเปิดใช้กิจกรรม Wi-Fi AP โดยค่าเริ่มต้น แก้ไขโฟลเดอร์การกำหนดค่าเริ่มต้นด้วยคำสั่ง 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 ไปยังสคริปต์การตั้งค่าในขั้นตอนถัดไปเพื่อใช้ Network Manager

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

ดูการสร้างและการกำหนดค่าสำหรับคำแนะนำเกี่ยวกับการสร้างและติดตั้ง OTBR