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

แล็บ Capstone: มินิโปรเจกต์

Course 1 · Module 8
Type: Capstone (integrate M02–M07 on real hardware)
Suggested time: 2–4 hours (+ optional extra time)

Read first: Lesson · Capstone brief · Course package · ← Table of Contents · ← M07

หมายเหตุ: snippet ในแล็บนี้ใช้ API ของเฟิร์มแวร์ TESAIoT Bitstream ซึ่งยังไม่เปิดซอร์ส ดูรายละเอียดและตัวอย่างเทียบใน SDK สาธารณะได้ที่หมายเหตุต้นบทเรียน วางแผน Capstone และใช้แผนที่เอกสาร

โฮสต์ ble-flet ยังไม่เผยแพร่ — README ของ TESAIoT_Hackathon (commit f5f09a6) ระบุว่า python-app/, ble-react/ และ ble-flet/ เป็นของผู้ดูแลและไม่อยู่ใน repo สาธารณะ ให้ใช้เส้นทางสำรองที่บทเรียนเสนอไว้แล้ว คือ GATT explorer ทั่วไป เช่น nRF Connect, LightBlue หรือ AIROC™ Bluetooth® Connect

เอกสาร ใช้เมื่อ
M05 lab sensor / window
M06 lab Wi‑Fi / MQTT
M07 lab BLE peripheral / host
M04 lab tasks / queue
Hackathon web-app / ble-flet live dashboard evidence
Bitstream Studio host / broker tools

ส่งมอบมินิโปรเจกต์ที่รันบนบอร์ดจริง ครอบคลุม:

  • Sensor path + indication
  • ≥ 2 FreeRTOS tasks
  • Connectivity: MQTT และ/หรือ BLE (อย่างน้อยหนึ่งเส้น พร้อมรับคำสั่งหรือยืนยันลิงก์)
  • README ที่ผู้อื่นทำซ้ำได้
  • หลักฐานสาธิต (รูป / คลิป / dashboard)

  • Lab หลัก M02–M07 ผ่านเกณฑ์ขั้นต่ำ (อย่างน้อย path ที่จะใช้ใน Capstone)
  • โปรเจกต์รวมโค้ดได้บนเครื่องคุณ
  • Broker + Wi‑Fi หรือ โฮสต์ BLE ที่เลือกใช้
  • เปิด capstone-brief.md สำหรับกรอก

  1. Architecture (30–45 นาที) — กรอกตาราง Task / Topic / BLE ใน capstone brief
  2. Sensor + indication — อ่านคาบคงที่ + LED/UART
  3. RTOS wiring — แยก task, ใส่คิวถ้ามี producer/consumer
  4. Connectivity — เลือก MQTT และ/หรือ BLE แล้วทำให้ลิงก์และคำสั่งทำงาน
  5. Hardening — ไม่ hardcode secret; ทดสอบกระตุ้นเซ็นเซอร์ / ส่งคำสั่ง / ถอดสายสั้น ๆ
  6. Evidence — README + สกรีนช็อต/คลิป + (แนะนำ) Hackathon web-app / ble-flet หรือ Bitstream Studio

เกณฑ์ ต้องมี
Build + flash ได้จาก README ของคุณ ใช่
≥ 2 Task ทำงานจริง ใช่
Sensor path + สถานะบน LED/UART ใช่
MQTT หรือ BLE ใช้งานได้ + รับคำสั่ง/ยืนยันลิงก์ ใช่
ไม่ฝังรหัสผ่านในไฟล์ส่งสาธารณะ ใช่
  • ใช้ทั้ง MQTT และ BLE
  • Threshold → alert publish / notify
  • Mutex ถูกต้องบนบัสร่วม
  • to_twin queue หรือ topic แยก
  • สาธิตบน Bitstream Studio หรือ Hackathon

  1. Normal — ค่าเซ็นเซอร์ไหล, LED/UART ปกติ, telemetry เข้าโฮสต์ (MQTT subscriber และ/หรือ BLE dashboard)
  2. Stimulus — เปลี่ยนอุณหภูมิ/ขยับบอร์ด/หมุน POT → เห็นค่าหรือ event เปลี่ยน
  3. Command — จาก PC/phone ส่งคำสั่ง (MQTT topic หรือ BLE write) → อุปกรณ์ตอบสนอง

  • โฟลเดอร์/ลิงก์โปรเจกต์
  • README: วิธี build, flash, Wi‑Fi/broker หรือ BLE host แบบไม่เปิดเผยรหัส, topic/UUID ที่ใช้
  • capstone-brief.md กรอกครบ
  • แผนภาพหรือตาราง Task
  • หลักฐานสาธิต 3 สถานการณ์
  • ยืนยันไม่มี secret ในไฟล์สาธารณะ

อาการ แนวทาง
รวมโค้ดแล้ว build พัง รวมทีละชั้นจากโปรเจกต์ M02 ที่นิ่ง
MQTT ไม่ขึ้น ตรวจ Wi‑Fi ก่อน (M06 Lab A)
BLE ไม่เห็นในสแกน profile BLE เปิดหรือยัง · reboot · ADV timeout (M07)
Task ชนบัส ใส่ cm55_i2c_manager_i2c_lock / mutex
สาธิตโฮสต์ไม่มีค่า HEX/VSIX เวอร์ชัน, topic MAC, Studio Link, หรือ ble-flet connect

Lesson · Capstone brief · Table of Contents

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

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

"แล็บ Capstone: มินิโปรเจกต์" จาก TESA Open Knowledge โดยสมาคมสมองกลฝังตัวไทย (Thai Embedded Systems Association: TESA) https://github.com/tesaiot/tesa-qualification-program สัญญาอนุญาต CC BY-NC 4.0

ข้อความอ้างอิงภาษาอังกฤษ: "Lab: Capstone Mini Project" 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/firmware-sdk-edge-ai/m08-capstone/l02-lab/

บทเรียนนี้ดัดแปลงจากต้นฉบับด้านล่าง เมื่ออ้างอิงให้คงเครดิตต้นฉบับไว้ด้วย
https://github.com/drsanti/TESAIoT-Courses/blob/287c21814ba8c75f693136616dcd270349a15966/C1/M08/lab.md · Original content by Asst. Prof. Dr. Santi Nuratch (ผศ.ดร.สันติ นุราช), KMUTT. Course 1 (C1/) 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