ซอฟต์แวร์ฝังตัว - Qt cross compile setup scripts for Raspberry Pi 4 ภาพหน้าจอของโปรแกรมคอมพิวเตอร์

การตั้งค่าคอมไพล์ข้าม Qt

สคริปต์สําหรับ Raspberry Pi 4

Prerequites

ฮาร์ดแวร์

โฮสต์ [PC / แล็ปท็อป]: เครื่อง x86 / x86_64 AMD / Intel ใด ๆ
เป้าหมาย [Raspberry Pi 4]: Raspberry Pi 4

ซอฟต์แวร์

โฮสต์: เครื่อง Linux ใด ๆ (Ubuntu 20.04 LTS ทดสอบ)
Target: Raspberry Pi 4 Linux 32-bit OS (ทดสอบ Raspbian Bullseye Lite)

โน้ต

ในพื้นหลังจะใช้ crosscompile toolchains สําหรับ Raspberry Pi จาก abhiTronix

### อื่นๆ ความต้องการด้านพื้นที่จัดเก็บและเวลา: ไดเรกทอรีบิลด์ใช้พื้นที่ประมาณ ~ 10GB และประมาณ 2-5 ชั่วโมงจึงจะเสร็จสมบูรณ์ (ขึ้นอยู่กับการพึ่งพาและข้อมูลจําเพาะของเครื่องโฮสต์) ระบบเครือข่าย: เครื่องเป้าหมายของคุณ (Raspberry Pi) และ Host Machine (ที่คุณรวบรวมข้าม) ทั้งคู่ต้องมีการเข้าถึงอินเทอร์เน็ตและต้องอยู่ในเครือข่ายเดียวกันเพื่อทําตามคําแนะนําเหล่านี้

ขั้นตอน/การตั้งค่าสําหรับ Target Machine (Raspberry Pi)

1. Start from Scratch (ไม่บังคับ)

สําคัญ

หากคุณเพิ่งนํา Raspberry Pi ใหม่มาหรือต้องการเริ่มต้นจากศูนย์เพียงทําตาม มิฉะนั้นหากคุณมีการตั้งค่า Raspberry Pi ทํางานและ Network Ready อยู่แล้วเพียงข้ามไปที่ขั้นตอนที่ 2

โน้ต

ส่วนนี้ถือว่าคุณมี atleast 10GB SDcard สําหรับการติดตั้งระบบปฏิบัติการ Raspbian (Stretch / Buster / Bullseye) และแล็ปท็อป / พีซีสําหรับการอัปโหลด

#### 1.1. ดาวน์โหลดโปรแกรมและเตรียมการ์ด SD - ดาวน์โหลด Raspbian (Bullseye) เวอร์ชันล่าสุดจาก ที่นี่ บนแล็ปท็อป / พีซีของคุณ - คุณจะต้องมีนักเขียนภาพเพื่อเขียนระบบปฏิบัติการที่ดาวน์โหลดลงในการ์ด SD (การ์ด micro SD ในกรณีของเรา) คุณสามารถใช้ Balena Etcher- ใส่การ์ด SD ลงในแล็ปท็อป / พีซีและเรียกใช้ตัวเขียนภาพ เมื่อเปิดแล้วให้เรียกดูและเลือกไฟล์ภาพ Raspbian ที่ดาวน์โหลดมา เลือกอุปกรณ์ที่ถูกต้องนั่นคือไดรฟ์ที่แสดงถึงการ์ด SD

โน้ต

หากไดรฟ์ (หรืออุปกรณ์) ที่เลือกแตกต่างจากการ์ด SD ไดรฟ์อื่นที่เลือกจะเสียหาย ดังนั้นโปรดระวัง!

- เมื่อเขียนเสร็จแล้วให้นําการ์ด SD ออกแล้วใส่ลงใน Raspberry Pi แล้วเปิดเครื่อง มันควรจะเริ่มต้นบูตขึ้น - โปรดจําไว้ว่าหลังจากบูต Pi อาจมีสถานการณ์เมื่อข้อมูลรับรองผู้ใช้เช่น "ชื่อผู้ใช้" และรหัสผ่านจะถูกถาม Raspberry Pi มาพร้อมกับชื่อผู้ใช้เริ่มต้น 'pi' และรหัสผ่าน 'raspberry' และใช้งานได้ทุกครั้งที่ถูกถาม

1.2 ตั้งค่าเครือข่าย

ตอนนี้คุณมี Raspberry Pi และทํางานแล้วถึงเวลาเชื่อมต่อเครือข่ายของคุณด้วยวิธีใดวิธีหนึ่งต่อไปนี้:

2. ตั้งค่า SSH

  • หากคุณมี Monitor: บนเทอร์มินัล Raspberry Pi ให้พิมพ์: 'sudo raspi-config' และเมนูควรปรากฏขึ้นบนเทอร์มินัลของคุณ หากต้องการเปิดใช้งาน SSH ให้ไปที่: 'ตัวเลือกการเชื่อมต่อ' -> 'SSH' -> 'ใช่' และคลิก 'ตกลง' เพื่อเปิดใช้งาน เลือก 'เสร็จสิ้น' ในที่สุดและออก

  • หากคุณไม่มี Monitor: หลังจากตั้งค่าเครือข่ายหากคุณไม่มีจอภาพหรือใช้งานจากระยะไกล จากนั้นเปิดใช้งาน SSH โดยเพียงแค่นําการ์ด SD ของคุณออกและเชื่อมต่อคอมพิวเตอร์ของคุณและเพียงแค่สร้างไฟล์เปล่าที่เรียกว่า 'ssh' ในเส้นทาง '/ boot / parition' ภายในการ์ด SD ตอนนี้ใส่การ์ด SD กลับเข้าไปใน Raspberry Pi

