Zdrojové složky:
- 302:
ESP32-Grid-Load-Vypocet302/ESP32-Grid-Load-Vypocet302 - 601:
ESP32-Grid-Load-Vypocet601/ESP32-Grid-Load-Vypocet601
1. Shrnutí jednou větou
Verze 601 je dual-board firmware (ESP32 Dev + ESP32-S3) s web OTA, zálohou SPIFFS (ZIP), ručním testem PWM, opraveným OLED handlerem a silnějším stahováním OTE/ČNB.
Oproti 302 je odpojeno forecast.solar (/solar*) a SPIFFS partition je menší — při flashi je nutná záloha dat a správná volba desky / pinů.
2. Základní identifikace
| Položka | 302 | 601 |
|---|---|---|
| Hlavní soubor | ESP32-Grid-Load-Vypocet302 |
ESP32-Grid-Load-Vypocet601 |
| Řetězec verze firmware | S3.0302 (jen S3) |
S3.0601 nebo 32.0601 podle desky |
| Přibližný počet řádků .ino | cca 13800+ | cca 14500+ (+ cca 700) |
| Velikost .ino (bajty) | cca 682KB | cca 697KB |
| Cílová deska | prakticky jen ESP32-S3 (pevné piny S3) | ESP32 Dev Module nebo ESP32-S3 (compile-time mapa pinů) |
| Předkompilované BIN | není ve složce jako easun*.bin | easun32.bin, easunS3.bin |
3. Soubory ve složce projektu
3.1 Společné / podobné moduly
spotove_ceny— spotové ceny OTE (v 601 rozšířené o ČNB logiku a novou URL)teploty-esp-now— ESP-NOW teplotynastaveni— průvodce nastavením (v 601 delší, SPIFFS ZIP)weather_aplikace,weather_solar— weather (v obou aktivní, obsahově shodné)vypocet01,vypocet02,pajoTestRezim_WiFi_AP.h,testovaci_rezim(soubor existuje, ale v .ino typicky není includován)partitions— obsah se liší (viz kapitola o partitions)
3.2 Jen ve verzi 302
prehled-funkciESP32-Vypocet300-vs-302-zmeny- Aktivní
#includea web prosolar_aplikace(forecast.solar)
3.3 Jen ve verzi 601
zapojeni-esp— zapojení pinů ESP32 / ESP32-S3popis-mereni— popis měření / záložekspotove-ceny— manuál spotů a další vývoj - připravujemeeasun32.bin,easunS3.bin - download- složka
build/(artefakty kompilace) - soubor
solar_aplikace.hmůže ve složce zůstat, ale není includován (forecast.solar odpojeno)
4. Podpora desek a pinové mapy
4.1 Verze 302
- Firmware string:
S3.0302 - Piny odpovídají ESP32-S3 (I2C 8/9, PWM 10, SSR 4/5/6/7, DHT 11, PZEM 15/16, RTC 12/13/14)
- RGB NeoPixel na GPIO 48 (vždy)
- Lokální DS18B20 default často GPIO 13 — kolize s RTC IO na S3
4.2 Verze 601
- Výběr pinů při kompilaci:
#if CONFIG_IDF_TARGET_ESP32S3/CONFIG_IDF_TARGET_ESP32 - Špatná deska →
#error - FW:
S3.0601(S3) nebo32.0601(classic ESP32) - NeoPixel jen na S3 (
BOARD_HAS_RGB_NEOPIXEL); classic ESP32 bez RGB
4.3 Tabulka pinů 601
| Funkce | ESP32 classic (32.0601) | ESP32-S3 (S3.0601) |
|---|---|---|
| I2C SDA / SCL | 21 / 22 | 8 / 9 |
| PWM (SSR výkon) | 32 | 10 |
| SSR výstupy | 15, 2, 0, 4 | 4, 5, 6, 7 |
| DHT | 14 | 11 |
| Lokální DS18B20 | 13 | 17 (oprava kolize s RTC) |
| PZEM RX / TX | 16 / 17 | 15 / 16 |
| RTC DS1302 CLK / IO / RST | 33 / 25 / 26 | 12 / 13 / 14 |
| RGB NeoPixel | není | GPIO 48 |
Migrace: při přechodu 302 → 601 na S3 zkontrolujte zapojení DS18 (GPIO 17).
Na classic ESP32 použijte mapu jako u starších Vypocet32, ne S3 piny. Podrobnosti: zapojeni-esp ve složce 601.
5. Spotové ceny (OTE) a kurz ČNB
| Oblast | 302 | 601 |
|---|---|---|
| Režim zdrojů | OTE-only (spotovaelektrina.cz vypnuto) | stejně OTE-only |
| URL OTE API | staré …/denni-trh/@@chart-data?date=… (může vracet HTTP 301) |
nové …/pw-data/chart-data/01?language=cs&date=… (+ follow redirects) |
| Timeouty HTTPS OTE | kratší (řádově jednotky–12 s) | delší (connect ~20 s, read ~30 s, TLS handshake, body až ~90 s) |
| Persist cache cen OTE na SPIFFS | typicky aktivní | default Spot_OTE_PERSIST_PRICE_CACHE_SPIFFS 0 (ceny hlavně v RAM) |
| Kurz EUR/CZK (ČNB) | stažení + cache /eurczk_cache.ea |
rozšířeno: datum v URL, denní marker /eurczk_fetchday.ea, manuální override jen s checkboxem, log [CNB EUR/CZK], route /spot-eurczk-update |
| Limity Low/Medium/High Kč/MWh | ukládání na /spot-config |
stejně (řízení distributora podle limitu — vývojový manuál spotove-ceny.html; Spot Gate jako další krok) |
| Menu Spot | závisí na verzi UI | odkaz Spot v horní navigaci |
Webové cesty Spot společné v obou (s drobnými rozdíly UI): /spot, /spot-ote, /spot-ote-zitra, /spot-config, /spot-updating, /spot/update. Nové v 601: /spot-eurczk-update.
6. Měření teplot, baterie, OLED, ESP-NOW
6.1 Společné
- ESP-NOW teplotní vysílače: PMK, mód, seznam MAC
- Routes:
/teplota,/temp-pmk,/temp-mode,/temp-senders, mapování senzorů /batt— nastavení baterie
6.2 Rozdíly ve verzi 601
- Stránka měření rozdělena na záložky / podstránky: teploty
/teplota, baterie/batt, OLED/oled, ESP-NOW formuláře (PMK / Mód / Vysílače) — méně monolitická HTML stránka, méně tlaku na heap při OTE. - Oprava: v 302 mohl být handler
/oledšpatně / zaměněný s logikou/batt; v 601 je/oledsamostatně. - Mapování teplot: podpora DHT22 přes ESP-NOW (kódy mapování 254/255).
- S3: lokální DS18 na GPIO 17 místo 13.
- HTML cache měření se uvolňuje před OTE fetch (
freeMereniHtmlCachesForOte).
7. Webové routes — co přibylo a co zmizelo
7.1 Jen ve verzi 601
/oled— správný OLED handler/pwm,/api/pwm-manual,/api/pwm-manual-set— ruční test PWM (v menu místo Solar)/spiffs-backup,/spiffs-export.zip,/spiffs-import— záloha / obnova SPIFFS/firmware-update(POST) — OTA upload firmware z webu/spot-eurczk-update— ruční stažení kurzu ČNB
7.2 Jen ve verzi 302 (v 601 odstraněno / odpojeno)
/solar,/getsolar/solar_data,/solar_test,/solar_update,/solar_download/solar_history,/solar_history_manage
Důvod: modul forecast.solar (solar_aplikace.h) není v 601 includován. Weather API zůstává.
7.3 Klíčové společné routes (výběr)
/Home,/wifi,/mqtt,/web/teplota,/batt,/serial,/reset,/restart/system-modes,/ai-fve-pv,/ai-live/spot,/spot-ote,/spot-config…/weather*,/graph,/api/data,/api/status,/health- průvodce
/nastaveni-krok*
8. PWM, distributor, AI FVE, systémové režimy
8.1 Ruční PWM (nové v 601)
- Stránka
/pwm— ruční nastavení výkonu - SPIFFS:
/pwm_web_manual.ea,/pwm_web_value.ea - Při zapnutém manuálu se přeskočí automatický výpočet PWM (větev v
vypocet01.h/OvladaniPwmSSR) - V horní navigaci 601: odkaz PWM (v 302 byl typicky Solar)
8.2 Distributor Min / Max W
- 302: na
/teplotaviditelná pole Distr. Min/Max; při nule často fallback kolem 50 / 200 W. - 601: editace Min/Max ve formuláři často zakomentovaná; defaulty typu 200 / 300 W a solar práh 300 W (SPIFFS / konstanty); hodnoty se mohou auto-zapsat při „unset“.
8.3 AI FVE a režimy
- Obě verze:
/system-modes,/ai-fve-pv(odhad FVE z U×I MQTT), AI live - Zásadní změna API MQTT nenalezena — stejná rodina
ArduinoMqttClient
9. Weather / Solar forecast / test režim
| Modul | 302 | 601 |
|---|---|---|
Weather (weather_aplikace) |
aktivní | aktivní (shodný obsah) |
forecast.solar (solar_aplikace) |
includováno + web /solar* |
odpojeno (soubor může zbýt, include chybí) |
testovaci_rezim |
soubor ve složce, typicky bez include v .ino | stejně |
10. OTA, SPIFFS, partitions
10.1 OTA
- 302: web OTA nenalezeno (bez
Update//firmware-update) - 601:
#include, UI na/reset, POST/firmware-update, stavy na LCD/OLED, binárkyeasun32.bin/easunS3.bin - První přechod 302 → 601 stále obvykle USB flash; další aktualizace už mohou jít OTA (stejná rodina 601)
10.2 SPIFFS záloha (nové v 601)
- Export ZIP:
/spiffs-export.zip - Import:
/spiffs-import - Také napojení ve wizardu
nastaveni - Ochrana: mazání SPIFFS spíš POST-only (proti prefetch GET)
10.3 partitions.csv (breaking)
| Oblast | 302 (typicky) | 601 (typicky) |
|---|---|---|
| Aplikace (app0/app1) | cca 0x1E0000 (~1,875 MB) | cca 0x1F0000 (~1,938 MB) |
| SPIFFS | cca 0x30000 (192 KB) | cca 0x10000 (64 KB) — menší |
Důsledek: flash s novou partition table obvykle smaže SPIFFS. Před upgradem zálohujte nastavení (WiFi, MQTT, limity, ESP-NOW…). V 601 pak import ZIP.
11. Serial / diagnostika
- Obě: úrovně výpisů přes
WebSerialAnoa stránku/serial(SPIFFS/serial1.ea) - 601: výrazné tagy
[CNB EUR/CZK]pro kurz; po Fázi Spot Gate plánován tag[SPOT GATE](vizspotove-ceny.html) - 601: při startu log pinové mapy / FW string podle desky
12. Co zůstalo koncepčně stejné
- Async web server, SPIFFS konfigurace (
*.ea) - MQTT odběr solár / síť / baterie, řízení SSR + PWM
- ESP-NOW teplotní síť
- Systémové režimy a AI větev (včetně FVE·AI)
- Weather
- Spot OTE jako zdroj cen (OTE-only)
- Průvodce prvním nastavením
13. Checklist migrace 302 → 601
- Zvolte v Arduino IDE správnou desku: ESP32 Dev Module nebo ESP32S3 Dev Module.
- Zálohujte SPIFFS / nastavení z 302 (poznámky, screenshoty, export pokud máte).
- Flashněte 601 se správnou
partitions.csv(očekávejte prázdné SPIFFS). - Obnovte WiFi, MQTT, limity Spot, ESP-NOW PMK/MAC, mapování teplot.
- Na S3: DS18 na GPIO 17; ověřte RTC, pokud ho používáte.
- Ověřte Serial: FW
S3.0601nebo32.0601. - Ověřte
/spot-ote(HTTP 200, ne 301) a kurz ČNB ([CNB EUR/CZK]). - Bookmarky na
/solar*nefungují — použijte weather / jiné predikce. - Distributor Min/Max: zkontrolujte hodnoty ve SPIFFS (defaulty se mohly změnit).
- Ruční
/pwmpo testu vypněte, ať neblokuje automatiku. - Další upgrady v rámci 601 můžete zkoušet přes OTA na
/reset→ firmware update (správný .bin pro desku).
14. Související dokumentace ve složce 601
zapojeni-esp— piny ESP32 / ESP32-S3popis-mereni— měření / záložkyspotove-ceny— spotové ceny, limity, plán Spot Gate - připravujeme
15. Poznámka k přesnosti
Porovnání vychází z analýzy zdrojových souborů ve složkách projektů (řádkové počty, #include, server.on, pinové mapy, spotove_ceny.h, partitions.csv, dokumentace).
Drobné lokální úpravy v „kopie“ složkách 601 nejsou předmětem tohoto dokumentu — referenční je hlavní složka ESP32-Grid-Load-Vypocet601.
14 zobrazení
Diskuze
Zatím žádný příspěvek. Buďte první, kdo se k článku vyjádří.