ตั้งค่า Qt Creator:
หลังจาก Compile Qt สำหรับใช้กับ Raspberry Pi เรียบร้อย เราก็จะได้ Environment ที่สามารถ Cross-compile Qt ได้ โดยการ Cross-compile จะเป็นการเขียนโปรแกรมบนเครื่อง PC แล้ว Deploy เอา Application ที่ Compile เสร็จแล้วไป Run บนบอร์ด Raspberry Pi ผ่านทาง LAN
หลังจาก Compile Qt สำหรับใช้กับ Raspberry Pi เรียบร้อย เราก็จะได้ Environment ที่สามารถ Cross-compile Qt ได้ โดยการ Cross-compile จะเป็นการเขียนโปรแกรมบนเครื่อง PC แล้ว Deploy เอา Application ที่ Compile เสร็จแล้วไป Run บนบอร์ด Raspberry Pi ผ่านทาง LAN

พิมพ์ >> sudo mount -o loop,offset=67108864 ~/opt/raspbian.img /mnt/rasp-pi-rootfs/
2. เปิดบอร์ด Raspberry Pi ให้พร้อมใช้งานและเชื่อมต่ออยู่ใน วง LAN เดียวกันกับเครื่อง PC
3. เปิด Qt Creator บน Ubuntu ขึ้นมา
4. ไปที่ Menu Tool >> options…
5. เลือกหัวข้อ Device ที่เมนูด้านซ้าย

6. คลิก Add เลือก Generic Linux Device แล้วคลิก Start wizard

- ตั้งชื่อ Device เป็น “Raspberry Pi”
- ตั้ง IP Address ไปที่บอร์ด RPi
- ใส่ Username สำหรับ Login เข้าบอร์ด โดยปกติจะเป็น “pi”
- ใส่ Password สำหรับ Login เข้าบอร์ด โดยปกติจะเป็น “raspberry”
- กด Next และ Finish

- ปรากฏหน้าต่าง Device Test “Device test finished successfully.”

7. เลือกหัวข้อ Build & Run ที่เมนูด้านซ้าย
- เลือกแท็บ Compilers

- คลิก Add เลือก GCC

- ตั้งชื่อ Compiler เป็น “Raspberry Pi Toolchain”
- เลือก Path Toolchain ไปที่ /home/tee/opt/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-g++
- คลิก Apply
8. เลือกแท็บ Qt Versions

- คลิก Add
- ตั้ง Path ไปที่ “/mnt/rasp-pi-rootfs/usr/local/qt5pi/bin/qmake”

- คลิก Apply
9. เลือกแท็บ Kits
- คลิก Add
- ตั้งชื่อเป็น “Qt 5.0 Raspberry Pi”
- เลือก Device Type เป็น Generic Linux Device
- และ Device จะเป็น Raspberry Pi

- ตั้ง sysroot ไปที่ /mnt/rasp-pi-rootfs
- ตั้ง Compiler เป็น Raspberry Pi Toolchain
- หัวข้อ Debug ให้ Add ใหม่
- ตั้งชื่อว่า “debugger”
- เลือก Path ไปที่ /home/tee/opt/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-gdb
- คลิก Apply
- กลับไปที่แท็บ Kits ตั้งหัวข้อ Debugger เป็น debugger (ที่พึ่ง Add เข้ามา)
- เลือก Qt version เป็น Qt 5.5.1 (qt5pi)
- คลิก OK

สร้าง Project และ Deploy:
!!! Note ก่อนจะใช้งาน Qt Cross-compile ต้อง Mount Image raspbian.img ก่อนทุกครั้ง
พิมพ์ >> sudo mount -o loop,offset=67108864 ~/opt/raspbian.img /mnt/rasp-pi-rootfs/
1. ไปที่เมนู File >> New File or Project…
2. Choose a template เลือก Application และ Qt Widgets Application
3. ตั้งชื่อและไดเรกทอรี่ที่เก็บ Project
4. Kit Selection เลือก Qt5 Raspberry Pi (จะเลือกทั้ง 2 อันก็ได้)

5. เมื่อสร้าง Project เรียบร้อยแล้ว ให้ไปที่ File .pro ของ Project

6. เพิ่ม Code ลงใน File .pro ดังนี้
target.path = /home/pi/deploy_qt
INSTALLS += target
target.path = /home/pi/deploy_qt
INSTALLS += target

7. ไปที่หน้า Design ทดลองสร้างหน้า UI โดยใช้ Widget LCD Number และ Dial

8. คลิกขวาที่ Widget Dial เลือก Go to slot…

9. เลือก signal เป็น valueChanged(int)

10. โปรแกรมจะสร้างฟังก์ชั่น
void MainWindow::on_dial_valueChanged(int value) ในไฟล์ mainwindows.cpp ขึ้นมาให้อัตโนมัติ
11. เขียนโปรแกรมเพื่อนำค่า Value จากการหมุน Dial มาแสดงผลยัง LCD Number โดยเพิ่ม Code ลงไปใน void MainWindow::on_dial_valueChanged(int value) ดังนี้
ui->lcdNumber->display(value);
void MainWindow::on_dial_valueChanged(int value) ในไฟล์ mainwindows.cpp ขึ้นมาให้อัตโนมัติ

11. เขียนโปรแกรมเพื่อนำค่า Value จากการหมุน Dial มาแสดงผลยัง LCD Number โดยเพิ่ม Code ลงไปใน void MainWindow::on_dial_valueChanged(int value) ดังนี้
ui->lcdNumber->display(value);

12. ทดลอง Deploy โปรแกรมขึ้นไป Run บนบอร์ด >> ผลที่ได้ ทำไม UI ไม่เหมือนที่ออกแบบบน PC ?!??


13. ตั้งค่า Project โดยไปที่เมนู Project

- เลือกแท็บ Run ของ Kit Qt 5 Raspberry Pi

14. เพิ่ม “-platform xcb” ลงในช่อง Arguments

15. Compile และ Deploy Program ไปยังบอร์ด Raspberry Pi โดยกดปุ่ม Play


ไม่มีความคิดเห็น:
แสดงความคิดเห็น