กลับไปหน้ารวมไฟล์
bluetooth-control-home-automation-using-esp-32-2f982a.md

ควบคุมบ้านอัตโนมัติผ่าน 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 ภายนอกเพิ่ม)
  • มี Host controller สำหรับ SD/SDIO/MMC 1 ตัว และ Slave controller สำหรับ SDIO/SPI อีก 1 ตัว
  • มี Motor PWM และ LED PWM สูงสุด 16 ช่อง
  • รองรับ Secure Boot และ Flash Encryption
  • รีเลย์ (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

    1. เริ่มต้น: ESP32 จะเริ่มต้นบลูทูธและตั้งชื่อตัวเอง (เช่น "ESP32_Automation")
    2. ตรวจสอบ: ESP32 จะคอยตรวจสอบพอร์ตซีเรียลบลูทูธอย่างต่อเนื่อง เพื่อดูว่ามีคำสั่งจากสมาร์ทโฟนเข้ามาหรือเปล่า
    3. ประมวลผลคำสั่ง: เมื่อได้รับคำสั่ง โค้ดจะสั่งให้รีเลย์ตัวที่ตรงกันทำงาน เพื่อเปิดหรือปิดเครื่องใช้ไฟฟ้าที่ต่ออยู่

    การทำงานของซอฟต์แวร์

    โค้ดถูกออกแบบมาให้ตอบสนองต่อคำสั่งทันที ทำให้ระบบควบคุมเครื่องใช้ไฟฟ้าของคุณตอบสนองได้ไวมาก งานนี้จัดไปวัยรุ่น!

    อุปกรณ์ที่ต้องใช้:-

    • Esp 32 (BLE)
    • เบรดบอร์ด
    • โมดูลรีเลย์ 5V
    • สายจัมเปอร์
    • โคมไฟหรือขั้วหลอดไฟ
    • สายไฟ 1.00 ตร.มม.

    วิดีโอสอนประกอบ:

    แผนภาพวงจรโมดูลรีเลย์:

    ต่อยอดในอนาคต

    • เชื่อมต่อ MQTT: ต่อกับ MQTT broker เพื่อทำระบบบ้านอัตโนมัติขั้นเทพผ่าน WiFi ได้อีกเพียบ
    • เชื่อมต่อคลาวด์: โยงกับบริการคลาวด์เพื่อสั่งงานอุปกรณ์จากที่ไหนในโลกก็ได้ (จัดไปวัยรุ่น!)
    • ตรวจจับการสั่น/เคลื่อนไหว: เพิ่มเซ็นเซอร์สั่นหรือเซ็นเซอร์ตรวจจับการเคลื่อนไหวมาเป็นตัวทริกเกอร์เปิดปิดอุปกรณ์
    • ควบคุมด้วยเสียง: เอาไปต่อกับ Alexa หรือ Google Assistant ให้สั่งงานผ่านเสียงได้เลย สะดวกเวอร์

    โปรเจค "ควบคุมบ้านอัตโนมัติผ่าน Bluetooth ด้วย ESP32" นี้เหมาะสุดๆ สำหรับสายอิเล็กฯ ทุกคนที่อยากได้เครื่องมือทำบ้านอัตโนมัติที่อินเทอร์แอคทีฟและสนุกกว่าเดิม! สู้งานนะน้อง ห้ามช็อตนะตัวนี้

    ข้อมูล Frontmatter ดั้งเดิม

    apps:
      - "1x Arduino IDE"
      - "1x Bluetooth Serial Terminal App (Smartphone)"
    author: "electrify_circuit"
    category: "Home Automation"
    components:
      - "1x Jumper wires (generic)"
      - "1x Wire, Wrapping Wire"
      - "1x Relay Module (Generic)"
      - "1x FireBeetle ESP32 IOT Microcontroller (Supports Wi-Fi & Bluetooth)"
      - "1x Breadboard (generic)"
    description: "สวัสดีน้องๆวัยรุ่นทุกคน! ยินดีต้อนรับสู่ช่อง "Electrify Circuit" งานนี้เราจะมาจัดการบ้านด้วยมือถือผ่าน Bluetooth (BLE) ใช้บอร์ด ESP32 ควบคุมไฟและอุปกรณ์ต่างๆ แค่กดปุ่มก็สั่งงานได้ตึงๆ!"
    difficulty: "Intermediate"
    documentationLinks: []
    downloadableFiles:
      - "https://projects.arduinocontent.cc/86994363-aa3c-41a0-aae5-c8543c540af9.ino"
      - "https://projects.arduinocontent.cc/86994363-aa3c-41a0-aae5-c8543c540af9.ino"
    encryptedPayload: "U2FsdGVkX1+oYPTLkYrN3a3Taod2qtc0xXDrC9wXKcekJWJ94o1xvd9TGlNfLhCjX++f3SNzGyeyNwegXLte1S0lbzu1b2rt2rmu1PSlH1QUoRHxueCZfxwhjy4gOjvw"
    heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/bluetooth-control-home-automation-using-esp-32-2f982a_cover.jpg"
    lang: "en"
    likes: 1
    passwordHash: "5636318aa94bbe950337187f7bef03866f885b46db76528141dcab4e6da6dc7b"
    price: 2450
    seoDescription: "Build a Bluetooth Control Home Automation system with Esp 32 (BLE). Control home appliances easily via Bluetooth technology."
    tags:
      - "home"
      - "automation"
      - "bluetooth"
      - "esp32"
      - "beginners"
    title: "ควบคุมบ้านอัจฉริยะผ่าน Bluetooth ด้วย ESP32 งานง่ายแต่หล่อ!"
    tools: []
    videoLinks:
      - "https://www.youtube.com/embed/760cR3DMtIk"
    views: 1807