บทเรียน 6.2 — แล็บ Capstone: มินิโปรเจกต์ E2E บน Digital Twin

ล็อกสถาปัตยกรรม ประกอบเดโมที่รันได้ รันเทส E2E สามเคส ฝึกไล่ log และจัดแพ็กส่งต่อ

พัฒนาเฟิร์มแวร์ร่วมกับ TESA Digital Twin บน VS Code — โมดูล 6 · แล็บ

TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · ดัดแปลงจากงานของ ผศ.ดร.สันติ นุราช (KMUTT) · CC BY-NC 4.0

เป้าหมาย

เมื่อทำครบ คุณจะ

  1. ประกอบเดโม stimulus → firmware → Studio → dashboard/MQTT ที่รันซ้ำได้
  2. รันเทส E2E อย่างน้อยสามเคส (Normal, Stimulus, Command/fault) และบันทึกผ่าน/ไม่ผ่านพร้อมเหตุผล
  3. จัดแพ็ก README และหลักฐานให้ผู้อื่นรันซ้ำได้
TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · ดัดแปลงจากงานของ ผศ.ดร.สันติ นุราช (KMUTT) · CC BY-NC 4.0

ก่อนเริ่ม

  • [ ] Lab โมดูล 2 Link เสถียร
  • [ ] Lab โมดูล 3 มี virtual device + event script (หรือเทียบเท่า)
  • [ ] Lab โมดูล 4 co-sim ผ่านอย่างน้อย Path เดียว
  • [ ] Lab โมดูล 5 เคย Start broker + subscriber ได้
  • [ ] โฟลเดอร์ผลงาน + lab-notes/
TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · ดัดแปลงจากงานของ ผศ.ดร.สันติ นุราช (KMUTT) · CC BY-NC 4.0

ดูของจริงก่อน — เลือกโดเมนเรื่องราว

เริ่มจาก Smart Environmental Monitor (IoT/สภาพแวดล้อม) หรือแมปเป็นโดเมนอื่น:

Domain เน้นเล่า เซ็นเซอร์หลัก Evidence เสริม
IoT โหนด ↔ คลาวด์ SHT40 + state ex06 + ex15
Home ห้องสบาย / ปลอดภัย SHT40 + switch ex06 + MQTT cmd
Industrial alarm บนไลน์ temp/IMU ex06 + ex08 + ex15
Health-sim ลิงก์เฝ้าระวัง (จำลอง) BMI270 + SHT40 ex05 + ex08 + ex09

กรอกรายละเอียดใน e2e-case-brief.md

TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · ดัดแปลงจากงานของ ผศ.ดร.สันติ นุราช (KMUTT) · CC BY-NC 4.0

ฝึกเติม/แล็บ (1) — Lab A: Lock architecture

  1. เลือก โดเมน (IoT / Home / Industrial / Health-sim)
  2. วาด/เขียนแผนภาพ 4 ขั้นจากบทเรียน แล้วใส่ชื่อเหตุการณ์ตามโดเมน
  3. ระบุ Path: Simulator / Board / Both
  4. ระบุ topic MQTT และ consumer หน้าเว็บที่จะใช้เป็นหลักฐาน
  5. คัดลอกโครง README จากบทเรียนลงโปรเจกต์ (ใส่บรรทัด Domain)

Pass when: เพื่อนในทีมอ่านแล้วรู้โดเมน + เครื่องมือที่จะเปิดก่อน โดยไม่ถามเพิ่ม

TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · ดัดแปลงจากงานของ ผศ.ดร.สันติ นุราช (KMUTT) · CC BY-NC 4.0

ฝึกเติม/แล็บ (2) — Lab B: Assemble the running demo

  1. Bring-up Studio (backend เดียว) + co-sim
  2. รัน event script / scene ของคุณ
  3. ยืนยันค่าบน Studio
  4. Serve web-app/ → เปิด ex06 ให้เห็นเซ็นเซอร์ที่เกี่ยวข้อง
  5. Start broker → publish (และ/หรือ subscribe) → ยืนยันบน ex15 หรือ ex09

Pass when: เดโม Normal รันได้ต่อเนื่อง ≥ 1 นาทีโดยไม่หลุด Link เอง

TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · ดัดแปลงจากงานของ ผศ.ดร.สันติ นุราช (KMUTT) · CC BY-NC 4.0

ฝึกเติม/แล็บ (3) — Lab C: Three E2E test cases

รันและกรอกตารางใน case brief:

เคส อย่างน้อยต้องพิสูจน์
Normal telemetry อัปเดตบน Studio + consumer
Stimulus threshold / switch / script เปลี่ยน state หรือ event ชัด
Command / fault คำสั่ง MQTT หรือ ตัด broker/สตรีมสั้น ๆ แล้วกู้คืน

Pass when: อย่างน้อย 3 แถวมีผลจริง + ผ่าน = ใช่ (หรือ Fail พร้อมเหตุผลและ workaround ที่ยอมรับได้)

TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · ดัดแปลงจากงานของ ผศ.ดร.สันติ นุราช (KMUTT) · CC BY-NC 4.0

ฝึกเติม/แล็บ (4) — Lab D: Log triage drill (แนะนำ)

จงใจทำให้พังหนึ่งอย่าง (ปิด broker / หยุด script / เปิดผิด panel) แล้ว:

  1. ไล่ชั้นตามลำดับในบทเรียน 6.1
  2. จดชั้นที่พบปัญหา
  3. แก้กลับมาเดโมเขียว

Pass when: มีบรรทัดใน case brief ส่วนปัญหา/การแก้

TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · ดัดแปลงจากงานของ ผศ.ดร.สันติ นุราช (KMUTT) · CC BY-NC 4.0

ฝึกเติม/แล็บ (5) — Lab E: Package for handoff

  • [ ] README รันซ้ำได้
  • [ ] case brief กรอกครบ
  • [ ] หลักฐานสกรีนช็อต/คลิปของคุณเอง (Studio + ex06 และ MQTT consumer)
  • [ ] ไม่มี password ในไฟล์ส่ง
  • [ ] รายการตรวจจาก course-package.md
TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · ดัดแปลงจากงานของ ผศ.ดร.สันติ นุราช (KMUTT) · CC BY-NC 4.0

เช็กความเข้าใจ — ไล่อาการก่อนขอความช่วยเหลือ

ถ้าติดปัญหา ให้ตอบตัวเองก่อนว่าน่าจะตรงแถวไหน:

  1. เดโมยาวแล้วหลุด — ควรกลับไปตรวจอะไร
  2. ex06 ว่างแต่ Studio มีค่า — ควรตรวจอะไรก่อน
  3. MQTT ว่าง — สาเหตุที่พบบ่อยคืออะไร
  4. Stimulus ไม่เห็นบน consumer — ควรตรวจอะไร
TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · ดัดแปลงจากงานของ ผศ.ดร.สันติ นุราช (KMUTT) · CC BY-NC 4.0

ไปต่อ

ก่อนส่งงาน ตรวจกับตัวเองว่ามีครบ:

  • [ ] Lab A–C, E ผ่าน
  • [ ] (แนะนำ) Lab D
  • [ ] ลิงก์/โฟลเดอร์โปรเจกต์ที่พร้อมส่งต่อ ไม่มี secret ในไฟล์

นี่คือแล็บสุดท้ายของหลักสูตร — หลังส่งงาน คุณมีระบบ Twin ที่ทดสอบ E2E ได้และเล่าได้ว่าท่อเดียวกันรองรับโดเมนอื่นได้อย่างไร

กลับไปที่หน้าหลักสูตร

TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · ดัดแปลงจากงานของ ผศ.ดร.สันติ นุราช (KMUTT) · CC BY-NC 4.0

แหล่งที่มา

"บทเรียน 6.2 — แล็บ Capstone: มินิโปรเจกต์ E2E บน Digital Twin" จาก 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)
นำเข้าจาก drsanti/TESAIoT-Courses — C2 (commit 287c218) ภายใต้สัญญาอนุญาต CC BY 4.0

ไม่มีภาพจากบุคคลที่สามในสไลด์ชุดนี้

TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · ดัดแปลงจากงานของ ผศ.ดร.สันติ นุราช (KMUTT) · CC BY-NC 4.0