Files
GoodVibe_Stoiki_control/README.md
2025-12-16 09:16:09 +02:00

33 lines
3.2 KiB
Markdown
Raw Permalink 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.

| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-S2 | ESP32-S3 |
| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- |
# Контролер стійок GoodVibe
Контролер двох світлодіодних стійок із звуковими сигналами на ESP32-S2 (WS2812, 53 LED на кожній), керується двома фізичними кнопками. Є заготовка для роботи як WiFi SoftAP із captive portal (віддає `root.html`), за замовчуванням вона вимкнена в коді.
## Структура проєкту
- `main/main.c` — основна логіка: ініціалізація стрічок, кнопок і звукових виходів, обробка натискань, заготовка WiFi/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)
1) Встановіть ESP-IDF (розробка велась на 5.2.x).
2) Виберіть ціль: `idf.py set-target esp32s2`.
3) Зберіть: `idf.py build`.
4) Прошийте й відкрийте монітор: `idf.py -p COMx flash monitor` (замініть `COMx` на ваш порт).
## Використання
- Після прошивки живленням запускається анімація привітання.
- При натисканні кнопок спрацьовують відповідні світло- і звуко-сценарії; обробка йде в ISR + основному циклі.
- Для увімкнення WiFi/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`.