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ész | ESP32-C3 Pin | Megjegyzés |
| LD2410 TX | GPIO20 (RX) | Soros kommunikáció |
| LD2410 RX | GPIO21 (TX) | Soros kommunikáció |
| NTC Szenzor | GPIO3 (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:
- Személyes Hotspot: Beállítva a kívánt névre és jelszóra.
- Maximális kompatibilitás: Ezt a kapcsolót BE kell kapcsolni (ez kényszeríti a 2.4GHz-es WiFi-t).
- 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.6korrigálja az alkatrészek szórását, azUPSTREAMbeállítás pedig biztosítja, hogy a hőmérséklet emelkedjen, ha melegszik a környezet.