Read the statement by Michael Teeuw here.
MMM-FlightTracker - Real time plane tracker using ADS-B systems
-
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/network
where also updated theREADME.md
regarding 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 i
I’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 i
I had to do some more.I realized that
librtlsdr
is required also when using network mode, so this had to be installed first, with library headers:sudo apt install librtlsdr-dev
Next I got messages about missing symbols from
rtl-sdr.node
module: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_19ConstructorBehaviorE
So it had to be rebuilt against my
librtlsdr
:npm rebuild rtl-sdr --build-from-source
Thumbs 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-dev
dependency in the prerequisites list, I’ll add that (FYI, this is needed only for thertlsdr
mode). 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 install
step. -
@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.0
of 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.0
of 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.