docs: fix discrepancies with ESP32 sync_programs.cpp implementation
- Change transport from HTTP to HTTPS only (code enforces https:// check) - Replace "write to temp file on SD" with PSRAM buffer in device logic - Update footer note about buffer: PSRAM, not internal RAM
This commit is contained in:
@@ -10,7 +10,7 @@
|
|||||||
Отсутствие файла в запросе означает **«сервер не удаляет этот файл»**.
|
Отсутствие файла в запросе означает **«сервер не удаляет этот файл»**.
|
||||||
Удаление — **активное**: файл удаляется только если пришёл блок файла с пустым содержимым.
|
Удаление — **активное**: файл удаляется только если пришёл блок файла с пустым содержимым.
|
||||||
|
|
||||||
- **Транспорт:** HTTP
|
- **Транспорт:** HTTPS (только HTTPS; HTTP не поддерживается на стороне девайса)
|
||||||
- **Инициатор синхронизации:** устройство (девайс)
|
- **Инициатор синхронизации:** устройство (девайс)
|
||||||
- **Количество HTTP roundtrip'ов:** 1
|
- **Количество HTTP roundtrip'ов:** 1
|
||||||
- **Файлы:** до 5 KB, типично 300–500 байт, ~10–20 файлов
|
- **Файлы:** до 5 KB, типично 300–500 байт, ~10–20 файлов
|
||||||
@@ -126,11 +126,10 @@ curl -v -k \
|
|||||||
1. Прочитать локальные изменения в /programs/ на SD-карте
|
1. Прочитать локальные изменения в /programs/ на SD-карте
|
||||||
2. Сформировать пакет изменений
|
2. Сформировать пакет изменений
|
||||||
3. Отправить POST /sync/programs/{panel_id}
|
3. Отправить POST /sync/programs/{panel_id}
|
||||||
4. Получить ответный пакет, записать полностью во временный файл, чтобы не использовать буферы в рам
|
4. Получить ответный пакет, накопить полностью в PSRAM-буфере (heap_caps_malloc MALLOC_CAP_SPIRAM), чтобы не использовать внутренний RAM
|
||||||
5. Для каждого файла в ответе:
|
5. Для каждого файла в ответе:
|
||||||
- если content пустой → удалить локальный файл
|
- если content пустой → удалить локальный файл
|
||||||
- иначе записать на SD (create or overwrite)
|
- иначе записать на SD (create or overwrite)
|
||||||
6. удалить временный файл
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Минимум логики на девайсе: нет сравнения timestamp'ов, нет решений — только применять изменения.
|
Минимум логики на девайсе: нет сравнения timestamp'ов, нет решений — только применять изменения.
|
||||||
@@ -296,4 +295,4 @@ P177 Updated at 24.02.2025, 16:00:00 U1740412800
|
|||||||
// 4. Использовать chunked transfer или накопить в буфере
|
// 4. Использовать chunked transfer или накопить в буфере
|
||||||
```
|
```
|
||||||
|
|
||||||
Для 10–20 файлов по 500 байт пакет ~10–15 KB — умещается в буфер RAM ESP32.
|
Для 10–20 файлов по 500 байт пакет ~10–15 KB. Как запрос, так и ответный пакет накапливаются в PSRAM-буфере (до 32 KB), а не во внутреннем RAM ESP32.
|
||||||
|
|||||||
Reference in New Issue
Block a user