Ceefax Station is een softwareproject dat de nostalgische Ceefax-teletekstservice nabootst voor moderne computers. Gebruikers kunnen via een viewer diverse pagina's bekijken, zoals nieuws, weer en sport. Om het gebruik te vereenvoudigen, downloadt de software een gedeeld 'page pack' van een centrale hub (ceefaxstation.com), waardoor individuele API-sleutels niet nodig zijn.
Voor gelicentieerde amateurradio-operators biedt de applicatie uitgebreide functionaliteiten om pagina's via radio te verzenden (TX) en te ontvangen (RX) middels het AX.25-protocol en software zoals Dire Wolf. De tool is beschikbaar voor Linux en Windows, en kan ook direct vanuit Python-broncode worden geïnstalleerd. Daarnaast kunnen actieve stations zichzelf zichtbaar maken op een publieke wereldkaart.
Ceefax Station: Een moderne recreatie van de klassieke Ceefax-teletekstservice voor HAM-radio
Wat is Ceefax Station?
Met Ceefax Station kun je het volgende doen:
- Live-stijl pagina's bekijken (zoals het weer, nieuws, voetbal, tv, loterij, etc.).
- Deze pagina's verzenden via de radio (voor gelicentieerde operators).
- Pagina's ontvangen van andere stations.
- Zichtbaar zijn op de publieke kaart:
ceefaxstation.com.
Er zijn geen API-sleutels nodig; stations downloaden automatisch een gedeeld 'page pack' van ceefaxstation.com. Je hebt geen radio nodig om simpelweg de viewer uit te proberen.
Let op: Dit is alpha-software; het programma werkt, maar functies kunnen nog veranderen.
Snelstart (Aanbevolen)
De beste manier om de nieuwste versie te verkrijgen is via installatie vanaf GitHub. Geïnstalleerde apps kunnen later zelf updates uitvoeren (via de U-toets in de viewer of via het commando ceefaxstation update).
Linux (Debian / Ubuntu / Raspberry Pi OS)
Installeer het Debian-pakket (tag v0.1.5 / versie 0.1.5-alpha):
Via deze repository (main):
curl -L -o ceefax-station.deb https://github.com/thaum-labs/ceefax_station/raw/main/installers/ceefax-station.deb
sudo apt install ./ceefax-station.deb
ceefaxstation
Als je de repository al hebt gekloond:
sudo apt install ./installers/ceefax-station.deb
ceefaxstation
Dit installeert het ceefaxstation-commando. Bij de eerste run worden de configuratie en pagina's opgeslagen in ~/.ceefax_station. Voor het live ontvangen via radio is het vereist om direwolf en alsa-utils te installeren: sudo apt install direwolf alsa-utils.
Windows
Windows-installaties kunnen later ook zelf updates uitvoeren (via U in de viewer of ceefaxstation update). Een setup-EXE is beschikbaar in de map installers/ en op ceefaxstation.com/download.
Installatie vanuit broncode (From source)
- Installeer Python 3.11
Download via python.org/downloads. Vink op Windows de optie "Add Python to PATH" aan.
- Download Ceefax Station
``bash git clone https://github.com/thaum-labs/ceefaxstation.git cd ceefaxstation `` (Zonder Git: klik op GitHub op de groene knop 'Code' → 'Download ZIP' en pak het bestand uit).
- Installeer pakketten
``bash python -m pip install -r ceefax/requirements.txt ` Voer op Windows daarnaast het volgende uit: `bash python -m pip install windows-curses ``
- Stel je stationnaam in
Bewerk het bestand ceefax/radioconfig.json: ``json { "callsign": "JOUWCALLSIGN", "frequency": "2m (144.0-148.0 MHz)", "grid": "IO91WM" } ``
callsign: Je amateur-callsign, of een korte naam voor testdoeleinden.
grid: Maidenhead-locator (bijv. IO91WM) om op de kaart te verschijnen.
frequency: Alleen nodig als je gaat verzenden.
- Uitvoeren
``bash python -m ceefaxstation debug --refresh --view `` Dit commando zal:
- De gedeelde pagina's downloaden van
ceefaxstation.com (geen sleutels nodig).
- Je lokale weer- en callsign-pagina's bijwerken.
- De Ceefax-viewer openen.
Gebruik van de viewer
| Toets | Actie |
101, 200, 304... | Ga naar die specifieke pagina |
n of → | Volgende pagina |
p of $\leftarrow$ | Vorige pagina |
F5 | Pagina's herladen (hub-pack indien nieuwer) |
U | GitHub controleren en de geïnstalleerde app updaten |
t | Verzendmenu (Transmit) |
r | Ontvangstmenu (Receive) |
s | Station-instellingen |
Esc of q | Terug / Afsluiten |
Handige pagina's: 101 Weer $\cdot$ 200 Nieuws $\cdot$ 304 Voetbal $\cdot$ 402 Loterij $\cdot$ 503 TV $\cdot$ 504 Films.
Pagina's en databronnen
Standaard maakt de refresh-functie gebruik van het hub-page pack:
python -m ceefaxstation pages pull
python -m ceefaxstation debug --refresh --view
| Inhoud | Bron |
| Nieuws, sport, loterij, TV, films, UK weer... | Gedownload van ceefaxstation.com |
| Lokaal weer (102) | Bijgewerkt op jouw PC |
| Callsign / radio-pagina (700) | Bijgewerkt op jouw PC |
Indien de hub tijdelijk offline is, valt Ceefax terug op het bouwen van pagina's op je eigen PC (sommige pagina's vereisen dan API-sleutels; dit kan meestal genegeerd worden).
Optionele installateurs
- Linux (v0.1.5):
installers/ceefax-station.deb en installers/ceefax-station0.1.5~alpha-1all.deb. Installatie via sudo apt install ./installers/ceefax-station.deb.
- Windows:
installers/CeefaxStation-Setup-0.1.4.exe.
De Windows-installer is de eenvoudigste methode voor dat platform, aangezien deze de app en Dire Wolf (voor live RX) bundelt. Het Debian-pakket maakt gebruik van systeem-Python en adviseert het distributie-pakket van direwolf.
Radio (TX / RX)
Voor gebruik is een geldige licentie, een radio en een audioverbinding met de pc vereist. Voor het decoderen van live ontvangst is Dire Wolf nodig.
- Windows: Gebundeld onder
ceefax/tools/direwolf in de installer.
- Linux:
sudo apt install direwolf.
- Handmatige installatie: Plaats
direwolf of direwolf.exe in de PATH of in de projectmap.
Commando's:
# Eenmaal verzenden
python -m ceefaxstation tx now --play
# Elk uur verzenden (ververst eerst de pagina's)
python -m ceefaxstation tx hourly --play
# Laatste WAV / live audio ontvangen
python -m ceefaxstation rx latest
python -m ceefaxstation rx live
In de interactieve viewer verzendt de toets T nu (3 loops) en blijft vervolgens 'armed': het programma ververst de pagina's voor het volgende uur en verzendt opnieuw op :00, totdat ESC wordt ingedrukt.
Verschijnen op de kaart
Na een TX- of RX-sessie uploadt Ceefax Station automatisch het nieuwe logboek naar ceefaxstation.com (vereist callsign en grid in radio_config.json).
Je kunt eventueel een achtergrondwatcher draaien:
python -m ceefaxstation upload
Op Windows: .\startuploader.ps1. Schakel automatische uploads uit met de omgevingsvariabele CEEFAXAUTO_UPLOAD=0.
Pagina-gids
| Pagina's | Inhoud |
| 101–103 | Weer + UK kaart |
| 200–202 | Nieuws |
| 300–305 | Sport / voetbal |
| 400–402 | Geld, reizen, loterij |
| 500–504 | Feiten, citaten, TV, films |
| 600–602 | Grappen, kunst, quiz |
| 700 | Radio / callsign activiteit |
| 900 | Over |
Mini-glossarium
| Term | Betekenis |
| Hub / page pack | Gedeelde pagina's gehost op ceefaxstation.com, zodat stations geen eigen API-sleutels nodig hebben. |
| Callsign | Jouw amateurradio-identificatie. |
| Grid | Korte locatiecode voor de kaart (Maidenhead). |
| TX / RX | Transmit (verzenden) / Receive (ontvangen). |
| AX.25 | Packet radio-formaat gebruikt om pagina's als audio te verzenden. |
Handige links
- Live kaart + hub:
ceefaxstation.com
- Extra technische aantekeningen:
ceefax/README.md
- Licentie: MIT
Voor ontwikkelaars
Mapstructuur
ceefax/: Station-app, page updaters, viewer.
ceefaxstation/: CLI (python -m ceefaxstation ...).
ceefaxweb/: Broncode van de officiële site (ceefaxstation.com — niet bedoeld voor self-hosting).
installers/: Windows Setup .exe + Linux .deb.
packaging/debian/: Build-notities voor het Debian-pakket.
Testen: python -m pytest
Notitie over het Hub page pack
De officiële site ververst de gedeelde teletekstpagina's ongeveer elke 2 uur. Dit ritme is afgestemd op de gratis API-limieten van de gebruikte providers:
football-data.org (10 req/min)
Guardian developer (500/dag)
Lottery Results Feed free (100/maand)
Open-Meteo (10k/dag)
Stations downloaden enkel het gepubliceerde pakket en hebben deze API-sleutels dus niet zelf nodig.
Upload-emailmeldingen (voor site-eigenaar)
Op de DigitalOcean-box bevindt de live checkout zich in /root/ceefax_station. Voeg de volgende variabelen toe aan de .env en voer systemctl restart ceefaxweb uit:
RESENDAPIKEY=re_...
CEEFAXWEBNOTIFYTO=you@example.com
CEEFAXWEBNOTIFYFROM=Ceefax Station <notify@your-verified-domain> (optioneel)
CEEFAXWEBNOTIFYCOOLDOWN_SECONDS=120 (optioneel)
Demo-uploads (waarbij source_path begint met sample:) genereren geen e-mailmeldingen.
Ceefax Station: Een moderne recreatie van de klassieke Ceefax-teletekstservice voor HAM-radio
Wat is Ceefax Station?
Met Ceefax Station kun je het volgende doen:
- Live-stijl pagina's bekijken (zoals het weer, nieuws, voetbal, tv, loterij, etc.).
- Deze pagina's verzenden via de radio (voor gelicentieerde operators).
- Pagina's ontvangen van andere stations.
- Zichtbaar zijn op de publieke kaart:
ceefaxstation.com.
Er zijn geen API-sleutels nodig; stations downloaden automatisch een gedeeld 'page pack' van ceefaxstation.com. Je hebt geen radio nodig om simpelweg de viewer uit te proberen.
Let op: Dit is alpha-software; het programma werkt, maar functies kunnen nog veranderen.
Snelstart (Aanbevolen)
De beste manier om de nieuwste versie te verkrijgen is via installatie vanaf GitHub. Geïnstalleerde apps kunnen later zelf updates uitvoeren (via de U-toets in de viewer of via het commando ceefaxstation update).
Linux (Debian / Ubuntu / Raspberry Pi OS)
Installeer het Debian-pakket (tag v0.1.5 / versie 0.1.5-alpha):
Via deze repository (main):
curl -L -o ceefax-station.deb https://github.com/thaum-labs/ceefax_station/raw/main/installers/ceefax-station.deb
sudo apt install ./ceefax-station.deb
ceefaxstation
Als je de repository al hebt gekloond:
sudo apt install ./installers/ceefax-station.deb
ceefaxstation
Dit installeert het ceefaxstation-commando. Bij de eerste run worden de configuratie en pagina's opgeslagen in ~/.ceefax_station. Voor het live ontvangen via radio is het vereist om direwolf en alsa-utils te installeren: sudo apt install direwolf alsa-utils.
Windows
Windows-installaties kunnen later ook zelf updates uitvoeren (via U in de viewer of ceefaxstation update). Een setup-EXE is beschikbaar in de map installers/ en op ceefaxstation.com/download.
Installatie vanuit broncode (From source)
- Installeer Python 3.11
Download via python.org/downloads. Vink op Windows de optie "Add Python to PATH" aan.
- Download Ceefax Station
``bash git clone https://github.com/thaum-labs/ceefaxstation.git cd ceefaxstation `` (Zonder Git: klik op GitHub op de groene knop 'Code' → 'Download ZIP' en pak het bestand uit).
- Installeer pakketten
``bash python -m pip install -r ceefax/requirements.txt ` Voer op Windows daarnaast het volgende uit: `bash python -m pip install windows-curses ``
- Stel je stationnaam in
Bewerk het bestand ceefax/radioconfig.json: ``json { "callsign": "JOUWCALLSIGN", "frequency": "2m (144.0-148.0 MHz)", "grid": "IO91WM" } ``
callsign: Je amateur-callsign, of een korte naam voor testdoeleinden.
grid: Maidenhead-locator (bijv. IO91WM) om op de kaart te verschijnen.
frequency: Alleen nodig als je gaat verzenden.
- Uitvoeren
``bash python -m ceefaxstation debug --refresh --view `` Dit commando zal:
- De gedeelde pagina's downloaden van
ceefaxstation.com (geen sleutels nodig).
- Je lokale weer- en callsign-pagina's bijwerken.
- De Ceefax-viewer openen.
Gebruik van de viewer
| Toets | Actie |
101, 200, 304... | Ga naar die specifieke pagina |
n of → | Volgende pagina |
p of $\leftarrow$ | Vorige pagina |
F5 | Pagina's herladen (hub-pack indien nieuwer) |
U | GitHub controleren en de geïnstalleerde app updaten |
t | Verzendmenu (Transmit) |
r | Ontvangstmenu (Receive) |
s | Station-instellingen |
Esc of q | Terug / Afsluiten |
Handige pagina's: 101 Weer $\cdot$ 200 Nieuws $\cdot$ 304 Voetbal $\cdot$ 402 Loterij $\cdot$ 503 TV $\cdot$ 504 Films.
Pagina's en databronnen
Standaard maakt de refresh-functie gebruik van het hub-page pack:
python -m ceefaxstation pages pull
python -m ceefaxstation debug --refresh --view
| Inhoud | Bron |
| Nieuws, sport, loterij, TV, films, UK weer... | Gedownload van ceefaxstation.com |
| Lokaal weer (102) | Bijgewerkt op jouw PC |
| Callsign / radio-pagina (700) | Bijgewerkt op jouw PC |
Indien de hub tijdelijk offline is, valt Ceefax terug op het bouwen van pagina's op je eigen PC (sommige pagina's vereisen dan API-sleutels; dit kan meestal genegeerd worden).
Optionele installateurs
- Linux (v0.1.5):
installers/ceefax-station.deb en installers/ceefax-station0.1.5~alpha-1all.deb. Installatie via sudo apt install ./installers/ceefax-station.deb.
- Windows:
installers/CeefaxStation-Setup-0.1.4.exe.
De Windows-installer is de eenvoudigste methode voor dat platform, aangezien deze de app en Dire Wolf (voor live RX) bundelt. Het Debian-pakket maakt gebruik van systeem-Python en adviseert het distributie-pakket van direwolf.
Radio (TX / RX)
Voor gebruik is een geldige licentie, een radio en een audioverbinding met de pc vereist. Voor het decoderen van live ontvangst is Dire Wolf nodig.
- Windows: Gebundeld onder
ceefax/tools/direwolf in de installer.
- Linux:
sudo apt install direwolf.
- Handmatige installatie: Plaats
direwolf of direwolf.exe in de PATH of in de projectmap.
Commando's:
# Eenmaal verzenden
python -m ceefaxstation tx now --play
# Elk uur verzenden (ververst eerst de pagina's)
python -m ceefaxstation tx hourly --play
# Laatste WAV / live audio ontvangen
python -m ceefaxstation rx latest
python -m ceefaxstation rx live
In de interactieve viewer verzendt de toets T nu (3 loops) en blijft vervolgens 'armed': het programma ververst de pagina's voor het volgende uur en verzendt opnieuw op :00, totdat ESC wordt ingedrukt.
Verschijnen op de kaart
Na een TX- of RX-sessie uploadt Ceefax Station automatisch het nieuwe logboek naar ceefaxstation.com (vereist callsign en grid in radio_config.json).
Je kunt eventueel een achtergrondwatcher draaien:
python -m ceefaxstation upload
Op Windows: .\startuploader.ps1. Schakel automatische uploads uit met de omgevingsvariabele CEEFAXAUTO_UPLOAD=0.
Pagina-gids
| Pagina's | Inhoud |
| 101–103 | Weer + UK kaart |
| 200–202 | Nieuws |
| 300–305 | Sport / voetbal |
| 400–402 | Geld, reizen, loterij |
| 500–504 | Feiten, citaten, TV, films |
| 600–602 | Grappen, kunst, quiz |
| 700 | Radio / callsign activiteit |
| 900 | Over |
Mini-glossarium
| Term | Betekenis |
| Hub / page pack | Gedeelde pagina's gehost op ceefaxstation.com, zodat stations geen eigen API-sleutels nodig hebben. |
| Callsign | Jouw amateurradio-identificatie. |
| Grid | Korte locatiecode voor de kaart (Maidenhead). |
| TX / RX | Transmit (verzenden) / Receive (ontvangen). |
| AX.25 | Packet radio-formaat gebruikt om pagina's als audio te verzenden. |
Handige links
- Live kaart + hub:
ceefaxstation.com
- Extra technische aantekeningen:
ceefax/README.md
- Licentie: MIT
Voor ontwikkelaars
Mapstructuur
ceefax/: Station-app, page updaters, viewer.
ceefaxstation/: CLI (python -m ceefaxstation ...).
ceefaxweb/: Broncode van de officiële site (ceefaxstation.com — niet bedoeld voor self-hosting).
installers/: Windows Setup .exe + Linux .deb.
packaging/debian/: Build-notities voor het Debian-pakket.
Testen: python -m pytest
Notitie over het Hub page pack
De officiële site ververst de gedeelde teletekstpagina's ongeveer elke 2 uur. Dit ritme is afgestemd op de gratis API-limieten van de gebruikte providers:
football-data.org (10 req/min)
Guardian developer (500/dag)
Lottery Results Feed free (100/maand)
Open-Meteo (10k/dag)
Stations downloaden enkel het gepubliceerde pakket en hebben deze API-sleutels dus niet zelf nodig.
Upload-emailmeldingen (voor site-eigenaar)
Op de DigitalOcean-box bevindt de live checkout zich in /root/ceefax_station. Voeg de volgende variabelen toe aan de .env en voer systemctl restart ceefaxweb uit:
RESENDAPIKEY=re_...
CEEFAXWEBNOTIFYTO=you@example.com
CEEFAXWEBNOTIFYFROM=Ceefax Station <notify@your-verified-domain> (optioneel)
CEEFAXWEBNOTIFYCOOLDOWN_SECONDS=120 (optioneel)
Demo-uploads (waarbij source_path begint met sample:) genereren geen e-mailmeldingen.