Read the statement by Michael Teeuw here.
MMM-FlightTracker - Real time plane tracker using ADS-B systems
-
:thumbsup:
-
I love the idea of having a flight tracker on my magicmirror, but I already have a flight tracker on my network. Its a raspberry pi runnng PiAware flight tracker. Any way you could have this plugin support a remote flight tracker over the network rather than directly connected?
-
@jrsphoto said in MMM-FlightTracker - Real time plane tracker using ADS-B systems:
I love the idea of having a flight tracker on my magicmirror, but I already have a flight tracker on my network. Its a raspberry pi runnng PiAware flight tracker. Any way you could have this plugin support a remote flight tracker over the network rather than directly connected?
Hi @jrsphoto. The idea behind the module was to use the hardware directly rather than using an API like flightaware/flightradar24/etc, because this mean that everybody needs to have either:
- an paid account there
- another PI along side the one for the mirror + ADS-B receiver
This incur more cost hence why I went for the direct connection to the hardware.
However, I looked at PiAware and from what I can see from https://github.com/flightaware/piaware, there is no API available to get the data out of this from the LAN. But at that point, that would be irrelevant as you could target directly the public API.
Maybe I’ll do another module in the future for flightaware or flightradar24 if I got my hands on another ADS-B device.
-
Hi @tbouron
PiAware tracker (based on dump1090) makes its local data available in several JSON data dumps accessible under /data/ URL:
- http://(host):(port)/data/aircraft.json - list of visible aircrafts
- http://(host):(port)/data/stats.json - receiver statistics - number of messages, signal quality, etc.
- http://(host):(port)/data/receiver.json - receiver status, particularily refresh rate (how often aircraft.json is refreshed) and history length
- http://(host):(port)/data/history_(number).json - copy of earlier states of aircraft.json with number going from 0 to history length. History files are a ring buffer so you need to load them all to figure out the most recent one.
Other homebrew solutions based on dump1090 can have similar set of results enabled.
Complete description is here dump1090 README-json.md
But at that point, that would be irrelevant as you could target directly the public API.
It’s still relevant :). I live next to a military airbase and on my feed I see both military and government aircrafts that are censored from sites like flightaware/flightradar. I feed to Flightaware, so I know this for sure :).
-
Hum if we can get the data out of this then yes, I can look into this :)
I’ll look at dump1090 and see what I can do. Wanted to go back to the output design anyway so might be a nice feature to add.
I’ll let you know.
-
HI @ytmytm.
So I looked at this over the past week and it turns out to be more complicated than expected.
dump1090 does expose a raw stream of data but I could not use it as the data there is serialised from a C struct, which cannot be reconstructed from nodejs. I then looked at the SBS1 (BaseStation) stream to get the parsed data directly. This is a bit fiddly to make it work with the current codebase, and requires changes into npn dependencies I’m using.
However, this is the best alternative I could find so I’ll continue in that direction. Bear in mind that as I have to modify dependencies so this will take a bit of time before I can release something that works ok. -
Alright @ytmytm got something working with the data exposed by dump1090.
This is available on the branchfeature/networkwhere also updated theREADME.mdregarding the configuration: https://github.com/tbouron/MMM-FlightTracker/tree/feature/network. You will need to update the dependencies:git fetch && git pull feature/network && npm iI’m running this locally and seems to work quite well. However, can I ask you to test it and report back with any issues, or a thumbs up? I’ll push this “officially” when I’m sure it works for you :)
-
@tbouron This is working great:

After
npm iI had to do some more.I realized that
librtlsdris required also when using network mode, so this had to be installed first, with library headers:sudo apt install librtlsdr-devNext I got messages about missing symbols from
rtl-sdr.nodemodule:node: symbol lookup error: /home/pi/MagicMirror/modules/MMM-FlightTracker/node_modules/rtl-sdr/build/Release/rtlsdr.node: undefined symbol: _ZN2v816FunctionTemplate3NewEPNS_7IsolateEPFvRKNS_20FunctionCallbackInfoINS_5ValueEEEENS_5LocalIS4_EENSA_INS_9SignatureEEEiNS_19ConstructorBehaviorESo it had to be rebuilt against my
librtlsdr:npm rebuild rtl-sdr --build-from-sourceThumbs up! Thanks!
-
@ytmytm Cool, glad it works fine! I actually just realised that my last commit is not quite right regarding the connection retry if the TCP stream is closed. I’ll fix that for the merge in
master.Regarding the dependency issue, you are right, I missed the
librtlsdr-devdependency in the prerequisites list, I’ll add that (FYI, this is needed only for thertlsdrmode). And I think you had to rebuild the module because it was missing when you executednpm i(It is certainly not something I had to do on my Pi)I’ll clean this up and push to
master, probably tomorrow though.Finally, I’m also working on a new UI with better UX (I think), I’ll post screenshots when I can.
-
@tbouron said in MMM-FlightTracker - Real time plane tracker using ADS-B systems:
And I think you had to rebuild the module because it was missing when you executed npm i (It is certainly not something I had to do on my Pi)
That’s correct. I cleared everything and tried again. The rebuild step is not necessary because the module is actually built during
npm installstep. -
@ytmytm Thanks for confirming this. I’ll take that into account when I’ll update the
README.md -
That’s what I’m currently working on, a better layout to display the plane where:
- airline name can be toggled from the config
- aircraft type (if recognised) can be toggled from the config
- metadata can be toggled from the config
Also, the icon beside the altitude reflects the current vertical rate (stays horizontal if vertical rate is 0 or not defined)


