Own UIs for dump1090 data

Thanks for that info. That seems to break this tool, at least as it relates to my FlightFeeder. Not the end of the world…

Hi @jafrank,

Thanks for this comprehensive list of issues and a screenshot :slight_smile:
Regarding the dump978, I’m afraid that use-case didn’t even occur into my mind since that is not useful here at Finland. And further on, as it seems that doesn’t provide the stats jsons, I’m afraid that I cannot figure out how to work around that… :frowning:

Regarding some of the other issues:

Runways isn’t working. I get a “Runways Fail” message. The .csv file exists in the folder, and I can see where it is being called by runways.js, but no dice. Not sure where to look.

I have used web server to host this and using locally (on file system) it seems that file references not supported by the browsers (I guess because of the security). I’ll see if I could have some kind of workaround for that somehow.

I am probably going to have to mess around with your .css. The tiny fonts in red/blue/yellow on the dark background is a little bit tough on my old eyes. Also, lots of wasted space on my screen.

Sure, modifying the css is of course one option as I’m not a front-end developer and the styles are not necessarily the most appealing because of that :wink: The reason for the wasted space is that I’ve been building this with my very old linux laptop with small resolution screen and I was a bit lazy with the widths etc. I’ll check if I’ll find some time to make the init of the layout according to the browser widths at some point.

It probably wouldn’t hurt to mention that the api key issued by openweathermaps takes some time to activate (in my case, about an hour). I spent most of that hour trying to troubleshoot the reason I was getting errors for wind/rain/clouds

Sorry about that! I added that note to the readme. I had already a OWM account previously for the some other small projects with e.g. the ESP32 and didn’t remember this.

The purpose of the “label” setting in the config wasn’t immediately clear to me (made worse by not being able to get my FlightFeeder to work), but it seems to be an arbitrary name assigned in order to tell them apart, and in your use case you call them W for west and E for east? I changed mine to “main” and “978” and they seem to display correctly in the columns. Doesn’t look like there is space for anything much longer though.

Yeah, for my use-case, the receivers are marked as W(est) and E(ast) as those antennas are different sides of my house. I think I have to comment those a bit more in the config.js to contain information that those are only for the labeling the two receivers at the stats, aircraft list and the distance / direction graph in the receiver details section.

  1. dump1090-fa is being depreciated, and should be replaced with ‘skyaware’. Tried to edit this, but there seems to be a small difference (missing carriage return?) between the aircraft.json files returned. Haven’t taken the time to explore further.

That’s a really good point - I need to change the hard coded paths to be controllable from config.js. Again, I have been a bit too fixated to my own use-case here. Both of my receivers are using OrangePi Zero 2 and I don’t dare to upgrade those (it was a very time consuming process to set those up in the past). However, I will be in future in situation where I need to rebuild those when eventually the SD-card goes bad (already had couple of those “glorious days” previously). And since I haven’t got enough time to keep in track how that has been progressing, I have missed this change. I just hope that skyaware daemon is/will still provide the stats json-files.

All in all, thanks a lot again for these notes! :slight_smile: And I’m sorry that I’m not able to help with the dump978…

I appreciate your comments. I hope mine didn’t come across as critical, I think it’s really cool what you have done. I was just sort of live-streaming my thoughts as I was setting it up and configuring.

1 Like

No worries at all! :slight_smile: There’s no way to develop that without testing (especially with different environments and setups) and fixing bugs & usability issues, so your comments were very helpful. Thanks again!

1 Like

Although the dump978 doesn’t support the jsons, I changed the receiver distances / direction -part to contain both main and supplementary receivers. Just to check if that would help even a bit to benchmark different antennas. Let’s see if that would be usable in future.

I’m still trying to get this part working, and not really understanding what you are saying here. Are you putting the CSV on a separate webserver and updating the the fetch command in runways.js to point to the url to the file?

