บทความ: สร้าง ESPHome Bluetooth Proxy เพื่อเชื่อมต่อ Home Assistant ด้วย ESP32

เรียนรู้วิธีสร้าง Bluetooth Proxy ด้วย ESP32 และ ESPHome เพื่อขยายระยะการเชื่อมต่อ Bluetooth ของ Home Assistant พร้อมคำอธิบายภาษาไทยและวิธีติดตั้งทีละขั้นตอน

ระดับความยาก
⭐⭐ ปานกลาง
เวลาที่ใช้
🕐 30 นาที
ประเภท
📖 Tutorial

1. Bluetooth Proxy คืออะไร?

Bluetooth Proxy คืออุปกรณ์ที่ทำหน้าที่เป็นตัวกลางในการส่งผ่านสัญญาณ Bluetooth ระหว่างอุปกรณ์ Bluetooth Low Energy (BLE) และ Home Assistant ผ่านการเชื่อมต่อ WiFi

หลักการทำงาน:

  • ESP32: สแกนหาอุปกรณ์ BLE ในบริเวณใกล้เคียงตลอดเวลา
  • ESPHome: ซอฟต์แวร์ที่แปลงสัญญาณ BLE เป็นข้อมูลที่ Home Assistant เข้าใจ
  • WiFi: ส่งข้อมูลไปยัง Home Assistant ผ่านเครือข่ายภายใน
  • Home Assistant: รับและประมวลผลข้อมูลจากอุปกรณ์ BLE

💡 ข้อดีของ Bluetooth Proxy:

  • ขยายระยะการเชื่อมต่อ Bluetooth ได้กว่า 10 เมตร
  • รองรับอุปกรณ์ BLE หลายรุ่นพร้อมกัน
  • ไม่ต้องซื้อ Hub เพิ่ม (ถ้ามี ESP32 อยู่แล้ว)
  • ประหยัดพลังงานกว่าการใช้ Bluetooth บน Home Assistant โดยตรง
  • รวดเร็วและเสถียรกว่าการเชื่อมต่อโดยตรง

2. ทำไมต้องใช้ Bluetooth Proxy?

✅ ปัญหาที่แก้ไขได้

  • อุปกรณ์ BLE อยู่ไกลเกินไปจาก Home Assistant
  • Home Assistant ไม่มี Bluetooth หรือรุ่นเก่า
  • ต้องการรองรับอุปกรณ์ BLE จำนวนมาก
  • ต้องการวางตำแหน่ง Proxy หลายจุดในบ้าน
  • ต้องการความเสถียรในการเชื่อมต่อ

🎯 อุปกรณ์ที่รองรับ

  • Thermometers: Xiaomi Mi Temperature, LYWSD03MMC
  • Trackers: Tile, Apple AirTag (tracking)
  • Smart Plugs: Gosund, Teckin
  • Sensors: Plant sensors, Motion sensors
  • Locks: Smart locks บางรุ่น
  • Others: Beacon, Health devices

💡 เคล็ดลับ: สำหรับบ้านขนาดใหญ่ แนะนำให้ติดตั้ง ESP32 Bluetooth Proxy หลายตัวในตำแหน่งต่างๆ เพื่อครอบคลุมทุกห้อง เช่น ห้องนั่งเล่น ห้องนอน ครัว และโรงรถ

3. อุปกรณ์ที่ต้องใช้

🛠️ Hardware:

  • ESP32 Board: บอร์ด ESP32 ทุกรุ่นที่มี Bluetooth และ WiFi (แนะนำ ESP32-WROOM, ESP32-S3)
  • USB Cable: สาย USB สำหรับอัปโหลดฟาร์มแวร์และจ่ายไฟ
  • Power Adapter: อะแดปเตอร์ 5V 1A (หรือใช้พอร์ต USB บนคอมพิวเตอร์)
  • (Optional) Case: กล่องสำหรับใส่บอร์ด ESP32

⚠️ การเลือก ESP32 Board:

แนะนำให้ใช้ ESP32 รุ่นที่มี External Antenna เช่น ESP32-WROOM-32 หรือ ESP32-S3 สำหรับระยะการเชื่อมต่อที่ดีกว่า หลีกเลี่ยงรุ่นที่มี Antenna ภายในบน PCBA หากต้องการวางไว้ในกล่อง

💻 Software:

  • Home Assistant: เวอร์ชัน 2021.12 ขึ้นไป (รองรับ ESPHome Add-on)
  • ESPHome Add-on: ติดตั้งผ่าน Home Assistant Supervisor
  • Web Browser: Chrome, Firefox, Safari หรือ Edge

