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

AIoT in Action: จากหน้าจอสัมผัสสู่แพลตฟอร์ม IoT (MicroPython)

ดัดแปลงจาก AIoT in Action — Embedded Systems for AIoT Developer, © 2026 รศ.วิรุฬห์ ศรีบริรักษ์ วิศวกรรมระบบสมองกลฝังตัว ภาควิชาวิศวกรรมไฟฟ้า คณะวิศวกรรมศาสตร์ มหาวิทยาลัยบูรพา (BUU) · Advance Innovation Centre (AIC) · BENTO & TESAIoT (CC BY 4.0 / MIT)

เรียน AIoT จากของจริงบนบอร์ด PSoC Edge — Eva Kit หรือ TESAIoT Dev Kit — ด้วยภาษา MicroPython เริ่มจากเล่นแอปที่มากับเครื่องให้เห็นปลายทางก่อน แล้วค่อย ๆ แกะลงไปทีละชั้นจนสร้างเองได้ทั้งวงจร:

จอสัมผัส → ฮาร์ดแวร์ → เซนเซอร์ → เครือข่าย → MQTT → แพลตฟอร์ม IoT → ผลิตภัณฑ์ของเราเอง

ตัวอย่างชุดเดียวกันรันได้ทั้งสองบอร์ด เพราะโค้ดถามบอร์ดเองว่ามีไฟกี่ดวง ปุ่มชื่ออะไร และมีเซนเซอร์อะไรบ้าง ไม่ต้องคอมไพล์ ไม่ต้องติดตั้ง toolchain ของภาษา C

  • คนทั่วไปและผู้ประกอบการที่อยากเข้าใจว่าระบบ AIoT ทำงานอย่างไรจากของจริง ไม่ใช่จากภาพสไลด์
  • นักพัฒนาซอฟต์แวร์ที่เขียน Python เป็นแล้ว และอยากลงมือกับฮาร์ดแวร์ เซนเซอร์ และ IoT
  • ผู้เรียนสายวิศวกรรมหรือวิทยาศาสตร์ที่ต้องการพื้นฐานระบบสมองกลฝังตัวแบบลงมือทำ
  • ผู้สอนที่ต้องการชุดบทเรียนพร้อมสไลด์ โค้ด ไฟล์ฝึก และเฉลย ไปใช้ในห้องเรียนของตัวเอง

