ควบคุมบ้านอัตโนมัติผ่าน Bluetooth ด้วย ESP32 (BLE)
สวัสดีน้องๆ ทุกคน ยินดีต้อนรับสู่ช่อง "Electrify Circuit" ครับ วันนี้เราจะมาทำโปรเจค "ควบคุมบ้านอัตโนมัติผ่าน Bluetooth ด้วย ESP32 (BLE)" กัน ควบคุมเครื่องใช้ไฟฟ้าด้วยแอพในมือถือ Android งานนี้จัดไปวัยรุ่น ใช้ได้จริงโดยเฉพาะสำหรับผู้สูงอายุหรือผู้ที่มีความต้องการพิเศษเลย
ช่วงหลายปีมานี้ โลกไร้สายมันค่อนข้างบูมมาก มีเทคโนโลยี RF รุ่นใหม่ๆ ออกมาเพียบเลย ซึ่งมันส่งผลกระทบ (หรือจะเรียกว่าปฏิวัติเลยก็ได้) ต่อวิธีที่เราซื้อของและทำธุรกิจกันเลยทีเดียว
เทคโนโลยีไร้สายที่ชื่อว่า Bluetooth นี่แหละ กลายเป็นตัวเลือกหลักแทนสายไฟสำหรับการสื่อสารระยะสั้นไปซะแล้ว ด้วยอุปกรณ์อย่างสมาร์ทโฟนหรือแท็บเล็ตที่มี Bluetooth ในตัว การเชื่อมต่อไร้สายนี่คือวิธีที่ง่ายสุดในการส่ง-รับข้อมูล และเพราะเทคโนโลยีนี้มันฮิตมากในวงการโปรเจค DIY เลยมักถูกนำมาใช้ควบคุมสิ่งต่างๆ แบบไร้สายนั่นเอง
โปรเจคนี้จะอธิบายวิธีควบคุมเครื่องใช้ไฟฟ้าด้วยอุปกรณ์ Android การกดสวิตช์ผนังแบบเดิมๆ อาจเป็นเรื่องยากสำหรับผู้สูงอายุหรือผู้ที่มีข้อจำกัดทางร่างกาย งานนี้เลยเป็นทางออก โดยการรวมการควบคุมเครื่องใช้ไฟฟ้าทั้งหมดไว้ในระบบเดียวที่สั่งงานผ่านแอพในมือถือหรือแท็บเล็ต Android ได้เลย ระบบที่เราจะทำจะควบคุมโหลดไฟฟ้าตามคำสั่งที่ส่งมาจากอุปกรณ์ Android น้องๆ ต้องติดตั้งแอพพลิเคชันลงในมือถือหรือแท็บเล็ตเพื่อใช้ส่งคำสั่งไปยังโมดูล Bluetooth ในการควบคุมเครื่องใช้ไฟฟ้า เทคโนโลยีไร้สายที่ใช้ในโปรเจคนี้คือ Bluetooth นี่แหละ หรือจะเรียกอีกชื่อว่า "ระบบบ้านอัตโนมัติบน Android" หรือ "ระบบควบคุมเครื่องใช้ไฟฟ้าด้วยรหัสผ่านระยะไกล" ก็ได้ สู้งานนะน้อง!
มุมมองของโปรเจค
ควบคุมบ้านอัตโนมัติผ่าน Bluetooth ด้วย ESP32 เป็นเลย์เอาต์พื้นฐานที่ทั้งสนุกและเข้าใจง่ายสำหรับใครก็ตามที่อยากเรียนรู้เกี่ยวกับการโต้ตอบระหว่างอุปกรณ์ดิจิทัลและฟิสิคัลเบื้องต้น ด้วยการใช้สมาร์ทโฟนและฟีดแบ็คจาก Bluetooth น้องๆ จะได้เรียนรู้พื้นฐานของระบบบ้านอัตโนมัติและการควบคุมระยะไกล
การนำไปใช้ทางเทคนิค
ระบบนี้ใช้ ESP32 Development Board ในการรับคำสั่งจากสมาร์ทโฟนผ่าน Bluetooth จากนั้น ESP32 จะส่งสัญญาณไปยัง โมดูลรีเลย์ (Relay Module) เพื่อเปิดหรือปิดเครื่องใช้ไฟฟ้าต่างๆ ตามคำสั่งที่ได้รับ
โครงสร้างพื้นฐานของฮาร์ดแวร์
- ESP32 Development Board: ไมโครคอนโทรลเลอร์ Dual-Core สุดทรงพลังที่มี Bluetooth และ WiFi ในตัว
- โมดูลรีเลย์ (Relay Module): ทำหน้าที่เป็นตัวกลางแยกส่วนและควบคุมเครื่องใช้ไฟฟ้าที่ใช้แรงดัน/กระแสสูงด้วยสัญญาณแรงดันต่ำจาก ESP32
- สาย Micro-USB: ใช้เชื่อมต่อ ESP32 กับคอมพิวเตอร์เพื่อจ่ายไฟและอัพโหลดโค้ด
- สายจัมเปอร์ (Jumper Wires): ใช้ต่อวงจรเชื่อมโยงทุกชิ้นส่วนเข้าด้วยกัน
ชิ้นส่วนหลักๆ (Mager Components)
Esp 32 (BLE):- ESP32 นี่มันฟีเจอร์เพียบ จัดหนักกว่าตัวรุ่นพี่ ESP8266 เยอะ เลยขอสรุปสเปคสำคัญๆ มาให้ดู แต่ถ้าอยากรู้ละเอียดทุกข้อ ไปดู Datasheet กันเองนะตัวนี้ ห้ามช็อตนะ!
สเปคเด็ดๆ:-
- ใช้ Single หรือ Dual-Core 32-bit LX6 Microprocessor ความถี่สัญญาณนาฬิกาสูงสุด 240 MHz
- มีหน่วยความจำ SRAM 520 KB, ROM 448 KB และ RTC SRAM 16 KB
- รองรับการเชื่อมต่อ Wi-Fi 802.11 b/g/n ความเร็วสูงสุด 150 Mbps
- รองรับทั้ง Classic Bluetooth v4.2 และ BLE
- มี GPIO ให้โปรแกรมได้ถึง 34 ขา
- มีช่อง ADC แบบ 12-bit SAR ถึง 18 ช่อง และ DAC แบบ 8-bit 2 ช่อง
- การเชื่อมต่อแบบอนุกรมครบครัน: SPI 4 ช่อง, I2C 2 ช่อง, I2S 2 ช่อง, UART 3 ช่อง
- มี Ethernet MAC สำหรับการสื่อสาร LAN แบบมีสาย (แต่ต้องใช้ PHY ภายนอกเพิ่ม)
รีเลย์ (Relay):- รีเลย์คืออุปกรณ์สวิตชิ่งที่ใช้กันบ่อยที่สุดในวงจรอิเล็กทรอนิกส์ มาดูกันว่าเราจะใช้มันในโปรเจคของเราได้ยังไง ตามความต้องการของงาน
คุณสมบัติของ รีเลย์ 5V 5-Pin
- แรงดันทริกเกอร์ (แรงดันคร่อมขดลวด) : 5V DC
- กระแสทริกเกอร์ (กระแสใช้งานปกติ) : 70mA
- กระแสโหลด AC สูงสุด: 10A @ 250/125V AC
- กระแสโหลด DC สูงสุด: 10A @ 30/28V DC
- การจัดวางขาแบบ 5-Pin กะทัดรัด พร้อมเปลือกพลาสติก
- เวลาทำงาน: 10msec เวลายกเลิก: 5msec
- สวิตช์ได้สูงสุด: 300 ครั้ง/นาที (เชิงกล)
การจัดวางขารีเลย์ขดลวด 1 (Coil 1):- ใช้สำหรับทริกเกอร์ (เปิด/ปิด) รีเลย์ ปกติแล้วปลายด้านหนึ่งจะต่อกับ 5V และอีกด้านต่อกับกราวด์
ขดลวด 2 (Coil 2):- ใช้สำหรับทริกเกอร์ (เปิด/ปิด) รีเลย์ ปกติแล้วปลายด้านหนึ่งจะต่อกับ 5V และอีกด้านต่อกับกราวด์
ขาร่วม (COM):- ขาร่วมจะต่อกับปลายด้านหนึ่งของโหลดที่เราต้องการควบคุม
ขาปกติปิด (NC):- ปลายอีกด้านของโหลดจะต่อกับขา NO หรือ NC ก็ได้ ถ้าต่อกับ NC โหลดจะยังคงต่ออยู่ก่อนถูกทริกเกอร์
ขาปกติเปิด (NO):- ปลายอีกด้านของโหลดจะต่อกับขา NO หรือ NC ก็ได้ ถ้าต่อกับ NO โหลดจะยังคงตัดออกก่อนถูกทริกเกอร์
การสื่อสารและลอจิก
โค้ด ESP32 ใช้ไลบรารี BluetoothSerial
- เริ่มต้น: ESP32 จะเริ่มต้นบลูทูธและตั้งชื่อตัวเอง (เช่น "ESP32_Automation")
- ตรวจสอบ: ESP32 จะคอยตรวจสอบพอร์ตซีเรียลบลูทูธอย่างต่อเนื่อง เพื่อดูว่ามีคำสั่งจากสมาร์ทโฟนเข้ามาหรือเปล่า
- ประมวลผลคำสั่ง: เมื่อได้รับคำสั่ง โค้ดจะสั่งให้รีเลย์ตัวที่ตรงกันทำงาน เพื่อเปิดหรือปิดเครื่องใช้ไฟฟ้าที่ต่ออยู่
การทำงานของซอฟต์แวร์
โค้ดถูกออกแบบมาให้ตอบสนองต่อคำสั่งทันที ทำให้ระบบควบคุมเครื่องใช้ไฟฟ้าของคุณตอบสนองได้ไวมาก งานนี้จัดไปวัยรุ่น!
อุปกรณ์ที่ต้องใช้:-
- Esp 32 (BLE)
- เบรดบอร์ด
- โมดูลรีเลย์ 5V
- สายจัมเปอร์
- โคมไฟหรือขั้วหลอดไฟ
- สายไฟ 1.00 ตร.มม.
วิดีโอสอนประกอบ:
แผนภาพวงจรโมดูลรีเลย์:
ต่อยอดในอนาคต
- เชื่อมต่อ MQTT: ต่อกับ MQTT broker เพื่อทำระบบบ้านอัตโนมัติขั้นเทพผ่าน WiFi ได้อีกเพียบ
- เชื่อมต่อคลาวด์: โยงกับบริการคลาวด์เพื่อสั่งงานอุปกรณ์จากที่ไหนในโลกก็ได้ (จัดไปวัยรุ่น!)
- ตรวจจับการสั่น/เคลื่อนไหว: เพิ่มเซ็นเซอร์สั่นหรือเซ็นเซอร์ตรวจจับการเคลื่อนไหวมาเป็นตัวทริกเกอร์เปิดปิดอุปกรณ์
- ควบคุมด้วยเสียง: เอาไปต่อกับ Alexa หรือ Google Assistant ให้สั่งงานผ่านเสียงได้เลย สะดวกเวอร์
โปรเจค "ควบคุมบ้านอัตโนมัติผ่าน Bluetooth ด้วย ESP32" นี้เหมาะสุดๆ สำหรับสายอิเล็กฯ ทุกคนที่อยากได้เครื่องมือทำบ้านอัตโนมัติที่อินเทอร์แอคทีฟและสนุกกว่าเดิม! สู้งานนะน้อง ห้ามช็อตนะตัวนี้