Zaawansowany monitor radiostacji dla krΓ³tkofalowcΓ³w (ham radio) oparty na ESP32 z wyΕwietlaczem TFT.
- DX Cluster β Εledzenie spotΓ³w DX w czasie rzeczywistym
- POTA Spots β Monitorowanie aktywnoΕci Parks on the Air
- HamAlert β Alerty o aktywnoΕci radiowej
- APRS-IS β System pozycjonowania radiowego
- PSK Reporter β Εledzenie emisji cyfrowych (FT8, FT4, CW, RTTY)
- ISS CzΔstotliwoΕci ARISS β Karty z czΔstotliwoΕciami:
- π Voice Repeater: RX 437.800 | TX 145.990 MHz (CTCSS 67.0 Hz)
- π¦ APRS Digipeater: 145.825 MHz simplex
- πΌοΈ SSTV: RX 145.800 MHz
- ποΈ Voice Direct EU: RX 145.800 | TX 145.200 MHz
- ISS Pass Tracking β Pozycja, wysokoΕΔ, prΔdkoΕΔ, kraj pod satelitΔ
- 14 konfigurowalnych ekranΓ³w z automatycznym przeΕΔ czaniem
- WyΕwietlacz ILI9341 3.2" 480x320
- Panel dotykowy XPT2046
- ZakΕadka Upload β Bezprzewodowa aktualizacja OTA przez WiFi
- Ciemny, profesjonalny motyw
- Responsywny design
Nie podΕΔ czaj pinu SDO (MISO/SDOK) z wyΕwietlacza TFT! Ten pin musi zostaΔ wolny (NC), aby panel dotykowy XPT2046 mΓ³gΕ prawidΕowo komunikowaΔ siΔ przez magistralΔ SPI.
| SygnaΕ | ESP32 Pin |
|---|---|
| VCC | 3V3 |
| GND | GND |
| MOSI | GPIO 23 |
| MISO | GPIO 19 |
| SCK | GPIO 18 |
| CS | GPIO 15 |
| DC | GPIO 2 |
| RST | Nie uΕΌywany (podΕΔ czony do 3.3V) |
| SygnaΕ | ESP32 Pin |
|---|---|
| T_MOSI (DIN) | GPIO 23 (wspΓ³Εdzielone z TFT) |
| T_MISO (DO) | GPIO 19 (wspΓ³Εdzielone z TFT) |
| T_CLK | GPIO 18 (wspΓ³Εdzielone z TFT) |
| T_CS | GPIO 21 |
| T_IRQ | GPIO 22 |
| SygnaΕ | ESP32 Pin |
|---|---|
| SDA | GPIO 21 |
| SCL | GPIO 22 |
ESP32 HAM-CLOCK moΕΌna wgraΔ na 4 sposoby. Wybierz najbardziej odpowiedni dla siebie.
Zalety: PeΕna kontrola, automatyczne czyszczenie, najszybszy sposΓ³b dla zaawansowanych.
Krok po kroku:
# 1. OtwΓ³rz terminal w folderze projektu
cd "C:\Twoja\sciezka\esp32-ham-clok-beta"
# 2. Pobierz najnowszy interfejs web z GitHub
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/Tom50505050/esp32-ham-clok-beta/main/littlefs_data/index.html" -OutFile "littlefs_data\index.html"
# 3. PeΕne czyszczenie pamiΔci Flash ESP32
pio run --target erase
# 4. Kompilacja i wgrywanie firmware (program gΕΓ³wny)
pio run --target upload
# 5. Budowanie obrazu systemu plikΓ³w LittleFS
pio run --target buildfs
# 6. Wgrywanie plikΓ³w web na ESP32
pio run --target uploadfs
β οΈ Uwaga: MiΔdzy krokami 3 i 4 poczekaj aΕΌ ESP32 siΔ zresetuje (ok. 5 sekund).
Zalety: Intuicyjny interfejs graficzny, nie wymaga wpisywania komend.
Plik β OtwΓ³rz folder β wybierz folder esp32-ham-clok-beta
Widok β Rozszerzenia β wyszukaj "PlatformIO IDE" β Zainstaluj
OtwΓ³rz platformio.ini β zmieΕ upload_port na swΓ³j port np. COM3
| Ikona | Funkcja | Opis |
|---|---|---|
| β‘οΈ | Upload | Wgrywa firmware (.bin) |
| ποΈ | Erase | CzyΕci pamiΔΔ Flash |
| π¦ | Build Filesystem Image | Tworzy obraz LittleFS |
| β¬οΈ | Upload Filesystem Image | Wgrywa pliki web |
KolejnoΕΔ klikniΔΔ:
1. ποΈ Erase Flash (czyszczenie)
2. β‘οΈ Upload (firmware)
3. π¦ Build Filesystem Image
4. β¬οΈ Upload Filesystem Image
βββββββββββββββββββββββββββββββββββββββββββββββββββ
β [π ] [β] [β‘οΈ] [ποΈ] [π¦] [β¬οΈ] [π§] [π€] β
β Home Compile Upload Erase Build Upload Settingsβ
βββββββββββββββββββββββββββββββββββββββββββββββββββ
Zalety: Bez kabla USB, wgrywanie zdalne przez sieΔ lokalnΔ .
- ESP32 musi byΔ juΕΌ wgrany z poprzedniej metody
- ESP32 musi byΔ poΕΔ czony z tΔ samΔ sieciΔ WiFi
1. OtwΓ³rz interfejs web ESP32:
PrzeglΔ
darka β http://192.168.X.X (IP ESP32)
2. PrzejdΕΊ do zakΕadki UPLOAD:
[NAVIGACJA] β Kliknij przycisk "UPLOAD" w gΓ³rnym menu
3. Wgraj plik firmware:
βββββββββββββββββββββββββββββββββββββββββββ
β π€ UPLOAD PLIKΓW β
βββββββββββββββββββββββββββββββββββββββββββ€
β β
β βββββββββββββββββββββββββββββββββ β
β β π β β
β β PrzeciΔ
gnij pliki tutaj β β
β β lub kliknij aby wybraΔ β β
β βββββββββββββββββββββββββββββββββ β
β β
β π Wybierz plik: firmware.bin β
β β
β [ββββββββββββββββββ] 65% β
β Status: Wgrywanie: firmware.bin β
β β
βββββββββββββββββββββββββββββββββββββββββββ
4. Wgraj pliki LittleFS:
PrzeciΔ
gnij i upuΕΔ wszystkie pliki z folderu littlefs_data/
(lub uΕΌyj przycisku do wyboru plikΓ³w)
| Format | Rozszerzenie | Opis |
|---|---|---|
| HTML | .html |
Strony internetowe |
| CSS | .css |
Style |
| JavaScript | .js |
Skrypty |
| Obrazy | .bmp, .png |
Grafiki, ikony |
| Czcionki | .bin |
Fonty |
| Tekst | .txt |
Dokumentacja |
| Markdown | .md |
Pliki instrukcji - automatycznie pojawiajΔ siΔ w zakΕadce Instrukcja |
Zalety: DziaΕa z dowolnym edytorem, nie wymaga PlatformIO.
pip install esptool# 1. Pobierz firmware z folderu .pio/build/esp32dev/
# (po kompilacji w PlatformIO lub pobierz z GitHub releases)
# 2. Zidentyfikuj port COM
python -m esptool --port COM3 flash_id
# 3. Skasuj pamiΔΔ Flash
python -m esptool --port COM3 erase_flash
# 4. Wgraj bootloader
python -m esptool --port COM3 write_flash 0x1000 bootloader.bin
# 5. Wgraj partition table
python -m esptool --port COM3 write_flash 0x8000 partitions.bin
# 6. Wgraj firmware gΕΓ³wny
python -m esptool --port COM3 write_flash 0x10000 firmware.bin
# 7. Wgraj system plikΓ³w LittleFS
python -m esptool --port COM3 write_flash 0x390000 littlefs.binpython -m esptool --port COM3 \
erase_flash \
write_flash 0x1000 bootloader.bin \
0x8000 partitions.bin \
0x10000 firmware.bin \
0x390000 littlefs.binβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β SEKWENCJA PEΕNEGO WGRYWANIA β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 1οΈβ£ ERASE FLASH β
β CzyΕci caΕΔ
pamiΔΔ Flash β
β βββ Komenda: pio run --target erase β
β βββ Czas: ~10 sekund β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 2οΈβ£ UPLOAD FIRMWARE β
β Wgrywa program gΕΓ³wny (.bin) β
β βββ Komenda: pio run --target upload β
β βββ Czas: ~30-60 sekund β
β βββ Rozmiar: ~1.5 MB β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 3οΈβ£ BUILD FILESYSTEM β
β Tworzy obraz LittleFS z plikΓ³w web β
β βββ Komenda: pio run --target buildfs β
β βββ Czas: ~5-10 sekund β
β βββ Tworzy: littlefs.bin β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 4οΈβ£ UPLOAD FILESYSTEM β
β Wgrywa pliki web na ESP32 β
β βββ Komenda: pio run --target uploadfs β
β βββ Czas: ~20-30 sekund β
β βββ Rozmiar: ~2 MB β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
GOTOWE! β
β β
β ESP32 uruchomi siΔ automatycznie β
β Utworzy sieΔ WiFi: ESP32-HAM-CLOCK β
β HasΕo: 1234567890 β
β Adres AP: http://192.168.4.1 β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
SprawdΕΊ kabel USB (uΕΌyj kabla z danymi, nie tylko Εadowania)
β
SprawdΕΊ sterowniki CH340/CP2102 w MenedΕΌerze urzΔ
dzeΕ
β
SprΓ³buj innego portu USB
β
NaciΕnij przycisk BOOT na ESP32 podczas podΕΔ
czania
β
Przytrzymaj przycisk BOOT podczas startu wgrywania
β
Zwolnij BOOT gdy zobaczysz "Connecting..."
β
SprΓ³buj niΕΌszej prΔdkoΕci upload: upload_speed = 460800
β
Upewnij siΔ, ΕΌe wykonaΕeΕ krok buildfs przed uploadfs
β
SprawdΕΊ czy partycja w partitions.csv ma wΕaΕciwy rozmiar
β
Wykonaj peΕny erase przed ponownym wgraniem
β
Przytrzymaj przycisk BOOT + EN przez 10 sekund (reset do ustawieΕ fabrycznych)
β
ESP32 utworzy wΕasnΔ
sieΔ AP jako fallback
β
SprawdΕΊ poprawnoΕΔ SSID i hasΕa w konfiguracji
β
SprawdΕΊ poΕΔ
czenia kabli FPC
β
SprawdΕΊ pin RST - musi byΔ podΕΔ
czony do 3.3V
β
SprΓ³buj innej wartoΕci TFT_BL_PIN w tft_setup.h
esp32-ham-clok-beta/
βββ .pio/
β βββ build/
β βββ esp32dev/
β βββ firmware.bin β GΕΓ³wny firmware
β βββ bootloader.bin β Bootloader
β βββ partitions.bin β Tablica partycji
β βββ littlefs.bin β System plikΓ³w (po buildfs)
β
βββ src/
β βββ main.cpp β Kod ΕΊrΓ³dΕowy
β
βββ littlefs_data/
βββ index.html β Strona gΕΓ³wna web
βββ fonts/ β Czcionki
βββ icons/ β Ikony
.pio\build\esp32dev\
βββ firmware_0x10000.bin β Adres: 0x10000 (gΕΓ³wny program)
βββ bootloader_0x1000.bin β Adres: 0x1000 (bootloader)
βββ partitions_0x8000.bin β Adres: 0x8000 (partycje)
βββ littlefs_0x390000.bin β Adres: 0x390000 (pliki web)
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β PAMIΔΔ FLASH ESP32 (4MB) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 0x1000 (4KB) bootloader_0x1000.bin Bootloader β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β 0x8000 (4KB) partitions_0x8000.bin Tablica partycji β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β 0x10000 (~1.5MB) firmware_0x10000.bin GΕΓ³wny program (APP) β
β ... β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β 0x390000 (~2MB) littlefs_0x390000.bin System plikΓ³w (web UI) β
β ... β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
1. pio run --target buildfs β Zbuduj LittleFS
2. rename_bins.bat β ZmieΕ nazwy na _0xADDR.bin
3. Uruchom odpowiedni skrypt:
βββ flash_all.bat β PeΕne wgranie (wszystko)
βββ flash_firmware.bat β Tylko firmware
βββ flash_littlefs.bat β Tylko pliki web
| Skrypt | Co robi | Kiedy uΕΌyΔ |
|---|---|---|
rename_bins.bat |
Zmienia nazwy plikΓ³w .bin dodajΔ c adres | Zawsze pierwszy |
flash_all.bat |
CzyΕci flash + wgrywa wszystko | Pierwsze wgranie / recovery |
flash_firmware.bat |
Wgrywa bootloader + firmware | Aktualizacja programu |
flash_littlefs.bat |
Wgrywa tylko LittleFS | Aktualizacja strony www |
W pliku platformio.ini moΕΌesz dostosowaΔ:
| Parametr | Opis | DomyΕlna wartoΕΔ |
|---|---|---|
upload_speed |
PrΔdkoΕΔ wgrywania | 115200 |
monitor_speed |
PrΔdkoΕΔ serial monitor | 115200 |
upload_port |
Port COM | COM3 |
board_build.f_cpu |
CzΔstotliwoΕΔ CPU | 240MHz |
Po pierwszym wgraniu ESP32 automatycznie:
πΆ SieΔ WiFi: ESP32-HAM-CLOCK
π HasΕo: 1234567890
π Adres: http://192.168.4.1
- PoΕΔ cz siΔ z sieciΔ ESP32-HAM-CLOCK
- OtwΓ³rz przeglΔ darkΔ: http://192.168.4.1
- PrzejdΕΊ do zakΕadki USTAWIENIA
- Wpisz dane swojej sieci WiFi (SSID i hasΕo)
- Zapisz i zrestartuj ESP32
Po poΕΔ czeniu z routerem:
πΆ ESP32 poΕΔ
czy siΔ z TwojΔ
sieciΔ
π Adres IP znajdziesz w routerze lub przez Serial Monitor
Aby zobaczyΔ logi debugowania:
pio device monitor βββββββββββββββββββββββββββββββ
β ESP32 DevKit β
β (ESP-WROOM-32) β
βββββββββββββββββββββββββββββββ
GPIO 2 βββββββ¬ββββββ DC (TFT)
GPIO 15 βββββββΌββββββ CS (TFT)
GPIO 18 βββββββΌββββββ SCK (TFT + Touch)
GPIO 19 βββββββΌββββββ MISO (Touch)
GPIO 21 βββββββΌββββββ T_CS (Touch)
GPIO 22 βββββββΌββββββ T_IRQ (Touch)
GPIO 23 βββββββΌββββββ MOSI (TFT + Touch)
GPIO 32 βββββββΌββββββ TFT BL (Backlight)
β οΈ GPIO 19 (MISO TFT) = NIE PODΕΔCZAJ! (NC)
3V3 βββββββββββ΄ββββββ VCC (TFT + Touch)
GND βββββββββββ΄ββββββ GND (TFT + Touch)
MIT License β zobacz plik LICENSE dla szczegΓ³ΕΓ³w.
Tom50505050
- GitHub: Tom50505050/esp32-ham-clok-beta
- Biblioteka TFT_eSPI
- Biblioteka [SGP4](https://github.com/m NEVERind/SGP4)
- Projekt APRS-IS
- ARISS β Amateur Radio on ISS