Border Router ของ OpenThread (OTBR) รองรับแพลตฟอร์ม BeagleBone Black (BBB)
ข้อกำหนดของฮาร์ดแวร์
- อะแดปเตอร์ AC 5 โวลต์ภายนอกสำหรับจ่ายไฟ
- การ์ด microSD ขนาด 8 GB ขึ้นไป ("การ์ด uSD" ในคู่มือนี้)
- แพลตฟอร์ม OpenThread ที่รองรับ (เช่น TI CC2652) สำหรับการเชื่อมต่อเครือข่ายเทรดในการออกแบบ RCP
ขั้นตอนการเปิดใช้
- ดาวน์โหลดและติดตั้งระบบปฏิบัติการ
- เตรียมสภาพแวดล้อม Debian สำหรับ OTBR
- (ไม่บังคับ) เปิดใช้ Wi-Fi
- สร้างและติดตั้ง OTBR
ดาวน์โหลดและติดตั้งระบบปฏิบัติการ
- ดาวน์โหลดอิมเมจ Debian IoT เวอร์ชันล่าสุดสำหรับ BeagleBone
- เวอร์ชันที่ใช้สำหรับคู่มือนี้คือ
bone-debian-10.3-iot-armhf-2020-04-06-4gb.img.xz
- เวอร์ชันที่ใช้สำหรับคู่มือนี้คือ
- ติดตั้งอิมเมจระบบปฏิบัติการลงในการ์ด uSD โดยทําตามคู่มือการเริ่มต้นใช้งาน BeagleBone
- เปิดเครื่อง 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 ที่หัวข้อบิลด์และการกําหนดค่า