MECOOL VS-RK3399 เป็นบอร์ด rockchip ราคาประหยัดที่หาซื้อได้จาก AliExpress ในราคาต่ำกว่า $100 หรือ 3,000 บาท (ณ ตอนที่ผมซื้อ) ในชุดมีอุปกรณ์ครบตามภาพด้านล่าง ประกอบด้วย เคสอคริลิก อะแดปเตอร์ 12V เสาอากาศ รีโมท ได้ทุกอย่างครบชุดในราคานี้ถือว่าคุ้มมาก
ในส่วนของซอฟต์แวร์สำหรับบอร์ดนี้ก็ถือว่าไม่ลำบากนัก บอร์ดมาพร้อมกับ Android สำหรับ Smart TV สามารถรีวิวได้จาก CNX-Software (Part 1 และ Part 2)
แต่เป้าหมายสำหรับผม คือ การติดตั้ง ROS บนบอร์ดนี้ และพบว่ามันสามารถทำงานได้ดี ผมขอสรุปขั้นตอนดังนี้
การแฟลช Ubuntu 16.04
1. เราสามารถเข้าไปโหลด Ubuntu 16.04 image จากได้ MEGA ของ Videostrong ตามภาพ2. จากนั้นผมก็ทำตามขั้นการแฟลช Debian image จาก CNX-Software แต่แค่เปลี่ยนมาเป็น Ubuntu เท่านั้น ก่อนอื่นเราต้องโหลด upgrade_tool ก่อน จากนั้นก็แตกไฟล์ทั้ง upgrade_tool และ Ubuntu image ไปไว้ในโฟล์เดอร์เดียวกัน
3. เปิดใช้งานบอร์ดโดยการเสียบกับอแดปเตอร์ 12V ที่ได้มาในชุด ต่อจอ HDMI รวมทั้งเมาส์และคีย์บอร์ด จากนั้นต่อสาย USB type C to USB 3.0 ที่มากับชุดอยู่แล้วเข้ากับบอร์ด และ PC ของเรา จากนั้นกดปุ่ม recovery ค้างไว้ แล้วตามด้วยปุ่ม reset นับในใจ 1 2 3 แล้วปล่อยทุกปุ่ม บอร์ดก็จะเข้าสู่โหมดการแฟลช
4. ตรวจสอบว่า PC ของเราพบบอร์ดหรือยัง ด้วยคำสั่ง sudo ./upgrade_tool ซึ่งเราจะพบข้อความว่าพบบอร์ดแล้ว จากนั้นแฟลช Ubuntu ด้วยคำสั่ง upgrade_tool uf VS-RK3399-UbuntuOS20180306.img
การใช้งาน Ubuntu 16.04 และแก้ปัญหาเบื้องต้น
หลังจากแฟลชเรียบร้อยบอร์ดก็จะบูทเข้า Ubuntu 16.04 ดังภาพ เมื่อบูทมาเข้ามาก็อย่าตกใจว่าทำไมมีแต่หน้าจอโล่งๆ มันเป็นธีมของเขา น่าจะเป็น Xfce4 desktop ส่วนกล่องข้อความก็แค่แจ้งข้อผิดพลาดเกี่ยวกับ Bluetooth ซึ่งเรายังไม่ได้เปิดใช้งานวิธีการกำจัดกล่องข้อความตามภาพดา้นบน คือ 2 คำสั่งนี้
$ sudo chmod 4754 /usr/lib/dbus-1.0/dbus-daemon-launch-helper
$ sudo chown root:messagebus /usr/lib/dbus-1.0/dbus-daemon-launch-helper
เมนูการใช้งานจะซ่อนอยู่ในปุ่มเมาส์ขวา ลองคลิ๊กดูก็จะพบภาพนี้
ผมเชื่อมต่อ WiFi โดยการเข้าไปที่ Application->Settings->Network Connections ซึ่งมันไม่มี AP list เหมือนอย่างใน Ubuntu ปกติ เราต้อง Add แล้วเลือก WiFi และใส่ข้อมูลเอง ในแทบ WiFi ใส่ SSID เป็นชื่อ AP ของเรา ส่วน Device เลือกเป็น wlan0 ต่อมาแทบ WiFi Security เลือก WPA & WPA2 Personal และใส่ password สุดท้ายกดปุ่ม Save บอร์ดก็จะเข้า WiFi ทันที เมื่อเข้า WiFi ก็อย่าลืม sudo apt update และ sudo apt upgrade เพื่ออัพเดท Ubuntu ล่าสุดด้วย
ตรวจสอบทรัพยากรของเครื่องด้วย htop
$ sudo apt install htop
$ htop
เราจะพบว่าบอร์ดมี CPU จำนวน 6 คอร์ และมี RAM 4 GB ตรงตามสเปค ในรูปด้านล่างนี้ ว้าว!!
default user ของบอร์ดนี้ คือ videostrong โดยที่บอร์ดนี้ได้ตั้งค่า auto login ไว้ ซึ่งไม่ปลอดภัย อันดับแรกสุดเราต้องสร้าง root password ก่อน แล้วตามด้วยสร้าง sudo user ใหม่ขึ้นมาอีกอัน ด้วยคำสั่ง
$ su passwd
$ sudo adduser <username>
$ sudo usermod -aG sudo <username>
โดยที่ <username> คือชื่อที่เรากำหนด ในกรณีของผมคือ ubuntu จากนั้นแก้ไข auto login ดังนี้
$ sudo geany /etc/lightdm/lightdm.conf.d/12-autologin.conf
แล้วใส่เนื้อหาดังนี้
[SeatDefaults] autologin-user= #user-session=xfce4-session allow-guest=false
เราควรแก้ไข /etc/sudoers โดยให้ลบ NOPASSWD: ออกไปด้วย ถ้าพบข้อความนี้ sudo: /etc/sudoers.d is world writable ให้พิมพ์คำสั่ง
$ pkexec chmod 555 /etc/sudoers.d
$ pkexec chmod 555 /etc/sudoers.d/README
ควรแก้ไขชื่อเครื่องในไฟล์ /etc/hostname และ /etc/hosts ด้วย text editor อย่าง Geany ($sudo apt install geany) จาก videostrong เป็นชื่อที่เราจำได้ง่าย ของผมคือ turtlebot นั่นเอง
ผมพบความผิดปกติอย่างหนึ่งคืออยู่ๆก็ disk full จากการตรวจสอบด้วยคำสั่ง sudo du -sh * เริ่มจาก / พบว่าตัวปัญหา คือ ไฟล์ /var/log/cups/error_log ที่เพิ่มขนาดอย่างไม่ทราบสาเหตุ วิธีแก้คือ
$ sudo systemctl stop cups
$ sudo systemctl stop cups-browsed
$ sudo systemctl disable cups
$ sudo systemctl disable cups-browsed
$ sudo systemctl disable cups.socket cups.path cups.service
$ sudo systemctl stop cups.service
$ sudo rm /var/log/cups/error_log
การแก้ปัญหา panel ไม่ปรากฏ ก่อนอื่นเราต้องเลือกจอภาพให้ถูกก่อนจาก Settings->Display ในกรณีของผมคือจอที่ 2
จากนั้นก็ไปที่ Settings->Panel ตรงแทบ Dispaly ให้เลือก Output ให้ตรงกับจอภาพของเรา ของผมคือ Monitor 2
ในที่สุด Panel ก็จะแสดงขึ้นมาที่ด้านบนของ Desktop ทำให้ใช้งานสะดวกขึ้น ตามภาพ
การติดตั้ง ROS
การติดตั้ง ROS Kinetic บนบอร์ดนี้ก็ไม่ต่างกับติดตั้ง ROS บน Ubuntu ทั่วไป ผมขอสรุปคำสั่งดังนี้$ sudo c_rehash /etc/ssl/certs
$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
$ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
$ sudo apt-get update
$ sudo apt-get install ros-kinetic-desktop-full
$ sudo rosdep init
$ rosdep update
$ echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
$ source ~/.bashrc
$ sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential
สุดท้ายก็รันคำสั่ง roscore จะพบภาพด้านล่างนี้ มันแสดงให้เห็นว่าบอร์ดนี้ก็สามารถติดตั้ง ROS ได้ ส่วนการทดสอบขั้นต่อไปก็ คือ การนำไปงานใช้กับหุ่นยนต์จริง อย่างเช่น TurtleBot เป็นต้น
No comments:
Post a Comment