SlideShare a Scribd company logo
Plane Spotting
Hacking The ADS-B Stream
Columbus Ohio
Columbus Apache Kafka Meetup
MODUG: Mid-Ohio Data User Group
October 15, 2019
Ted Coyle
Solution Architect
Navigator Management Partners, now Avaap
How to Get a Free Enterprise
FlightAware Account
1
Agenda
Tech Choices
Event Driven Alerts
Results
ADS-B Story
The Hack
Hacking the Stream
4 min
6 min
4 min
3 min
2 min
2
Overview
Automatic dependent surveillance—broadcast (ADS–B)
ADS What?
ADS–B is an element of the United States Next Generation
Air Transportation System (NextGen)
• Automatic: Twice per second transmissions no operator input required
• Dependent: Position and velocity vector are GPS derived.
• Surveillance: Real-time aircraft positions
• Broadcast: Open transmission, anyone can receive the signals
ADS-B Radio
Receivers (IoT)
GPS
1090 MHz
Broadcast
Ground stations relay
data to FAA
3
Physical Hardware
$30 $20 $0-$20
$1-$6
Pi 2 or 3 ADS-B 1090 Receiver
Hardware Costs should be under $70
ADS-B Receiver Hardware
4
Hardware and Software
Hardware Setup
Total Setup Typically Under
$60-$70
Software is Free
Dump1090-fa
Choose either PiAware Image or Handspun Dump1090
All Inclusive PiAware Image
5
User StoryWe want to know if my dog
really does sense me flying
over the house.
Birch is here
I’m about a mile away
going 340 mph at 8k ft.
6
User StoryWe want to know if my dog
really does sense me flying
over the house.
Birch is here
I would like to use my
FlightWare 1090dump-fa
stream to alert when my
plane is overhead.
7
Story Points
Google Earth
8000 ft View
Constant:
Approx. 40-80 minutes travel
post fly-by depending on
landing delays, traffic, etc.
Repeated Behavior:
Birch waiting by door after
plane flew over (9:21 am).
Variable:
Almost always on
different flights so no way
Birch can correlate by
Time of Day arrival.
8
Tech Choices
• Already have PiAware Running
• Two stream types – 1090dump
• Port 30005 - Binary Beast Format
• Port 30003 CSV
• Don’t want to break existing PiAware Setup
• Don’t want audible or other annoying alert
• Have access to every cloud… GCP, AWS, OCI, Azure
• Have a bunch of friends in tech…
• This is a Kafka/data meetup…
• Really want to dive into the Tick Stack
Considerations
9
Tech Choices
• What Cloud-Native Services Could I use?
• Tick Stack… knew parts, but not other parts.
• New PC… Setup issues, accounts, config
• Could I get Telagraf working to Confluent Cloud?
• Could I get a new test PiAware going?
Considerations – Things I didn’t know
10
Tech Choices
Easy Path – The ASCII Text Stream
5 Seconds of Dump1090-fa port 30003 output
11
Tech Choices
Easy Path – The Stream Elements
5 Seconds of Dump1090-fa port 30003 output
12
Tech Choices
Easy Path – The Stream Elements
• I only really care about the call sign.
• If it appears, it means my plane is
within 50 miles of my house.
• Fire alert if my plane’s call sign is
picked up by my local receiver.
13
Tech Thoughts
FlightAware Range and Volume
Poor Antenna Placement
14
Tech Thoughts
As the Crow Flies
Typical Flight Paths
15
Tech Thoughts
As the Crow Flies
16
Tech Choices
Keep It Simple – Initial Thoughts
Port 30003
CSV
Python
Scripts
Ingest
Pipeline
Data Flow and Time
Series
Alert
17
Tech Parts
TimeSeries – The Tick Stack
Open Source
plugin-based
data collector
World Class
Open Source
Time Series
Database
Alerting
18
Tech Parts
TimeSeries – Dashboards
19
Tech Choices
What is the schema?
Which tool for ingest?
How to alert?
Considerations
20
Tech Reality
Considerations - Slightly Less Simple
Port 30003
CSV
Python
Scripts
Ingest
Pipeline
Data Flow and Time
Series
Python
Telegraph
21
Tech Choices
DuckDuckGo to the Rescue
Search revealed two already built
ingest methods…
1. Direct
2. Telegraf
https://duckduckgo.com/?q=adsb+influx&t=hk&ia=software
22
Tech Choices
Considerations
https://github.com/mikenye
23
Tech Choices
Considerations – Ingest
Python
Scripts
Schema Parsing
Code
Python
Telegraf
So that
settles it, I’ll
use Python
and Telegraf
to insert into
InfluxDB.
24
Tech Choices
Considerations – Stream Ingest
Python
Scripts
Ingest Tool
25
Tech Choices
Telegraf Config File
TAML File
Ingest Tool
TAML is an acronym of Torque Application Mark-
up Language. It decribes a method of persisting
type instances in various output formats. TAML is
designed to be extremely easy to use and
provides a nice consistent method of persisting
information.
26
Tech Choices
Considerations – File Based Ingest
Python
Scripts
Options…Batch versus Stream
Lots of ways to do this
JSON Files
27
Time Series... Running out of Time
• Fix Dump Stream…Linksys Router Bug.
• Get Influx Running..
• Docker Annoyances
• Alter Alert Script
• Can Telegraf Be the Alerter?
• Where to Stream?
• Cloud?
Demo Compromise
28
Time Series... Running out of Time
• Fix Dump Stream…Linksys Router Bug.
• Get Influx Running..
• Docker Annoyances
• Alter Alert Script
• Can Telegraf Be the Alerter?
• Where to Stream?
• Cloud?
Demo Compromise
• No… Use Kapacitor
Influx,Kafka on AWS
Grafana Cloud
29
ADS-B Easy Ingest
docker run ^
-d ^
--name=piaware2influx ^
--restart=unless-stopped ^
-e INFLUXDB_URL="http://ec2-54-89-244-105.compute-1.amazonaws.com:8086" ^
-e DUMP1090_HOST="skyminate.com" ^
-e TZ="America/New_York" ^
mikenye/piaware-to-influx
Docker-PiAware-to-Influx In Action
30
ADS-B Ingest
docker run ^
-d ^
--name=piaware2influx ^
--restart=unless-stopped ^
-e INFLUXDB_URL="http://ec2-54-89-244-105.compute-
1.amazonaws.com:8086" ^
-e DUMP1090_HOST="skyminate.com" ^
-e TZ="America/New_York" ^
mikenye/piaware-to-influx
Docker Image - Out of the Box Easy
31
ADS-B Ingest
docker run ^
-d ^
--name=piaware2influx ^
--restart=unless-stopped ^
-e INFLUXDB_URL="http://ec2-54-89-244-105.compute-
1.amazonaws.com:8086" ^
-e DUMP1090_HOST="skyminate.com" ^
-e TZ="America/New_York" ^
mikenye/piaware-to-influx
Docker Image - Out of the Box Easy
32
ADS-B Ingest
Home Router – Port Forwarding
http://skyminate.com/
33
ADS-B Ingest
Influx Database – PiAware Schema
name: piaware
fieldKey fieldType
-------- ---------
current_altitude float
current_groundspeed float
current_latitude float
current_longitude float
current_track float
current_verticalrate float
> show tag keys
name: piaware
tagKey
------
callsign
hexident
squawk
>
Indexed
Not
Indexed
34
Lessons Learned
• Nothing’s Easy, except when it is.
• Spent a lot of time looking at the data
• Could have spent more time on Ops
• New Laptop slowed pace
• Automation is key to everything
• Except when debugging
35
Lessons Learned
• The Tick Stack
• Grass-roots command line
• Debugging is not straight forward
• Stick to the happy path
• Same OS, Base Tests, etc.
• I’m not good with TimeSeries Queries yet
36
Lessons Learned
• Free Cloud Tiers
• Maybe Rethink that…
• It’s free for a reason.
• Very easy to mess Grafana up and get stuck or lose
work.
37
Lessons Learned
I did not get alerts
working....yet….
Example of not
following the happy
path ---------
38
Lessons Learned
Kapacitor Streaming
Alerts.
Example of not
following the happy
path ---------
39
Lessons Learned
Grafana and Influx Are Meant for Each Other
40
Lessons Learned
Debugging in Chronograf Looks Promising
41
Hacked Architecture
Demo Hack Physical Architecture
This is where it all landed…
Yum installed InfluxDB running on t2.large instance
InfluxDB
Grafana Cloud
Influx tools also installed locally to execute influx
queries from command line
PiAware
Skyminate.com
Time Spent… approx. 6 hours
42
Onward
• Github https://github.com/EscVector/ads-b
• Terraform/Ansible Instance Spinup
• Extract/merge good parts from existing projects
• K8s for Kafka/Confluent/Influx
• Telegraf ADS-B Input Plugin
• Blog - ADS-B Deep Dive
• Decoding Mode-S and ADS-B
• FlightAware ProStick
• FlightAware Building a PiAware Receiver
• Influx and ADS-B
• Influx Telegraph to Kafka and InfluxDB
• Influx Industry 4.0 Overview
• PlanePlotter for Windows (25 Days Free)
• 1090 MHz Antenna Building – Video Example
• Kafka ADS-B
• LiveATC – Air Traffic Control
43
Appendix A
Resources
• Telegraf Kafka Plugin
• https://github.com/slintak/adsb2influx
• Wikipedia ADS-B
• Next Generation Air Transportation System
• https://github.com/just-containers/s6-overlay
• https://www.influxdata.com/blog/tldr-influxdb-tech-tips-august-4-
2016/
• https://docs.influxdata.com/influxdb/v1.7/concepts/key_concepts
/#field-key
44
Appendix B
Resources
45
Appendix C
Coax Linear Antenna
46
Appendix D
Telegraf Setup – Confluent Cloud not Working
Docker cp telegraf.conf /etc/telegraf/telegraf.conf
[[outputs.influxdb]]
urls = ["http://ec2-54-89-244-105.compute-1.amazonaws.com:8086"]
database = "piaware"
skip_database_creation = false
timeout = "5s"
# Influx HTTP write listener
[[inputs.http_listener]]
service_address = ":8186"
read_timeout = "10s"
write_timeout = "10s"
#[outputs.kafka]
# URLs of kafka brokers
# brokers = ["pkc-438qm.us-east-1.aws.confluent.cloud:9092"] # EDIT THIS LINE
# Kafka topic for producer messages
# topic = "piaware"
# #ssl_endpoint_identification_algorithm = "https"
# sasl_mechanism = "PLAIN"
# request_timeout_ms = 20000
# # bootstrap.servers=pkc-438qm.us-east-1.aws.confluent.cloud:9092
# retry_backoff_ms = 500
# sasl_jaas_config = "org.apache.kafka.common.security.plain.PlainLoginModule required username="key" password="keypass";"
# security_protocol = "SASL_SSL"
47
Appendix - Tech Thoughts
FlightAware versus ADSB-Exchange
Contributing to ADS-B Exchange would be cool,
but maybe next week...

