geo-location

Flight tracking via ADS-B on a Raspberry Pi

Here's a fun little project you can build that is at the cross-roads of computing and radio communications: a flight tracker using SDR (Software-defined radio) to receive ADS-B transmissions directly from aircraft flying overhead using a Raspberry Pi with a DVB-T USB stick. Once you've built the system, you can direct your web browser to a port on the Raspberry Pi to take a look at all the airplanes near your location - not a lot going on above the White Mountains this Sunday afternoon:

Screenshot 2014 12 28 14 19 05

I've recently built three of these and linked them all to the FlightAware tracking website, where you can see the flights currently tracked by all three receivers, as well as tracking statistics regarding number of flights seen per day, etc. Here is the complete system with the three cables being power, Ethernet, and the antenna connection:

20141228 151553 1

The basis of this tracking is the Automatic dependent surveillance – broadcast (ADS–B) that each airplane transmits on a frequency of 1090 MHz, which contains GPS position, speed, altitude, heading, ascent/descent, and other navigational data. This information is normally used by ATC (Air Traffic Control) as well as received by other airplanes to provide situational awareness and allow self separation i.e. collision avoidance. Since this is being broadcast in a standardized format, it can be received and decoded by anybody, including ground stations.

Which brings us to the cheapest and most interesting way to receive these signals: SDR, or Software-defined radio - a technology where components that have been typically implemented in hardware (e.g. mixers, filters, amplifiers, modulators/demodulators, detectors, etc.) are instead implemented by means of software in a computer. All you need is an antenna and a UBS device that can support SDR applications, such as a cheap DVB-T USB stick.

For the computer system we don't need much processing power, so the Raspberry Pi Model B+ is the perfect choice for a low-priced stand-alone system that can easily handle the decoding of the ADS-B signal using the open-source dump1090 software and stream the data to a tracking site, such a FlightAware.

FlightAware also has some good instructions on how to build the system as well as a shopping list of all the components you will need: Build a PiAware ADS-B Receiver. Overall, the complete system, including case, power supply, Ethernet cable, etc. will cost you about $105.

However, the tiny antenna that comes standard with the DVB-T stick is only good for reception of signals from a very limited range. So one of the components you might want to upgrade sooner or later is the antenna by getting one that is actually appropriate for 1090 MHz, such as this vertical ADS-B outdoor base station antenna, or this ADS-B blade indoor antenna. I opted for the indoor antenna, since I didn't want to run extra antenna cables to the roof. And the indoor antenna is already so much better than the original tiny DVB-T whip.

Screenshot 2014 11 19 10 44 58

As you can see in this diagram, upgrading the antenna on November 12th resulted in the system being able to receive about 40,000 - 50,000 positions per day instead of 13,000 - 14,000 positions with the tiny original antenna - the correct antenna really makes a huge difference in the capability and range of the system!

Overall this is a fun little project to do on a rainy weekend. You can either build it all by yourself, or use it as an opportunity to teach the kids how to build a computer. Some Linux and networking skills are required, but nothing too complicated. And there are good instructions available for each step of the process.

Ingress - an AR-MMOG created by Niantic Labs at Google

I don't often write about games on my blog, but this one deserves an exception, because it is extremely innovative, unique, and a harbinger of things to come. On November 15 Google launched a closed beta of Ingress, a sci-fi themed game currently available only on the Android platform.

Ingress defines a new category of game that could probably be best described as AR-MMOG (Augmented Reality - Massively Multiplayer Online Game). The basic premise is that an alien influence called Shapers are trying to control human thought and are entering the world through portals that are often associated with historically significant locations, statues, or public displays of arts. These portals are associated with Exotic Matter (called XM in the game) that needs to be collected to energize the player as well as the portals.

Players must move through the real world and visit these portals with their GPS-equipped Android smartphones to play the game.

The objective is to hack the portals, link different portals, and create so-called control fields by forming triangles of linked portals. After completing a few training missions, players must choose a faction and either side with the Resistance, who are trying to protect mankind and prevent further Shaper influence, or side with the Enlightened, who consider Shaper influence to be beneficial and usher in the next logical step in the evolution of mankind.

Enlightened vs. Resistance

I was very happy to receive my invite to the closed beta on November 21 and found some time on the morning of Thanksgiving Day as well as on Black Friday to play the game on my Galaxy SIII. Doing so allowed me to take some extensive walks on both days and burn off a lot of the food calories that would have accumulated otherwise.

Playing the game is extremely addictive. I decided to join the Resistance and explored the available portals in and around Marblehead on the first day. Capturing my first few portals was fairly easy, but then I encountered some Enlightened portals that gave me a good challenge right away. Most of the portals are directly taken from the Historical Marker Database, so you learn a lot more about the history while playing the game. I also found that having a car to drive to neighboring towns and some remote portal locations is a huge bonus - especially when you get to deploy higher-level portals that have a range of several kilometers available for linking.

For example, on one of my excursions I took a stroll through downtown Salem in my quest to capture more portals and found one above the statue of Roger Conant:

Approaching a portal in Salem

