📁 Category: Computer Science

All posts in the 'Computer Science' category

Flight Tracker Website Live

My Flight Tracking website is live! https://sdr-flight-map-webapp.azurewebsites.net/ After multiple iterations to get the device working without glitches, build the data pipeline, and finally deploy to the cloud, I’ve launched my own local flight tracking web app

Why I built this

I’ve always been intrigued by data from satellites, drones, and flights. Aircraft generate massive amounts of invisible radio signal data, but it’s rarely accessible in a way that feels local and relevant. At the same time, flights contribute to air traffic, emissions, and resource consumption, yet the data behind these systems often feels abstract.

Public Web App

After finally getting my API set up on my local device, I created my final react web app. It took me a few searches to identify what library to use so that I could have an interactive map as the base map as well as different components for my project. Initially, I just used the default markers that was in leaflet to represent the different flights. I was able to access the latitude and longitude variables for the flights from the API url, using the .map function to loop through all the JSON data in the API and access all the flights. They were then plotted on the leaflet map using the default markers.

Creating Cloud API

The next thing I did in my process was actually set up the API to store all the data from my dataset. I used the dataset that I had been collecting locally using an SDR antenna setup. This data included flight details like aircraft ID, position, altitude, and speed. At first, it was just a CSV-style log stored on my machine, but I wanted to make it usable through a web app, so that my final app with the map can use the data from the API and run it publicly for other people to use the data received from my antenna as well.

Flight Map - JSON Data

I started storing all of the JSON data that I got into an aircraft.json file, where I wrote a simple python program to remove any rows and json data that didn’t include the coordinates (latitude and longitude). This project was done in Ubuntu because dump1090 primarily works really well in Ubuntu. Running it on a MacOS or Windows device will cause you to install WSL or something similar just to be able to access and run it properly.

SDR Flight Mapping - Antenna

Updated: Aug 8

Recently I started exploring more about SDR (Software Defined Radio) through my antenna and found out about flight tracking patterns. Each flight sends out a specific signal that is transmitted by a certain frequency (same for all flights). That is then picked up by my antenna. My antenna isn’t strong enough to capture all flight data around 300 miles around my house but it’s good enough to capture up to 10-15 flights in the surrounding areas. The ones I’ve logged so far range from areas near Kent and Seattle, even Bainbridge Island!

Intro to React

I started learning a beginner’s course for React recently, a webpage building tool. Over the last couple of days, I mastered being able to create different components in the main folder and start the local host webpage. By running the lines, npm run dev, it starts my local webpage, one that I can tweak and edit on, like a canvas printing the lines I’m coding before I can properly publish it.

Nooelec NESDR Exploration Intro

I recently got the device Nooelec NESDR that can receive Sensor Data Records (SDR)/radio signals. I was able to connect it to my Mac and installed the basic setup for SDR to run on my device. I enabled it to run on python and started installing the dump1090 software to detect flights in the nearby area based on the waves emitted. It was incredibly fascinating to see the different flights detected in the area near my house and to see their altitude, speed, Lat and Lon. The image below represents the table that it popped up in. The table was constantly printing, revealing updates and changes in the flight’s altitude as well as the speed and location that it was at. One of my next targets is to actually see whether I can take these latitude and longitude coordinates and be able to plot them on a base map that represents the location of the flights as well as in which direction they are going as they travel.

Introduction to my Journey

I’ve been introduced to computer science and the world of programming languages at the beginning of high school, learning initially what every programmer once does. How to print “hello, world”. Though I never really fell in love with it until I started off with projects. Seeing something of my creation actually come to life was a different feeling, whether it was the beginner Arduino projects I did or the heart and soul that I put into my correlational environmental engineering project. It took me months, with most of it going into research and just plain understanding how millions of data points would come together and get filtered out through my code and produce viable results.