More Related Content

What's hot

Return oriented programming
Return oriented programmingReturn oriented programming
Return oriented programming
hybr1s
 
eBPF Powered Distributed Kubernetes Performance Analysis - Lorenzo Fontana, I...
eBPF Powered Distributed Kubernetes Performance Analysis - Lorenzo Fontana, I...eBPF Powered Distributed Kubernetes Performance Analysis - Lorenzo Fontana, I...
eBPF Powered Distributed Kubernetes Performance Analysis - Lorenzo Fontana, I...
InfluxData
 
Debugging node in prod
Debugging node in prodDebugging node in prod
Debugging node in prod
Yunong Xiao
 
DISTRIBUTED PERFORMANCE ANALYSIS USING INFLUXDB AND THE LINUX EBPF VIRTUAL MA...
DISTRIBUTED PERFORMANCE ANALYSIS USING INFLUXDB AND THE LINUX EBPF VIRTUAL MA...DISTRIBUTED PERFORMANCE ANALYSIS USING INFLUXDB AND THE LINUX EBPF VIRTUAL MA...
DISTRIBUTED PERFORMANCE ANALYSIS USING INFLUXDB AND THE LINUX EBPF VIRTUAL MA...
InfluxData
 
Terraform modules and some of best-practices - March 2019
Terraform modules and some of best-practices - March 2019Terraform modules and some of best-practices - March 2019
Terraform modules and some of best-practices - March 2019
Anton Babenko
 