By hacking and capturing one portal after the other, I was able to not only collect the required items for linking portals together, but also the necessary weapons for attacking portals of the opposing faction. And it didn't take long for me to eliminate all of the Enlightened influence in my area and connect several of the portals in Marblehead to create the necessary control fields that are then shown on the display of the Ingress app:

Control Fields in Marblehead

As I leveled up, I was able to create more powerful portals that allowed linkages over several kilometers distance and so I used Black Friday for some further excursions into Salem as well as trips to Swampscott and Nahant that allowed me to create a much larger field to protect all the inhabitants in my immediate vicinity:

Larger area control fields

Now it is only a matter of time until the Enlightened students at MIT try to increase their influence further north and will begin their attack on the North Shore. I am sure a battle of epic proportions will ensue in the days to come:

Larger Boston Area Intel

Ingress is extremely well done for a beta version of a game. I can only assume that Google has done some extensive internal testing before opening up the beta to people outside. And the combination of GPS, mapping, the historical marker database, and the many different web properties (see list below) combine to provide a truly addictive game-playing experience.

Even before you get immersed in the actual gameplay - and while you anxiously await the arrival of your invitation to participate in the beta - there are several websites that provide hints at the background story, videos, and artwork by fictions characters that appear to exhibit signs of Shaper influence.

One can easily see how Google's Project Glass will be used in a future version of this game that takes augmented reality game-play to a whole new level…

Obviously, there are also some privacy implications in such kind of gameplay and several bloggers have already questioned Google's motives in creating this game. Allegations range from creating an optimized database of walking paths for further enhancing Google Maps to more sinister data collection for advertising purposes.

Be that as it may, for the time being I will continue participating in the beta for a very simple reason: the game is actually a lot of fun to play!

Further information on Ingress can be found here:

Also see blog posts on AllThingsD, Engadget, pandodaily, The Verge, TechCrunch, and others…

P.S. Don't ask me for an invite, as I don't have any to give away, sorry!

Privacy, geo-location, and over-sharing

There has been plenty of discussion already on privacy settings on Facebook and how our approach to sharing personal information on social networking sites has changed over the years – and I’m not going to repeat any of that. However, the recent growth and considerable hype around geo-location, location-based services, and location-sharing on social networks has taken over-sharing to a whole new level.

Applications like FourSquare and Gowalla, who let users earn badges or awards for checking-in when they visit a restaurant or other location are now often linked to Facebook or Twitter. People post their travel plans on services like Dopplr and TripIt. Facebook itself added the Places feature recently. And Twitter has captured the location of each tweet for quite a while already, provided you use a Twitter app on your GPS-enabled smartphone or allow your browser to determine your location based on your IP address.

Now this all sounds really cool and for a while apps like Foursquare are indeed a novelty and fun to use. In fact, I like to experiment with new things myself and will admit to even becoming the mayor of 25 places on Foursquare, before I quit.

The problem with all of that geo-location information is, of course, that it is more widely available than you would imagine – and sometimes it is even publicly available, e.g. when you connect other geo-location services to Twitter, or when you use the geo-tagging of tweets on Twitter itself. Keep in mind that by default all tweets are public, unless you restrict them to only your followers.

PleaseRobMeConcerns about this issue have been voiced by others before, e.g. the web site PleaseRobMe.com was launched in early 2010 and displayed aggregate information from Twitter and other sources to publicly show when a person was not at home. It was a stunt to draw attention to this problem, and the site no longer shows that info, but it was an effective theoretical experiment.

This experimental threat has now become reality. Last week, police finally caught up with a burglary gang in New Hampshire that had robbed multiple homes this summer, where the homeowners had announced via Facebook that they were not at home, on a vacation, or provided some other information that could be used to infer that the house was going to be empty.

So what about using privacy settings to make sure only your real friends can see this information? That may sound like a good approach at first, but keep in mind that once you share that information with any app or social networking website, it is stored in a database somewhere – and once it is stored somewhere it can be found and abused by someone. In fact, just this week Google fired one of their engineers for stalking teenagers, whose information he had obtained from the kids’ GMail and chat accounts.

solution_thedevice We use GPS ankle-bracelets to track sex offenders and other criminals in our criminal justice system. As a free citizen, why would we voluntarily want to provide anybody with the same tracking information about our personal life and whereabouts?

So here is what I did this weekend to end my own over-sharing of geo-location information:

  • I deleted my FourSquare account and the FourSquare app from my iPhone
  • I deleted my Gowalla account
  • I deleted the Twitter app from my iPhone
  • I changed my Twitter settings to turn off “TweetLocation” and deleted all location information from my past tweets:
    TwitterCapture
  • I deleted the Facebook app from my iPhone
  • I adjusted my Facebook privacy settings to hide all Places information, to not allow others to check me into Places, and to never include me in “People Here Now”. I also tightened down all the other privacy settings to the maximum.
  • I deleted my Dopplr account
  • I decided to no longer post any messages on Twitter or Facebook that would reveal my travel plans (“flying to Las Vegas tomorrow”), current location (“family dinner at Asahi – awesome sushi here”), or my whereabouts (“I’m on the boat”)

And I’m not even sure I got all the places that I may have signed up for in the past, so cleansing my digital tracks and removing all geo-location information and ending past over-sharing will be an ongoing process…