พัฒนาเฟิร์มแวร์ร่วมกับ TESA Digital Twin บน VS Code
หลักสูตรเชิงปฏิบัติการพัฒนา ตรวจสอบ และทดสอบเฟิร์มแวร์ Edge AI ร่วมกับ Digital Twin บน VS Code (Bitstream Studio): จำลองอุปกรณ์ เซ็นเซอร์ พฤติกรรม ท่อข้อมูล และการเชื่อมต่อคลาวด์ เพื่อลดการพึ่งฮาร์ดแวร์จริงในช่วงพัฒนา
เนื้อหาต้นฉบับโดย ผศ.ดร.สันติ นุราช ภาควิชาวิศวกรรมระบบควบคุมและเครื่องมือวัด คณะวิศวกรรมศาสตร์ มหาวิทยาลัยเทคโนโลยีพระจอมเกล้าธนบุรี (KMUTT) (https://github.com/drsanti) ภายใต้การสนับสนุนของสมาคมสมองกลฝังตัวไทย (TESA) · นำเข้าจาก drsanti/TESAIoT-Courses — C2 (commit
287c218) ภายใต้สัญญาอนุญาต CC BY 4.0
| ระดับ | L3 · ทำได้เอง |
| สถานะ | alpha (เนื้อหานำเข้าแล้ว กำลังทบทวน) |
| เวลาโดยประมาณ | ~18 ชั่วโมง (รวมเวลาของโมดูลตามต้นฉบับ) |
| ฮาร์ดแวร์ | ทำได้ด้วยโหมด Simulator ของ Bitstream Studio (ถ้ามี extension) หรือบอร์ด TESAIoT PSoC Edge DevKit |
| เหมาะกับ | นักพัฒนา · นักศึกษา · ผู้สอน |
| ภาษา | ไทย คำศัพท์เทคนิคเป็นภาษาอังกฤษ หัวข้อในบทเรียนเป็นภาษาอังกฤษตามต้นฉบับ · ฉบับภาษาอังกฤษของบทเรียนยังรอแปล |
หลักสูตรนี้สำหรับใคร
หัวข้อที่มีชื่อว่า “หลักสูตรนี้สำหรับใคร”นักพัฒนาเฟิร์มแวร์ที่ผ่านหลักสูตร 1 หรือมีพื้นฐาน C / MCU / MQTT เทียบเท่า และอยากทดสอบเฟิร์มแวร์กับอุปกรณ์จำลองก่อนหรือระหว่างใช้บอร์ดจริง
ก่อนเรียน
หัวข้อที่มีชื่อว่า “ก่อนเรียน”- ผ่านหลักสูตร 1 หรือมีพื้นฐาน C / MCU / MQTT เทียบเท่า (ต้นฉบับแนะนำ ไม่บังคับ)
สิ่งที่ต้องมี
หัวข้อที่มีชื่อว่า “สิ่งที่ต้องมี”- Visual Studio Code 1.75 ขึ้นไป (Bitstream Studio ประกาศ engine
^1.75.0; README ของแพ็กแล็บแนะนำ 1.85+) หรือ Cursor - Bitstream Studio (VS Marketplace เวอร์ชัน 0.2.2 เมื่อ 26 ก.ย. 2026) หรือไฟล์ VSIX จาก
vsix/ของ TESAIoT_Hackathon ที่คู่กับ HEX - Bitstream Simulator สำหรับโหมดไม่มีบอร์ด: ต้นฉบับและ README ของแพ็กแล็บเรียกว่าเป็น extension แยก แต่เมื่อ 26 ก.ย. 2026 ยังไม่พบใน VS Marketplace และไม่พบใน
vsix/ของ TESAIoT_Hackathon ถ้าหาไม่ได้ ให้ใช้เส้นทาง Bitstream (บอร์ดจริง) ในแล็บที่เปิดให้เลือก - บอร์ด TESAIoT PSoC Edge DevKit + HEX
tesaiot-bitstream-<version>.hexจาก TESAIoT_Hackathon สำหรับเส้นทาง Bitstream (UART 921600 baud) - web-app ตัวอย่าง
ex01–ex17ในโฟลเดอร์web-app/ของ TESAIoT_Hackathon - Blender 4.5 (ลิงก์คู่มือในบทเรียนตรึงไว้ที่ 4.5) สำหรับส่วน Twin 3D ในโมดูล 3
- ไฟล์
.vsixและตัวติดตั้งใน TESAIoT_Hackathon เก็บด้วย Git LFS ถ้าgit cloneให้ติดตั้งgit-lfsก่อน หรือดาวน์โหลดทีละไฟล์จากหน้าเว็บ GitHub
รุ่นและเวอร์ชันทั้งหมดบันทึกไว้ในช่อง toolchain ของ course.yaml
ผลลัพธ์การเรียนรู้
หัวข้อที่มีชื่อว่า “ผลลัพธ์การเรียนรู้”เมื่อจบหลักสูตร คุณจะ:
- อธิบายสถาปัตยกรรม Digital Twin และตัดสินใจได้ว่าเมื่อไรใช้ Twin/Simulator และเมื่อไรต้องยืนยันบนบอร์ดจริง
- ติดตั้งและใช้ Bitstream Studio บน VS Code เปิดเซสชัน Simulator หรือ Bitstream (UART) ได้ซ้ำ
- สร้าง Virtual Device ที่มีเซ็นเซอร์ behavior และ event script ที่รันซ้ำได้
- พิสูจน์ I/O ระหว่างเฟิร์มแวร์กับ Twin วัด latency และแยกปัญหาทีละชั้น
- ออกแบบท่อ telemetry และ MQTT pub/sub แล้วทดลอง fault injection ภายใต้เงื่อนไขที่ควบคุมได้
- ทดสอบระบบแบบ end-to-end ด้วยตารางเทสอย่างน้อย 3 เคส และส่งมอบ README ที่รันซ้ำได้
| # | โมดูล | บทเรียน | แล็บ | เวลาตามต้นฉบับ |
|---|---|---|---|---|
| 1 | สถาปัตยกรรม Digital Twin | Virtual Device, Digital Twin และโลกของเฟิร์มแวร์จริง | แล็บ | ประมาณ 2 ชั่วโมง (บทเรียน) + แล็บ 30–45 นาที |
| 2 | VS Code สำหรับพัฒนาร่วมกับ Twin | ตั้งโฮสต์ Twin ใน VS Code ด้วย Bitstream Studio | แล็บ | ประมาณ 3 ชั่วโมง (บทเรียน) + แล็บ 2–3 ชั่วโมง (รวมติดตั้ง) |
| 3 | การสร้างแบบจำลองอุปกรณ์เสมือน (+ Blender สำหรับ Twin 3D) | Virtual Device, behavior, event script และโมเดล 3D สำหรับ Twin | แล็บ | ประมาณ 4–5 ชั่วโมง (บทเรียน) + แล็บ 3–3.5 ชั่วโมง (+ 1–1.5 ชั่วโมงถ้าทำ Lab E Blender) |
| 4 | Co-simulation ระหว่างเฟิร์มแวร์กับ Twin | Co-simulation: พิสูจน์ I/O วัด latency และแยกปัญหา | แล็บ | ประมาณ 3 ชั่วโมง (บทเรียน) + แล็บ 2.5–3 ชั่วโมง |
| 5 | Telemetry และการจำลองคลาวด์ | ท่อ telemetry, MQTT บน Twin และ fault injection | แล็บ | ประมาณ 4 ชั่วโมง (บทเรียน) + แล็บ 3.5–4 ชั่วโมง |
| 6 | การรวมระบบและการทดสอบ | ทดสอบ end-to-end บน Digital Twin | แล็บ | ประมาณ 2 ชั่วโมง (บทเรียน) + แล็บ ~2 ชั่วโมง + เวลาเพิ่มสำหรับ README และหลักฐาน |
วิธีเรียน
หัวข้อที่มีชื่อว่า “วิธีเรียน”- อ่านบทเรียนแล้วทำแล็บของแต่ละโมดูลตามลำดับ 1 → 6
- ใช้ worksheet และ checklist ใน
resources/ตอนตั้ง Twin และเก็บหลักฐาน - โฮสต์หลักคือ Bitstream Studio ติดตั้งจาก Marketplace หรือแพ็กแล็บ
- หลักสูตรนี้โฟกัส Firmware ↔ Twin ↔ Cloud ไม่ทบทวน GPIO / RTOS ทั้งหมดซ้ำ แต่จะลิงก์กลับไปหลักสูตร 1 เมื่อจำเป็น
ต้นฉบับเขียนขึ้นเพื่อการอบรมแบบมีผู้สอน ถ้อยคำในบทเรียนปรับให้เรียนด้วยตัวเองได้แล้ว แต่ค่าที่ขึ้นกับเครื่องของคุณ (Wi-Fi, broker, พอร์ต COM, เวอร์ชัน HEX) ยังต้องตั้งเอง ให้เริ่มจากค่าที่บทเรียนให้ไว้ (เช่น baud 921600 หรือ broker ใน Bitstream Studio) แล้วดูเอกสารของเครื่องมือประกอบ ในเนื้อหาจะเห็นคำว่า Course 1 / Course 2 / Course 3 และรหัส M01–M08 ตามต้นฉบับ: Course 1 คือหลักสูตร TESA Firmware SDK สำหรับ Edge AI, Course 2 คือหลักสูตร Digital Twin และ Course 3 คือหลักสูตรการออกแบบผลิตภัณฑ์ ส่วน M0N คือโมดูลที่ N
ลำดับที่แนะนำระหว่างสามหลักสูตร
หัวข้อที่มีชื่อว่า “ลำดับที่แนะนำระหว่างสามหลักสูตร”ต้นฉบับแนะนำให้เรียนตามลำดับนี้:
หลักสูตร 1 TESA Firmware SDK สำหรับ Edge AI เฟิร์มแวร์บนบอร์ด │ ▼หลักสูตร 2 พัฒนาเฟิร์มแวร์ร่วมกับ Digital Twin เฟิร์มแวร์ ↔ Digital Twin ↔ คลาวด์ │ ▼หลักสูตร 3 การออกแบบผลิตภัณฑ์เชิงอุตสาหกรรม ออกแบบผลิตภัณฑ์ → Twin → ต้นแบบจริงถ้าต้องการแค่งานออกแบบใน Blender เริ่มโมดูล 1–3 ของหลักสูตร 3 ก่อนได้ ส่วนแล็บที่ใช้ Twin จะง่ายขึ้นมากหลังเรียนหลักสูตร 2
- หลักสูตร 1: TESA Firmware SDK สำหรับ Edge AI
- หลักสูตร 2: พัฒนาเฟิร์มแวร์ร่วมกับ TESA Digital Twin บน VS Code
- หลักสูตร 3: การออกแบบผลิตภัณฑ์เชิงอุตสาหกรรม (Blender และ Digital Twin)
ที่มาและสัญญาอนุญาต
หัวข้อที่มีชื่อว่า “ที่มาและสัญญาอนุญาต”เนื้อหาหลักสูตรนี้นำเข้าจาก drsanti/TESAIoT-Courses โฟลเดอร์ C2/ ที่ commit 287c218 งานต้นฉบับได้รับทุนจากสมาคมสมองกลฝังตัวไทย (TESA) ซึ่งเป็นผู้ถือสิทธิ์ และเผยแพร่ที่นี่ภายใต้ CC BY-NC 4.0 TESA Open Knowledge คงข้อความสอนของผู้เขียนไว้ตามเดิม สิ่งที่เพิ่มคือโครงสร้างโมดูล/บทเรียน front matter คำถามเช็กความเข้าใจ หมายเหตุเรื่องเฟิร์มแวร์และเครื่องมือ การแก้ลิงก์ให้ตรงโครงสร้างใหม่ และการปรับถ้อยคำที่ผูกกับการอบรมในห้องเรียน (เช่น รอบอบรม คะแนน) ให้เหมาะกับการเรียนแบบเปิด เครื่องมือและเอกสารของบุคคลที่สาม (Infineon, Blender, ระบบนิเวศ MQTT ฯลฯ) อยู่ภายใต้สัญญาอนุญาตของเจ้าของแต่ละราย
อ้างอิง TESA
หัวข้อที่มีชื่อว่า “อ้างอิง TESA”ถ้าคุณนำเนื้อหาหลักสูตรนี้ไปใช้ต่อ ไม่ว่าจะเป็นสไลด์ เอกสารประกอบการสอน มคอ.3 เอกสารแจก หรือ repo โค้ด โปรดอ้างอิงด้วยข้อความนี้:
“พัฒนาเฟิร์มแวร์ร่วมกับ TESA Digital Twin บน VS Code” จาก TESA Open Knowledge โดยสมาคมสมองกลฝังตัวไทย (Thai Embedded Systems Association: TESA) https://github.com/tesaiot/tesa-qualification-program สัญญาอนุญาต CC BY-NC 4.0
ถ้าคุณดัดแปลงเนื้อหา ให้เติม «(ดัดแปลง)» ต่อท้ายข้อความข้างบน และคงเครดิตผู้เขียนต้นฉบับไว้ด้วย:
เนื้อหาต้นฉบับโดย ผศ.ดร.สันติ นุราช ภาควิชาวิศวกรรมระบบควบคุมและเครื่องมือวัด คณะวิศวกรรมศาสตร์ มหาวิทยาลัยเทคโนโลยีพระจอมเกล้าธนบุรี (KMUTT) (https://github.com/drsanti) ภายใต้การสนับสนุนของสมาคมสมองกลฝังตัวไทย (TESA)
เครื่องมือ Bitstream Studio (VS Code) และ Ternion ที่หลักสูตรนี้ใช้ เป็นผลงานของ ผศ.ดร.สันติ นุราช (KMUTT)
การอ้างอิงไม่ได้หมายความว่า TESA หรือ Infineon รับรองหลักสูตรหรืองานของคุณ ดูรูปแบบและตัวอย่างการอ้างอิงเพิ่มเติม (สไลด์ มคอ.3 เอกสารแจก repo โค้ด) ได้ที่ ATTRIBUTION.md
วิดีโอประกอบหลักสูตร
ดูบน YouTube (เปิดในแท็บใหม่)
-
TESAIoT Digital Twin สมาคมสมองกลฝังตัวไทย (TESA) -
TESAIoT Digital Twin Studio สมาคมสมองกลฝังตัวไทย (TESA) -
BS-01: Introduction to Bitstream Studio ผศ.ดร.สันติ นุราช (KMUTT) -
BS-02: Install BitStream Studio ผศ.ดร.สันติ นุราช (KMUTT) -
BS-06: TESAIoT DevKit Twin ผศ.ดร.สันติ นุราช (KMUTT) -
BS-03: Update Bitstream Studio ผศ.ดร.สันติ นุราช (KMUTT) -
BS-04: BitStream Firmware Update ผศ.ดร.สันติ นุราช (KMUTT) -
BS-05: Install BitStream Studio from VSIX ผศ.ดร.สันติ นุราช (KMUTT) -
ตอนที่ 1 - การสร้าง 3D Model ด้วยโปรแกรม onshape สมาคมสมองกลฝังตัวไทย (TESA) -
BS-07: Flow/Node Editor (The Basics) ผศ.ดร.สันติ นุราช (KMUTT) -
BS-08: Node Library ผศ.ดร.สันติ นุราช (KMUTT) -
BS-09: Inspector/Property Panel ผศ.ดร.สันติ นุราช (KMUTT) -
BS-11: 3D Object Transform Drivers ผศ.ดร.สันติ นุราช (KMUTT) -
BS-13: Graphics Settings ผศ.ดร.สันติ นุราช (KMUTT) -
BS-14: Animation Player ผศ.ดร.สันติ นุราช (KMUTT) -
BS-15: Animation Clips & Mixers ผศ.ดร.สันติ นุราช (KMUTT) -
BS-10: MQTT Publisher & Subscriber ผศ.ดร.สันติ นุราช (KMUTT) -
BS-12: Live/Real-time Data and Web Applications ผศ.ดร.สันติ นุราช (KMUTT)
วิดีโอโดย สมาคมสมองกลฝังตัวไทย (TESA) · ผศ.ดร.สันติ นุราช ภาควิชาวิศวกรรมระบบควบคุมและเครื่องมือวัด คณะวิศวกรรมศาสตร์ มหาวิทยาลัยเทคโนโลยีพระจอมเกล้าธนบุรี (KMUTT) · ดูทั้งชุดใน playlist AIoT Foundation
TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · CC BY-NC 4.0
เนื้อหาเผยแพร่ภายใต้ CC BY-NC 4.0 นำไปใช้ต่อในงานที่ไม่ใช่เพื่อการค้าได้ โปรดอ้างอิงสมาคมสมองกลฝังตัวไทย (TESA) ทุกครั้ง · วิธีอ้างอิง TESA