2018-02-19-092100_800x480_scrot.png

บทความนี้เขียนไว้นานรอคิวขึ้นบล๊อค ล่าสุดมี PR (Pull Request) เพิ่มคำสั่งช่วยติดตั้ง สะดวกกว่าวิธีในบทความนี้ครับ

เคยเขียนถึง @gartnera/headunit เป็น headunit สำหรับ MZD Connect อยู่หลายครั้ง [1,2,3,4,5] บทความนี้เขียนถึงซอฟต์แวร์ headunit อีกตัว เราเรียกว่าเป็น Android Auto Emulator คือโปรแกรมจำลองการทำงาน Android Auto

โปรแกรม OpenAuto ทำงานเป็น headunit บน RPI3  เป็นโปรแกรมเปิดเผยซอสโค้ด แจกจ่ายฟรี ในเงื่อนไข GNU GPLv3

OpenAuto พัฒนาโดย f1xpl ให้ทำงานได้ดีกับ Raspbery PI3 มีใช้ไลบรารี่สั่งงานฮาร์ดแวร์เร่งความเร็วกราฟฟิกที่มีอยู่ใน raspberry pi3(RPI3) ทำให้ ซอฟต์แวร์แสดงผลความละเอียดสูงสุดได้ 1080p ที่ 60fps นักพัฒนาได้ทดสอบกับ touch screen 7″ ของ Raspbery PI

 2561-02-21 at 21.08.36.jpg

บทความนี้มีส่วนที่แตกต่างจากเว็บหลักคือใช้จอ 5inch capacitive touch screen 800×480 ได้จากเว็บไซต์ออนไลน์ ราคา  1,416.02บ.($44.79 USD) ช่วยยืนยันได้ว่าจอสัมผัสจากจีนใช้งานได้กับ OpenAuto ได้ด้วย โดยไม่ต้องติดตั้งไดร์เวอร์เพิ่ม ทำขั้นตอนด้านล่าง

  1. ต่อ HDMI และ USB เข้ากับ PI3
  2. เซต /boot/config.txt ตามคู่มือจอ
  3. ใช้ raspi-config เซต resolution

กุญแจสำคัญที่ทำให้ OpenAuto  ตอบสนองเร็ว คือรันบน QT5, Broadcom ilclient และ OpenMAX IL API

ฮาร์ดแวร์

  • Raspberry PI3
  • 5inch capacitive touch screen 800×480

คุณสมบัติ

  • ความละเอียด 480p, 720p และ 1080p อัตรารีเฟรช 30 หรือ 60 FPS
  • รองรับชิพเร่งความเร็วกราฟฟิกถอดระหัสภาพวีดีโอใน RaspberryPI 3
  • ต่อ TV ผ่าน HDMI ได้ แสดงผลได้ความละเอียดสูง 1080p
  • รองรับทุกช่องสัญญาณเสียง (Media, System และ Speech)
  • รับอินพุดคำสั่งเสียง (External sound card)
  • รองรับจอสัมผัสและปุ่มกด
  • รองรับบลูทูธ (ผู้เขียนทดสอบไม่ผ่าน)
  • เปิดโปรแกรมอัตโนมัติเมื่อเสียบสาย (ใช้ udev)

ตัวอย่าง

ขั้นตอนติดตั้ง

คู่มือละเอียดอยู่ที่ Build-instructions โปรแกรมส่วนใหญ่ติดตั้งได้ด้วย apt ยกเว้น aasdk และ openauto 

บทความนี้ตอบคำถามสำคัญสองเรื่อง

1) ทำได้หรือไม่ ตอบ ทำได้
2) ทำอย่างไร ตอบ มีคำแนะนำในปัญหาสำคัญเช่น การติดตั้ง prerequisite , การ build cmake แต่การแก้ปัญหาที่พบระหว่างทาง ผู้อ่านจำเป็นต้องทำด้วยตนเอง

หากต้องการส่งเสริมให้เป็นประโยชน์สามารถส่งถึงผู้เขียนเพื่อปรับปรุงบทความได้

sudo apt-get install -y libboost-all-dev libusb-1.0.0-dev libssl-dev cmake libprotobuf-dev protobuf-c-compiler protobuf-compiler

sudo apt-get install -y libqt5multimedia5 libqt5multimedia5-plugins libqt5multimediawidgets5 qtmultimedia5-dev libqt5bluetooth5 libqt5bluetooth5-bin qtconnectivity5-dev pulseaudio

cd /opt/vc/src/hello_pi/libs/ilclient
sudo make

sudo git clone -b master https://github.com/f1xpl/aasdk.git
sudo mkdir aasdk_build
cd aasdk_build
sudo cmake -DCMAKE_BUILD_TYPE=Release ../aasdk
sudo make

cd ..
sudo git clone -b master https://github.com/f1xpl/openauto.git
sudo mkdir openauto_build
cd openauto_build

sudo cmake -DCMAKE_BUILD_TYPE=Release -DRPI3_BUILD=TRUE -DAASDK_INCLUDE_DIRS="/opt/vc/src/hello_pi/libs/ilclient/aasdk/include" -DAASDK_LIBRARIES="/opt/vc/src/hello_pi/libs/ilclient/aasdk/lib/libaasdk.so" -DAASDK_PROTO_INCLUDE_DIRS="/opt/vc/src/hello_pi/libs/ilclient/aasdk_build" -DAASDK_PROTO_LIBRARIES="/opt/vc/src/hello_pi/libs/ilclient/aasdk/lib/libaasdk_proto.a" ../openauto

sudo make

cd ../openauto/bin

ใช้คำสั่ง sudo ./autoapp รันบนสภาพแวดล้อม x-window

ทำให้รันโปรแกรมหลังบูท

ใช้ raspi-config เซตให้เริ่มต้น gui และล๊ออินอัตโนมัติ หลังจากนั้นแก้ไฟล์ /home/pi/.config/lxsession/LXDE-pi/autostart เพิ่มคำสั่ง อยู่ท้ายไฟล์

  • /home/pi/openauto/oepnapp.sh
#!/bin/sh
cd /opt/vc/src/hello_pi/libs/ilclient/openauto/bin/
sudo ./autoapp

chmod +x /home/pi/openauto/oepnapp.sh

@/home/pi/openauto/openapp.sh

ตัวอย่าง
* /home/pi/.config/lxsession/LXDE-pi/autostart

@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@xscreensaver -no-splash
@point-rpi
@/home/pi/openauto/openapp.sh

IMG_0500.JPG

วิธีเซตบลูทูธ

http://youness.net/raspberry-pi/how-to-connect-bluetooth-headset-or-speaker-to-raspberry-pi-3

ปัญหาที่พบ

 

Advertisements