ข้ามไปยังเนื้อหา

Virtual Device, behavior, event script และโมเดล 3D สำหรับ Twin

วิดีโอประกอบ

ดูบน YouTube (เปิดในแท็บใหม่)

วิดีโอโดย สมาคมสมองกลฝังตัวไทย (TESA) · ผศ.ดร.สันติ นุราช ภาควิชาวิศวกรรมระบบควบคุมและเครื่องมือวัด คณะวิศวกรรมศาสตร์ มหาวิทยาลัยเทคโนโลยีพระจอมเกล้าธนบุรี (KMUTT) · ดูทั้งชุดใน playlist AIoT Foundation

Course 2 · Module 3
Suggested time: ประมาณ 4–5 ชั่วโมง (Virtual Device + behavior/script + แนะนำ Blender สำหรับ Twin 3D)
Format: บทเรียนเชิงปฏิบัติ — ออกแบบ Virtual Device + พื้นฐาน Blender (Modeling / Texturing / Animation) เพื่อ visualization บน Twin

Lab · Device checklist · Blender cheatsheet · ← Table of Contents · ← M02 · M04 →

หมายเหตุ: ตารางในบทนี้อ้างปุ่ม scene ใน ble-flet ของ TESAIoT_Hackathon แต่ README ของ repo นั้น (commit f5f09a6) ระบุว่า ble-flet/ ไม่ได้เผยแพร่ ให้ใช้แผงใน Bitstream Studio แทน (ตรวจสอบเมื่อ 26 ก.ย. 2026)


เมื่อเรียนจบ คุณควรทำได้ดังนี้:

  1. สร้างและกำหนดค่า Virtual Device Model ให้สะท้อนบอร์ดเป้าหมายของหลักสูตร
  2. จำลองเซ็นเซอร์สำคัญ เช่น IMU, Temperature, Pressure, Switches
  3. กำหนด Behavior Simulation ให้เส้นทางอินพุต→สถานะตรวจสอบได้
  4. เขียน Event Simulation Script ที่รันซ้ำได้สำหรับ regression / การสาธิต
  5. อธิบายบทบาท Blender ในการสร้างโมเดล 3D สำหรับ Twin: Modeling, Texturing, Animation และเส้นทาง export glTF/GLB
  6. ใช้เอกสารออนไลน์ (Blender Manual / Fundamentals / Tutorial ภาษาไทย) และ ternion-3d-assets-free เพื่อศึกษาต่อด้วยตนเอง

โมดูลนี้ต่อจาก M02 ที่โฮสต์พร้อมแล้ว — ตอนนี้คุณจะออกแบบสิ่งที่ Twin จำลอง (ข้อมูล + รูปทรง 3D) ก่อนพาเฟิร์มแวร์มา co-sim ลึกใน M04

แนวทาง “โมเดลบนกระดาษ + รันบนเครื่องมือจริง + เตรียม 3D”
Virtual Device Configuration อธิบาย พฤติกรรม/เซ็นเซอร์
Blender เตรียม เปลือกภาพ ที่ Twin / Sensor Studio แสดง — หลักสูตรที่ 3 จะลงลึกงานออกแบบอุตสาหกรรม; ที่นี่เน้นทักษะพอสำหรับ Course 2

เอกสาร ใช้เมื่อ
M01 — Twin Architecture Virtual Device อยู่ชั้นไหนของแพลตฟอร์ม
M02 — VS Code Twin เปิด Simulator / Bitstream Studio ก่อนแล็บนี้
Course 1 M05 — Sensor prep ชนิดเซ็นเซอร์และความหมายของค่า
Bitstream Studio โฮสต์ดูผลหลังตั้งโมเดล/ซีน
TESAIoT_Hackathon ble-flet scene presets · web-app/
ternion-3d-assets-free โมเดล GLB / texture / รูป สำหรับ Twin
Blender Manual 4.5 LTS คู่มือทางการ Modeling / Materials / Animation
Blender Fundamentals 4.5 LTS คอร์สวิดีโอทางการจาก Blender Studio (อังกฤษ)
INC111-2021 Blender playlist (Thai) Tutorial ภาษาไทยบน YouTube — แนะนำสำหรับผู้เรียนที่ต้องการคำอธิบายภาษาไทย
TESAIoT Developer Hub ตัวอย่างเซ็นเซอร์ฝั่งเฟิร์มแวร์
ตัวอย่างโมเดลแนวคิด โครง JSON สำหรับแผ่นผลงาน
Blender cheatsheet ลิงก์ด่วน Modeling / Texturing / Animation / glTF

