💡 เราจะทำอะไร?

ในบทความนี้ เราจะสร้างแอปที่มีสวิตช์ 4 ตัว (Switch1–Switch4) สำหรับเปิด–ปิดอุปกรณ์ (เช่น หลอดไฟ หรือรีเลย์) และควบคุมผ่าน Firebase Realtime Database แบบเรียลไทม์ ซึ่งสามารถใช้งานร่วมกับบอร์ด ESP32 หรือ NodeMCU ได้


🧰 สิ่งที่ต้องมี

  • บัญชี Firebase

  • แอป Kodular หรือ MIT App Inventor

  • บอร์ด IoT (ESP32, NodeMCU, Arduino + WiFi)

  • อินเทอร์เน็ต

  • มือถือ Android สำหรับทดสอบ


🛠 โครงสร้าง Firebase

ใน Firebase เราจะใช้ Tag 4 ตัว ได้แก่:

SwitchFirebase Tagค่าที่เก็บ
Switch1data1true หรือ false
Switch2data2true หรือ false
Switch3data3true หรือ false
Switch4data4true หรือ false

🧩 อธิบายโค้ดบล็อกจากภาพ

🔸 เมื่อเปิดแอป (Screen1.Initialize)

plaintext
เมื่อหน้าจอเริ่มทำงาน: → ขอค่าปัจจุบันจาก Firebase ทั้ง 4 tag (data1 ถึง data4) → ถ้ายังไม่มีค่า ให้ใส่เป็น false ชั่วคราว

✅ จุดประสงค์: ให้สวิตช์ในแอปตรงกับค่าล่าสุดที่อยู่ใน Firebase

blocks
call FirebaseDB1.GetValue tag "data1" valueIfTagNotThere = false call FirebaseDB1.GetValue tag "data2" valueIfTagNotThere = false call FirebaseDB1.GetValue tag "data3" valueIfTagNotThere = false call FirebaseDB1.GetValue tag "data4" valueIfTagNotThere = false

🔸 เมื่อ Firebase ส่งค่ากลับ (FirebaseDB1.GotValue)

plaintext
ถ้า tag = data1 → ตั้งค่า Switch1 ให้ตรงกับค่าที่ได้ ถ้า tag = data2 → ตั้งค่า Switch2 ... ถ้า tag = data3 → ตั้งค่า Switch3 ... ถ้า tag = data4 → ตั้งค่า Switch4 ...

✅ จุดประสงค์: ตั้งค่าปุ่มสวิตช์ในแอปให้ตรงกับ Firebase

blocks
if tag = "data1" → set Switch1.On = value if tag = "data2" → set Switch2.On = value ...

🔸 เมื่อผู้ใช้กดสวิตช์

plaintext
เมื่อ Switch1 ถูกเปิดหรือปิด: → บันทึกค่าใหม่ไปยัง Firebase (data1) Switch2 → data2 Switch3 → data3 Switch4 → data4

✅ จุดประสงค์: Firebase อัปเดตค่าทันที เมื่อผู้ใช้เปลี่ยนสถานะสวิตช์

blocks
when Switch1.Changed → StoreValue tag "data1" value = Switch1.On when Switch2.Changed → StoreValue tag "data2" value = Switch2.On ...

🔄 การทำงานแบบเรียลไทม์

  • เมื่อผู้ใช้กดสวิตช์ → Firebase จะอัปเดต

  • ฝั่งอุปกรณ์ (เช่น ESP32) อ่านค่าจาก Firebase และควบคุมอุปกรณ์จริงตามนั้น

  • หรือถ้ามีอุปกรณ์อื่นเปลี่ยนค่าใน Firebase → แอปก็จะอัปเดตสถานะสวิตช์ตาม


📱 ตัวอย่างการใช้

  • เปิด–ปิดไฟ 4 ดวง ผ่านมือถือ

  • ควบคุมอุปกรณ์ในบ้าน (Smart Home)

  • เชื่อมกับรีเลย์เพื่อควบคุมพัดลม / ปลั๊กไฟ

  • หรือควบคุมผ่าน ESP32 ที่เช็คค่าใน path /data1 ถึง /data4


🧠 เคล็ดลับเพิ่มเติม

  • สามารถใช้ Clock ในแอปให้ตรวจสอบสถานะทุก 5 วิ

  • ใช้ไอคอนเปลี่ยนสีเมื่อเปิด/ปิดไฟ

  • เช็คว่า Firebase เชื่อมต่อสำเร็จก่อนอ่านค่า


✅ สรุป

การใช้งาน Firebase ร่วมกับโค้ดบล็อกใน App Inventor หรือ Kodular ช่วยให้เราสร้างแอปควบคุมอุปกรณ์ไฟฟ้าได้อย่างง่ายดาย และยังสามารถทำงานแบบเรียลไทม์โดยไม่ต้องเขียนโค้ดด้วยมือ

เหมาะสำหรับผู้เริ่มต้น หรือผู้ที่อยากทำโปรเจกต์ Smart Home, IoT หรือระบบควบคุมไฟฟ้าอัตโนมัติด้วยมือถือ

ความคิดเห็น