เฟิร์มแวร์ Melody Machine เปลี่ยน LILYGO T-LoRa Pager ให้เป็นเครื่องเล่น MP3 แบบพกพาและวิทยุอินเทอร์เน็ต

LILYGO T-LoRa Pager Melody Music
ภาพประกอบ: สำหรับการสาธิตจริง สามารถดูวิดีโอได้ที่ท้ายบทความ

Melody Machine เป็นเฟิร์มแวร์โอเพ่นซอร์สที่เปลี่ยนอุปกรณ์ LILYGO T-LoRa Pager ซึ่งใช้ชิป ESP32-S3 ให้กลายเป็นเครื่องเล่น MP3 แบบพกพาและวิทยุอินเทอร์เน็ต แทนการใช้งานเดิมที่เป็นเครื่องส่งข้อความผ่านเครือข่าย LoRa อย่าง Meshtastic หรือ Meshcore

จุดเด่นของเฟิร์มแวร์ Melody Machine:

  • อินเทอร์เฟซกราฟิก (GUI) ที่พัฒนาด้วย LVGL พร้อมธีมให้เลือก 4 แบบ
  • WiFi Manager — จัดการ WiFi แบบไม่บล็อกระบบ แสดงรายการเครือข่าย ใส่รหัสผ่านผ่านคีย์บอร์ดบนหน้าจอ และเชื่อมต่ออัตโนมัติ
  • เล่นไฟล์ MP3 จาก SD Card พร้อมตัวเลือก เรียกดูโฟลเดอร์, โหมดสุ่ม (Shuffle), เล่นซ้ำ (Repeat) และ เลื่อนตำแหน่งเพลง (Seek)
  • วิทยุอินเทอร์เน็ตผ่านไฟล์ M3U บน WiFi (รองรับ ICY metadata)
  • ฟังก์ชัน Seek — กรอเพลงย้อนหลัง/ไปข้างหน้า ด้วย rotary encoder (ครั้งละ ±5 วินาที)
  • การออกแบบแบบ Dual-core:
    • ถอดรหัส MP3 ทำงานบน Core 0 ผ่าน FreeRTOS
    • UI และ WiFi Manager ทำงานบน Core 1
  • การตั้งค่า — บันทึกเป็นไฟล์ JSON ใน SD Card ที่ /melody_machine/settings.json; ค่าคงอยู่แม้รีบูตหรือแฟลชเฟิร์มแวร์ใหม่
  • ปิดเครื่องอัตโนมัติ — ตั้งเวลาได้ตั้งแต่ 15 นาที ถึง 2 ชั่วโมง เมื่อไม่มีการใช้งาน
Melody Machine UI
โลโก้ขณะบูตเครื่อง
T LoRa Pager MP3 player
โหมดเครื่องเล่น MP3

ตัวหมุนแบบ Rotary Encoder และคีย์บอร์ดที่มีมาในตัว ช่วยให้ควบคุมการใช้งานได้อย่างหลากหลาย:

  • Rotary encoder
    • ใช้เลื่อนดูรายการ
    • กดปุ่มเพื่อ เข้าโฟลเดอร์ / เล่นเพลง / ยืนยันคำสั่ง
  • คีย์ลัดบนคีย์บอร์ด
    • Q / A – เพิ่ม/ลดระดับเสียง +5 / -5
    • W / D – เพลงก่อนหน้า / เพลงถัดไป
    • Space – เล่น / หยุดชั่วคราว
    • B/Backspace – หยุดเพลง · ย้อนกลับโฟลเดอร์ · ออกจากโหมด Seek
    • R – เปลี่ยนโหมดเล่นซ้ำ: ปิด → เล่นซ้ำเพลงเดียว → เล่นซ้ำทั้งหมด
    • H – เปิด/ปิดโหมดสุ่มเพลง (Shuffle)
    • N – เปิด/ปิดโหมด Seek (เฉพาะ MP3 ขณะเล่นหรือหยุดชั่วคราว)
    • S – เปิดหน้าการตั้งค่า (Settings)
    • S + H – จับภาพหน้าจอ (Screenshot) ลง SD Card
    • i – เปิดหน้าช่วยเหลือการควบคุม (Controls Help)

นอกจากนี้จะต้องคัดลอกไฟล์เพลงไปไว้ในโฟลเดอร์ mp3 และไฟล์เพลย์ลิสต์วิทยุอินเทอร์เน็ต (รูปแบบ M3U) ไปไว้ในโฟลเดอร์ m3u ด้วย:


ไฟล์ settings.json จะเก็บค่าการตั้งค่าต่าง ๆ จากแอปไว้ และคุณยังสามารถเพิ่มข้อมูล WiFi (ชื่อเครือข่ายและรหัสผ่าน) ลงในไฟล์นี้ได้โดยตรง แทนการพิมพ์ผ่านตัวเฟิร์มแวร์ขณะกำลังทำงาน


สามารถดูซอร์สโค้ด (Arduino) และเฟิร์มแวร์ที่คอมไพล์สำเร็จแล้วได้บน GitHub โดยสามารถแฟลชเฟิร์มแวร์ด้วย esptool หรือเรียกใช้สคริปต์ melody_flasher.py เพื่อเปิดโปรแกรม GUI สำหรับแฟลชเฟิร์มแวร์ก็ได้

Melody Machine Flasher

เช่นเดียวกับโปรเจกต์ซอฟต์แวร์ส่วนใหญ่ในปัจจุบัน Melody Machine ได้รับการพัฒนาด้วยความช่วยเหลือจาก AI โดยเฉพาะ Anthropic Claude อย่างไรก็ตาม เฟิร์มแวร์นี้สามารถใช้งานได้จริง ซึ่งสามารถดูได้จากวิดีโอสาธิตด้านล่างที่ใช้ Melody Machine เวอร์ชัน 0.1 (หมายเหตุ: ระดับเสียงในวิดีโอนั้นค่อนข้างเบา) ในเวอร์ชันล่าสุด v0.2 ได้มีการปรับปรุงให้ UI ลื่นไหลและคมชัดยิ่งขึ้น รวมถึงการควบคุมที่ดีขึ้น และในโปรเจกต์นี้ไม่ได้มีการใช้งานวิทยุ LoRa เลย

Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
โฆษณา