3. เปิดเทอร์มินัล

  • จากแล็ปท็อป/พีซีเครื่องอื่นที่ใช้ SSH: ในการเชื่อมต่อกับ Pi ของคุณจากคอมพิวเตอร์เครื่องอื่นให้คัดลอกและวางคําสั่งต่อไปนี้ลงในหน้าต่างเทอร์มินัล แต่แทนที่ '192.160.1.47' ด้วยที่อยู่ IP ของ Raspberry Pi
    ssh pi@192.168.1.47 
    มันจะขอรหัสผ่านและหากไม่เปลี่ยนแปลงจะเป็นค่าเริ่มต้น ('ราสเบอร์รี่') และใช้ทุกครั้งที่ถูกถาม

โน้ต

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

### 4. รับสคริปต์

เชื่อมต่อกับ Pi ของคุณด้วย ssh และดาวน์โหลดไฟล์ zip:

ssh pi@192.168.1.47

wget https://www.interelectronix.com/sites/default/files/scripts/qt-cross-compile-rpi4.zip
unzip qt-cross-compile-rpi4.zip
cd qt-cross-compile-rpi4

คุณยังสามารถดาวน์โหลดไฟล์ zip ผ่านเบราว์เซอร์จาก ที่นี่

ทําให้สคริปต์ qt-cross-compile-script-pi4.sh ปฏิบัติการและดําเนินการ:

sudo chmod +x qt-cross-compile-script-pi4.sh
sudo ./qt-cross-compile-script-pi4.sh
หลังจากติดตั้งแพ็คเกจที่จําเป็นทั้งหมดแล้วไดเรกทอรีที่จําเป็นจะถูกสร้างขึ้นและ symlinks จะถูกตั้งค่าอย่างถูกต้อง

สําคัญ

ตรวจสอบให้แน่ใจว่า Raspberry Pi ของคุณและเครื่องโฮสต์นี้ (ที่คุณรวบรวมข้าม) ต้องอยู่ในเครือข่ายเดียวกัน

ขั้นตอน/การตั้งค่าสําหรับ Host Machine (Linux Ubuntu)

สําหรับการทดสอบเราใช้เครื่องเสมือน (vmware) กับ Ubuntu 20.04 LTS เวอร์ชันที่สะอาด

1. ดาวน์โหลดไฟล์ ZIP

wget https://www.interelectronix.com/sites/default/files/scripts/qt-cross-compile-rpi4.zip
unzip qt-cross-compile-rpi4.zip
cd qt-cross-compile-rpi4

คุณยังสามารถดาวน์โหลดไฟล์ zip ผ่านเบราว์เซอร์จาก ที่นี่

2. ทําให้สคริปต์ qt-cross-compile-script-pi4.sh ปฏิบัติการและดําเนินการได้

chmod +x qt-cross-compile-script-host.sh

3. เปลี่ยนตัวแปรในสคริปต์

คุณต้องเปลี่ยนที่อยู่ IP (raspberry_ip) ของ Raspberry Pi ของคุณในสคริปต์และหากคุณเปลี่ยนผู้ใช้ (raspberry_user) และรหัสผ่าน (raspberry_pwd) ของราสเบอร์รี่

nano qt-cross-compile-script-host.sh

4. รันสคริปต์

sudo ./qt-cross-compile-script-host.sh

สคริปต์ดําเนินการดังต่อไปนี้:

  • ติดตั้งแพคเกจที่จําเป็นทั้งหมด
  • สร้างไดเรกทอรีที่จําเป็น ('~/RPI-QT')
  • ดาวน์โหลดและแยกแหล่ง Qt
  • แพทช์แหล่ง Qt
  • ดาวน์โหลดและแยกคอมไพเลอร์ข้าม
  • ไฟล์ rsync จาก Raspberry Pi
  • ดาวน์โหลด symlinker และตั้งค่า symlinks
  • กําหนดค่า Qt build
  • ทําและติดตั้ง Qt build
  • ไบนารี rsync Qt กับราสเบอร์รี่

ขั้นตอนสุดท้ายสําหรับเครื่องเป้าหมาย (Raspberry Pi)

อัปเดตตัวเชื่อมโยงบน Raspberry Pi

ป้อนคําสั่งต่อไปนี้เพื่ออัปเดตอุปกรณ์ที่อนุญาตให้ตัวเชื่อมโยงค้นหาไฟล์ไบนารี QT ใหม่:

echo /usr/local/qt5.15/lib | sudo tee /etc/ld.so.conf.d/qt5.15.conf
sudo ldconfig

กําหนดค่า Qt Creator สําหรับการคอมไพล์ข้าม

อ่านบล็อก การกําหนดค่า Qt-Creator บน Ubuntu 20 Lts สําหรับการรวบรวมข้ามสําหรับ การรวมไบนารีที่คอมไพล์แล้ว (โฟลเดอร์ '~/rpi-qt/qt5.15') ใน Qt Creator  

ใบอนุญาตลิขสิทธิ์

ลิขสิทธิ์ © 2022 Interelectronix e.K.
ซอร์สโค้ดของโครงการนี้ได้รับอนุญาตภายใต้ใบอนุญาต GPL-3.0

กิตติกรรมประกาศ