Okos Konyhapult Világítás – ESP32-C3 & LD2410 Radar

Ebben a projektben egy érintésmentes, jelenlét-alapú konyhai világításvezérlőt készítettünk, amely mobil hotspoton keresztül kommunikál, és még a helyiség hőmérsékletét is figyeli.

1. Felhasznált Hardverek és Szenzorok

  • Vezérlő: ESP32-C3 (SuperMini vagy DevKit) – Beépített WiFi és Bluetooth (BLE).
  • Radar: HLK-LD2410 – 24GHz-es emberi jelenlét érzékelő (külön látja a mozgó és a mozdulatlan testet).
  • Hőmérő: 10k NTC Termisztor + 10k $\Omega$ precíziós ellenállás (feszültségosztó kapcsolásban).
  • Világítás: 12V/24V LED szalagok, amiket az ESP32 PWM jeleivel vezérlünk (MOSFET-en keresztül).

2. Kapcsolási Rajz (Pin kiosztás)

AlkatrészESP32-C3 PinMegjegyzés
LD2410 TXGPIO20 (RX)Soros kommunikáció
LD2410 RXGPIO21 (TX)Soros kommunikáció
NTC SzenzorGPIO3 (ADC)Analóg bemenet
LED 1 (Pult)GPIO0 (PWM)Világítás vezérlés
LED 2 (Ablak)GPIO1 (PWM)Világítás vezérlés

3. iPhone Beállítások (A stabilitás kulcsa)

Az Apple eszközei szigorú energiagazdálkodást használnak a hotspotnál, ezért a következőket kell tenni:

  1. Személyes Hotspot: Beállítva a kívánt névre és jelszóra.
  2. Maximális kompatibilitás: Ezt a kapcsolót BE kell kapcsolni (ez kényszeríti a 2.4GHz-es WiFi-t).
  3. Első csatlakozás: A párosítás idejére tartsuk nyitva a Hotspot menüt az iPhone-on.

4. Elérhetőség (A „Konyha App”)

A vezérlőfelület kétféleképpen érhető el a Safari böngészőből:

  • IP cím alapján: http://172.20.10.12 (Változhat a hotspot kiosztásától függően).
  • Név alapján (mDNS): http://kriszti-konyha2.local
  • Tipp: A Safari „Megosztás” menüjében a „Hozzáadás a kezdőképernyőhöz” opcióval app-szerű ikont kapunk az asztalra.

5. A végleges ESPHome YAML kód

Ez a kód tartalmazza a több-hálózatos WiFi kezelést, az automatikus radar-kapcsolást és a kalibrált hőmérőt.

YAML

esphome:
  name: kriszti-konyha2
  friendly_name: Konyha LED Vezérlő

esp32:
  board: esp32-c3-devkitm-1
  variant: esp32c3
  framework:
    type: arduino

esp32_ble_tracker: # Előkészítés az AirTag-hez

wifi:
  networks:
    - ssid: "LaszloHotspot"
      password: "papa1964"
      priority: 100
    - ssid: "MasikHotspotNeve"
      password: "masikjelszo"
      priority: 50
  fast_connect: true
  ap:
    ssid: "Konyha-Vezérlő-Vészhelyzet"
    password: "Jelszo123"
  reboot_timeout: 0s

web_server:
  port: 80
  version: 2

api:
  reboot_timeout: 0s

logger:
  level: DEBUG

uart:
  tx_pin: GPIO21
  rx_pin: GPIO20
  baud_rate: 256000

ld2410:

light:
  - platform: binary
    name: "Konyhapult (LED)"
    output: led_output_1
    id: light_1
  - platform: binary
    name: "Ablak LED"
    output: led_output_2
    id: light_2

output:
  - platform: ledc
    pin: GPIO0
    id: led_output_1
  - platform: ledc
    pin: GPIO1
    id: led_output_2

sensor:
  - platform: ntc
    sensor: resistance_sensor
    calibration:
      b_constant: 3950
      reference_temperature: 25°C
      reference_resistance: 10kOhm
    name: "Hőmérséklet"
    filters:
      - sliding_window_moving_average:
          window_size: 15
          send_every: 1
      - offset: -1.6
  - platform: resistance
    id: resistance_sensor
    sensor: source_sensor
    configuration: UPSTREAM
    resistor: 10kOhm
  - platform: adc
    id: source_sensor
    pin: GPIO3
    attenuation: 12db
    update_interval: 10s
  - platform: ld2410
    moving_distance:
      name: "Mozgás távolsága"
    still_distance:
      name: "Álló cél távolsága"

binary_sensor:
  - platform: ld2410
    has_target:
      name: "Jelenlét"
      on_press:
        then:
          - light.turn_on: light_1
      on_release:
        then:
          - light.turn_off: light_1

6. Amit még érdemes tudni

  • Radar finomhangolás: A webes felületen állítható a „Lekapcsolási késleltetés”. Érdemes 30 másodpercre állítani, hogy ne aludjon ki a fény, ha épp csak egy pillanatra állsz meg a pultnál.
  • Hőmérséklet: Az offset: -1.6 korrigálja az alkatrészek szórását, az UPSTREAM beállítás pedig biztosítja, hogy a hőmérséklet emelkedjen, ha melegszik a környezet.

Szólj hozzá!