Web Interface for acarsdec
This project is a webserver that displays data, captured with acarsdec, in a more friendly way. It groups the ACARS messages for each plane.
The main page displays all the planes captured in the last hour, with brief information about each of them.
Each plane page has the same brief at the top, and a collection of cards. The first 3 are always present, and they show information that could be extracted from the ACARS messages. The rest of them are cards showing the messages received in the last 8 hours. There are 3 types of cards:
* Text Message: The default card
* Arinc 622 card: Shows the data in a JSON format
* Route Card: Contains route infromation, usualy a list of waypoints separated by '.'
* Takeoff clearance: A message that says to the pilot that they were cleared for takoff. It specifies the destination, takoff runway, and the navpoint that they have to follow. If the airport that sent the message is "Schiphol", I also added a link to the departure chart for the specified runway
* Clearance Message: A message confirming that the pilots recieved the takeoff clearance
This card is very simple. It shows the message, and a button labled "Expand". The button opens a modal that shows the entire message as it was received.
It shows the text of the message and an "Expand" button. The button opens a modal that shows the data contained in the message, in a JSON format.
It shows the message, and a button labled "Expand". The button opens a modal that shows the entire message as it was received. The difference between this and the Text Message Card is the color.
It shows the message, a section with extracted information (the runway, destination and waypoint),a button labled "Open Runway Chart" and a button labled "Expand". The "Open Runway Chart" opens a pdf with the departure chart for the specified runway (Only works for Schiphol Airport). The "Expand" button opens a modal that shows the entire message as it was received.
It shows the text and the "Expand" button. The diference is the "Open Route" button. This opens a new page with a list of waypoint separated by spaces. Use the "Copy to clipboard" button so save the list, and the use the "Go to Skyvector" to open https://skyvector.com/. On the top left, press the "Flight Plan button" and paste the waypoints in the text box.
For my project I had to add another field to the JSON output of acarsdec. This is why my fork of acarsdec is needed.
The folowing are needed for this project to work
- Python 3: I made the project using Python 3.8.5, but it could work with older versions, but it must be Python 3
- libacars - follow the instruction from here : https://github.com/szpajder/libacars
- acarsdec - my fork of acarsdec is needed for now, follow installation instructions from there : https://github.com/Crisvirus/acarsdec
- Jinja, bcrypt, tinyDB -
pip3 install Jinja2 pip3 install bcrypt pip3 install tinyDB
- It's written in Python, so no installation required, just clone the repo and create the password database
git clone https://github.com/Crisvirus/acarsinterface
cd acarsinterface
mkdir passwordDB
- (Optional) If you want to use HTTPS, obtain a certificate (ex: from Let's Encrypt)
- (Optional) Create the certs directory
mkdir certs
- (Optional) Copy the certificates to the "certs" directory.
- First, start the server using
python3 server.py
- Start acarsdec. You can run acarsdec on the same machine, or on any machine that can reach the server
acarsdec -j <ip-of-the-server>:5555 -r 0 131.550 131.525 131.725 131.850 131.825
The frequencies used are an example for Europe. For other areas search online for the usually used ACARS frequencies.
Features that are on the TODO list:
* More types of messages with more information extracted from the text
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
Distributed under the MIT License. See LICENSE
for more information.
Project Link: https://github.com/Crisvirus/acarsinterface