Overview of FreeBSD PMC Tools
Overview of FreeBSD PMC ToolsOverview of FreeBSD PMC Tools
Overview of FreeBSD PMC Tools
ACMBangalore
 
Python Basis Tutorial
Python Basis TutorialPython Basis Tutorial
Python Basis Tutorial
md sathees
 
LLVM-based Communication Optimizations for PGAS Programs
LLVM-based Communication Optimizations for PGAS ProgramsLLVM-based Communication Optimizations for PGAS Programs
LLVM-based Communication Optimizations for PGAS Programs
Akihiro Hayashi
 
CAPI and OpenCAPI Hardware acceleration enablement
CAPI and OpenCAPI Hardware acceleration enablementCAPI and OpenCAPI Hardware acceleration enablement
CAPI and OpenCAPI Hardware acceleration enablement
Ganesan Narayanasamy
 
LLVM Optimizations for PGAS Programs -Case Study: LLVM Wide Optimization in C...
LLVM Optimizations for PGAS Programs -Case Study: LLVM Wide Optimization in C...LLVM Optimizations for PGAS Programs -Case Study: LLVM Wide Optimization in C...
LLVM Optimizations for PGAS Programs -Case Study: LLVM Wide Optimization in C...
Akihiro Hayashi
 
OSTU - hrPING QuickStart Part 1 (by Tony Fortunato & Peter Ciuffreda)
OSTU - hrPING QuickStart Part 1 (by Tony Fortunato & Peter Ciuffreda)OSTU - hrPING QuickStart Part 1 (by Tony Fortunato & Peter Ciuffreda)
OSTU - hrPING QuickStart Part 1 (by Tony Fortunato & Peter Ciuffreda)
Denny K
 
Linux Profiling at Netflix
Linux Profiling at NetflixLinux Profiling at Netflix
Linux Profiling at Netflix
Brendan Gregg
 
Terraform AWS modules and some best-practices - May 2019
Terraform AWS modules and some best-practices - May 2019Terraform AWS modules and some best-practices - May 2019
Terraform AWS modules and some best-practices - May 2019
Anton Babenko
 
D. Fast, Simple User-Space Network Functions with Snabb (RIPE 77)
D. Fast, Simple User-Space Network Functions with Snabb (RIPE 77)D. Fast, Simple User-Space Network Functions with Snabb (RIPE 77)
D. Fast, Simple User-Space Network Functions with Snabb (RIPE 77)
Igalia
 
Netflix SRE perf meetup_slides
Netflix SRE perf meetup_slidesNetflix SRE perf meetup_slides
Netflix SRE perf meetup_slides
Ed Hunter
 
Modern Linux Tracing Landscape
Modern Linux Tracing LandscapeModern Linux Tracing Landscape
Modern Linux Tracing Landscape
Sasha Goldshtein
 
Netflix: From Clouds to Roots
Netflix: From Clouds to RootsNetflix: From Clouds to Roots
Netflix: From Clouds to Roots
Brendan Gregg
 
Monitorama 2015 Netflix Instance Analysis
Monitorama 2015 Netflix Instance AnalysisMonitorama 2015 Netflix Instance Analysis
Monitorama 2015 Netflix Instance Analysis
Brendan Gregg
 
BPF - All your packets belong to me
BPF - All your packets belong to meBPF - All your packets belong to me
BPF - All your packets belong to me
_xhr_
 
