Cze艣膰! Dzi艣 chcia艂bym podzieli膰 si臋 z Wami moim najnowszym projektem: "profesjonalnym" odbiornikiem VHF z interfejsem webowym, kt贸ry zbudowa艂em w oparciu o modu艂 radiowy SA868S, mikrokontroler ESP32 oraz wy艣wietlacz TFT ST7789. To urz膮dzenie, kt贸re 艂膮czy w sobie mo偶liwo艣ci odbioru pasma VHF (144–146 MHz) z nowoczesnym sterowaniem przez przegl膮dark臋 internetow膮.
馃摗 G艂贸wne funkcjonalno艣ci:
Odbiornik VHF – pracuje w pa艣mie VHF (136–174 MHz) z mo偶liwo艣ci膮 strojenia krokami 12.5 kHz, 25 kHz, 100 kHz i 1 MHz.
G艂贸wny interfejs: panel webowy – dost臋pny z ka偶dego urz膮dzenia w sieci WiFi (telefon, tablet, laptop). Nie potrzebujesz dodatkowej aplikacji – wystarczy przegl膮darka.
Wy艣wietlacz lokalny TFT – pe艂ni rol臋 pomocniczego ekranu technicznego, pokazuj膮cego aktualn膮 cz臋stotliwo艣膰, nazw臋 kana艂u, poziom sygna艂u (S-meter) oraz status (BUSY/SQL/SCAN).
Bank pami臋ci kana艂贸w – mo偶esz zapisywa膰 ulubione cz臋stotliwo艣ci z w艂asnymi nazwami, a potem jednym klikni臋ciem do nich wraca膰.
Skaner pasma – automatyczne przeszukiwanie zadanego zakresu z pauzowaniem na aktywnych kana艂ach.
Regulacja audio – g艂o艣no艣ci i squelcha z poziomu panelu webowego.
Filtry odbioru – wbudowane opcje: PRE/DE-EMPHASIS, HIGH-PASS, LOW-PASS.
馃洜️ Jak to dzia艂a?
Urz膮dzenie opiera si臋 na ESP32,
kt贸ry pe艂ni rol臋 serwera webowego (AsyncWebServer) i komunikuje si臋 z
modu艂em radiowym SA868S poprzez UART. Po艂膮czenie WiFi dzia艂a w trybie
Access Point – urz膮dzenie tworzy w艂asn膮 sie膰 Odbiornik_VHF, do kt贸rej 艂膮czysz si臋 bezpo艣rednio.
G艂贸wny interfejs to strona HTML serwowana z karty SD, kt贸ra na 偶ywo aktualizuje dane przez WebSocket (cz臋stotliwo艣膰, poziom sygna艂u, status). Wy艣wietlacz TFT ST7789 pokazuje te same informacje w formie uproszczonej – idealnie, gdy nie chcesz otwiera膰 przegl膮darki.
馃З Schemat pod艂膮czenia:
Modu艂 SA868S po艂膮czony jest z ESP32 przez UART (RX/TX) oraz pin BUSY do detekcji aktywno艣ci kana艂u.
Wy艣wietlacz ST7789 pod艂膮czony przez SPI.
Karta SD r贸wnie偶 przez SPI – przechowuje stron臋 HTML i banki kana艂贸w.
Karta musi by膰 sformatowana w systemie FAT-32 i zawiera膰 podstawowe pliki index.html i banki.txt. Opcjonalnie config.txt
Audio – sygna艂 audio z SA868S trafia do wzmacniacza klasy D LTK5128, a potem do g艂o艣nika lub s艂uchawek.
Zasilanie przez USB-C 5V, z prostym uk艂adem stabilizatora 4.3V dla cz臋艣ci analogowej.
Szkic po艂膮cze艅 toru audio.Szkic cz臋艣ci cyfrowej.
Kluczowe uwagi monta偶owe:
Zasilanie: Modu艂 SA868S potrafi pobra膰 sporo pr膮du w momencie inicjalizacji. Warto doda膰 kondensator elektrolityczny (np. 470uF) blisko wyprowadze艅 VCC modu艂u radiowego.
Antena: Pami臋taj o pod艂膮czeniu anteny (lub sztucznego obci膮偶enia 50 Ohm) przed uruchomieniem. Nawet je艣li tylko odbierasz, dobre dopasowanie chroni czu艂e stopnie wej艣ciowe przed zak艂贸ceniami z procesora.
Separacja: ESP32 generuje sporo szumu cyfrowego (WiFi/BT). Staraj si臋 prowadzi膰 przewody audio z modu艂u SA868S jak najdalej od anteny WiFi i linii sygna艂owych SPI karty SD.
馃捇 Oprogramowanie:
Kod napisany w Arduino IDE wykorzystuje m.in.:
AsyncWebServerdo serwowania strony i APIWebSocketdo komunikacji w czasie rzeczywistymAdafruit_ST7789do obs艂ugi wy艣wietlaczaSDdo odczytu/zapisu kana艂贸w
Panel webowy ma nowoczesny, ciemny styl z elementami inspirowanymi profesjonalnymi konsolami radiowymi. Wszystkie ustawienia mo偶na zmienia膰 w locie, a zmiany s膮 natychmiast widoczne na wy艣wietlaczu TFT.
S艂贸w kilka na temat panela www:
Interfejs WWW – panel operatorski 艂adowany z karty SD
Interfejs u偶ytkownika odbiornika zosta艂 zrealizowany jako pojedynczy plik index.html, kt贸ry nie znajduje si臋 w pami臋ci flash ESP32, lecz jest 艂adowany bezpo艣rednio z karty SD pod艂膮czonej do mikrokontrolera.
Takie rozwi膮zanie zosta艂o wybrane 艣wiadomie i niesie ze sob膮 kilka bardzo praktycznych korzy艣ci.
Dlaczego karta SD zamiast flash ESP32?
Umieszczenie interfejsu WWW na karcie SD pozwala na:
-
艂atw膮 modyfikacj臋 wygl膮du i funkcji interfejsu bez ponownego wgrywania firmware,
-
szybk膮 edycj臋 HTML/CSS/JS bez ryzyka „uceglenia” urz膮dzenia,
-
przechowywanie dodatkowych plik贸w (np. przysz艂ych wykres贸w, log贸w, konfiguracji),
-
oddzielenie warstwy sprz臋towej od warstwy interfejsu u偶ytkownika.
W praktyce:
ESP32 odpowiada za radio i logik臋, karta SD za „twarz” urz膮dzenia.
I to jest dok艂adnie ten podzia艂, kt贸ry dobrze si臋 skaluje.
Serwowanie plik贸w WWW z karty SD
ESP32 dzia艂a jako serwer HTTP, kt贸ry:
-
przy starcie inicjalizuje kart臋 SD,
-
udost臋pnia plik
index.htmloraz zasoby statyczne bezpo艣rednio z systemu plik贸w, -
obs艂uguje zapytania API i WebSockety r贸wnolegle.
Dla przegl膮darki u偶ytkownika:
-
strona zachowuje si臋 jak klasyczna aplikacja webowa,
-
nie ma r贸偶nicy, czy plik pochodzi z serwera w chmurze, czy z ESP32 na biurku.
Dla konstruktora:
-
jest pe艂na kontrola nad zawarto艣ci膮,
-
zero zale偶no艣ci od zewn臋trznej infrastruktury.
Technologia interfejsu
Interfejs zosta艂 napisany w czystym HTML, CSS i JavaScript, bez framework贸w i bibliotek zewn臋trznych.
Zastosowane rozwi膮zania:
-
CSS Grid – uk艂ad dashboardu,
-
dark theme – czytelno艣膰 i „techniczny” charakter,
-
JavaScript ES6 – logika interfejsu,
-
WebSocket – komunikacja czasu rzeczywistego,
-
HTTP API – konfiguracja i sterowanie odbiornikiem.
Ca艂o艣膰 dzia艂a w dowolnej nowoczesnej przegl膮darce:
-
komputer,
-
tablet,
-
smartfon.
Nie ma instalacji aplikacji, nie ma parowania — wystarczy adres IP.
Komunikacja przegl膮darka ↔ ESP32
Interfejs wykorzystuje dwa kana艂y komunikacji:
WebSocket
-
aktualna cz臋stotliwo艣膰,
-
poziom sygna艂u (S-metr),
-
stan BUSY,
-
status skanera.
Zapewnia to:
-
brak op贸藕nie艅,
-
brak od艣wie偶ania strony,
-
bardzo p艂ynn膮 prac臋 interfejsu.
HTTP (REST-like API)
-
zmiana cz臋stotliwo艣ci,
-
regulacja audio,
-
zapis i odczyt pami臋ci,
-
sterowanie skanerem.
To rozdzielenie upraszcza kod i zwi臋ksza niezawodno艣膰.
Bank pami臋ci i dane u偶ytkownika
Lista zapami臋tanych cz臋stotliwo艣ci:
-
przechowywana jest po stronie ESP32,
-
mo偶e by膰 powi膮zana z plikami na karcie SD,
-
jest dynamicznie 艂adowana do interfejsu WWW.
Karta SD naturalnie nadaje si臋 te偶 do:
-
logowania zdarze艅,
-
zapisu historii skanowania,
-
przysz艂ej rozbudowy projektu.
Interfejs WWW jako „softwarowy front panel”
W tym projekcie interfejs WWW pe艂ni rol臋 klasycznego panelu czo艂owego, tyle 偶e:
-
bez ga艂ek,
-
bez przycisk贸w,
-
bez ogranicze艅 fizycznych.
Zmiana wygl膮du lub funkcji:
-
nie wymaga lutownicy,
-
nie wymaga kompilatora,
-
wymaga tylko edytora tekstu.
A to w 艣wiecie projekt贸w radiowych jest luksus, kt贸rego trudno si臋 potem wyrzec.
Umieszczenie interfejsu WWW na karcie SD:
-
upraszcza rozw贸j projektu,
-
zwi臋ksza elastyczno艣膰,
-
oddziela warstw臋 sprz臋tow膮 od wizualnej.
ESP32 robi to, co potrafi najlepiej — steruje radiem i komunikuje si臋 z sieci膮.
A karta SD? Ona daje projektowi przestrze艅 do oddychania.
Kr贸tko m贸wi膮c:
to ju偶 nie jest „radio z webem”, tylko radio sterowane webem.
馃殌 Mo偶liwo艣ci rozbudowy:
Dodanie nadajnika (TX) i przej艣cie w tryb transceivera
Integracja z zewn臋trznymi 藕r贸d艂ami cz臋stotliwo艣ci (GPS, DDS, zewn臋trzny serwer czasu)
Automatyczne logowanie odbieranych sygna艂贸w na karcie SD
R贸wnoleg艂e sterowanie r臋czne z poziomu samego odbiornika (enkoder obrotowy)
Wersja przeno艣na z bateri膮
馃摝 Podsumowanie:
To projekt, kt贸ry 艂膮czy klasyczn膮 radioamatorsk膮 elektronik臋 z nowoczesnym interfejsem webowym. Dzi臋ki niemu mo偶esz zamieni膰 dowolne urz膮dzenie z przegl膮dark膮 w pe艂noprawny panel sterowania odbiornikiem VHF. Ca艂o艣膰 jest otwarta, modu艂owa i gotowa do dalszej rozbudowy.
Kod 藕r贸d艂owy, schematy i pliki s膮 dost臋pne (pytaj poprzez e-mail hf5wwl@gmail.com – zach臋cam do eksperymentowania!
Masz pytania? Chcesz zbudowa膰 w艂asny? Zapraszam do komentowania!
✍️ Autor: Robert HF5WWL
馃搮 Data projektu: Czerwiec 2025 r.
馃搷 Lokalizacja: Wo艂omin, POLSKA
馃搧 Kod 藕r贸d艂owy: Pytaj poprzez e-mail (hf5wwl@gmail.com).
馃洜️ Poziom trudno艣ci: 艢redni, 艣rednio-trudny. (gdy masz gotowy program 馃槉).
Tagi: #radio #VHF #ESP32 #SA868S #IoT #webinterface #DIY #radioamator #STM7789 #websocket #hf5wwl




Brak komentarzy:
Prze艣lij komentarz
Zastan贸w si臋, czy to co tu napiszesz by艂o by mile widziane na Twojej stornie www lub na Twoim blogu...
Niestosowne komentarze b臋d膮 cenzurowane.