4. ติดตั้ง ESPHome บน Home Assistant

ก่อนที่จะสร้าง Bluetooth Proxy เราต้องติดตั้ง ESPHome Add-on บน Home Assistant ก่อน

📝 ขั้นตอนการติดตั้ง:

Step 1: เปิด Home Assistant

ไปที่ SettingsAdd-onsAdd-on Store

Step 2: ค้นหา ESPHome

พิมพ์ "ESPHome" ในช่องค้นหา แล้วเลือก ESPHome add-on

Step 3: ติดตั้งและเปิดใช้งาน

คลิก Install → รอสักครู่ → คลิก Start → เปิด Start on boot

Step 4: เปิด Web UI

คลิก Open Web UI เพื่อเข้าสู่หน้าจอจัดการ ESPHome

🔗 URL การเข้าถึง:

หากไม่สามารถเปิดผ่านปุ่มได้ ให้ใช้ URL นี้:
http://your-home-assistant-ip:6052

5. สร้าง Bluetooth Proxy ด้วย ESPHome

ตอนนี้เราจะสร้าง configuration สำหรับ Bluetooth Proxy และอัปโหลดไปยัง ESP32

📝 ขั้นตอนการสร้าง:

Step 1: สร้าง Node ใหม่

ใน ESPHome Web UI คลิก + New Device → ใส่ชื่อ (เช่น "ble-proxy-1") → คลิก Next

Step 2: เลือก Board

เลือกบอร์ด ESP32 ที่ใช้ (เช่น "ESP32-WROOM") → คลิก Next

Step 3: เชื่อมต่อ ESP32

เสียบ ESP32 เข้ากับคอมพิวเตอร์ด้วยสาย USB

Step 4: อัปโหลด Firmware

คลิก Upload → รอจนกว่าการอัปโหลดเสร็จสิ้น

📝 ไฟล์ Configuration:

ไฟล์ configuration จะถูกสร้างขึ้นอัตโนมัติ แต่คุณสามารถแก้ไขเพื่อเพิ่มการตั้งค่าเพิ่มเติมได้:

# ชื่อและข้อมูลพื้นฐาน
substitutions:
  name: "ble-proxy-1"
  friendly_name: "Bluetooth Proxy 1"

esphome:
  name: ${name}
  friendly_name: ${friendly_name}

# กำหนดประเภทบอร์ด ESP32
esp32:
  board: esp32dev
  framework:
    type: arduino

# เปิดใช้งาน WiFi
wifi:
  ssid: "YOUR_WIFI_SSID"
  password: "YOUR_WIFI_PASSWORD"

# เปิดใช้งาน Logging
logger:

# เปิดใช้งาน API สำหรับ Home Assistant
api:

# เปิดใช้งาน OTA
ota:

# เปิดใช้งาน Bluetooth Proxy
esp32_ble_tracker:
  scan_duration: 60s  # ระยะเวลาสแกน (วินาที)

# เปิดใช้งาน Bluetooth Proxy สำหรับ Home Assistant
bluetooth_proxy:
  active: true  # เปิด active scanning

⚠️ ข้อควรระวัง: อย่าลืมเปลี่ยน YOUR_WIFI_SSID และ YOUR_WIFI_PASSWORD เป็นชื่อและรหัสผ่าน WiFi ของคุณ

6. เชื่อมต่อกับ Home Assistant

หลังจากอัปโหลด firmware แล้ว ต่อไปคือเชื่อมต่อ ESP32 กับ Home Assistant

📝 ขั้นตอนการเชื่อมต่อ:

Step 1: ยืนยันการเชื่อมต่อ

กลับไปที่หน้าจอหลักบ้าน (Home) ใน Home Assistant → คลิกที่ notification "ESPHome discovered new device" หรือไปที่ SettingsDevices & ServicesAdd Integration → เลือก ESPHome

Step 2: ใส่ที่อยู่ IP

ใส่ IP address ของ ESP32 หรือปล่อยให้ค้นหาอัตโนมัติ → คลิก Submit

Step 3: ยืนยันการเชื่อมต่อ

ตรวจสอบข้อมูลที่แสดง → คลิก Submit เพื่อยืนยัน

✅ เรียบร้อย! เมื่อเชื่อมต่อสำเร็จ คุณจะเห็น ESP32 Bluetooth Proxy ปรากฏในรายการอุปกรณ์ และ Home Assistant จะเริ่มสแกนหาอุปกรณ์ Bluetooth โดยอัตโนมัติ

