142 lines
2.8 KiB
YAML
142 lines
2.8 KiB
YAML
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)");
|
||
}
|
||
}
|