GTC16 - S6510 - Targeting GPUs with OpenMP 4.5
GTC16 - S6510 - Targeting GPUs with OpenMP 4.5GTC16 - S6510 - Targeting GPUs with OpenMP 4.5
GTC16 - S6510 - Targeting GPUs with OpenMP 4.5
Jeff Larkin
 

What's hot (20)

Return oriented programming
Return oriented programmingReturn oriented programming
Return oriented programming
 
eBPF Powered Distributed Kubernetes Performance Analysis - Lorenzo Fontana, I...
eBPF Powered Distributed Kubernetes Performance Analysis - Lorenzo Fontana, I...eBPF Powered Distributed Kubernetes Performance Analysis - Lorenzo Fontana, I...
eBPF Powered Distributed Kubernetes Performance Analysis - Lorenzo Fontana, I...
 
Debugging node in prod
Debugging node in prodDebugging node in prod
Debugging node in prod
 
DISTRIBUTED PERFORMANCE ANALYSIS USING INFLUXDB AND THE LINUX EBPF VIRTUAL MA...
DISTRIBUTED PERFORMANCE ANALYSIS USING INFLUXDB AND THE LINUX EBPF VIRTUAL MA...DISTRIBUTED PERFORMANCE ANALYSIS USING INFLUXDB AND THE LINUX EBPF VIRTUAL MA...
DISTRIBUTED PERFORMANCE ANALYSIS USING INFLUXDB AND THE LINUX EBPF VIRTUAL MA...
 
Terraform modules and some of best-practices - March 2019
Terraform modules and some of best-practices - March 2019Terraform modules and some of best-practices - March 2019
Terraform modules and some of best-practices - March 2019
 
Overview of FreeBSD PMC Tools
Overview of FreeBSD PMC ToolsOverview of FreeBSD PMC Tools
Overview of FreeBSD PMC Tools
 
Python Basis Tutorial
Python Basis TutorialPython Basis Tutorial
Python Basis Tutorial
 
LLVM-based Communication Optimizations for PGAS Programs
LLVM-based Communication Optimizations for PGAS ProgramsLLVM-based Communication Optimizations for PGAS Programs
LLVM-based Communication Optimizations for PGAS Programs
 
CAPI and OpenCAPI Hardware acceleration enablement
CAPI and OpenCAPI Hardware acceleration enablementCAPI and OpenCAPI Hardware acceleration enablement
CAPI and OpenCAPI Hardware acceleration enablement
 
LLVM Optimizations for PGAS Programs -Case Study: LLVM Wide Optimization in C...
LLVM Optimizations for PGAS Programs -Case Study: LLVM Wide Optimization in C...LLVM Optimizations for PGAS Programs -Case Study: LLVM Wide Optimization in C...
LLVM Optimizations for PGAS Programs -Case Study: LLVM Wide Optimization in C...
 
OSTU - hrPING QuickStart Part 1 (by Tony Fortunato & Peter Ciuffreda)
OSTU - hrPING QuickStart Part 1 (by Tony Fortunato & Peter Ciuffreda)OSTU - hrPING QuickStart Part 1 (by Tony Fortunato & Peter Ciuffreda)
OSTU - hrPING QuickStart Part 1 (by Tony Fortunato & Peter Ciuffreda)
 
Linux Profiling at Netflix
Linux Profiling at NetflixLinux Profiling at Netflix
Linux Profiling at Netflix
 
Terraform AWS modules and some best-practices - May 2019
Terraform AWS modules and some best-practices - May 2019Terraform AWS modules and some best-practices - May 2019
Terraform AWS modules and some best-practices - May 2019
 
D. Fast, Simple User-Space Network Functions with Snabb (RIPE 77)
D. Fast, Simple User-Space Network Functions with Snabb (RIPE 77)D. Fast, Simple User-Space Network Functions with Snabb (RIPE 77)
D. Fast, Simple User-Space Network Functions with Snabb (RIPE 77)
 
Netflix SRE perf meetup_slides
Netflix SRE perf meetup_slidesNetflix SRE perf meetup_slides
Netflix SRE perf meetup_slides
 
Modern Linux Tracing Landscape
Modern Linux Tracing LandscapeModern Linux Tracing Landscape
Modern Linux Tracing Landscape
 
Netflix: From Clouds to Roots
Netflix: From Clouds to RootsNetflix: From Clouds to Roots
Netflix: From Clouds to Roots
 
Monitorama 2015 Netflix Instance Analysis
Monitorama 2015 Netflix Instance AnalysisMonitorama 2015 Netflix Instance Analysis
Monitorama 2015 Netflix Instance Analysis
 
BPF - All your packets belong to me
BPF - All your packets belong to meBPF - All your packets belong to me
BPF - All your packets belong to me
 
GTC16 - S6510 - Targeting GPUs with OpenMP 4.5
GTC16 - S6510 - Targeting GPUs with OpenMP 4.5GTC16 - S6510 - Targeting GPUs with OpenMP 4.5
GTC16 - S6510 - Targeting GPUs with OpenMP 4.5
 

Similar to Plane Spotting

Kubecon seattle 2018 workshop slides
Kubecon seattle 2018 workshop slidesKubecon seattle 2018 workshop slides
Kubecon seattle 2018 workshop slides
Weaveworks
 