Virtual Device Model คือคำอธิบายซอฟต์แวร์ของอุปกรณ์หนึ่งเครื่องในโลก Twin โดยอย่างน้อยควรระบุ:

ส่วน คำถามที่ต้องตอบได้
Identity ชื่อ / รหัสอุปกรณ์คงที่สำหรับอ้างในรายงาน
Sensors มีตัวอะไร · หน่วย · ค่าเริ่มต้น · ช่วงที่ยอมรับ
Actuators / outputs LED, flag, log — สิ่งที่สังเกตผลได้
Noise / dynamics (ถ้ามี) ค่ากระโดดหรือมีสัญญาณรบกวนจำลองหรือไม่
Behaviors เมื่ออินพุต/คำสั่งเกิด แล้วสถานะเปลี่ยนอย่างไร
Events / scripts สถานการณ์ตามเวลาที่รันซ้ำได้

โมเดลไม่ต้องจำลองทุกบล็อกในซิลิคอน — ต้องเพียงพอต่อการทดสอบ logic เฟิร์มแวร์ตามโจทย์ของแล็บ

หยาบเกินไป ละเอียดเกินจำเป็น
เทสไม่สะท้อนพฤติกรรมจริง เสียเวลาตั้งค่าโดยไม่ได้เพิ่มการเรียนรู้

Key phrase
Virtual Device คือ ข้อตกลง ระหว่างสคริปต์เทสของคุณกับ Twin — ไม่ใช่ datasheet ทั้งเล่ม

เก็บโมเดลเป็นเอกสารที่ทีมอ่านซ้ำได้ — ตัวอย่างโครงใน sample-virtual-device.template.json:

{
"deviceId": "tesa-edge-demo-01",
"displayName": "TESA Edge Demo Device",
"sensors": [
{ "id": "temp", "type": "temperature", "unit": "C", "default": 25.0, "min": -10.0, "max": 85.0 },
{ "id": "btn_user", "type": "switch", "default": 0 },
{ "id": "imu", "type": "imu", "axes": ["ax", "ay", "az"], "default": [0, 0, 1] }
],
"actuators": [
{ "id": "led_status", "type": "led", "default": 0 }
],
"behaviors": [
{ "when": "command.led == on", "then": "actuators.led_status = 1" },
{ "when": "sensors.temp > 40", "then": "emit event threshold_exceeded" }
]
}

ไฟล์นี้เป็น template แนวคิดสำหรับเรียน — ฟิลด์จริงของเครื่องมืออาจชื่อต่างกัน ให้ map เข้า Simulator / scene / SENSOR_CFG ตามชุดที่ใช้

ส่วนในโมเดล สิ่งที่มักใช้รันจริงในคอร์สนี้
Sensor list + rates SENSOR_CFG / scene presets (Motion, Lab Quiet, Environment, …)
Continuous IMU / env values Bitstream Simulator stream หรือบอร์ดจริง
Identity ชื่ออุปกรณ์ / MAC topic / deviceId ในรายงาน
Behavior (command → output) คำสั่งโฮสต์ / MQTT actuator / LED บนบอร์ดหรือ UI
Timed event script ไทม์ไลน์ใน checklist + สลับซีน / กระตุ้นด้วยมือ / สคริปต์ตามเครื่องมือที่มี

ชนิด ค่าที่มักจำลอง เหมาะทดสอบ
IMU (เช่น BMI270) accel / gyro (และ fusion ตามโหมด) gesture, activity, orientation
Temperature / Humidity (เช่น SHT40) สเกลาร์ต่อเนื่อง threshold, calibration path
Pressure (เช่น DPS368) สเกลาร์ต่อเนื่อง environmental monitor
Magnetometer (เช่น BMM350) แกนสนาม heading / fusion lab
Switches / buttons 0/1 หรือ edge UI logic, debounce

แนะนำลำดับเรียน:

  1. สวิตช์ + อุณหภูมิ (สังเกตผลชัด)
  2. เพิ่ม IMU เมื่อท่อข้อมูลพร้อม
  3. รวม env sensors เป็นชุด monitor

