Got GPSD Working on the Raspberry Pi

Took just a little digging to find the correct commands to get my Arduino + Adafruit GPS based “clock” to talk to gpsd on the Raspberry Pi (the Arduino is powered and connected to a USB port on the Raspberry Pi.)  First, I did

sudo apt-get install gpsd
sudo apt-get install gpsd-clients
sudo dpkg-reconfigure gpsd

(using /dev/ttyACM0) when prompted and then

cgps

for the display below

IMG_4538

Clock is running https://github.com/allendav/GPSClock code

Raspberry Pi + RTL-SDR Working

First, I used parts of this gist by floehopper to set up rtl-sdr utilities on the Raspberry Pi (already running Raspbian with a 8 GB flash card at its disposal):

pi@raspberrypi ~ $ sudo apt-get update
pi@raspberrypi ~ $ sudo apt-get upgrade
pi@raspberrypi ~ $ vi no-rtl.conf

blacklist dvb_usb_rtl28xxu
blacklist rtl2832
blacklist rtl2830

pi@raspberrypi ~ $ sudo mv no-rtl.conf /etc/modprobe.d/

pi@raspberrypi ~ $ sudo apt-get install git-core
pi@raspberrypi ~ $ sudo apt-get install git
pi@raspberrypi ~ $ sudo apt-get install cmake
pi@raspberrypi ~ $ sudo apt-get install libusb-1.0-0-dev
pi@raspberrypi ~ $ sudo apt-get install build-essential

pi@raspberrypi ~ $ git clone git://git.osmocom.org/rtl-sdr.git
pi@raspberrypi ~ $ cd rtl-sdr/
pi@raspberrypi ~/rtl-sdr $ mkdir build
pi@raspberrypi ~/rtl-sdr $ cd build
pi@raspberrypi ~/rtl-sdr/build $ cmake ../ -DINSTALL_UDEV_RULES=ON
pi@raspberrypi ~/rtl-sdr/build $ make
pi@raspberrypi ~/rtl-sdr/build $ sudo make install
pi@raspberrypi ~/rtl-sdr/build $ sudo ldconfig
pi@raspberrypi ~/rtl-sdr/build $ cd ~
pi@raspberrypi ~ $ sudo cp ./rtl-sdr/rtl-sdr.rules /etc/udev/rules.d/
pi@raspberrypi ~ $ sudo reboot

Then, I added sox (to get the play command):

pi@raspberrypi ~ $ sudo apt-get install sox libsox-fmt-all

I hooked up a speaker to the Raspberry Pi audio port and then tuned and listened to Puget Sound’s favorite packet frequency:

rtl_fm -f 144390000 -M fm -s 12k - | play -r 12k -t s16 -L -c 1 -

Worked nicely. Need to add squelch argument and combine this with the demodulator I’ve been working on.  Satellite tracking with automatic recording of space station packets is the ultimate goal.

That Happy Moment When

the demodulator you’ve been working on starts outputting meaningful data instead of gibberish (T7RPUR WIDE1 WIDE2 are valid packet radio strings).

Screen Shot 2015-08-24 at 8.45.48 AM

I’m writing the demodulator in C++ and it uses the Goertzel algorithm.  Need to continue to flesh out the framer, and hook up STDIN to accept sound from rtl_fm and my new SDR dongle.

The goal: automated reception of Space Station packet radio, powered by Raspberry Pi.