Hands on with CoAP and Californium
Hands on with CoAP and CaliforniumHands on with CoAP and Californium
Hands on with CoAP and Californium
Julien Vermillard
 
Serving Deep Learning Models At Scale With RedisAI: Luca Antiga
Serving Deep Learning Models At Scale With RedisAI: Luca AntigaServing Deep Learning Models At Scale With RedisAI: Luca Antiga
Serving Deep Learning Models At Scale With RedisAI: Luca Antiga
Redis Labs
 
SDAccel Design Contest: Vivado HLS
SDAccel Design Contest: Vivado HLSSDAccel Design Contest: Vivado HLS
SDAccel Design Contest: Vivado HLS
NECST Lab @ Politecnico di Milano
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
Ridwan Fadjar
 
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDN
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDNTech Tutorial by Vikram Dham: Let's build MPLS router using SDN
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDN
nvirters
 
Preparing to program Aurora at Exascale - Early experiences and future direct...
Preparing to program Aurora at Exascale - Early experiences and future direct...Preparing to program Aurora at Exascale - Early experiences and future direct...
Preparing to program Aurora at Exascale - Early experiences and future direct...
inside-BigData.com
 
K. Tzoumas & S. Ewen – Flink Forward Keynote
K. Tzoumas & S. Ewen – Flink Forward KeynoteK. Tzoumas & S. Ewen – Flink Forward Keynote
K. Tzoumas & S. Ewen – Flink Forward Keynote
Flink Forward
 
Apache Flink(tm) - A Next-Generation Stream Processor
Apache Flink(tm) - A Next-Generation Stream ProcessorApache Flink(tm) - A Next-Generation Stream Processor
Apache Flink(tm) - A Next-Generation Stream Processor
Aljoscha Krettek
 
Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...
Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...
Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...
Patrick Chanezon
 
FD.io - The Universal Dataplane
FD.io - The Universal DataplaneFD.io - The Universal Dataplane
FD.io - The Universal Dataplane
Open Networking Summit
 
Linux Perf Tools
Linux Perf ToolsLinux Perf Tools
Linux Perf Tools
Raj Pandey
 
Linux Performance Analysis: New Tools and Old Secrets
Linux Performance Analysis: New Tools and Old SecretsLinux Performance Analysis: New Tools and Old Secrets
Linux Performance Analysis: New Tools and Old Secrets
Brendan Gregg
 
The advantages of Arista/OVH configurations, and the technologies behind buil...
The advantages of Arista/OVH configurations, and the technologies behind buil...The advantages of Arista/OVH configurations, and the technologies behind buil...
The advantages of Arista/OVH configurations, and the technologies behind buil...
OVHcloud
 
Innovation is back in the transport and network layers
Innovation is back in the transport and network layersInnovation is back in the transport and network layers
Innovation is back in the transport and network layers
Olivier Bonaventure
 
Traitement temps réel chez Streamroot - Golang Paris Juin 2016
Traitement temps réel chez Streamroot - Golang Paris Juin 2016Traitement temps réel chez Streamroot - Golang Paris Juin 2016
Traitement temps réel chez Streamroot - Golang Paris Juin 2016
Simon Caplette
 
OSCON: System software goes weird
OSCON: System software goes weirdOSCON: System software goes weird
OSCON: System software goes weird
Docker, Inc.
 
How we scale DroneCi on demand
How we scale DroneCi on demandHow we scale DroneCi on demand
How we scale DroneCi on demand
Patrick Jahns
 
LACNOG - Logging in the Post-IPv4 World
LACNOG - Logging in the Post-IPv4 WorldLACNOG - Logging in the Post-IPv4 World
LACNOG - Logging in the Post-IPv4 World
Carlos Martinez Cagnazzo
 
Exploring the Programming Models for the LUMI Supercomputer
Exploring the Programming Models for the LUMI Supercomputer Exploring the Programming Models for the LUMI Supercomputer
Exploring the Programming Models for the LUMI Supercomputer
George Markomanolis
 

Similar to Plane Spotting (20)

Kubecon seattle 2018 workshop slides
Kubecon seattle 2018 workshop slidesKubecon seattle 2018 workshop slides
Kubecon seattle 2018 workshop slides
 
Hands on with CoAP and Californium
Hands on with CoAP and CaliforniumHands on with CoAP and Californium
Hands on with CoAP and Californium
 
Serving Deep Learning Models At Scale With RedisAI: Luca Antiga
Serving Deep Learning Models At Scale With RedisAI: Luca AntigaServing Deep Learning Models At Scale With RedisAI: Luca Antiga
Serving Deep Learning Models At Scale With RedisAI: Luca Antiga
 
SDAccel Design Contest: Vivado HLS
SDAccel Design Contest: Vivado HLSSDAccel Design Contest: Vivado HLS
SDAccel Design Contest: Vivado HLS
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDN
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDNTech Tutorial by Vikram Dham: Let's build MPLS router using SDN
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDN
 
Preparing to program Aurora at Exascale - Early experiences and future direct...
Preparing to program Aurora at Exascale - Early experiences and future direct...Preparing to program Aurora at Exascale - Early experiences and future direct...
Preparing to program Aurora at Exascale - Early experiences and future direct...
 
K. Tzoumas & S. Ewen – Flink Forward Keynote
K. Tzoumas & S. Ewen – Flink Forward KeynoteK. Tzoumas & S. Ewen – Flink Forward Keynote
K. Tzoumas & S. Ewen – Flink Forward Keynote
 