ทบทวนความหมายค่า: Course 1 M05

แทนการเปิดเผยทุกฟิลด์ wire ทันที โฮสต์แล็บมักมี scene presets ระดับ use-case:

Scene (ตัวอย่างในแพ็กแล็บ) ความหมายโดยประมาณ
Motion IMU หนาแน่นขึ้น · env ช้า — เหมาะ posture / motion
Realtime อัตราสูงขึ้นสำหรับดูรายละเอียดสั้น ๆ
Lab Quiet ~1 Hz ทั้งชุด — ดีต่อการสาธิต / ประหยัด
Environment เน้น SHT/DPS · ปิดหรือลด IMU

ใน Bitstream / BLE labs การ apply scene มักหมายถึงชุด SENSOR_CFG (+ โหมด BMI270 / fusion ตามเครื่องมือ) — ผู้เรียนโฟกัสว่า โมเดลต้องการโปรไฟล์ไหน ไม่ต้องท่องทุกมิลลิวินาทีในวันแรก

เมื่อกรอกโมเดล ให้ระบุ:

ฟิลด์ ทำไมสำคัญ
default ค่าตอนเริ่มสคริปต์ / ก่อนกระตุ้น
min / max กันเทสที่อยู่นอกโลกจริงโดยไม่ตั้งใจ
unit กันสับสน °C / Pa / g
“sim vs real” ค่าจาก Simulator เป็น sine/สังเคราะห์ — ไม่ใช่ noise บอร์ดจริง

Behavior คือกฎที่บอกว่าเมื่อเกิดอินพุตหรือคำสั่งแล้ว อุปกรณ์จำลอง (หรือเฟิร์มแวร์+โฮสต์) จะตอบสนองอย่างไร

แบบ ตัวอย่าง สังเกตผลที่
Command → actuator led=on → LED สถานะเปิด UI / บอร์ด / log
Sensor → event temp > 40 → threshold_exceeded event panel / MQTT / UART
Switch → mode กดปุ่ม → เปลี่ยนโหมด publish toolbar / stream rate
Host write → device คำสั่งจาก Studio/MQTT เฟิร์มแวร์ตอบสนอง

เขียน behavior ให้ ทดสอบได้ทั้งขาเข้าและขาออก — ถ้ามีแต่ “ค่าขยับ” โดยไม่มีข้อตกลงว่าควรเกิดอะไร จะวัดไม่ได้ว่า logic ถูก

ใน M03 ขออย่างน้อย 1 เส้นทาง ที่เขียนเป็นประโยคชัด เช่น:

WHEN user_button rising edge
THEN led_status = ON for 1 s AND log "btn"

หรือ:

WHEN temperature > 40 °C for 2 s
THEN emit event "temp_high"

ขยายจำนวน behavior ใน M04/M06 เมื่อ co-sim และ E2E พร้อม


Event Simulation Script ใช้สร้างสถานการณ์ตามเวลา ให้ regression และการสาธิตทำซ้ำได้

t = 0–2 s : idle (defaults)
t = 2–5 s : temperature ramp +0.5 °C / step
t = 5.0 s : press virtual switch ~200 ms
t = 6.0 s : short IMU shake pulse
t = 7–10 s : observe outputs / events
t = 10 s : stop or loop

เลือกอย่างน้อยหนึ่งวิธีตามเครื่องมือที่มี:

วิธี เมื่อใช้
Manual timeline ทำตามนาฬิกา + โน้ต — ผ่านเกณฑ์ M03 ได้
Scene switch เริ่ม Lab Quiet → สลับ Motion ตอน t=6 เพื่อกระตุ้น IMU path
Host / app controls ปุ่ม scene ใน ble-flet หรือแผง Studio
Formal script file ถ้า Twin tooling ของรอบนั้นรองรับไฟล์สคริปต์ — แนบ path สัมพัทธ์ใน checklist

สำคัญคือ ลำดับเหตุการณ์ + ผลที่คาด + หลักฐาน ไม่ใช่ภาษาสคริปต์เฉพาะ

เก็บสคริปต์/ไทม์ไลน์ไว้ในโฟลเดอร์แล็บของคุณ:

