Ez a bejegyzés egy kompakt és sokoldalú tesztvezérlőt mutat be, amely egy ESP32-C3 SuperMini lapkára épül. A cél egy olyan eszköz létrehozása volt, amely képes a fényerő, a hőmérséklet és a vízszint monitorozására, valamint vizuális riasztásra.
Felhasznált alkatrészek
- Mikrokontroller: ESP32-C3 SuperMini (a kompakt méret és az USB-C miatt).
- Fényérzékelő: BH1750 digitális fényérzékelő (I2C busz).
- Hőmérséklet érzékelő: NTC termisztor (analóg bemeneten, feszültségosztóval).
- Vízszint érzékelő: Digitális érintkező (lebegőpontos vagy úszókapcsoló).
- Jelzőfény: Piros LED + 220-470 Ohm ellenállás.
Lábkiosztás (Pinout)
A projekt a lapka gyári feliratait követi a maximális átláthatóság érdekében:
| Alkatrész | ESP32-C3 Pin | Funkció |
| BH1750 SDA | GPIO6 (D4) | I2C Adatvonal |
| BH1750 SCL | GPIO7 (D5) | I2C Órajel |
| Hőmérséklet (NTC) | GPIO2 (A0) | ADC Bemenet |
| Vízszint érzékelő | GPIO3 (A1) | Digitális bemenet (GND-re zár) |
| Riasztó LED | GPIO4 (A2) | Digitális kimenet |
ESPHome Konfiguráció (YAML)
A kód tartalmazza a szenzorértékek simítását (moving average) és egy automatizált villogó riasztást, amely közvetlenül a vezérlőn fut, így hálózati hiba esetén is működik.
YAML
esphome:
name: teszt-vezerlo
friendly_name: Teszt Vezérlő
esp32:
board: esp32-c3-devkitm-1
variant: esp32c3
framework:
type: esp-idf
sdkconfig_options:
CONFIG_WPA3_SAE: "n"
wifi:
networks:
- ssid: "Saját wifi name"
password: "Saját jelszó"
fast_connect: true
power_save_mode: NONE
reboot_timeout: 0s
captive_portal:
api:
reboot_timeout: 0s
ota:
- platform: esphome
logger:
level: DEBUG
web_server:
port: 80
# I2C Busz beállítása a gyári feliratok alapján
i2c:
sda: GPIO6
scl: GPIO7
scan: true
# Kimenet a figyelmeztető LED-nek
switch:
- platform: gpio
pin: GPIO4
name: "Figyelmeztető LED"
id: alert_led
sensor:
# BH1750 Fényérzékelő mozgóátlag szűrővel
- platform: bh1750
name: "Fényerősség"
address: 0x23
update_interval: 5s
filters:
- sliding_window_moving_average:
window_size: 10
send_every: 1
unit_of_measurement: "lx"
# NTC Hőmérséklet mérés
- platform: adc
pin: GPIO2
id: ntc_voltage
attenuation: 11db
update_interval: 10s
- platform: resistance
sensor: ntc_voltage
id: ntc_resistance
configuration: DOWNSTREAM
resistor: 5.0kOhm
reference_voltage: 3.3V
- platform: ntc
sensor: ntc_resistance
name: "Hőmérséklet"
calibration:
- 10.0kOhm -> 25°C
- 4.1kOhm -> 45°C
- 25.0kOhm -> 5°C
filters:
- sliding_window_moving_average:
window_size: 15
send_every: 1
# Vízszint érzékelő és helyi villogó automatika
binary_sensor:
- platform: gpio
pin:
number: GPIO3
mode: INPUT_PULLUP
# Ha most inverted: true van és riaszt, akkor ezt állítsd FALSE-ra.
# Ha most inverted: false van és riaszt, akkor ezt állítsd TRUE-ra.
inverted: false
name: "Tartály Megtelés Riasztás"
id: water_level
filters:
- delayed_on: 200ms
- delayed_off: 200ms
on_press:
- while:
condition:
binary_sensor.is_on: water_level
then:
- switch.turn_on: alert_led
- delay: 200ms
- switch.turn_off: alert_led
- delay: 200ms
on_release:
- switch.turn_off: alert_led
Főbb funkciók
- Szenzor simítás: Mind a fényerő, mind a hőmérséklet mérése „sliding window” átlagolást használ, így megszűnnek a zavaró kiugrások a Home Assistant grafikonokon.
- Hardveres biztonság: A vízszint riasztás nem vár a szerver válaszára; az ESP32-C3 belső logikája azonnal elindítja a LED villogtatását, ha vizet érzékel.
- Kompakt felépítés: Az I2C busz használatával kevés lábbal is több érzékelőt tudunk kezelni.
- OTA frissítés: Fissítési lehetőség Wifin vagy OTA.
A tartály állapot jelzés automatizálás YAML kódja:
YAML
alias: "Vízszint Riasztás - Sziréna vezérlés"
description: "Ha megtelik a tartály, bekapcsolja a központi szirénát, ha kiürül, kikapcsolja."
mode: restart
trigger:
- platform: state
entity_id: binary_sensor.haloszoba_vizszint_riasztas
from: "off"
to: "on"
id: "megtelt"
- platform: state
entity_id: binary_sensor.haloszoba_vizszint_riasztas
from: "on"
to: "off"
id: "kiurult"
action:
- choose:
# ELSŐ ESET: Megtelt a tartály - Bekapcsolás
- conditions:
- condition: trigger
id: "megtelt"
sequence:
- action: siren.turn_on
target:
entity_id: siren.okos_kozponti_hub_egyseg
# Ha nem akarsz extra paramétereket, a data részt el is hagyhatod:
data: {}
# MÁSODIK ESET: Kiürült a tartály - Kikapcsolás
- conditions:
- condition: trigger
id: "kiurult"
sequence:
- action: siren.turn_off
target:
entity_id: siren.okos_kozponti_hub_egyseg
Super friendly customer support and a very welcoming vibe for new players. Everything is straightforward at bryu777.
Had a great experience with the daily rewards. It keeps the game exciting even when I am on a losing streak. Love pkluky888
The jackpot hits are real here! I was skeptical at first but after a few wins I am totally convinced. phjackpotwin is the real deal.
Really impressed with the payout speed here. It is definitely one of the most reliable platforms I have used lately. Highly recommend bdtakbat to everyone.
I’ve been trying a few different sites lately and this one really stands out. The interface is smooth and the payouts are fast. Definitely check out cr777casino if you want a reliable spot to play.
Finally an app that does not crash every five minutes. The login process is seamless and the graphics are top notch. Love how convenient it is to play on the go via evojililoginapp.
Finally a site that doesn’t crash during the big games. The login process is quick and the support team is very helpful. misteribet77login is my new go-to spot.
Solid platform with a fair gaming environment. I appreciate the transparency and the way they handle the promotions. bdg7777 is a winner in my book.
Best platform for local players in the Philippines. It feels tailored to our needs and the bonuses are legit. Big thanks to 77jiliph for the awesome setup.
I’ve tried a few platforms lately but this one really stands out. The interface is smooth and the payouts are surprisingly fast. Definitely worth checking out phjljl789
Football fanatics, listen up! bet9jalivesoccer gives you the live action you crave. Stay in the game! bet9jalivesoccer