Velxio: เครื่องมือจำลองบอร์ด Arduino, Raspberry Pi และ ESP32 แบบโอเพนซอร์ส สามารถติดตั้งใช้งานเองได้

Velxio Simulator เป็นเครื่องมือจำลองแบบโอเพนซอร์สที่สามารถติดตั้งใช้งานเอง สำหรับบอร์ด Arduino, ESP32 และ Raspberry Pi โดยทำงานได้โดยตรงผ่านเว็บเบราว์เซอร์ สามารถลากและวางบอร์ด (drag-and-drop) เชื่อมต่ออุปกรณ์และโมดูลต่าง ๆ เข้าด้วยกัน, เขียนและรันโค้ดได้ทั้งภาษา Arduino และ Python พร้อมใช้งาน Serial Console ได้ครบถ้วน โดยไม่จำเป็นต้องมีฮาร์ดแวร์จริง

ซึ่งได้แงบันดาลใจมาจาก Wokwi simulator และยังผสานการทำงานของตัวจำลองหลายส่วนจากโปรเจกต์ Wokwi อีกด้วย ไม่ว่าจะเป็น AVR8 CPU emulator, RP2040 emulator และ QEMU เวอร์ชันที่ปรับแต่งสำหรับการจำลอง ESP32 Xtensa แต่ความแตกต่างที่สำคัญคือ Velxio สามารถติดตั้งใช้งานเองได้ (self-hosted) แม้ว่าจะมี online demo ให้ทดลองใช้งานเช่นกัน

Velxio Arduino simulator
Velxio online demo

ปัจจุบัน Velxio รองรับอุปกรณ์เป้าหมาย ทั้งหมด 19 แบบ ครอบคลุม 5 สถาปัตยกรรม ได้แก่:

  • AVR8 (ATmega / ATtiny)
  • Arm Cortex-M0+ (Raspberry Pi RP2040)
  • RISC-V RV32IMC/EC (ESP32-C3 / CH32V003)
  • Xtensa LX6/LX7 (ESP32 / ESP32-S3 ผ่านQEMU)
  • Arm Cortex-A53 (Raspberry Pi 3 รัน Linux ผ่าน QEMU)

โปรเจกต์นี้ยังมีคอมโพเนนต์ให้ใช้งานทั้งหมด 48 รายการ โดยผู้พัฒนาระบุว่า ฟีเจอร์ที่เพิ่มเข้ามาเมื่อเทียบกับ Wokwi ได้แก่ ความสามารถในการใช้งานบอร์ดหลายประเภท (heterogeneous) ภายในวงจรเดียวกัน (เช่น Arduino สองบอร์ดเชื่อมต่อกันผ่าน SPI หรือ Serial, ESP32 ทำงานร่วมกับ Arduino, หรือ Raspberry Pi 3 ใช้ร่วมกับ Pico เป็นต้น) รวมถึงรองรับการจำลองแบบเต็มรูปแบบด้วย QEMU สำหรับ ESP32 และ Raspberry Pi 3

นอกจากการใช้งานผ่านเดโมออนไลน์แล้ว ผู้เขียนยังพบว่าสามารถติดตั้งบนเครื่อง Ubuntu 24.04 ได้อย่างง่ายดายด้วยคำสั่งเดียว (โดยสมมติว่ามีการติดตั้งและเปิดใช้งาน Docker ไว้เรียบร้อยแล้ว):


หลังจากการติดตั้งเสร็จสิ้น คุณสามารถเข้าถึงระบบผ่านเว็บเบราว์เซอร์ได้ โดยใช้ IP ภายในเครื่องบนพอร์ต 3080 (http://localhost:3080).

Self hosted Arduino ESP32 Raspberry Pi simlator

เมื่อคลิก “Try Simulator Free” ระบบจะพาคุณเข้าสู่หน้าตัวจำลองที่มีตัวอย่างโปรแกรมไฟกระพริบ (Blinky) สำหรับ Arduino UNO ถูกโหลดไว้ล่วงหน้า เหมือนกับภาพตัวอย่างด้านบนในบทความนี้ ซึ่งคุณสามารถคอมไพล์และรันเพื่อดูไฟ LED กระพริบได้ทันที นอกจากนี้เราได้เพิ่ม Raspberry Pi 3 และ Raspberry Pi Pico 2 W เข้าไปในแดชบอร์ด และทำการคอมไพล์ตัวอย่าง Blinky สำหรับบอร์ด Pico ได้สำเร็จอีกด้วย

Velxio multi board simulator

Raspberry Pi 3 สามารถสตาร์ตได้ แต่แม้จะรออยู่หลายนาที ก็ยังไม่สามารถเข้าถึง Serial Console และรันสคริปต์ตัวอย่าง Python และ Bash ได้ ซึ่งอาจเป็นเพราะระบบยังอยู่ในสถานะเบต้า

การเพิ่มคอมโพเนนต์หรือบอร์ดเพิ่มเติมทำได้ง่ายมาก เนื่องจากมีคำอธิบายครบถ้วน และคุณสามารถลากและวาง (drag-and-drop) อุปกรณ์ที่ต้องการไปยังตำแหน่งต่าง ๆ ก่อนเชื่อมต่อเข้ากับขา GPIO ของบอร์ดได้ทันที

Velxio add component others

ถ้ายังไม่ต้องการต่อวงจรด้วยตัวเองในตอนนี้ คุณสามารถไปที่ส่วนตัวอย่าง (Examples) เพื่อเลือกดูโปรเจกต์ตัวอย่างต่าง ๆ สำหรับบอร์ด Arduino, Raspberry Pi Pico หรือ ESP32 ได้เสมอ

Velxio ES32 Examples

เราได้ลองทดสอบตัวอย่างสำหรับ ESP32 ไปบางส่วน พบว่าสามารถโหลดโค้ดและไลบรารีที่จำเป็นได้ แต่การคอมไพล์ (build) กลับล้มเหลว:


และเมื่อทดลองทำแบบเดียวกันบนเดโมออนไลน์ ก็ยังล้มเหลวเช่นกัน โดยมีข้อความแสดงข้อผิดพลาดลักษณะคล้ายกัน แต่มีรายละเอียดมากกว่า


เราจึงตัดสินใจเลือกตัวอย่าง ESP32 ที่ง่ายกว่า (Blink LED) และครั้งนี้สามารถทำงานได้สำเร็จ

Velxio ESP32 Blink LED sample

Velxio เป็นโปรเจกต์ที่น่าสนใจมาก แม้ว่ายังมีงานที่ต้องปรับปรุงเพิ่มเติมเพื่อให้มีความเสถียรมากยิ่งขึ้น คุณสามารถดูซอร์สโค้ดและรายละเอียดทั้งหมดได้บน GitHub โค้ดถูกเผยแพร่ภายใต้รูปแบบไลเซนส์แบบคู่ (dual-licensing) โดยใช้ไลเซนส์ AGPLv3 สำหรับการใช้งานส่วนบุคคล การศึกษา และโปรเจกต์โอเพนซอร์ส และมีไลเซนส์เชิงพาณิชย์สำหรับผลิตภัณฑ์แบบ proprietary และซอฟต์แวร์แบบ closed-source หรือบริการ SaaS

แปลจากบทความ : Velxio is an open-source, self-hosted Arduino, Raspberry Pi, and ESP32

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