lab-notes/
device-model.json # จาก template
event-script-v1.md # ไทม์ไลน์
evidence/ # สกรีนช็อตก่อน/หลัง

เมื่อแก้เฟิร์มแวร์ใน M04+ ให้รันสคริปต์ชุดเดิม — ถ้าผลเปลี่ยนโดยไม่ตั้งใจ คือสัญญาณ regression


Virtual Device ในส่วนก่อนหน้าอธิบาย ข้อมูลและพฤติกรรม — ส่วนนี้เตรียม ตัวแทนภาพ 3 มิติ ของผลิตภัณฑ์/บอร์ด เพื่อแสดงใน Digital Twin / Sensor Studio

Blender เป็นซอฟต์แวร์ 3D โอเพนซอร์สฟรี ที่หลักสูตรใช้เป็นเส้นทางหลักสู่ไฟล์ glTF / GLB ซึ่งโฮสต์เว็บและ Bitstream Studio รองรับ

ชั้นงานใน M03 สิ่งที่คุณฝึก ปลายทาง Twin
Modeling สร้างรูปทรง mesh ของเคส/บอร์ด รูปทรงในฉาก 3D
Texturing UV + material / texture พื้นผิวที่ดูสมจริงบนโฮสต์
Animation keyframe / action สั้น ๆ แสดงกลไกเปิด-ปิด หรือ motion demo
Export .glb โหลดใน Studio / เทียบกับ ternion-3d-assets-free

Course 2 vs Course 3
ที่นี่ให้ พื้นฐานที่ใช้งานกับ Twin ได้
หลักสูตร Product Industrial Design (Blender & Twin) จะลงลึก casing, industrial workflow, validation และ prototype — อย่ารอ Course 3 ถ้าต้องการแค่โมเดลประกอบ telemetry ใน Course 2

แผ่นลิงก์ด่วน: blender-twin-cheatsheet.md

  1. ดาวน์โหลดจาก blender.org/download
  2. อ่านภาพรวมอินเทอร์เฟซ: User Interface (Manual 4.5)
  3. คู่มือฉบับเต็ม: Blender 4.5 LTS Manual หรือ latest
  4. เส้นทางวิดีโอทางการ (อังกฤษ): Blender Fundamentals 4.5 LTS
  5. เส้นทางวิดีโอ ภาษาไทย: INC111-2021 YouTube playlist

โหมดที่พบบ่อยตอนสร้างโมเดลอุปกรณ์:

Mode ใช้เมื่อ อ่านเพิ่ม
Object Mode ย้าย/หมุน/สเกลทั้งชิ้น, รวมอ็อบเจกต์ Scenes & Objects
Edit Mode แก้จุด ขอบ หน้า (mesh) Mesh introduction
Shading workspace จัด material / texture nodes Materials
Animation editors Timeline, Dope Sheet, Graph Editor Animation intro

Modeling ใน Blender มักเริ่มจาก mesh primitive (cube, cylinder, plane…) แล้วเข้า Edit Mode เพื่อขึ้นรูป — ตาม Mesh Modeling introduction

ทักษะ ทำไมสำคัญต่อ Twin เอกสาร
เลือก / Extrude สร้างผนังเคส, ขอบหนา Extrude
Loop Cut / Bevel ขอบมน, แบ่งหน้าสำหรับ UV Loop Cut · Bevel
Modifiers (Mirror, Solidify, Subdivision) สร้างสมมาตร/ความหนาโดยไม่ทำซ้ำมือ Modifiers
Apply Scale / origin กันโมเดลบิดเมื่อใส่ Twin หรือ animation Transforms

เวิร์กช็อปวิดีโอ: Fundamentals — Modeling chapter

  1. ตั้งหน่วยเป็น เมตร (หรืออย่างน้อยสเกลสม่ำเสมอทั้งฉาก)
  2. วาง origin ที่จุดที่มีความหมาย (มุมบอร์ด, แกนหมุนฝา, จุดวางบนโต๊ะ)
  3. แยกชิ้นส่วนที่อาจขยับ (ฝา, ปุ่ม, LED) เป็น object คนละชิ้นถ้าจะ animate
  4. คุมจำนวน polygon — webview Twin ไม่ต้องการ denseness ระดับฟิล์ม
  5. เปรียบเทียบสไตล์กับโมเดลใน ternion-3d-assets-free /assets/models

