English Click this button for the international website

P2000 ontvangen op Raspberry Pi 2 met RTL-SDR

P2000 is het netwerk is opgezet om personeel van de hulpdiensten zoals brandweer, reddingsbrigade, ambulance, politie, Rode Kruis, KNRM te alarmeren. Op talloze websites kun je deze P2000-alarmeringen live meelezen, maar je kunt de berichten ook zelf ontvangen. Hieronder staat beschreven hoe ik dit gedaan heb op een Raspberry Pi 2 in combinatie met een RTL-SDR, oftewel een DVB-T USB-stick met de R820T-chipset.

P2000
Frequentie: 169,650 MHz
Snelheid 1600 bit/s (2FSK)
Protocol: Motorola FLEX

Ik heb het vanaf een desktop-PC met Linux Mint op een ‘headless’ Raspberry Pi geinstalleerd: een Raspberry zonder monitor, toetsenbord of muis. Op de Raspberry wordt alleen de netwerkkabel, de DVB-T-stick en de voeding aangesloten.

Raspberry Pi 2 met DVB-T RTL-SDR (R820T)
Raspberry Pi 2 met DVB-T RTL-SDR (R820T)

Getest met:
Raspberry Pi 2
2016-05-27-raspbian-jessie-lite
R820T DVB-T USB

P2000 ontvangen: Raspberry Pi

Allereerst moet je Raspbian downloaden en op een SD-kaartje zetten. Ik gebruik hiervoor de Lite-versie van Raspbian Jessie. Zet de image op een SD-kaarje (ik gebruikte een kaartje van 16GB maar kleiner kan ook) en steek het kaartje in de Raspberry, De USB-stick is nog niet aangesloten. Start de Raspberry en doorloop de gebruikelijke installatiestappen zoals hieronder beschreven.

Mijn Raspberry had na het booten via DHCP het ip-adres 192.168.20.46 gekregen, en vanaf de PC logde ik via SSL in met het de standaard gebruikersnaam (‘pi’) en wachtwoord (‘raspberry’):
ssh pi@192.168.20.46
Start de configuratie:
sudo raspi-config

P2000 decoderen: raspi-config
raspi-config

Kies optie “1: expand filesystem”.  Daarna rebooten en weer opnieuw inloggen. Dan zoals gebruikelijk de pakketlijsten updaten:
sudo apt-get update
Daarna kun je de vereiste pakketten downloaden (dit kan een paar minuten duren):
sudo apt-get -y install git cmake build-essential libusb-1.0 qt4-qmake libpulse-dev libx11-dev qt4-default
Vervolgens ondersteuning voor de RTL-SDR installeren.

P2000 ontvangen: RTL-SDR

Voer de volgende commando’s uit om de ondersteuning voor de USB-ontvanger te downloaden en te installeren:
mkdir -p ~/src/
cd ~/src/
git clone git://git.osmocom.org/rtl-sdr.git
cd rtl-sdr
mkdir build
cd build
cmake ../ -DINSTALL_UDEV_RULES=ON
make
sudo make install
sudo ldconfig

Sluit nu de DVB-T-stick aan op de Raspberry en test de installatie met het commando:
rtl_test
Waarschijnlijk sluit rtl_test af met een foutmelding:
usb_claim_interface error -6
Failed to open rtlsdr device #0

De standaard drivers van Raspbian zitten in de weg en moeten ge-‘blacklist’ worden.

Bewerk daarvoor het bestand /etc/modprobe.d/raspi-blacklist.conf (is waarschijnlijk nog leeg)
sudo nano /etc/modprobe.d/raspi-blacklist.conf
en voeg er deze 3 regels aan toe:
blacklist dvb_usb_rtl28xxu
blacklist rtl2832
blacklist rtl2830

Opslaan met CRTL+O (letter O), afsluiten met CTRL+X.

Dan rebooten en opnieuw inloggen:
sudo reboot
Controleer nu opnieuw of de DVB-T-Stick goed werkt met:
rtl_test

rtl_test
rtl_test

Als alles goed werkt sluit je rtl_test af met CTRL+C en kun je nu multimonNG installeren om de FLEX-datastroom van P2000 te decoderen.

P2000 FLEX decoderen: multimon-NG

Voer de volgende commando’s uit om de decoder ‘multimonNG’ te downloaden en te installeren:
cd ~/src/
git clone https://github.com/EliasOenal/multimonNG.git
cd multimonNG
mkdir build
cd build
qmake ../multimon-ng.pro
make
sudo make install

Uiteindelijk kun je dan het ontvangen en decoderen van de P2000-meldingen starten met:
rtl_fm -f 169.65M -M fm -s 22050 -p 83 -g 30 | multimon-ng -a FLEX -t raw /dev/stdin

P2000 decoderen: MultimonNG
MultimonNG

Waarbij:

  • -g staat voor de gain, een getal tussen 0-50; weglaten voor automatische gain
  • -p staat voor de specifieke ppm-afwijking van jouw RTL-SDR.

Je kunt aan het einde van die regel -v 1 (of -v 2/-v 3) toevoegen voor meer gedetailleerde output.

P2000 ontvangen en decoderen
P2000 ontvangen en decoderen

Deze blogpost is ook beschikbaar in het Engels.

7 Reacties

Voeg een reactie toe

Het e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *