SlideShare a Scribd company logo
@bjschrijver#Devoxx #SDR
Decoding the air around you
with Java and $7 hardware
Bert	
  Jan	
  Schrijver
bertjan@jpoint.nl
@bjschrijver#Devoxx #SDR
Let’s meet
Bert Jan Schrijver
@bjschrijver#Devoxx #SDR
Outline
• Background
• Software Defined Radio
• ADS-B
• AIS
• Decoding ADS-B & AIS
• Demo
• Q&A
@bjschrijver#Devoxx #SDR
How it all started…
@bjschrijver#Devoxx #SDR
Software Defined Radio
• Radio communication system
• Components implemented in software
• Cheap DVB-T with RTL2832U chip ($7)
• Hence: RTL-SDR
• Details on www.rtl-sdr.com
@bjschrijver#Devoxx #SDR
Software Defined Radio
@bjschrijver#Devoxx #SDR
Demo
@bjschrijver#Devoxx #SDR
Amateur radio
@bjschrijver#Devoxx #SDR
Vessel to shore
@bjschrijver#Devoxx #SDR
POCSAG pager messages
@bjschrijver#Devoxx #SDR
FLEX pager messages
@bjschrijver#Devoxx #SDR
Demo
@bjschrijver#Devoxx #SDR
So how about Java?
@bjschrijver#Devoxx #SDR
RTL_TCP: Provides socket for RTL-SDR device
Java and RTL-SDR
@bjschrijver#Devoxx #SDR
Automatic Dependent Surveillance Broadcast
ADS-B
@bjschrijver#Devoxx #SDR
Java and ADS-B
• Java connects to RTL_TCP socket
• But now what?
• No open source Java decoders available
• No other option than to write own decoder…
…or is there?
@bjschrijver#Devoxx #SDR
(insert legal notice here)
@bjschrijver#Devoxx #SDR
How stuff works
@bjschrijver#Devoxx #SDR
Demo
@bjschrijver#Devoxx #SDR
MongoDB data structure
@bjschrijver#Devoxx #SDR
API data structure
@bjschrijver#Devoxx #SDR
Frontend
@bjschrijver#Devoxx #SDR
That’s cool, but…
• In-house reception is sub-optimal
• Always-on service would be nice
• Laptop needed for work now and then
@bjschrijver#Devoxx #SDR
Getting serious
@bjschrijver#Devoxx #SDR
That’s cool, but…
• Raw RTL_TCP stream is huge
• Problematic over wifi
• Would like to give AIS another try
• Want to throw out horrible decompiled code
@bjschrijver#Devoxx #SDR
Getting serious - v2.
@bjschrijver#Devoxx #SDR
Getting serious - v2.
@bjschrijver#Devoxx #SDR
Automatic Identification System
AIS
Source: hollandmarinehardware.nl
@bjschrijver#Devoxx #SDR
Decoding AIS
rtl_fm -g 9999 -f 161975000 -p 10 -s 48k -r 48k | aisdecoder -h 192.168.2.2 -p 1234 -a file -c mono -d -f /dev/stdin
@bjschrijver#Devoxx #SDR
Decoding AIS
rtl_fm -g 9999 -f 161975000 -p 10 -s 48k -r 48k | aisdecoder -h 192.168.2.2 -p 1234 -a file -c mono -d -f /dev/stdin
@bjschrijver#Devoxx #SDR
Getting serious - v3.
@bjschrijver#Devoxx #SDR
Demo
@bjschrijver#Devoxx #SDR
We love data
• Keep system running for a while
• Nicely stocked MongoDB
• Now what?
• Visualise it!
@bjschrijver#Devoxx #SDR
Antenna range: planes
@bjschrijver#Devoxx #SDR
Antenna range: ships
@bjschrijver#Devoxx #SDR
1 hour of data
@bjschrijver#Devoxx #SDR
2 hours
@bjschrijver#Devoxx #SDR
4 hours
@bjschrijver#Devoxx #SDR
8 hours
@bjschrijver#Devoxx #SDR
16 hours
@bjschrijver#Devoxx #SDR
24 hours
@bjschrijver#Devoxx #SDR
Summary
@bjschrijver#Devoxx #SDR
Summary
• Playing with Software Defined Radio can

be loads of fun!
• You can get started for just a few bucks
• Want details?


https://github.com/bertjan/sdr-java

• Live demo on http://sdr.revolution.nl
• More SDR info on http://www.rtl-sdr.com

@bjschrijver#Devoxx #SDR
Q&A
@bjschrijver#Devoxx #SDR
Thanks for your time!
Liked it?Tweet it!
Please care about
conference quality.

More Related Content

PDF
OpenValue meetup February 2019 - Decoding the air around you with Java and $7...
PDF
Devoxx UK 2015 - Decoding the air around you with java and $7 hardware
PDF
Decoding the airspace above you 
with Java and $7 hardware by Bert Jan Schrijver
PDF
GOTO Amsterdam 2016 - The DevOps Disaster
PDF
JavaZone 2016: Continuous performance
PDF
NextBuild 2015 - Swimming upstream in the container revolution
PDF
EuregJUG 2016-01-07 - Swimming upstream in the container revolution
PDF
Devoxx BE 2015 - Swimming upstream in the container revolution
OpenValue meetup February 2019 - Decoding the air around you with Java and $7...
Devoxx UK 2015 - Decoding the air around you with java and $7 hardware
Decoding the airspace above you 
with Java and $7 hardware by Bert Jan Schrijver
GOTO Amsterdam 2016 - The DevOps Disaster
JavaZone 2016: Continuous performance
NextBuild 2015 - Swimming upstream in the container revolution
EuregJUG 2016-01-07 - Swimming upstream in the container revolution
Devoxx BE 2015 - Swimming upstream in the container revolution

Viewers also liked (13)

PDF
JavaOne 2015 - Decoding the air around you with Java and $7 hardware
PDF
JavaLand 2016 - Decoding the air around you with Java and $7 hardware
PDF
MeetingPoint 2015 - Swimming upstream in the container revolution
PDF
Geecon Microservices 2015 - Swimming upstream in the container revolution
PDF
Devoxx UK 2016 - Building microservices with Vert.x
PDF
DevOps Utrecht - The DevOps Disaster
PDF
Codemotion Amsterdam 2016 - Building microservices with Vert.x
PDF
Java Forum Nord 2015 - Swimming upstream in the container revolution
PDF
Utrecht JUG - Building microservices with Vert.x
PDF
JavaOne 2016 - Pipeline as code
PDF
JavaZone 2016 - The DevOps disaster
PDF
JavaOne 2016 - The DevOps Disaster
PDF
Devoxx BE 2016 - How to build your own self-driving car
JavaOne 2015 - Decoding the air around you with Java and $7 hardware
JavaLand 2016 - Decoding the air around you with Java and $7 hardware
MeetingPoint 2015 - Swimming upstream in the container revolution
Geecon Microservices 2015 - Swimming upstream in the container revolution
Devoxx UK 2016 - Building microservices with Vert.x
DevOps Utrecht - The DevOps Disaster
Codemotion Amsterdam 2016 - Building microservices with Vert.x
Java Forum Nord 2015 - Swimming upstream in the container revolution
Utrecht JUG - Building microservices with Vert.x
JavaOne 2016 - Pipeline as code
JavaZone 2016 - The DevOps disaster
JavaOne 2016 - The DevOps Disaster
Devoxx BE 2016 - How to build your own self-driving car
Ad

Devoxx BE 2015 - Decoding the air around you with Java and $7 hardware