Nhà thông minhESPHome

Điều khiển relay qua WiFi bằng ESPHome

Độ khó: dễ · Thời gian: ~45 phút

ESPHome biến ESP32 thành thiết bị nhà thông minh chỉ bằng file cấu hình YAML, tích hợp thẳng vào Home Assistant, hỗ trợ cập nhật firmware qua WiFi (OTA).

An toàn: thử nghiệm với tải điện áp thấp (đèn LED 12V, quạt 5V) trước. Nếu đóng cắt 220V, dùng module relay cách ly quang, hộp kín, đấu dây khi đã ngắt nguồn, hoặc thuê thợ điện.

Linh kiện

Sơ đồ

Thiết bịESP32
Relay INGPIO26
Relay VCC / GND5V (VIN) / GND
Nút nhấn (1 chân)GPIO27, chân còn lại nối GND

Cấu hình ESPHome

esphome:
  name: den-phong-khach

esp32:
  board: esp32dev
  framework:
    type: esp-idf

logger:

api:
  encryption:
    key: !secret api_key

ota:
  - platform: esphome
    password: !secret ota_password

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  ap:                       # tự phát WiFi dự phòng nếu mất mạng
    ssid: "Den-Phong-Khach"
    password: !secret ap_password

captive_portal:

switch:
  - platform: gpio
    id: relay1
    name: "Đèn phòng khách"
    pin: GPIO26
    restore_mode: RESTORE_DEFAULT_OFF

binary_sensor:
  - platform: gpio
    pin:
      number: GPIO27
      mode: INPUT_PULLUP
      inverted: true
    name: "Nút đèn"
    filters:
      - delayed_on: 50ms     # chống rung phím
    on_press:
      - switch.toggle: relay1

Các bước thực hiện

  1. Cài ESPHome (add-on trong Home Assistant, hoặc pip install esphome).
  2. Tạo file secrets.yaml chứa wifi_ssid, wifi_password, api_key, ota_password, ap_password. Tạo api_key bằng lệnh esphome trong dashboard hoặc chuỗi base64 32 byte ngẫu nhiên.
  3. Nạp lần đầu qua cáp USB: esphome run den-phong-khach.yaml.
  4. Các lần sau, cập nhật qua WiFi (OTA). Home Assistant sẽ tự phát hiện thiết bị.

Lưu ý