Update README.md
This commit is contained in:
10
README.md
10
README.md
@@ -6,9 +6,9 @@ watch-watch — вбудована система на ESP32-S3 для нагл
|
||||
- **Керування каналами живлення**: 5 незалежних ліній `EN` (GPIO 2, 4, 5, 18, 19), які можна увімкнути, вимкнути або перемкнути з коду чи CLI.
|
||||
- **Послідовний автотест**: у `app_main` реалізовано базову логіку — канали вмикаються по черзі з інтервалом 3 с, що дозволяє перевірити всі DC/DC без стрибків споживання.
|
||||
- **Світлодіодний індикатор стану**: п’ять WS2812 (GPIO 8) світяться зеленим під час стартової затримки, після чого кожен канал сигналізує лише про дві події — відсутність VPN (два червоних блимання) та падіння APP (три жовтих блимання).
|
||||
- **Моніторинг навантаження**: датчики INA226 вимірюють напругу, струм та потужність кожного каналу, інформація потрапляє в лог і CLI.
|
||||
- **Моніторинг навантаження**: датчики INA226 вимірюють напругу, струм та потужність пристрою таку як напруга, струм та потужність, інформація потрапляє в CLI.
|
||||
- **UART взаємодія з Raspberry Pi**: один UART через мультиплексор (A0/A1/A2) ділиться між п’ятьма Pi, дозволяючи надсилати службові повідомлення або обмінюватися даними.
|
||||
- **Нативний USB-CLI**: ESP32-S3 підключається до Raspberry Pi 5 по USB і стає CDC ACM пристроєм; командний інтерфейс дозволяє керувати каналами та дивитись стан у реальному часі.
|
||||
- **Нативний USB-CLI**: ESP32-S3 підключається до Raspberry Pi 5 першої ноди системи Watcher по USB і стає CDC ACM пристроєм; командний інтерфейс дозволяє керувати каналами та дивитись стан у реальному часі.
|
||||
- **Модульна архітектура**: окремі компоненти `dcdc_controller` і `usb_cdc_cli` спрощують розширення (телеметрія, автоматизація, протоколи зв’язку).
|
||||
|
||||
## Структура проєкту
|
||||
@@ -64,14 +64,13 @@ watch-watch — вбудована система на ESP32-S3 для нагл
|
||||
## UART взаємодія та heartbeat
|
||||
- Загальний UART (типово UART1, GPIO17/16) підключений до аналогового мультиплексора, лінії адреси `A0/A1/A2` (GPIO 9/10/11) вибирають одну з Raspberry Pi.
|
||||
- Модуль `uart_mux` серіалізує доступ до UART, надає API для `uart_mux_write/read` і періодично опитує UART на наявність heartbeat.
|
||||
- Після кожного вимірювання INA226 ESP32-S3 відправляє поточну телеметрію (`PWR <V> <I>`) до активної Raspberry Pi.
|
||||
- Якщо heartbeat від Pi не надходить протягом `CONFIG_WATCH_UART_HEARTBEAT_TIMEOUT_SEC` (за замовчуванням 60 с), відповідний канал живлення вимикається й знову вмикається для примусового перезапуску.
|
||||
- Команди CLI `uart send` / `uart read` дозволяють вручну надсилати/читати повідомлення, а в `app_main` можна реалізувати власні протоколи синхронізації.
|
||||
|
||||
## UART взаємодія з Raspberry Pi
|
||||
- Шина UART (типово UART1, TX=GPIO17, RX=GPIO16) підключена до аналогового мультиплексора з адресними лініями A0/A1/A2 (GPIO 9/10/11), що дозволяє вибирати одну з 5 Raspberry Pi.
|
||||
- Модуль `uart_mux` гарантує серійний доступ: перед операцією він виставляє двійковий код каналу на A0-A2 та блокує UART м’ютексом.
|
||||
- У `app_main` після вимірювань кожному Pi відправляється телеметрія (`CHx <V>V <I>mA`), а через CLI можна виконати `uart send <n> <msg>` або `uart read <n> [len]`.
|
||||
- Через CLI можна виконати `uart send <n> <msg>` або `uart read <n> [len]`.
|
||||
- Усі параметри (порт, швидкість, GPIO) доступні в `menuconfig → UART мультиплексор`.
|
||||
|
||||
## USB CDC CLI
|
||||
@@ -120,5 +119,4 @@ CLI з’являється після того, як Raspberry Pi встано
|
||||
|
||||
## Подальший розвиток
|
||||
1. Додати протокол обміну з Raspberry Pi (наприклад, командний набір через USB CLI або окреме IPC).
|
||||
2. Включити зворотній зв’язок: вимір напруги/струму, датчики температури для кожного DC/DC.
|
||||
3. Розширити CLI (макроси, сценарії, логування станів) та інтегрувати з продакшн-скриптами.
|
||||
2. Розширити CLI (макроси, сценарії, логування станів) та інтегрувати з продакшн-скриптами.
|
||||
|
||||
Reference in New Issue
Block a user