| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-S2 | ESP32-S3 |
|---|
Контролер стійок GoodVibe
Контролер двох світлодіодних стійок із звуковими сигналами на ESP32-S2 (WS2812, 53 LED на кожній), керується двома фізичними кнопками. Є заготовка для роботи як Wi‑Fi SoftAP із captive portal (віддає root.html), за замовчуванням вона вимкнена в коді.
Структура проєкту
main/main.c— основна логіка: ініціалізація стрічок, кнопок і звукових виходів, обробка натискань, заготовка Wi‑Fi/AP+HTTP+DNS.managed_components/— залежності ESP-IDF (наприклад,led_strip).build/— артефакти збірки (elf/bin/map, крос-компіляційні файли).sdkconfig,sdkconfig.old— налаштування цілі та параметрів ESP-IDF.root.html(у вигляді бінарного ресурсу, посилається черезroot_start/root_end) — сторінка для captive portal.0001.wav,0002.wav— потрібні аудіо-файли проєкту.
Що робить прошивка
- На старті запускає обидві LED-стрічки в режимі привітання (
welcome_strip). - GPIO: LED стрічки на 4 та 5 пінах, кнопки на 2 і 3 (
KEY1,KEY2), звукові виходи на 12 та 13 (SOUND_OUT1/2). - Натискання
KEY1→ короткий звуковий сигнал наSOUND_OUT1+ мигання стрічки 1 синім. - Натискання
KEY2→ короткий звуковий сигнал наSOUND_OUT2+ мигання стрічки 2 жовтим. - У коді закоментовано ініціалізацію SoftAP + HTTP + DNS, їх можна ввімкнути для captive portal (конфігурується через
CONFIG_ESP_WIFI_*уsdkconfig).
Збірка та прошивка (ESP-IDF)
- Встановіть ESP-IDF (розробка велась на 5.2.x).
- Виберіть ціль:
idf.py set-target esp32s2. - Зберіть:
idf.py build. - Прошийте й відкрийте монітор:
idf.py -p COMx flash monitor(замінітьCOMxна ваш порт).
Використання
- Після прошивки живленням запускається анімація привітання.
- При натисканні кнопок спрацьовують відповідні світло- і звуко-сценарії; обробка йде в ISR + основному циклі.
- Для увімкнення Wi‑Fi/AP з captive portal розкоментуйте в
app_mainвикликиesp_netif_init,esp_event_loop_create_default,nvs_flash_init,esp_netif_create_default_wifi_ap,wifi_init_softap,start_webserverта DNS серверу, і задайте SSID/пароль уsdkconfig.
Description
Languages
Assembly
36.3%
CMake
33.2%
C
25.4%
C++
4.6%
Python
0.4%
Other
0.1%