Key phrase
Modeling ที่ดีสำหรับ Twin = อ่านรูปได้ + สเกลจริง + origin ชัด + พร้อม UV — ไม่ใช่รายละเอียดที่ render ภาพโฆษณาเท่านั้น

ศึกษาต่อ (Modeling):

Texturing ในบริบท Twin = ทำให้ผิวโมเดลมีสี / ความเงา / ลาย ที่ export ออกไป glTF ได้

แนวคิด ความหมายสั้น เอกสาร
Material คำอธิบายผิวบน object Materials introduction
Principled BSDF โหนด PBR มาตรฐานที่ glTF เข้าใจดี Principled BSDF
UV map พิกัดคลี่ผิว 2D ลงบน texture UV editing · Unwrapping
Image texture ไฟล์รูป (albedo / roughness / …) Image Texture node
Texture Paint วาดลายบนโมเดลโดยตรง Texture Paint
Mesh ready
→ Unwrap UV (Smart UV Project หรือมือ)
→ Principled BSDF
→ Base Color (± Roughness / Metallic maps)
→ Check in Material Preview / EEVEE
→ Export GLB (materials + UVs on)

ตาม glTF 2.0 exporter:

  • วัสดุหลักที่ export ได้ดีคือ Metal/Rough PBR จาก Principled BSDF
  • ควบคุม UV ด้วยการต่อ UV Map (+ Mapping) เข้า Image Texture
  • Unlit/shadeless มี path แยกในคู่มือ exporter ถ้าต้องการผิวแบน

แหล่ง texture / cubemap พร้อมใช้ในระบบ Ternion:

ศึกษาต่อ (Texturing / shading):

Animation ช่วยสาธิต พฤติกรรมผลิตภัณฑ์ บน Twin เช่น เปิดฝา, กดปุ่ม, หมุนแขน — สอดคล้องกับ behavior/event script ฝั่งข้อมูล

แนวคิด ความหมายสั้น เอกสาร
Keyframe จุดเวลาที่บันทึกค่า transform/property Keyframes
Action ชุด keyframe ของอ็อบเจกต์ Actions
Armature / bones โครงกระดูกสำหรับชิ้นส่วนซับซ้อน Armatures
Shape keys Morph รูปทรง (ฝาอ่อน, ยาง) Shape Keys
Constraints จำกัดการเคลื่อนตามกฎ Constraints

ภาพรวม: Animation & Rigging introduction

ตามคู่มือ glTF 2.0:

รองรับโดยทั่วไป มักไม่ไป / ถูกมองข้าม
Keyframe ของ location / rotation / scale Animation ของไฟ / material บางชนิด
Skinning (armature) Driver ซับซ้อนที่ไม่ได้ bake
Shape key animation Logic เฉพาะใน Blender ที่ไม่ได้ export

เคล็ดลับ export animation:

  1. ทำให้ action เป็น active หรือจัด NLA ตามที่ exporter กำหนด
  2. ทดสอบเล่นใน Blender ก่อน export
  3. เปิดตัวเลือก Animation ในหน้าต่าง glTF export
  4. ตรวจใน Bitstream Studio / viewer ว่าคลิปเล่นได้

เชื่อมกับ Virtual Device
Timeline ใน §4 (event script) = เหตุการณ์ข้อมูล
Timeline ใน Blender = เหตุการณ์ภาพ
ใน Capstone (M06) พยายามให้สองเส้นนี้เล่าเรื่องเดียวกัน

ศึกษาต่อ (Animation):

รูปแบบที่แนะนำสำหรับ Bitstream Studio / Twin เว็บ: glTF Binary (.glb) ไฟล์เดียวรวม mesh + materials + (ถ้ามี) animation

ขั้น การกระทำ อ้างอิง
1 Apply transforms ที่จำเป็น, ตรวจ origin Manual transforms
2 UV + Principled พร้อม §5.3
3 Animation พร้อม (ถ้ามี) §5.4
4 File → Export → glTF 2.0 glTF 2.0 add-on (4.5)
5 เลือก glTF Binary (.glb) · เปิด Meshes / Materials / (Animations) หน้าต่าง export
6 โหลดใน Bitstream Studio หรือเทียบกับแพ็ก ternion-3d-assets-free M02 Free Loader

