Denne Python-baserede applikation modtager data fra en RTL-SDR-radio, dekoder meddelelser ved hjælp af multimon-ng, og sender beskeder til en bestemt Telegram-bruger eller -gruppe ved hjælp af en Telegram-bot.
- Modtager radiosignaler fra en RTL-SDR-enhed.
- Dekoder meddelelser ved hjælp af multimon-ng og rtl_fm.
- Filtrerer relevante data baseret på konfigurationsindstillinger.
- Sender beskeder til Telegram-brugere eller -grupper ved hjælp af en bot.
- Flask-baseret interface til at administrere konfiguration og logfiler.
- En funktionel RTL-SDR-enhed.
- Docker installeret på værtsmaskinen.
- Telegram API-token (oprettes via BotFather).
-
Hent Docker-billedet:
docker pull joachimth/pythonpagertelegramforwarder
-
Kør containeren med adgang til en bestemt USB-enhed:
docker run -e TELEGRAM_API='din_telegram_api' -e TELEGRAM_REC='din_telegram_rec' \ -d --name pythonpagertelegramforwarder --device=/dev/bus/usb/001/001 \ joachimth/pythonpagertelegramforwarder:latest
Bemærk: Sørg for, at stien
/dev/bus/usb/001/001
svarer til din RTL-SDR-enhed. -
Alternativt kan du give adgang til alle USB-enheder:
docker run -e TELEGRAM_API='din_telegram_api' -e TELEGRAM_REC='din_telegram_rec' \ -d --name pythonpagertelegramforwarder --device=/dev/bus/usb \ joachimth/pythonpagertelegramforwarder:latest
Applikationen bruger en config.txt
-fil til at administrere indstillinger. Denne fil indeholder:
- Telegram API-token og modtager-ID (
TELEGRAM_API
,TELEGRAM_REC
). - Multimon-ng konfigurationer.
- Radiokonfigurationer.
frequency=144800000
ppm=0
modulation=AFSK
telegram_api=din_telegram_api
telegram_rec=din_telegram_rec
Applikationen leverer et Flask-baseret interface til:
- Ændring af
config.txt
efter opstart. - Gennemgang af logfiler (
kalrun.log
ogmultimon.log
).
For at tilgå interfacet:
- Åbn din browser og naviger til
http://localhost:5000
. - Log ind med de nødvendige oplysninger.
- Kalibrering: Applikationen starter med at kalibrere ppm-fejl baseret på GSM-signaler.
- Lytning: RTL_FM begynder at lytte på den specificerede frekvens.
- Dekodning: Multimon-ng dekoder signalerne baseret på indstillingerne.
- Telegram: Relevante beskeder sendes til den specificerede Telegram-bruger/-gruppe.
- Problem med USB-adgang: Tjek tilladelser for din USB-enhed med
lsusb
og opdater dine Docker-indstillinger. - Manglende Telegram-beskeder: Bekræft, at API-token og modtager-ID er korrekte i
config.txt
. - Flask-interface ikke tilgængeligt: Sørg for, at containeren kører, og at port 5000 ikke er i brug af andre applikationer.
Dette projekt er udgivet under MIT-licensen. Se LICENSE for detaljer.
- Forfatter: Joachim Thirsbro
- GitHub: joachimth
Pull requests er velkomne. For større ændringer, diskuter venligst først dine forslag via Issues.