พื้นฐานที่ควรมี: เขียน Python ระดับเบื้องต้นได้ (ตัวแปร if ลูป ฟังก์ชัน) ไม่ต้องมีพื้นฐานอิเล็กทรอนิกส์มาก่อน เรียนคนเดียวได้ และเรียนเป็นทีมสองถึงสี่คนต่อบอร์ดก็สนุก

  1. อธิบายสถาปัตยกรรมระบบ AIoT ว่าเซนเซอร์ การตัดสินใจบนอุปกรณ์ หน้าจอ และแพลตฟอร์มปลายทางแบ่งงานกันอย่างไร ตัดสินได้ว่างานใดควรจบบนบอร์ดและงานใดควรส่งออก และยกตัวอย่างการใช้งานในอุตสาหกรรมได้อย่างน้อยหนึ่งกรณี
  2. เขียนโปรแกรม MicroPython ควบคุมฮาร์ดแวร์บนบอร์ด (LED ปุ่ม ปุ่มสัมผัส และค่าอนาล็อก) และสร้าง UI บนจอสัมผัสที่สถานะบนจอตรงกับสถานะของฮาร์ดแวร์จริงทุกครั้งที่ทดสอบ
  3. อ่านข้อมูลเซนเซอร์ (IMU เข็มทิศ CapSense ลูกบิด) เลือกและใช้ตัวกรองสัญญาณที่เหมาะกับงาน แล้วออกแบบ HMI dashboard ที่แสดงผลแบบ real-time ภายในงบ widget และอัตราอัปเดตที่ตั้งไว้ และรันต่อเนื่องได้ 10 นาที
  4. เชื่อมบอร์ดเข้า WiFi ส่งและรับข้อมูลผ่าน MQTT ทั้งสองทิศทาง และเปรียบเทียบช่องทางพอร์ต 1883 กับช่องทาง MQTTs ที่เข้ารหัส TLS (serverTLS) ได้ว่าอะไรปลอดภัยขึ้นและอะไรยังไม่ได้รับการปกป้อง
  5. ประกอบทั้งหมดเป็น AIoT mini-product ที่แก้โจทย์จริงหนึ่งเรื่อง ทำงานต่อได้เมื่อเน็ตหลุด ส่งข้อมูลตาม schema ที่ออกแบบเอง และนำเสนอได้ภายใน 10 นาที
  • บอร์ด BENTO PSoC Edge Eva Kit (KIT_PSE84_EVAL_EPC2) หรือ TESAIoT Dev Kit (SoM KIT_PSE84_AI บนฐาน QWA309) ที่ลงเฟิร์มแวร์ MicroPython ของ BENTO แล้ว — หรือไม่มีบอร์ดก็เริ่มได้ ด้วย BENTO Emulator ใน BENTO IDE (บางบทเรียนต้องใช้บอร์ดจริง ดูบรรทัด “อุปกรณ์” ในแต่ละบทเรียน)
  • BENTO IDE — https://ide.tesaiot.dev/ เขียนโค้ดแล้วกด Program to Device ได้จากเบราว์เซอร์ และมี BENTO Emulator ในตัว
  • WiFi ตั้งแต่บทเรียน 1.4 (ต่อเน็ตครั้งแรก) และใช้จริงจังในโมดูล 4 · เครือข่ายที่ต้อง login ผ่านหน้าเว็บ บอร์ดใช้ไม่ได้ ให้ใช้ Hotspot จากมือถือแทน
  • TESAIoT Community Edition สำหรับบทเรียน 4.5–4.6 — แพลตฟอร์ม IoT ที่ติดตั้งเองได้ (https://github.com/tesaiot/tesaiot-community-edition) · บัญชี TESAIoT Platform สำหรับ MQTTs ในบทเรียน 4.7–4.9 (CE ที่ติดตั้งเองใช้กับ MQTTs จากบอร์ดไม่ได้ ดูบทเรียน 4.7) · ส่วนบทเรียนที่ใช้ MQTT ธรรมดาอื่น ๆ และ capstone ใช้ broker ฝึกสาธารณะ ถ้าเรียนเป็นกลุ่ม ผู้จัดอาจเตรียม broker และตัวตนของอุปกรณ์ไว้ให้
  • สมุดหรือไฟล์สำหรับ บันทึกการเรียน ของตัวเอง สไลด์จะบอกเป็นระยะว่าควรจดอะไร

สองบอร์ดต่างกันที่จำนวนไฟ (3 กับ 5 ดวง) เซนเซอร์เพิ่มบน Dev Kit (SHT40, DPS368, เรดาร์) และการ์ดบนหน้า Home (Dev Kit ไม่มี Controls, TESAIoT Connectivity และ Audio Player) สไลด์บอกไว้ทุกจุดที่สองบอร์ดต่างกัน

ห้าโมดูล 36 บทเรียน ราว 36 ชั่วโมงตามหลักสูตรต้นฉบับ (สิบสองชุด ชุดละสามชั่วโมง) ผลรวมเวลาโดยประมาณของทุกบทเรียนคือราว 38 ชั่วโมง แต่ละบทเรียนราว 45–75 นาที บทเรียนมาเป็นชุด ชุดละสามบทเรียน: แนวคิด → แกะโค้ด → ลงมือทำ

โมดูล บทเรียน ชั่วโมง (ประมาณ) เรื่อง
โมดูล 1 — แอปพลิเคชันบนจอที่มีอยู่แล้ว 6 6.8 รู้จักบอร์ดจากแอปที่มากับเครื่อง ส่งข้อความแรกขึ้นจอด้วย lcd และ ui แล้วพาค่าจากบอร์ดออกไปบนเครือข่ายและรับคำสั่งกลับมา
โมดูล 2 — จากจอสู่ฮาร์ดแวร์ 9 9.4 สั่ง LED และอ่านปุ่มด้วย gpio สร้างแผงควบคุมบนจอสัมผัสที่คุมไฟจริง แล้วอ่านลูกบิดและ CapSense พร้อมกรองสัญญาณ
โมดูล 3 — แสดงผลเซนเซอร์บน HMI 9 8.9 แปลงความเร่งเป็นมุมเอียง สุ่มสัญญาณให้ถูกแล้ววาดกราฟ real-time และประกอบ Mini-HMI Dashboard สี่การ์ดที่รันต่อเนื่องได้
โมดูล 4 — เชื่อมต่อแพลตฟอร์ม IoT 9 9.4 ต่อ WiFi อ่านค่าเครือข่ายให้เป็น ส่ง telemetry และรับ command ผ่าน MQTT ขึ้นแพลตฟอร์มที่ติดตั้งเอง แล้วย้ายขึ้น MQTTs ผ่าน TLS
โมดูล 5 — Capstone: AIoT Mini-Product 3 3.3 เริ่มจากโจทย์จริง ออกแบบด้วย canvas และ schema แล้วประกอบ Sense → Decide → Show → Send เป็น mini-product ที่อยู่รอดเมื่อเน็ตหลุด และนำเสนอ 10 นาที
รายชื่อบทเรียนทั้งหมด

โมดูล 1 — แอปพลิเคชันบนจอที่มีอยู่แล้ว

โมดูล 2 — จากจอสู่ฮาร์ดแวร์

โมดูล 3 — แสดงผลเซนเซอร์บน HMI

โมดูล 4 — เชื่อมต่อแพลตฟอร์ม IoT

โมดูล 5 — Capstone: AIoT Mini-Product

ไฟล์ คืออะไร
README.md เป้าหมาย สิ่งที่ต้องเตรียม แนวคิดโดยย่อ รายชื่อไฟล์โค้ด และเช็กความเข้าใจ
slides.md สไลด์ของบทเรียน (Marp) พร้อมโน้ตผู้สอน
examples/ ตัวอย่างที่รันได้ทันที หัวไฟล์บอกว่า ไฟล์นี้สอน อะไร ดูที่จอ ตรงไหน และ กับดัก อยู่ตรงไหน
practice/ ไฟล์ฝึก มีช่องว่าง # เติม: ให้เติมเอง (บทเรียนลงมือทำ)
solution/ เฉลย ชื่อไฟล์ตรงกับไฟล์ฝึก
quiz.yaml คำถามเช็กความเข้าใจ ผูกกับเป้าหมายแต่ละข้อ

วิธีรันโค้ด: เปิดไฟล์ใน BENTO IDE → บนจอบอร์ดแตะการ์ด BENTO Playground ค้างไว้ → กด Program to Device แล้วอ่านผลบนจอบอร์ด (หรือกด Run บน BENTO Emulator) · ไฟล์โค้ดขึ้นต้นด้วยเลขชุดเดิม เช่น s03_led_button.py และข้อความบนจอบางไฟล์ยังขึ้นว่า “ชุด 9” ซึ่งหมายถึงชุดตัวอย่าง s09

โค้ดที่ใช้ร่วมกันหลายบทเรียนอยู่ใน shared/: shared/lvgl_ports/ ตัวอย่าง LVGL ที่ถอดเป็น MicroPython · shared/widgets/ widget ทีละตัว · shared/usecase/ ตัวอย่างประยุกต์ · shared/web/ หน้าเว็บอ่านค่าและส่งคำสั่งผ่าน MQTT

เฉลยเปิดให้ดูได้โดยตั้งใจ แต่มีไว้ให้ เทียบหลังจากพยายามเองแล้ว ไม่ได้มีไว้คัดลอกวาง

  1. ลองเองก่อนอย่างน้อย 15 นาที อ่านคำใบ้ # เติม: ในไฟล์ฝึก เติมแล้วส่งขึ้นบอร์ดดูผลจริง ถ้า error ให้อ่านข้อความ error ให้จบก่อน มันมักบอกบรรทัดที่ผิดตรง ๆ
  2. เปิดเฉลยอ่าน แล้วปิด อ่านให้เข้าใจว่าทำไมเขียนแบบนั้น แล้วปิดไฟล์เฉลยก่อนกลับไปแก้ไฟล์ของตัวเอง
  3. พิมพ์เอง ไม่วาง นิ้วที่พิมพ์เองกับตาที่คัดลอกจำคนละแบบกัน
  4. รันแล้วลองแก้ตัวเลข เปลี่ยนค่าหน่วงเวลา สี หรือช่วงของกราฟ แล้วดูว่าอะไรเปลี่ยนบนจอ การรู้ว่า “ถ้าแก้ตรงนี้จะเกิดอะไร” คือความเข้าใจจริง
  • เนื้อหา (สไลด์ README ภาพที่วาดเองและภาพหน้าจอ) — CC BY-NC 4.0
  • โค้ด (examples/, practice/, solution/, shared/) — MIT, Copyright (c) 2026 Wiroon Sriborrirux, Advance Innovation Centre (AIC), Burapha University (ข้อความสัญญาอนุญาตเต็มอยู่ที่ LICENSES/MIT.txt ของรีโพ)
  • ภาพจากบุคคลที่สาม — ใช้ตามสัญญาอนุญาตของแต่ละภาพ รายชื่อผู้สร้าง แหล่งที่มา และสัญญาอนุญาตอยู่ใน credits.yaml · รูปจากคู่มือบอร์ดของ Infineon ใช้เพื่อการเรียนการสอน สิทธิ์เป็นของ Infineon Technologies AG

หลักสูตรนี้ดัดแปลงจาก AIoT in Action — Embedded Systems for AIoT Developer ของ รศ.วิรุฬห์ ศรีบริรักษ์ วิศวกรรมระบบสมองกลฝังตัว ภาควิชาวิศวกรรมไฟฟ้า คณะวิศวกรรมศาสตร์ มหาวิทยาลัยบูรพา (BUU) · Advance Innovation Centre (AIC) (รีโพ @ a80bbe88 · เว็บสไลด์) โดยแบ่งสไลด์สิบสองชุดเป็นบทเรียน จัดเป็นห้าโมดูล และปรับถ้อยคำให้เหมาะกับผู้เรียนทั่วไป · BENTO & TESAIoT

เมื่อนำหลักสูตรนี้หรือบางส่วนไปใช้ ดัดแปลง หรือเผยแพร่ต่อ กรุณาอ้างอิงตามนี้ (ถ้าดัดแปลง ให้เติม «(ดัดแปลง)» ต่อท้ายชื่อ และคงเครดิตต้นฉบับของ AIC ไว้ด้วย):

“AIoT in Action: จากหน้าจอสัมผัสสู่แพลตฟอร์ม IoT (MicroPython)” จาก TESA Open Knowledge โดยสมาคมสมองกลฝังตัวไทย (Thai Embedded Systems Association: TESA) https://github.com/tesaiot/tesa-qualification-program สัญญาอนุญาต CC BY-NC 4.0 · ดัดแปลงจาก AIoT in Action — Embedded Systems for AIoT Developer, © 2026 รศ.วิรุฬห์ ศรีบริรักษ์ วิศวกรรมระบบสมองกลฝังตัว ภาควิชาวิศวกรรมไฟฟ้า คณะวิศวกรรมศาสตร์ มหาวิทยาลัยบูรพา (BUU) · Advance Innovation Centre (AIC) · BENTO & TESAIoT (CC BY 4.0 / MIT)

การอ้างอิงไม่ได้แปลว่า TESA หรือ Infineon รับรองหลักสูตรหรือผลงานที่นำไปใช้ต่อ ชื่อ TESA, TQP และ “Certified by TESA and Infineon” เป็นเครื่องหมายของโครงการ

วิดีโอประกอบหลักสูตร

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

วิดีโอโดย สมาคมสมองกลฝังตัวไทย (TESA) · ดูทั้งชุดใน playlist AIoT Foundation

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

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