AIoT for Beginners

สร้างโคมไฟอัจฉริยะ (smart lamp) ด้วย Arduino UNO R4 WiFi ที่เปิด-ปิดตามความสว่าง และควบคุมผ่านหน้าแชต

Author

ผศ.ดร.ศุภชัย วรพจน์พิศุทธิ์

Published

4 ตุลาคม 2569

ภาพรวม

โคมไฟอัจฉริยะที่ทุกคนสร้างในกิจกรรมนี้

  • วัดความสว่าง ของห้องด้วยเซนเซอร์ที่ต่อกับบอร์ด Arduino UNO R4 WiFi
  • เปิดไฟเองเมื่อมืด และปิดเมื่อสว่างพอ (โหมดอัตโนมัติ)
  • ตรวจสอบและควบคุมผ่านหน้าแชต เช่น พิมพ์ว่า “เปิดไฟ” “ปิดไฟ” หรือ “ตอนนี้สว่างเท่าไร”
  • มี AI (Gemma) ช่วยแปลข้อความที่พิมพ์เป็นคำสั่ง ส่วนการสั่งหลอดไฟเป็นหน้าที่ของกฎที่ตรวจสอบได้

flowchart LR
    subgraph student["นักเรียน: Arduino"]
    S["เซนเซอร์แสง A0"] --> B["UNO R4 WiFi"]
    B --> A["หลอดไฟ LED"]
    end
    subgraph teacher["ผู้สอน: คอมพิวเตอร์ของผู้สอน"]
    G["gateway<br/>กฎ + โหมด"]
    T["Gemma<br/>แปลข้อความเป็นคำสั่ง"]
    C["หน้าแชต"]
    end
    B -- "Wi-Fi: ค่าแสง" --> G
    G -- "LED_ON / LED_OFF" --> B
    C -- "ข้อความ" --> G
    G <--> T
    N["นักเรียนเปิดหน้าแชต<br/>ในเบราว์เซอร์"] --> C

Tipใครทำอะไร

นักเรียน เขียนและอัปโหลดโค้ด Arduino ต่อวงจร แล้วใช้หน้าแชตผ่านเบราว์เซอร์ ไม่ต้องติดตั้ง Python

ผู้สอน เปิด gateway, หน้าแชต และ Gemma บนคอมพิวเตอร์เครื่องเดียว เนื้อหาส่วนนี้มีป้าย “ส่วนของผู้สอน” กำกับ

สำหรับนักเรียน

ลำดับ เรื่อง หน้า
0 ติดตั้ง Arduino Cloud Agent และใช้ Cloud Editor อัปโหลดโค้ด (พร้อมวิธีแก้ปัญหา) เตรียมเครื่องมือ
1 เซนเซอร์และแอคชูเอเตอร์: แนวคิดพื้นฐาน แนวคิด
2 ต่อวงจร อ่านค่าแสง ทำไฟกลางคืน แล้วเชื่อม Wi-Fi สร้างโคมไฟ
2b ไม่มีบอร์ด? จำลองขั้นที่ 1–4 ในเบราว์เซอร์ด้วย Wokwi ไม่มีบอร์ด? ใช้ Wokwi
3 สั่งและตรวจสอบโคมไฟผ่านหน้าแชต + ลองเขียน system prompt ของตัวเอง ใช้หน้าแชต
4 ปรับแก้โค้ด Arduino ให้ใช้งานได้ดีขึ้น ปรับแก้โค้ด

ที่ต้องมี: บอร์ด Arduino UNO R4 WiFi + สาย USB, เซนเซอร์แสงแบบ analog (เช่น Grove Light Sensor, LDR + ตัวต้านทาน 10 kΩ หรือ potentiometer จำลองแสง), LED ภายนอก + ตัวต้านทาน 220 Ω (ขั้นสุดท้าย), Arduino Cloud Editor (หรือ Arduino IDE 2) พร้อมไลบรารี ArduinoJson v7

ข้อมูลที่ขอจากผู้สอน: ชื่อและรหัส Wi-Fi 2.4 GHz, รหัสบอร์ดของคุณ (desk-01 …), และที่อยู่หน้าแชต

Warningใช้เฉพาะ LED แรงดันต่ำ

ห้ามต่อหลอดไฟบ้านหรืออุปกรณ์ไฟฟ้าแรงสูงกับบอร์ดโดยตรง

สำหรับผู้สอน

ส่วนของผู้สอน นักเรียนไม่ต้องทำหน้าเหล่านี้

เรื่อง หน้า
ติดตั้งและเปิดระบบทั้งหมดด้วยไม่กี่คำสั่ง เตรียมระบบ
กฎของโคมไฟ สัญญา API ตัวจำลองบอร์ด Gateway
เปิด Gemma (CPU/Colab) ให้แปลข้อความเป็นคำสั่ง AI
ช่องโหว่ของระบบที่จะสอนรอบหน้า ความปลอดภัย

เริ่มเร็ว (ต้องมี Python 3.10 ขึ้นไป):

pip install streamlit
python -m gateway.server --lan
streamlit run chatbot/app.py

กิจกรรมของคอร์สอบรม

การนำชุดกิจกรรมนี้ไปอบรมที่ต่างๆ ดูกิจกรรมของคอร์สอบรม

โครงสร้าง repo

aiot-for-beginners/
├── devices/    Arduino 4 ขั้น (นักเรียน) + ตัวจำลองบอร์ด (ผู้สอน)
├── gateway/    gateway (ผู้สอน)
├── chatbot/    หน้าแชต (ผู้สอนเปิด นักเรียนใช้ผ่านเบราว์เซอร์)
├── ai/         Gemma และ notebook (ผู้สอน)
└── content/    ต้นฉบับเอกสารนี้ (Quarto)
Noteที่มาของเนื้อหา

ส่วนแนวคิดเรื่องเซนเซอร์และแอคชูเอเตอร์แปลและเรียบเรียงจาก IoT For Beginners ของ Microsoft (MIT License) ดูแหล่งอ้างอิง