มาตรฐานอุตสาหกรรม: Khronos glTF

รูปแบบอื่น (FBX/OBJ/STL) มีที่ใช้ตอน prototype/พิมพ์ 3D — Course 3 จะพูดลึกกว่า; ใน Course 2 ให้โฟกัส GLB สำหรับ Twin

ถ้าต้องการฝึกเพิ่มเอง (~2–4 ชม. เพิ่ม):

ตัวเลือกภาษาไทย (แนะนำถ้าต้องการคำบรรยายไทย): ดู INC111-2021 playlist คู่กับแบบฝึกใน Lab E — ใช้ Manual ภาษาอังกฤษเมื่อต้องการรายละเอียดเครื่องมือล่าสุด

ตัวเลือกทางการ (อังกฤษ):

  1. Fundamentals 4.5 — start
  2. ทำบท Modeling จนได้ชิ้นส่วนง่าย ๆ
  3. อ่าน Principled BSDF + unwrap หนึ่งชิ้น
  4. ใส่ keyframe หมุน/เปิดฝา 2–3 วินาที
  5. Export .glb แล้วลองใน Studio
  6. เทียบคุณภาพกับโมเดลใน assets/models

UI ของ Blender เปลี่ยนตามเวอร์ชัน — ถ้าคลิปไทยใช้เวอร์ชันเก่า ให้ยึดปุ่ม/เมนูจาก Manual 4.5+ เป็นหลัก และใช้คลิปเป็นแนวคิด workflow


ก่อนลงมือ Lab ตอบให้ได้:

  1. อุปกรณ์นี้ทดสอบ logic ข้อไหน ของเฟิร์มแวร์/ผลิตภัณฑ์
  2. เซ็นเซอร์ขั้นต่ำที่ต้องมีมีอะไรบ้าง (อย่างน้อย 2 ชนิด)
  3. Behavior หนึ่งเส้นสังเกตที่จอไหน
  4. สคริปต์เหตุการณ์ใช้เวลากี่วินาที และใครรันซ้ำได้บ้างในทีม
  5. (แนะนำ) จะใช้โมเดล 3D จาก Blender หรือจาก ternion-3d-assets-free

แผ่นกรอก: device-model-checklist.md · blender-twin-cheatsheet.md


  1. ทำแล็บ Virtual Device: แล็บ
  2. กรอก checklist + แนบโมเดล/ไทม์ไลน์
  3. (แนะนำ) Lab Blender — export GLB หนึ่งชิ้น
  4. เมื่อพร้อม ไปต่อ M04 — Firmware–Twin Co-simulation

  1. M01 Twin Architecture · M02 VS Code Twin
  2. Course 1 M05 Sensors
  3. Bitstream Studio
  4. TESAIoT_Hackathon
  5. TESAIoT Developer Hub
  6. ternion-3d-assets-free — assets/
  7. sample-virtual-device.template.json
  8. blender-twin-cheatsheet.md
  1. Blender download
  2. Blender Manual 4.5 LTS · Manual (latest)
  3. Modeling — meshes introduction
  4. Modeling section
  5. Materials introduction
  6. Principled BSDF
  7. UV editing · UV unwrapping
  8. Texture Paint
  9. Animation introduction
  10. Keyframes · Actions
  11. Armatures · Shape Keys
  12. glTF 2.0 importer/exporter (4.5)
  13. Blender Fundamentals 4.5 LTS
  14. Fundamentals — Modeling chapter
  15. INC111-2021 Blender tutorial playlist (Thai)
  16. Khronos glTF

คำถามสั้นสามข้อใน quiz.yaml ผูกกับเป้าหมายของบทเรียนนี้ข้อละหนึ่งคำถาม ลองตอบเองก่อน แล้วค่อยเทียบกับเฉลยและคำอธิบายในไฟล์

ลงมือต่อที่ แล็บ: สร้าง Virtual Device และ event script

Lab · Device checklist · Blender cheatsheet · ← Table of Contents · ← M02 · M04 →

คำถามทบทวน

