esp/esp32-c3-oled/led3xdrv-pro.yml
2025-10-31 16:07:09 +01:00

142 lines
2.8 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

esphome:
name: oled-test
friendly_name: oled test
esp32:
board: esp32-c3-devkitm-1
framework:
type: esp-idf
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: "rNfuxXEaIvVuOHvYVdb4QpW8fezbbkKn3wvjkHdHGkY="
ota:
- platform: esphome
password: "5aa6ac416280761455b83922c266822b"
wifi:
ssid: "Lothlorien"
password: "LitwoOjczyznoMojaTysJestJakZdrowie"
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Esp32-C3-Oled-Test"
password: "Zto2fEEcWgnS"
captive_portal:
web_server:
output:
- platform: ledc
pin: GPIO4
id: led_pwm01
frequency: 20000 Hz # 20 kHz bez pisku i bez migotania w kamerze
- platform: ledc
pin: GPIO3
id: led_pwm02
frequency: 20000 Hz # 20 kHz bez pisku i bez migotania w kamerze
- platform: ledc
pin: GPIO10
id: led_pwm03
frequency: 20000 Hz # 20 kHz bez pisku i bez migotania w kamerze
light:
- platform: monochromatic
name: "LED PWM 1"
output: led_pwm01
gamma_correct: 1.0
- platform: monochromatic
name: "LED PWM 2"
output: led_pwm02
gamma_correct: 1.0
- platform: monochromatic
name: "LED PWM 3"
output: led_pwm03
gamma_correct: 1.0
button:
- platform: restart
name: "Restart Device"
- platform: safe_mode
name: "Restart in Safe Mode"
i2c:
id: bus_oled
sda: GPIO5
scl: GPIO6
frequency: 100kHz
scan: true
# --- Czcionki do wyświetlacza (wygodne, ale możesz zmienić na swoje) ---
font:
- file: "fonts/Roboto-Regular.ttf"
id: f12
size: 8
- file: "fonts/Roboto-Bold.ttf"
id: f20
size: 11
# --- Przydatne sensory do pokazania na ekranie ---
sensor:
- platform: wifi_signal
name: "WiFi RSSI"
id: wifi_rssi
update_interval: 30s
- platform: uptime
name: "Uptime (s)"
id: uptime_s
update_interval: 60s
text_sensor:
- platform: wifi_info
ip_address:
name: "IP"
id: ip_addr
ssid:
name: "SSID"
id: wifi_ssid
# --- Przycisk BOOT (ten „użytkowy”; RESET/EN nie da się odczytać) ---
binary_sensor:
- platform: gpio
pin:
number: GPIO9 # BOOT na większości C3
mode: INPUT_PULLUP
inverted: true
name: "BOOT Button"
id: btn_boot
- platform: gpio
pin:
number: GPIO7
mode:
input: true
pullup: false
pulldown: true
name: "Czujnik ruchu SR505"
device_class: motion
filters:
- delayed_off: 2s
# --- Wyświetlacz OLED ---
display:
- platform: ssd1306_i2c
model: "SSD1306 72x40"
address: 0x3C
rotation: 0
i2c_id: bus_oled # <- to jest kluczowe
lambda: |-
{
if (id(ip_addr).has_state()) {
it.printf(0, 0, id(f12), "ip:%s", id(ip_addr).state.c_str());
} else {
it.printf(0, 0, id(f12), "ip: (brak)");
}
}