bigwhoop-global-spectrum-monitoring
This project is solving the Open-source Air Traffic Tracking challenge. Description
About BigWhoop - Big Data, Small Whoops!
Earth is surrounded by the electromagnetic spectrum.This spectrum contains a range of different frequencies of electromagnetic radiation. The spectrum extends from frequencies caused by natural phenomenons everywhere in space to frequencies used by modern radio communication here on Earth.
We created the BigWhoop: A system that will continuously monitor the spectrum and detect all signals within. We achieve this with low-cost , software-defined radio devices for each ground node for BigWhoop. With your help, we can deploy hundreds of these nodes forming a global internet connected sensor array for monitoring the spectrum!
To give you an example: The more BigWhoop nodes that we have, the more aircraft signals can be received and tracked during their paths around the world. This way, the planes won’t get lost that easily. But the BigWhoop can do more. We can detect places of high spectrum activities such as radio towers and tell you, when a new music channel starts its broadcast service. Or we can find sweet spots of radio silence where radio telescopes can be placed and listen to weak cosmic radio sources, that would have been drowned in man-made radio noise otherwise.
In the very spirit of NASA Space Apps Challenge and the open-source movement, the global community can modify BigWhoop for their out-of-the-box projects like tracking cube-sats or something yet out of our imagination! And the best thing is, we can already use BigWhoop system on our Constellation computation grid with 60,000 PCs donated by citizen scientists worldwide!
With BigWhoop we will start with global spectrum monitoring -with you we will do extraordinary things!
What we’ve done so far
We, the BigWhoop Team, decided to tackle the Open Source Air Traffic Tracking challenge in a bottom-up approach. We believe, that to solve the challenge, the first step is to gather the required aircraft data, constantly and globally. For this, we designed an open source infrastructure that allows to monitor literally everything within the radio spectrum and giving the community the chance to expand it.
For achieving this, we:
- wrote the sample application for spectrum monitoring (on Github)
- wrote a server to process the data
- built a visualization tool for the spectrum monitoring
- created a c-library for ADS-B processing based on the dump1090 utility and created python bindings for it (on Github)
- tested the code with RTL-SDR and BladeRF hardware
- involved the community via social media (on Twitter, on Reddit, Tumblr, more)
- and we went live with a public pre-alpha test during SpaceApps and also received the first results by friendly strangers (on Reddit)
How you can participate
BigWhoop is more. It is the application for the Distributed Ground Station Network (DGSN) http://dgsn.aerospaceresearch.net/ project. We kindly invite you to
- use and modify the code. Be brave, it is open-source!
- set up a ground station and generate data.
- use the database and analyze it for good.
In the end everyone benefits from the common creativity and the results BigWhoop will bring for the community and the general public.
[Image: Spectrum Monitoring Everywhere. Andreas Hornig took it with him on a campaign to Observatorio del Teide on Tenerife]
What needs to be done in the future
Even though we have achieved way more than we thought during the hackathon, there is still some work that needs to be done in order to make BigWhoop a global success.
A leftover task from the hackathon is the integration of the ADS-B processing library into our distributed BigWhoop platform. Currently we are facing some challenges with the packaging, as the underlying library needs to be cross-compiled and tested for multiple platforms/targets. As we intend to use pyinstaller to make the installation as easy as possible, we need to make the python module compatible with pyinstaller as well.
To participate in BigWhoop, one is required to perform the manual installation of prerequisites, editing the configuration and running the program. We want to make BigWhoop more accessible and easier to use and therefore will integrate it into BOINC. With our Constellation project we gained some experience in the past which we can now utilize for doing so.
Moreover we need to support more SDR Hardware in the future. Currently BigWhoop supports rtl-sdr compatible hardware only, but we intend to support other hardware such as the BladeRF or HackRF in the future as well!
When speaking about the future, we have more ideas in mind: better data visualization, signal detection and signal de-modulation. We could listen to radio stations broadcasted on the other side of the globe with BigWhoop, watch TV or listen to satellite communication and to use it as the application software for each node in the Distributed Ground Station Network to track Cube-Sats in orbit. To do so we want to facilitate an open platform where everyone has the possibility to realize their ideas.
BigWhoop works, we go live during SpaceApps2015 and we need you for monitoring tests!
First day of hacking is almost over, and we have a working pre-alpha of the BigWhoop node client. So we kindly ask you for your help during SpaceApps to help us. If you have an RTL-SDR dongle, please follow this list
- go to https://github.com/aerospaceresearch/dgsn_bigwhoop
- download the "node" folder and its content.
- open the "workingunit.xml" and "set_your_groundstation_config.xml" files
Those two XML-files contains all the settings we need, and we ask you to kindly add the mandatory ones in "workingunit.xml":
<email send="true"> <email_server>smtp.youremailprovider.com</email_server> <email_user>fill_in_your_email_address</email_user> <email_pass>fill_in_your_password</email_pass> <email_destination>[email protected]</email_destination> </email>
(this way, the result will automatically send to us. Gmail.com will ask you after the first sending attempt to "allow" this app to send it via gmail. Please consider it and allow it.
in "set_your_groundstation_config.xml":
<gs_location_long>123.456E</gs_location_long> <gs_location_lat>12.34N</gs_location_lat> <gs_location_alt_meter>432.1</gs_location_alt_meter> <!-- Tell us a bit about your ground station (Optional) --> <gs_name>Fill In Your Node Name</gs_name> <gs_info>Hello World. Any Info. Space Rocks!</gs_info> <gs_info_url>www.AerospaceResearch.net</gs_info_url>
(all gs_location_XXX sections are mandatory. The other three are for optional for you to tell us more or promote your station, if you want :). Here is a good website for getting your geo position http://www.latlong.net/convert-address-to-lat-long.html)
If you have python installed and your RTL-SDR dongle attached, please double click "bigwhoop.py". It will start cross check you provided position according to your IP. Perhaps your firewall will be activated. Then wait until bigwhoop.py finishes. It will send the result to our server via the email address of "[email protected]".
What we expect from this pre-alpha
We expect it to run properly, as properly as a 2 days hackathon code can be. It should print line by line the frequency it just scanned and some results and your position in long and latitude. and at the end, you will see, if the result was emailed successfully. IF NOT, please send us an email to [email protected] Each hint what happened good or bad is helpful. We hope you like it. We will like it, because we will get first data for our map to display the global spectrum! Thank you
[Image: Thank you everyone out there taking part in our pre-alpha and filling our database]
Project Information
License: Apache License 2.0 (Apache-2.0)
Source Code/Project URL: https://github.com/aerospaceresearch/dgsn_bigwhoop
Resources
BigWhoop: global spectrum monitoring - http://bigwhoop.aerospaceresearch.net/
twitter.com/dgsn_bigwhoop - https://twitter.com/dgsn_bigwhoop
Dump1090 - https://github.com/antirez/dump1090
ADSB - http://en.wikipedia.org/wiki/Automatic_dependent_surveillance_%E2%80%93_broadcast
Frequency Allocation Table - ITU - https://www.itu.int/ITU-D/asp/CMS/Events/2010/SMS4DC/SMS4DC2_AllocationsV2.pdf
oscmocom rtl-sdr - http://sdr.osmocom.org/trac/wiki/rtl-sdr
Berkeley Open Infrastructure for Network Computing - https://boinc.berkeley.edu/