ลองตอบเองก่อน แล้วค่อยเปิดดูเฉลย

  1. ทำไมต้องใส่ `min` / `max` ให้เซ็นเซอร์ในโมเดล (เป้าหมายข้อ 1)

    1. เพื่อให้ Simulator ทำงานเร็วขึ้น
    2. เพราะรูปแบบ glTF บังคับ
    3. เพื่อใช้เป็นชื่ออุปกรณ์ในรายงาน
    4. เพื่อกันเทสที่อยู่นอกโลกจริงโดยไม่ตั้งใจ
    ดูเฉลย

    คำตอบ: D. เพื่อกันเทสที่อยู่นอกโลกจริงโดยไม่ตั้งใจ

    ตารางในหัวข้อ 2.3 Defaults, ranges, and honesty

  2. ข้อใดเป็น behavior ที่ “ทดสอบได้” ตามแนวทางของบทเรียน (เป้าหมายข้อ 2)

    1. เปิด Simulator ค้างไว้ทั้งวัน
    2. WHEN temperature > 40 °C for 2 s THEN emit event "temp_high"
    3. ค่าอุณหภูมิขยับบนกราฟ
    4. โมเดล 3D ดูสมจริงขึ้น
    ดูเฉลย

    คำตอบ: B. WHEN temperature > 40 °C for 2 s THEN emit event "temp_high"

    หัวข้อ 3.1–3.2: behavior ต้องมีข้อตกลงว่าเมื่ออินพุตเกิดแล้วควรเกิดอะไร ถ้ามีแต่ค่าขยับจะวัดไม่ได้ว่า logic ถูก

  3. รูปแบบไฟล์ที่บทเรียนแนะนำสำหรับส่งโมเดลเข้า Bitstream Studio / Twin เว็บ (เป้าหมายข้อ 3)

    1. STL
    2. OBJ
    3. .blend
    4. glTF Binary (.glb)
    ดูเฉลย

    คำตอบ: D. glTF Binary (.glb)

    หัวข้อ 5.5: .glb เป็นไฟล์เดียวที่รวม mesh, materials และ animation ส่วน STL/OBJ/FBX ใช้ในงานต้นแบบ

อ้างอิงบทเรียนนี้

ถ้านำบทเรียนนี้ไปสอน ทำสไลด์ หรือทำเอกสารต่อ ให้อ้างอิงด้วยข้อความนี้ ถ้าดัดแปลงเนื้อหา ให้เติม (ดัดแปลง)ต่อท้ายชื่อบทเรียน

"Virtual Device, behavior, event script และโมเดล 3D สำหรับ Twin" จาก TESA Open Knowledge โดยสมาคมสมองกลฝังตัวไทย (Thai Embedded Systems Association: TESA) https://github.com/tesaiot/tesa-qualification-program สัญญาอนุญาต CC BY-NC 4.0

ข้อความอ้างอิงภาษาอังกฤษ: "Virtual Devices, Behaviours, Event Scripts and 3D Models for the Twin" from TESA Open Knowledge by the Thai Embedded Systems Association (TESA), https://github.com/tesaiot/tesa-qualification-program, licensed under CC BY-NC 4.0

ลิงก์บทเรียน: https://tesaiot.github.io/tesa-qualification-program/courses/digital-twin/m03-virtual-device/l01-virtual-device-modeling/

บทเรียนนี้ดัดแปลงจากต้นฉบับด้านล่าง เมื่ออ้างอิงให้คงเครดิตต้นฉบับไว้ด้วย
https://github.com/drsanti/TESAIoT-Courses/blob/287c21814ba8c75f693136616dcd270349a15966/C2/M03/README.md · Original content by Asst. Prof. Dr. Santi Nuratch (ผศ.ดร.สันติ นุราช), KMUTT. Course 2 (C2/) of drsanti/TESAIoT-Courses. TESA funded the work and holds the rights; published here under CC BY-NC 4.0. The upstream repository carries no licence file. Text kept faithful; structure, front matter, quizzes and notes added by TESA Open Knowledge.

วิธีอ้างอิง TESA ฉบับเต็ม

TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · CC BY-NC 4.0

เนื้อหาเผยแพร่ภายใต้ CC BY-NC 4.0 นำไปใช้ต่อในงานที่ไม่ใช่เพื่อการค้าได้ โปรดอ้างอิงสมาคมสมองกลฝังตัวไทย (TESA) ทุกครั้ง · วิธีอ้างอิง TESA