Apache Flink(tm) - A Next-Generation Stream Processor
Apache Flink(tm) - A Next-Generation Stream ProcessorApache Flink(tm) - A Next-Generation Stream Processor
Apache Flink(tm) - A Next-Generation Stream Processor
 
Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...
Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...
Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...
 
FD.io - The Universal Dataplane
FD.io - The Universal DataplaneFD.io - The Universal Dataplane
FD.io - The Universal Dataplane
 
Linux Perf Tools
Linux Perf ToolsLinux Perf Tools
Linux Perf Tools
 
Linux Performance Analysis: New Tools and Old Secrets
Linux Performance Analysis: New Tools and Old SecretsLinux Performance Analysis: New Tools and Old Secrets
Linux Performance Analysis: New Tools and Old Secrets
 
The advantages of Arista/OVH configurations, and the technologies behind buil...
The advantages of Arista/OVH configurations, and the technologies behind buil...The advantages of Arista/OVH configurations, and the technologies behind buil...
The advantages of Arista/OVH configurations, and the technologies behind buil...
 
Innovation is back in the transport and network layers
Innovation is back in the transport and network layersInnovation is back in the transport and network layers
Innovation is back in the transport and network layers
 
Traitement temps réel chez Streamroot - Golang Paris Juin 2016
Traitement temps réel chez Streamroot - Golang Paris Juin 2016Traitement temps réel chez Streamroot - Golang Paris Juin 2016
Traitement temps réel chez Streamroot - Golang Paris Juin 2016
 
OSCON: System software goes weird
OSCON: System software goes weirdOSCON: System software goes weird
OSCON: System software goes weird
 
How we scale DroneCi on demand
How we scale DroneCi on demandHow we scale DroneCi on demand
How we scale DroneCi on demand
 
LACNOG - Logging in the Post-IPv4 World
LACNOG - Logging in the Post-IPv4 WorldLACNOG - Logging in the Post-IPv4 World
LACNOG - Logging in the Post-IPv4 World
 
Exploring the Programming Models for the LUMI Supercomputer
Exploring the Programming Models for the LUMI Supercomputer Exploring the Programming Models for the LUMI Supercomputer
Exploring the Programming Models for the LUMI Supercomputer
 

Recently uploaded

FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 

