17) ElixirConf 2017 - Keep an Eye on the Sky with Nerves and Phoenix - Jeff Smith

ElixirConf 2017 - Keep an Eye on the Sky with Nerves and Phoenix - @electricshaman

As part of the next generation air traffic control system, regulators in the United States and abroad will require most aircraft to be equipped with avionics by 2020 that automatically broadcast identity, position, and velocity data at regular intervals using a standard radio messaging protocol. This technology, known as Automatic Dependent Surveillance Broadcast (ADS-B), is already in use by the majority of aircraft today and can easily be received on the ground by anyone using cheap Software Defined Radio (SDR) hardware purchased online.

Because ADS-B messages can come from hundreds (if not thousands) of aircraft operating in the sky in parallel at any given time, Elixir is well suited to elegantly handle the problem of tracking them all concurrently in realtime. In this talk, we’ll explore highly concurrent approaches to solving this problem using the tools and techniques offered by OTP and GenStage. We’ll examine how SDR hardware support is provided using Nerves on an embedded Linux platform such as Raspberry Pi. Finally, we’ll take a look at some ways we can visualize all of this flight activity on the web in realtime using Phoenix.

Audience: Intermediate-Advanced

All talks are available in the Elixir Conf 2017 Talks List or via the #elixirconf2017 tag


I love how this talk combine’s several very Elixir elements:

  • Working with hardware
  • Binary pattern matching
  • Concurrent events

Plus it’s just a cool topic to learn about.


Code is here if anyone wants to poke around: https://github.com/electricshaman/squitter