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 รองรับอุปกรณ์เป้าหมาย ทั้งหมด 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 ไว้เรียบร้อยแล้ว):
|
1 |
jaufranc@CNX-LAPTOP-5:~/edev/sandbox$ sudo docker run -d -p 3080:80 ghcr.io/davidmonterocrespo24/velxio:master |
หลังจากการติดตั้งเสร็จสิ้น คุณสามารถเข้าถึงระบบผ่านเว็บเบราว์เซอร์ได้ โดยใช้ IP ภายในเครื่องบนพอร์ต 3080 (http://localhost:3080).
เมื่อคลิก “Try Simulator Free” ระบบจะพาคุณเข้าสู่หน้าตัวจำลองที่มีตัวอย่างโปรแกรมไฟกระพริบ (Blinky) สำหรับ Arduino UNO ถูกโหลดไว้ล่วงหน้า เหมือนกับภาพตัวอย่างด้านบนในบทความนี้ ซึ่งคุณสามารถคอมไพล์และรันเพื่อดูไฟ LED กระพริบได้ทันที นอกจากนี้เราได้เพิ่ม Raspberry Pi 3 และ Raspberry Pi Pico 2 W เข้าไปในแดชบอร์ด และทำการคอมไพล์ตัวอย่าง Blinky สำหรับบอร์ด Pico ได้สำเร็จอีกด้วย
Raspberry Pi 3 สามารถสตาร์ตได้ แต่แม้จะรออยู่หลายนาที ก็ยังไม่สามารถเข้าถึง Serial Console และรันสคริปต์ตัวอย่าง Python และ Bash ได้ ซึ่งอาจเป็นเพราะระบบยังอยู่ในสถานะเบต้า
การเพิ่มคอมโพเนนต์หรือบอร์ดเพิ่มเติมทำได้ง่ายมาก เนื่องจากมีคำอธิบายครบถ้วน และคุณสามารถลากและวาง (drag-and-drop) อุปกรณ์ที่ต้องการไปยังตำแหน่งต่าง ๆ ก่อนเชื่อมต่อเข้ากับขา GPIO ของบอร์ดได้ทันที
ถ้ายังไม่ต้องการต่อวงจรด้วยตัวเองในตอนนี้ คุณสามารถไปที่ส่วนตัวอย่าง (Examples) เพื่อเลือกดูโปรเจกต์ตัวอย่างต่าง ๆ สำหรับบอร์ด Arduino, Raspberry Pi Pico หรือ ESP32 ได้เสมอ
เราได้ลองทดสอบตัวอย่างสำหรับ ESP32 ไปบางส่วน พบว่าสามารถโหลดโค้ดและไลบรารีที่จำเป็นได้ แต่การคอมไพล์ (build) กลับล้มเหลว:
|
1 2 3 |
[1285/1297] Building C object esp-idf/libsodium/CMakeFiles/__idf_libsodium.dir/libsodium/src/libsodium/crypto_core/ed25519/ref10/ed25519_ref10.c.obj ninja: build stopped: subcommand failed. ✕ ESP-IDF build failed |
และเมื่อทดลองทำแบบเดียวกันบนเดโมออนไลน์ ก็ยังล้มเหลวเช่นกัน โดยมีข้อความแสดงข้อผิดพลาดลักษณะคล้ายกัน แต่มีรายละเอียดมากกว่า
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Bootloader binary size 0x4350 bytes. 0x2cb0 bytes (40%) free. ninja: build stopped: subcommand failed. CMake Deprecation Warning at /opt/esp-idf/tools/cmake/project.cmake:2 (cmake_minimum_required): Compatibility with CMake < 3.10 will be removed from a future version of CMake. Update the VERSION argument <min> value. Or, use the <min>...<max> syntax to tell CMake that the project requires at least <min> but has been updated to work with policies introduced by <max> or earlier. Call Stack (most recent call first): CMakeLists.txt:8 (include) fatal: not a git repository (or any of the parent directories): .git CMake Deprecation Warning at /opt/esp-idf/CMakeLists.txt:1 (cmake_minimum_required): ... |
เราจึงตัดสินใจเลือกตัวอย่าง ESP32 ที่ง่ายกว่า (Blink LED) และครั้งนี้สามารถทำงานได้สำเร็จ
แปลจากบทความ : Velxio is an open-source, self-hosted Arduino, Raspberry Pi, and ESP32

บรรณาธิการข่าวและบทความภาษาไทย CNX Software ได้มีความสนใจในด้านเทคโนโลยี โดยเฉพาะ Smart Home และ IoT