Plane Spotting

  • 1. Plane Spotting Hacking The ADS-B Stream Columbus Ohio Columbus Apache Kafka Meetup MODUG: Mid-Ohio Data User Group October 15, 2019 Ted Coyle Solution Architect Navigator Management Partners, now Avaap How to Get a Free Enterprise FlightAware Account
  • 2. 1 Agenda Tech Choices Event Driven Alerts Results ADS-B Story The Hack Hacking the Stream 4 min 6 min 4 min 3 min 2 min
  • 3. 2 Overview Automatic dependent surveillance—broadcast (ADS–B) ADS What? ADS–B is an element of the United States Next Generation Air Transportation System (NextGen) • Automatic: Twice per second transmissions no operator input required • Dependent: Position and velocity vector are GPS derived. • Surveillance: Real-time aircraft positions • Broadcast: Open transmission, anyone can receive the signals ADS-B Radio Receivers (IoT) GPS 1090 MHz Broadcast Ground stations relay data to FAA
  • 4. 3 Physical Hardware $30 $20 $0-$20 $1-$6 Pi 2 or 3 ADS-B 1090 Receiver Hardware Costs should be under $70 ADS-B Receiver Hardware
  • 5. 4 Hardware and Software Hardware Setup Total Setup Typically Under $60-$70 Software is Free Dump1090-fa Choose either PiAware Image or Handspun Dump1090 All Inclusive PiAware Image
  • 6. 5 User StoryWe want to know if my dog really does sense me flying over the house. Birch is here I’m about a mile away going 340 mph at 8k ft.
  • 7. 6 User StoryWe want to know if my dog really does sense me flying over the house. Birch is here I would like to use my FlightWare 1090dump-fa stream to alert when my plane is overhead.
  • 8. 7 Story Points Google Earth 8000 ft View Constant: Approx. 40-80 minutes travel post fly-by depending on landing delays, traffic, etc. Repeated Behavior: Birch waiting by door after plane flew over (9:21 am). Variable: Almost always on different flights so no way Birch can correlate by Time of Day arrival.
  • 9. 8 Tech Choices • Already have PiAware Running • Two stream types – 1090dump • Port 30005 - Binary Beast Format • Port 30003 CSV • Don’t want to break existing PiAware Setup • Don’t want audible or other annoying alert • Have access to every cloud… GCP, AWS, OCI, Azure • Have a bunch of friends in tech… • This is a Kafka/data meetup… • Really want to dive into the Tick Stack Considerations
  • 10. 9 Tech Choices • What Cloud-Native Services Could I use? • Tick Stack… knew parts, but not other parts. • New PC… Setup issues, accounts, config • Could I get Telagraf working to Confluent Cloud? • Could I get a new test PiAware going? Considerations – Things I didn’t know
  • 11. 10 Tech Choices Easy Path – The ASCII Text Stream 5 Seconds of Dump1090-fa port 30003 output
  • 12. 11 Tech Choices Easy Path – The Stream Elements 5 Seconds of Dump1090-fa port 30003 output
  • 13. 12 Tech Choices Easy Path – The Stream Elements • I only really care about the call sign. • If it appears, it means my plane is within 50 miles of my house. • Fire alert if my plane’s call sign is picked up by my local receiver.
  • 14. 13 Tech Thoughts FlightAware Range and Volume Poor Antenna Placement
  • 15. 14 Tech Thoughts As the Crow Flies Typical Flight Paths
  • 17. 16 Tech Choices Keep It Simple – Initial Thoughts Port 30003 CSV Python Scripts Ingest Pipeline Data Flow and Time Series Alert
  • 18. 17 Tech Parts TimeSeries – The Tick Stack Open Source plugin-based data collector World Class Open Source Time Series Database Alerting
  • 20. 19 Tech Choices What is the schema? Which tool for ingest? How to alert? Considerations
  • 21. 20 Tech Reality Considerations - Slightly Less Simple Port 30003 CSV Python Scripts Ingest Pipeline Data Flow and Time Series Python Telegraph
  • 22. 21 Tech Choices DuckDuckGo to the Rescue Search revealed two already built ingest methods… 1. Direct 2. Telegraf https://duckduckgo.com/?q=adsb+influx&t=hk&ia=software
  • 24. 23 Tech Choices Considerations – Ingest Python Scripts Schema Parsing Code Python Telegraf So that settles it, I’ll use Python and Telegraf to insert into InfluxDB.
  • 25. 24 Tech Choices Considerations – Stream Ingest Python Scripts Ingest Tool
  • 26. 25 Tech Choices Telegraf Config File TAML File Ingest Tool TAML is an acronym of Torque Application Mark- up Language. It decribes a method of persisting type instances in various output formats. TAML is designed to be extremely easy to use and provides a nice consistent method of persisting information.
  • 27. 26 Tech Choices Considerations – File Based Ingest Python Scripts Options…Batch versus Stream Lots of ways to do this JSON Files
  • 28. 27 Time Series... Running out of Time • Fix Dump Stream…Linksys Router Bug. • Get Influx Running.. • Docker Annoyances • Alter Alert Script • Can Telegraf Be the Alerter? • Where to Stream? • Cloud? Demo Compromise
  • 29. 28 Time Series... Running out of Time • Fix Dump Stream…Linksys Router Bug. • Get Influx Running.. • Docker Annoyances • Alter Alert Script • Can Telegraf Be the Alerter? • Where to Stream? • Cloud? Demo Compromise • No… Use Kapacitor Influx,Kafka on AWS Grafana Cloud
  • 30. 29 ADS-B Easy Ingest docker run ^ -d ^ --name=piaware2influx ^ --restart=unless-stopped ^ -e INFLUXDB_URL="http://ec2-54-89-244-105.compute-1.amazonaws.com:8086" ^ -e DUMP1090_HOST="skyminate.com" ^ -e TZ="America/New_York" ^ mikenye/piaware-to-influx Docker-PiAware-to-Influx In Action
  • 31. 30 ADS-B Ingest docker run ^ -d ^ --name=piaware2influx ^ --restart=unless-stopped ^ -e INFLUXDB_URL="http://ec2-54-89-244-105.compute- 1.amazonaws.com:8086" ^ -e DUMP1090_HOST="skyminate.com" ^ -e TZ="America/New_York" ^ mikenye/piaware-to-influx Docker Image - Out of the Box Easy
  • 32. 31 ADS-B Ingest docker run ^ -d ^ --name=piaware2influx ^ --restart=unless-stopped ^ -e INFLUXDB_URL="http://ec2-54-89-244-105.compute- 1.amazonaws.com:8086" ^ -e DUMP1090_HOST="skyminate.com" ^ -e TZ="America/New_York" ^ mikenye/piaware-to-influx Docker Image - Out of the Box Easy
  • 33. 32 ADS-B Ingest Home Router – Port Forwarding http://skyminate.com/
  • 34. 33 ADS-B Ingest Influx Database – PiAware Schema name: piaware fieldKey fieldType -------- --------- current_altitude float current_groundspeed float current_latitude float current_longitude float current_track float current_verticalrate float > show tag keys name: piaware tagKey ------ callsign hexident squawk > Indexed Not Indexed
  • 35. 34 Lessons Learned • Nothing’s Easy, except when it is. • Spent a lot of time looking at the data • Could have spent more time on Ops • New Laptop slowed pace • Automation is key to everything • Except when debugging
  • 36. 35 Lessons Learned • The Tick Stack • Grass-roots command line • Debugging is not straight forward • Stick to the happy path • Same OS, Base Tests, etc. • I’m not good with TimeSeries Queries yet
  • 37. 36 Lessons Learned • Free Cloud Tiers • Maybe Rethink that… • It’s free for a reason. • Very easy to mess Grafana up and get stuck or lose work.
  • 38. 37 Lessons Learned I did not get alerts working....yet…. Example of not following the happy path ---------
  • 39. 38 Lessons Learned Kapacitor Streaming Alerts. Example of not following the happy path ---------
  • 40. 39 Lessons Learned Grafana and Influx Are Meant for Each Other
  • 41. 40 Lessons Learned Debugging in Chronograf Looks Promising
  • 42. 41 Hacked Architecture Demo Hack Physical Architecture This is where it all landed… Yum installed InfluxDB running on t2.large instance InfluxDB Grafana Cloud Influx tools also installed locally to execute influx queries from command line PiAware Skyminate.com Time Spent… approx. 6 hours
  • 43. 42 Onward • Github https://github.com/EscVector/ads-b • Terraform/Ansible Instance Spinup • Extract/merge good parts from existing projects • K8s for Kafka/Confluent/Influx • Telegraf ADS-B Input Plugin
  • 44. • Blog - ADS-B Deep Dive • Decoding Mode-S and ADS-B • FlightAware ProStick • FlightAware Building a PiAware Receiver • Influx and ADS-B • Influx Telegraph to Kafka and InfluxDB • Influx Industry 4.0 Overview • PlanePlotter for Windows (25 Days Free) • 1090 MHz Antenna Building – Video Example • Kafka ADS-B • LiveATC – Air Traffic Control 43 Appendix A Resources
  • 45. • Telegraf Kafka Plugin • https://github.com/slintak/adsb2influx • Wikipedia ADS-B • Next Generation Air Transportation System • https://github.com/just-containers/s6-overlay • https://www.influxdata.com/blog/tldr-influxdb-tech-tips-august-4- 2016/ • https://docs.influxdata.com/influxdb/v1.7/concepts/key_concepts /#field-key 44 Appendix B Resources
  • 47. 46 Appendix D Telegraf Setup – Confluent Cloud not Working Docker cp telegraf.conf /etc/telegraf/telegraf.conf [[outputs.influxdb]] urls = ["http://ec2-54-89-244-105.compute-1.amazonaws.com:8086"] database = "piaware" skip_database_creation = false timeout = "5s" # Influx HTTP write listener [[inputs.http_listener]] service_address = ":8186" read_timeout = "10s" write_timeout = "10s" #[outputs.kafka] # URLs of kafka brokers # brokers = ["pkc-438qm.us-east-1.aws.confluent.cloud:9092"] # EDIT THIS LINE # Kafka topic for producer messages # topic = "piaware" # #ssl_endpoint_identification_algorithm = "https" # sasl_mechanism = "PLAIN" # request_timeout_ms = 20000 # # bootstrap.servers=pkc-438qm.us-east-1.aws.confluent.cloud:9092 # retry_backoff_ms = 500 # sasl_jaas_config = "org.apache.kafka.common.security.plain.PlainLoginModule required username="key" password="keypass";" # security_protocol = "SASL_SSL"
  • 48. 47 Appendix - Tech Thoughts FlightAware versus ADSB-Exchange Contributing to ADS-B Exchange would be cool, but maybe next week...

