คู่มือใช้งานโครงการ “course-rpi-cm5-ai-starter” บน Raspberry Pi 5
โครงการ course-rpi-cm5-ai-starter สร้างขึ้นเพื่อช่วยให้ผู้เรียนหรือผู้พัฒนาสามารถตั้งค่า Raspberry Pi 5 สำหรับงาน AI/Computer Vision และงานควบคุม GPIO ได้อย่างรวดเร็ว มีสคริปต์สำหรับติดตั้งแพ็กเกจที่จำเป็น ตรวจสอบความพร้อมของฮาร์ดแวร์ และตัวอย่างการทำงานของกล้อง Camera Module 3 กับขา GPIO
วัตถุประสงค์หลักของโปรเจกต์
- เตรียมเครื่อง Raspberry Pi 5 ให้พร้อมใช้งานสำหรับงาน AI/IoT ภายในคำสั่งเดียว
- ตรวจสอบความเข้ากันได้ของฮาร์ดแวร์ (กล้อง, GPIO, ระบบปฏิบัติการ)
- มีตัวอย่างการถ่ายภาพ/วีดิทัศน์ด้วย Camera Module 3
- มีเทมเพลตควบคุม GPIO เช่น LED, ปุ่มกด, PWM สำหรับต่อยอดเป็นกิจกรรมหรือบทเรียน
ขั้นตอนการใช้งานแบบ Step-by-Step
1. เตรียมอุปกรณ์และระบบปฏิบัติการ
- จัดหาอุปกรณ์หลัก:
- Raspberry Pi 5 (แนะนำ RAM 4GB หรือ 8GB)
- Power Supply 27 W (ของแท้ Raspberry Pi)
- Raspberry Pi Camera Module 3
- microSD card (32GB หรือมากกว่านั้น)
- จอภาพ, คีย์บอร์ด, เมาส์, สาย Micro-HDMI → HDMI
- Breadboard, LED, ตัวต้านทาน 220Ω, ปุ่มกด ฯลฯ สำหรับทดลอง GPIO
- ดาวน์โหลด Raspberry Pi Imager และแฟลช Raspberry Pi OS (64-bit) ลง microSD card พร้อมตั้งค่า Wi-Fi, SSH, ภาษาผ่าน “Settings”
- บูตเข้า Raspberry Pi 5, อัปเดตระบบด้วย sudo apt update && sudo apt full-upgrade -y
- เปิดใช้งาน Camera, I2C, SPI ผ่าน sudo raspi-config → Interface Options
- รีบูตเครื่อง sudo reboot
> รายละเอียดการประกอบและตั้งค่าอุปกรณ์อยู่ในไฟล์ docs/hardware-setup.md และ docs/os-installation.md ภายในโปรเจกต์
2. โคลนและติดตั้งโครงการ
- ติดตั้ง Git หากยังไม่มี:
sudo apt install -y git
- โคลนรีโปจาก GitHub:
git clone https://github.com/pwd-vw/course-rpi-cm5-ai-starter.gitcd course-rpi-cm5-ai-starter
- รันสคริปต์ตั้งค่าแบบ One-click:
./scripts/initial-setup.sh
- สคริปต์จะติดตั้งแพ็กเกจ Python, OpenCV, Picamera2, GPIOZero, libcamera-apps ฯลฯ
- เปิดใช้งานอินเทอร์เฟซที่จำเป็นและสร้าง virtual environment พร้อมติดตั้ง dependencies จาก configs/requirements.txt
- เปิดใช้ virtual environment:
source .venv/bin/activate
3. ปรับแต่งคอนฟิกเพิ่มเติม
- คัดลอกไฟล์ตัวอย่าง
cp configs/config.yaml.example configs/config.yaml
- แก้ไข configs/config.yaml เพื่อกำหนดค่าต่าง ๆ เช่น ตำแหน่งบันทึกภาพ, หมายเลขขา LED/ปุ่ม, path สำหรับ log
- หากต้องใช้ตัวแปรลับ ให้สร้างไฟล์ .env แล้วโหลดด้วยไลบรารี python-dotenv
4. ตรวจสอบความพร้อมของฮาร์ดแวร์
ภายใต้ virtual environment รันคำสั่งต่อไปนี้:
- ตรวจสอบระบบโดยรวม:
python scripts/hardware_check.py
- แสดงผลสถานะฮาร์ดแวร์ พร้อมสรุปในรูป JSON เช่น รุ่นบอร์ด, เวอร์ชันเคอร์เนล, สถานะ /dev/video*, ไลบรารี Picamera2/GPIOZero ฯลฯ
- ทดสอบกล้องแบบรวดเร็ว:
python scripts/camera-test.py
- จะจับภาพนิ่งเรียกตามความละเอียดที่กำหนด (ค่าเริ่มต้น Full HD) แล้วบันทึกใน artifacts/captures/
- ทดสอบ LED Blink ผ่าน GPIO
python scripts/gpio-test.py
- ตรวจสอบการกะพริบ LED ดิจิทัลที่ขา BCM 18 (ปรับได้ด้วยออปชั่น --led-pin)
5. ทดลองตัวอย่างเพิ่มเติม
โฟลเดอร์ examples/ มีสคริปต์ให้ฝึกใช้งานจริง:
- examples/01-hello-camera/camera.py
โค้ด Hello World สำหรับ Picamera2 บันทึกภาพพื้นฐาน
- examples/button_capture.py
ใช้ปุ่มกด (BCM 23) เพื่อสั่งกล้องถ่ายภาพ
- examples/camera/capture_module3.py
ตั้งค่า HDR, Exposure, White Balance สำหรับ Camera Module 3
- examples/gpio/gpio_led.py, examples/gpio/pwm_led.py, examples/gpio/button_event.py
เทมเพลตสำหรับ LED, PWM, ปุ่มกด พร้อมคำอธิบายโครงสร้างเอกสารอธิบายแนวคิดและการต่อยอดสำหรับกล้องอ่านได้จาก docs/camera-module3-guide.md, ส่วน GPIO ดู docs/gpio-guide.md
แนวทางแก้ปัญหาเบื้องต้น
- หาก Picamera2 ไม่เจอโมดูล ให้ยืนยันว่า
sudo apt install python3-picamera2
- ทำงานสำเร็จ และใช้เวอร์ชัน Python จาก virtual environment
- หาก libcamera ไม่พบอุปกรณ์ ให้เช็กสายริบบิ้นและสถานะอินเทอร์เฟซด้วย
libcamera-hello --info-text
และ
vcgencmd get_camera
- หาก LED ไม่ติด ให้ตรวจดูการเดินสายและใช้คำสั่ง pinout เพื่อยืนยันหมายเลขขา
รายละเอียดการดีบักเพิ่มเติมอยู่ใน docs/troubleshooting.md
สรุป
โครงการนี้ช่วยลดเวลาในการเตรียม Raspberry Pi 5 ให้พร้อมสำหรับการทดลองด้านภาพและเซนเซอร์อย่างมาก ผู้ใช้เพียงทำตามขั้นตอนติดตั้ง OS, โคลนรีโป, รันสคริปต์ตั้งค่า และทดสอบสคริปต์ตัวอย่างก็สามารถเริ่มสร้างโปรเจกต์ AI/IoT ของตนเองได้ทันที หากต้องการขยายความสามารถก็สามารถศึกษาจากชุดเอกสารในโฟลเดอร์ docs และปรับแต่งคอนฟิกตามความต้องการได้เลย