7. ทดสอบการเชื่อมต่อ

ตอนนี้มาทดสอบว่า Bluetooth Proxy ทำงานได้หรือไม่

🔧 วิธีทดสอบ:

วิธีที่ 1: ตรวจสอบ Logs

ไปที่ ESPHome Web UI → คลิกที่ชื่ออุปกรณ์ → คลิก Logs

คุณควรเห็นข้อความเช่น Found device XX:XX:XX:XX:XX:XX ซึ่งแสดงว่ามีการค้นพบอุปกรณ์ BLE

วิธีที่ 2: เพิ่มอุปกรณ์ BLE

ไปที่ Home Assistant → SettingsDevices & ServicesAdd Integration → ค้นหาอุปกรณ์ BLE (เช่น "Xiaomi Mi Temperature")

ถ้า Bluetooth Proxy ทำงาน อุปกรณ์จะถูกค้นพบและเพิ่มได้อย่างรวดเร็ว

วิธีที่ 3: ตรวจสอบระยะการเชื่อมต่อ

นำอุปกรณ์ BLE (เช่นเซ็นเซอร์วัดอุณหภูมิ) ไปวางไว้ในห้องต่างๆ และดูว่า Home Assistant ยังเชื่อมต่อได้หรือไม่

📊 เครื่องมือช่วย:

  • nRF Connect: แอปบนมือถือสำหรับสแกน BLE
  • Home Assistant BLE Monitor: ดูสถานะอุปกรณ์ BLE แบบเรียลไทม์
  • ESPHome Logs: ดู logs ว่ามีอุปกรณ์อะไรถูกค้นพบ

8. การแก้ปัญหา

❌ ปัญหา: ESP32 เชื่อมต่อ WiFi ไม่ได้

สาเหตุ: รหัสผ่านผิด, อยู่ไกลเกินไปจาก AP, หรือมีการรบกวน
วิธีแก้: ตรวจสอบ SSID และ Password, ลองวางใกล้ Router หรือใช้ WiFi Extender

❌ ปัญหา: Home Assistant เชื่อมต่อ ESPHome ไม่ได้

สาเหตุ: IP ผิด, Firewall บล็อก, หรือ ESPHome service ไม่ทำงาน
วิธีแก้: ตรวจสอบ IP ใน Router, เปิด port 6052, รีสตาร์ท ESPHome Add-on

❌ ปัญหา: ไม่เจออุปกรณ์ BLE

สาเหตุ: อุปกรณ์อยู่ไกลเกินไป, แบตเตอรี่หมด, หรือไม่รองรับ
วิธีแก้: วางใกล้อุปกรณ์มากขึ้น, เปลี่ยนแบตเตอรี่, ตรวจสอบว่าอุปกรณ์รองรับ BLE

❌ ปัญหา: อุปกรณ์ BLE เชื่อมต่อแล้วหลุดบ่อย

สาเหตุ: สัญญาณอ่อน, รบกวนจากอุปกรณ์อื่น, หรือแบตเตอรี่อ่อน
วิธีแก้: เพิ่ม ESP32 Proxy เพิ่ม, เปลี่ยนช่องสัญญาณ WiFi, หรือใช้ ESP32 หลายตัว

❌ ปัญหา: ESPHome อัปโหลดไม่ได้

สาเหตุ: Driver USB ไม่ถูกต้อง, พอร์ตผิด, หรือบอร์ดเสีย
วิธีแก้: ติดตั้ง CP2102/CH340 driver, เปลี่ยนพอร์ต USB, ลองบอร์ดอื่น

📚 สรุปบทความ

  • ✅ Bluetooth Proxy ขยายระยะการเชื่อมต่อ BLE ให้ Home Assistant
  • ✅ ใช้ ESP32 + ESPHome สร้างได้ง่ายและประหยัด
  • ✅ รองรับอุปกรณ์ BLE หลายรุ่น เช่น เซ็นเซอร์วัดอุณหภูมิ, Smart Plug
  • ✅ สามารถติดตั้งหลายจุดเพื่อครอบคลุมทั้งบ้าน
  • ✅ ติดตั้งง่ายผ่าน ESPHome Add-on บน Home Assistant
  • ✅ ปรับแต่ง configuration ได้ตามต้องการ

🤖 CynoIoT

แพลตฟอร์มการเรียนรู้ IoT และ Embedded Systems สำหรับชาวไทย

📧 Contact

คำถามและข้อเสนอแนะ: contact@cynoiot.com

© 2026 CynoIoT. All rights reserved.