A status monitor for Elite Dangerous, written in PHP. Designed for 1080p screens in the four-panel-view in panel.php, and for 7 inch screens with a resolution of 1024x600 connected to a Raspberry Pi.

Overview

EDStatusPanel

A status monitor for Elite Dangerous, written in PHP. Designed for 1080p screens in the four-panel-view in panel.php, and for 7 inch screens with a resolution of 1024x600 connected to a Raspberry Pi.

HORIZONS / ODYSSEY COMPATIBILITY

I have tested the panels in Odyssey and they work as they would in Horizons. Frontier added a second Status Flags section (Flags2) which mostly contains information about on-foot events. The ship and SRV info remained the same, hence no compatibility issues.

QUICK START GUIDE

If you want to hit the ground running:

  • Install XAMPP (Apache Friends) on the computer you are running Elite Dangerous on
  • Download this repository as zip file (click the green "Code" button and Download Zip)
  • Place the content in the the htdocs folder of where you installed XAMPP - for example, C:\xampp\htdocs
  • Rename the folder from "EDStatusPanel-main" to something nicer, say, "ed" or "panel"
  • Open the file "inc.php" in a text editor and adjust the resolution to your screen, also adjust the folder to where your Elite Dangerous Journal files are stored
  • Open the XAMPP control panel through the Start Menu on Windows
  • At the Apache entry, click the "Start" button
  • RUN THE GAME and enter it in any mode you like (doesn't matter if Solo or Open)
  • Open a web browser on any machine (Raspberry Pi, laptop, doesn't matter) and navigate to the IP address of your computer, and the path to the panels, for example: http://192.168.1.46/panel/
  • Select what you want!
  • You can find the IP address of your computer by opening a Command Prompt in Windows and typing "ipconfig"
  • If everything went well, you should now see a live-updating panel. Congrats!

IMPORTANT

Make sure that the path stated in inc.php is accessible by the web server you are putting these files on. Otherwise the monitor won't work.

The file panel.php is the main file to open the status monitor.

Put the browser that displays the panel to full screen mode so that everything aligns perfectly on a 1080p screen.

Obviously, the game needs to run for this to work.

Panels

The top left shows your current location info, including the info for your next jump and if it is a fuel-scoopable star. It includes a galaxy graphic showing Sol's position in blue and your position in red. Further you see your current absolute coordinates. Additionally, the distance to SOL in light years (simple distance formula for 3D vectors).

The top right shows the current state of events. There are 32 labelled indicators, which have been assigned different colors for their purpose. You can change those in the CSS file. I convert the flags of the Status.json and evaluate the state of each byte to make them light up. Further you see your current fuel as well as the distribution of your Pips.

The bottom left is simply a collection of received chat messages, with the latest message on top.

The bottom right is an exploration log of the current session. It shows quite a number of things, such as FSS results, details of scanned orbital bodies... etc. It also shows if a planet has been discovered previously (D), if it has been mapped with the DSS (M) and if it is landable (L). In addition it highlights if a system scan is completed. Further, it lets you know if POI's have been found on the planet, and if so, how many, plus, their names with distance.

Web server

My local installation uses PHP 8.0, may work with 7.x also. I have been told that sometimes there could be a permissions issue on the folder and/or files in the web server, should you see a black page when opening panel.php .

To be more precise, I am running an XAMPP installation on the machine that runs Elite Dangerous.

Raspberry Pi (display only!)

If have added a new file: pi.php . This file can display all parts of the above mentioned panels, however it is split up into the four parts. Please note that this is designed to run on full screen 7-inch-displays with dimensions of 1024 x 600 pixels. This allows for panels to be mounted to your desk for example.

Fuel bars and pips have been adjusted accordingly. The galaxy map has seen a complete refit compared to the four-panel-layout in panel.php . I will eventually merge that code into the normal panel too.

Also, all panels update every two seconds - except the location panel. In order to decrease CPU load, there is a timer in the code which checks every three seconds if you jumped to another system. If so, the map is reloaded.

Every system you visit is recorded in the data/data.json file. So in time, it becomes your own out-of-game journal of systems you have visited, and/or planned to visit.

If you have a route set, it will automatically be displayed in the galaxy map.

While the Location panel only can only display this one page, the other three have links on top to switch between them. The following switches are implemented:

  • pi.php?panel=location - Shows the location panel
  • pi.php?panel=status - The status panel with indicators, fuel, and pips (links on top)
  • pi.php?panel=comms - Chat messages of the session (links on top)
  • pi.php?panel=exp - Exploration data of the session (links on top)

Just to get the obvious out of the way: the Pi needs to have a graphical desktop environment and a browser, such as Firefox (recommended), Chromium, etc. Navigate to the local IP and pi.php with the corresponding switch to see the panel you want.

In my case, I have two identical 7 inch displays connected to the Pi so that I can display the location on the left, and the other panels on the right.

3D galaxy map

For the 3D map to work (which I will implement in the four-view-panel too), I needed to merge nearly everything from another project into this one.

I have made a few changes to the minified JS script in order to ease the CPU usage on the Pi as follows:

  • Instead of 10,000 random star sprites being generated, this number is reduced to 3,500.
  • The scale factor (as it is called in the code) at which the view switches to an empty black view with only a grid has been significantly reduced so that it almost never switches into that view. This is done so that the map basically looks cooler and retains the fog and star effect when zoomed in to a local area

Source of 3D map: https://github.com/gbiobob/ED3D-Galaxy-Map

You might also like...
Check modules in app/code and vendor for PHP 8 compatibility status - PHP_CodeSniffer & php-compatibility standard
Check modules in app/code and vendor for PHP 8 compatibility status - PHP_CodeSniffer & php-compatibility standard

M2 PHP version compatibility check How To use Requires PHP 7.3+ | PHP 8 This app will run PHP_CodeSniffer with phpcompatibility/php-compatibility on t

Simple, modern looking server status page with administration and some nice features, that can run even on shared webhosting
Simple, modern looking server status page with administration and some nice features, that can run even on shared webhosting

Simple, modern looking server status page with administration and some nice features, that can run even on shared webhosting

UpDown is an uptime monitor, We send out notifications when something's wrong.

About UpDown Updown is an uptime monitor, We send out notifications when something's wrong. Be the first to know that your website is down! Reliable m

Remote or monitor your PocketMine:MP server via browser.
Remote or monitor your PocketMine:MP server via browser.

PMRemote Remote or monitor your server via browser. Features Monitor (TPS, Server load, Players count) TODO: Remote (Access server console like RCON,

Monitor your Laravel application performance with New Relic
Monitor your Laravel application performance with New Relic

Laravel New Relic This package makes it simple to set up and monitor your Laravel application with New Relic APM. New Relic provides some excellent lo

Nagios/Icinga plugin for checking SATEON field network device status

check_sateon Nagios/Icinga plugin for checking SATEON field network device status Max.Fischer [email protected] Tested on CentOS GNU/Linux 6.5 with Ici

This is a simple PHP Student Portal. You can login, logout, register, and view your details.
This is a simple PHP Student Portal. You can login, logout, register, and view your details.

Student-Portal This is a simple PHP Student Portal with a MySQL Database. I made this as part of a university assignment, so you can login, logout, re

StickWithIt is an online food ordering website created using PHP. You can view and purchase various items as well as remove items from the cart.

StickWithIt (App Name) StickWithIt is an online food ordering website created using PHP. The database used here is MYSQL database. The tool used here

Comments
  • Docker environment

    Docker environment

    I added Docker to your apache and nginx web server solution

    The .Docker contains all the files required by docker-desktop in the Windows operating system

    to work, change .Docker/.env.examples to .Docker/.env and in this file change the path to the ED game saved directory to mount the path in the docker container

    opened by JanoPL 1
  • Just a question if I may.

    Just a question if I may.

    This looks amazing, is there any chance that you will make this usable on android devices?

    P.S. not too familiar with Github so if this is not the place to ask this please forgive me.

    opened by hottheadliberty 0
Owner
marcus-s
I am a software developer, who writes software-independent libraries and apps. Also, I am a video creator who produces professional screencasts on YouTube.
marcus-s
YCOM Impersonate. Login as selected YCOM user 🧙‍♂️in frontend.

YCOM Impersonate Login as selected YCOM user in frontend. Features: Backend users with admin rights or YCOM[] rights, can be automatically logged in v

Friends Of REDAXO 17 Sep 12, 2022
⭐ It is an platform for people to help them get connected with the like minding folks around the globe.

Meetups It is an Platform for people to help them get connected with the like minded folks around the globe. Live on Web: Cick here ?? Meet and Connec

Hardik Kaushik 5 Apr 26, 2022
Simple PHP/Laravel app that displays Todoist tasks in a view designed for a Kindle Touch

productivity-dashboard Just a simple PHP/Laravel app that retrieves (so far) tasks from Todoist and displays them in a simple view designed for a Kind

null 7 Dec 9, 2022
Simple PHP/Laravel app that displays Todoist tasks in a view designed for a Kindle Touch

productivity-dashboard Just a simple PHP/Laravel app that retrieves (so far) tasks from Todoist and displays them in a simple view designed for a Kind

null 3 Dec 27, 2021
This is a community-based project designed in the view of R.V.R & J.C College of Engineering hostel mess maintenance.

Hostel-Maintenance-System Introduction This is a community-based project designed in the view of R.V.R & J.C College of Engineering hostel mess mainte

 Datta Sai Mallipeddi 1 Oct 23, 2021
A PHP library to play with the Raspberry PI's GPIO pins

php-gpio php-gpio is a simple PHP library to play with the Raspberry PI's GPIO pins. It provides simple tools such as reading & writing to pins. [UPDA

Ronan Guilloux 266 Oct 17, 2022
Class for manage directly leds on raspberry pi in PHP

led_raspberry Class for manage directly leds on raspberry pi in PHP We can access GPIO ports directly with fwrite() for power on|off leds, without use

Rafael Martin Soto 8 Sep 15, 2021
Raspberry Pi Self Hosted Server Based on Docker / Portainer.io

Pi-Hosted Portainer Template V2 This repository is a collection of tutorials for hosting a variety of server applications using Docker and Portainer.

don 776 Jan 8, 2023
A now playing screen for the Raspberry Pi using the Last.fm API.

raspberry-pi-now-playing A now playing screen for the Raspberry Pi using the Last.fm API. This project is detailed, with photos of how I used it with

null 44 Dec 17, 2022
Raspberry Pi wifi hotspot with an offline-first community portal. Optionally shares internet access over Tor.

Raspberry Pi wifi hotspot with an offline-first community portal. Optionally shares internet access over Tor.

Martti Malmi 17 Dec 15, 2022