___________________________________________________________________________________________________________________________________________________________________________
___________________________________________________________________________________________________________________________________________________________________________

16 stycznia 2026

ODBIORNIK VHF SA868S Z INTERFEJSEM WWW

Interfejs WWW

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.

   

         
                     
  
Wy艣wietlacz GMT020_02 (ST7789V) umieszczony w obudowie odbiornika. Wersja 1 i wersja 2.

 

馃З 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.:

  • AsyncWebServer do serwowania strony i API

  • WebSocket do komunikacji w czasie rzeczywistym

  • Adafruit_ST7789 do obs艂ugi wy艣wietlacza

  • SD do 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.html oraz 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