If you access the map_monitor.html directly from the file system, the browser treats that “connection” as file -connection (file:////map_monitor.html). And the javascript cannot access any csv -files using file -protocol/url-scheme. The result will be that it throws this error to console:
runways.js:52 Fetch API cannot load file:///C:/Users/user/monitor/runways.csv. URL scheme “file” is not supported.

But if you copy all the files to any web server (and set the permissions correct so web server can read those), runways should be ok when accessing map_monitor.html at that web server. I don’t recommend to put just the csv -file to the web server and modify this javascript file’s fetch path, because you might end up having CORS -errors and it won’t work anyways (haven’t tested though).

I just tried to make a new directory (called monitor) to /var/www/html at one of my Orange Pi’s running piaware, copied files to that directory, set the needed permissions (chmod go+rx) to those files and I was able to access the map_monitor.html ok (http://<pi_IP_address>/monitor/map_monitor.html). However, I don’t actually encourage to do this; if you make some mistake with that, the default stats pages won’t work anymore and also if you are updating the piaware, these might get lost in a process. Not sure though of the latter one since I haven’t updated my Orange Pis for a long time since it’s quite a pain with those Chinese Pis :wink:

Ok, turns out that I am a special kind of idiot. No idea why I didn’t understand that you meant to put the whole thing on a web server. I can throw together a Linux + Apache VM in no time to take care of that.

Unrelated, but how are you handling updates? I noticed that earlier this week that you modified the structure of config.js in addition to several of the other files. I ended up redownloading everything and re-entering my addresses. Is there a better way?

Thanks for doing this - it’s a fun and different way to visualize the data!

edit: and this is weird - moved the whole thing to the /var/www/html/ folder of a brand new apache2 install on Ubuntu 21.04. Everything works now - except for weather (wind/rain/clouds). I have double and triple checked the api key, and even generated a new key. The only thing that I can think of that is different is that I re-downloaded the whole folder and re-entered my info in the config.js rather than copying what I already had locally on my pc. For what it’s worth, the error I see is “WX WINDS FAIL” or clouds, or rain. Any thoughts?

That’s great that you got it working (apart of the WX issues) :slight_smile:

I’m afraid that I’m handling the updates very unprofessional way; simply updating manually the files which have been changed, so there’s no branching, “official” deployments, CI etc. in this (otherwise it would begin to feel like a work :wink: ).

I would recommend to backup your config.js and copy that over the updated version each time you are updating to new version. Usually the config.js shouldn’t be changed much unless I would add something completely new connections etc. This time I think I added the url paths for the receivers and therefore there were more variables added there. I need to check at some point how could I improve the updating more user-friendly, but currently I’m spending even a bit too much time for this (last night it went to 2 AM for the latest additions).

BTW I just added sort of Airbus ECAM engine information -styled gauges for the statistics (messages/min % from maximum detected, SNR and PSNR). Still to be done is adding a button to hide those too (in case those are too disturbing).

Regarding the WX error, it could be that there’s also some kind of bug or something. I have to check the code too. Also, it wouldn’t hurt to check the developer console of your browser (F12) and see if there’s any mention about e.g. CORS -problems?

And thanks for your kind words! :slight_smile:

Got it all working now, turns out the reason it wasn’t working was because I’m an idiot. I copied all of the files over to my new webserver, but then I was editing a copy of the config.js rather than the active one. So none of my changes were being applied.

Loose nut between chair and keyboard!

1 Like

That’s great that you got it working! :slight_smile: I’m doing the same kind of stuff all the time :smiley:

BTW I added also some more statistics and paging with tiny “buttons” to the stats display; it now displays also the maximum values detected during the session for distance, altitude, gs, tas, climb rate and descent rate.

Performance seems to be plenty good with 77 aircraft in view. No lag or jittery-ness that I can discern.

This instance has been running for 3 or 4 days without refreshing the browser.

1 Like

Awesome, sounds great that it’s working without lag with bigger load too! :slight_smile:
Unfortunately I’ve been too busy lately and haven’t been able to touch the code lately much; I only added even some kind of detected emergency (7700,7600,7500) flights page to that stats display and that’s all. I hope that at least just before the year change I would be able to get back to this a bit more.
I also need to gather some ideas how to improve this - I think I’m running out of feature ideas soon :wink:

I finally had some time to add some more features to this. Now there 4 map layers to select and 1 completely blank one. Also e.g. an aircraft and a runway (threshold) can be selected.

  • If aircraft is selected, the true distance (vector distance) to closest aircraft is shown. Also ±45 degree gray guidelines are shown to approximate the glide distance of the aircraft (just 15:1 glide ratio and ac altitude used, so only just as a visual reference)
  • Also stats display has a new page containing 5 nearest other aircrafts when an aircraft is selected
  • If runway (threshold) is selected, weather information (wind, temp, QNH, cloud%, humidity) is fethced from OpenWeatherMap and shown in runway tooltip
  • If both aircraft and runway is selected, the lateral distance is also shown from the runway threshold to the selected aircraft

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.