Editor's Notes

  1. Physical Servers will be migrated to Virtual Servers.
  2. Physical Servers will be migrated to Virtual Servers.
  3. Physical Servers will be migrated to Virtual Servers.
  4. Physical Servers will be migrated to Virtual Servers.
  5. Physical Servers will be migrated to Virtual Servers.
  6. Physical Servers will be migrated to Virtual Servers.
  7. Physical Servers will be migrated to Virtual Servers.
  8. Physical Servers will be migrated to Virtual Servers.
  9. Physical Servers will be migrated to Virtual Servers.
  10. Physical Servers will be migrated to Virtual Servers.
  11. Physical Servers will be migrated to Virtual Servers.
  12. Physical Servers will be migrated to Virtual Servers.
  13. Physical Servers will be migrated to Virtual Servers.
  14. Physical Servers will be migrated to Virtual Servers.
  15. Physical Servers will be migrated to Virtual Servers.
  16. Physical Servers will be migrated to Virtual Servers.
  17. Physical Servers will be migrated to Virtual Servers.
  18. Physical Servers will be migrated to Virtual Servers.
  19. Physical Servers will be migrated to Virtual Servers.
  20. Physical Servers will be migrated to Virtual Servers.
  21. Physical Servers will be migrated to Virtual Servers.
  22. Physical Servers will be migrated to Virtual Servers.
  23. Physical Servers will be migrated to Virtual Servers.
  24. Physical Servers will be migrated to Virtual Servers.
  25. Physical Servers will be migrated to Virtual Servers.
  26. Physical Servers will be migrated to Virtual Servers.
  27. Physical Servers will be migrated to Virtual Servers.
  28. Physical Servers will be migrated to Virtual Servers.
  29. Physical Servers will be migrated to Virtual Servers.
  30. Physical Servers will be migrated to Virtual Servers.
  31. Physical Servers will be migrated to Virtual Servers.
  32. Physical Servers will be migrated to Virtual Servers.
  33. Physical Servers will be migrated to Virtual Servers.
  34. Physical Servers will be migrated to Virtual Servers.
  35. Physical Servers will be migrated to Virtual Servers.
  36. Physical Servers will be migrated to Virtual Servers.
  37. Physical Servers will be migrated to Virtual Servers.
  38. Physical Servers will be migrated to Virtual Servers.
  39. Physical Servers will be migrated to Virtual Servers.
  40. Physical Servers will be migrated to Virtual Servers.
  41. Physical Servers will be migrated to Virtual Servers.
  42. Physical Servers will be migrated to Virtual Servers.
  43. Physical Servers will be migrated to Virtual Servers.
  44. Physical Servers will be migrated to Virtual Servers.
  45. Physical Servers will be migrated to Virtual Servers.
  46. Physical Servers will be migrated to Virtual Servers.