-
Hi there.
I just release
v1.1.0of the module. See the README.md for the new configuration + how it looks like.To update, simply do a
git checkout master && git fetch origin && git pull origin master && npm i -
Hi again.
I just release
v1.2.0of the module which adds support for the distance and heading` from your current coordinates to the planes displayed. See the README.md for the new configuration + how it looks like.To update, simply do a
git checkout master && git fetch origin && git pull origin master -
Any chance this can have the option of reading a dump1090 feed over a local network? I have three RPi’s feeding FlightAware, FlightRadar24, PlaneFinder, RadarBox24 and OpenSky Explorer plus an instance of Virtual Radar Server on a PC I have, which in turn is feeding BaseStation on the same PC. I have another RPi running a custom python script to capture the closest aircraft and display its details on a 7" screen. But I’d love to be able to do this with my two MagicMirrors, neither of which is in a position where an antenna can be connected.
-
Hi @sonicgoose.
It’s already available since
v1.1.0. Check out the “setup” section of the README.md, it explains how to set it up. -
@tbouron said in MMM-FlightTracker - Real time plane tracker using ADS-B systems:
Hi @sonicgoose.
It’s already available since
v1.1.0. Check out the “setup” section of the README.md, it explains how to set it up.Wow. How did I miss that?! I’ve been following this module’s progress but clearly not close enough. Now I want to go home and try it! (Stupid work prevents me, though.) Thanks!
-
@sonicgoose said in MMM-FlightTracker - Real time plane tracker using ADS-B systems:
@tbouron said in MMM-FlightTracker - Real time plane tracker using ADS-B systems:
Hi @sonicgoose.
It’s already available since
v1.1.0. Check out the “setup” section of the README.md, it explains how to set it up.Wow. How did I miss that?! I’ve been following this module’s progress but clearly not close enough. Now I want to go home and try it! (Stupid work prevents me, though.) Thanks!
Ahah no problem. To be fair, I released this version only 7 days ago :)
Glad you get excited about it! Although, the module might not work as good as expected for you, given the volume of planes you track. You see, my module handles huge volume by… not handling it 😅 There is currently no limit in place in the number of planes returned by the socket or displayed on the mirror.
This is mainly due to my lack of good antenna (hence not a lot of planes to display) But I would be curious to hear how you think this should be done, especially how the filtering and ordering should be performed?
Let me know what you think @sonicgoose :)
-
@tbouron said in MMM-FlightTracker - Real time plane tracker using ADS-B systems:
Glad you get excited about it! Although, the module might not work as good as expected for you, given the volume of planes you track. You see, my module handles huge volume by… not handling it 😅 There is currently no limit in place in the number of planes returned by the socket or displayed on the mirror.
This is mainly due to my lack of good antenna (hence not a lot of planes to display) But I would be curious to hear how you think this should be done, especially how the filtering and ordering should be performed?
Let me know what you think @sonicgoose :)
I’m currently tracking 130 aircraft from 3 to 218 nautical miles away, so I’m getting a looooong list—but I’m happy to have it working! My preference would be to have the aircraft sorted by distance (nearest first) from latLng and then have an option to restrict the number of aircraft displayed (5, 10, 15…?)
And feature request: display aircraft speed in metric, imperial or knots, since that’s the aviation standard.
This is a great module! I’m really excited I got it working :)
-
@sonicgoose Yeah, I thought this would happen at some point. Need to think about how I can implement this.
Can I ask you a favour? Could you create issues on GitHub for the long list and the feature feature? Would be easier for me to track the different things. Thanks in advance :)
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login
