Skip to content

Crisvirus/acarsinterface

Repository files navigation

Contributors Forks Stargazers Issues MIT License


Acars Interface

Web Interface for acarsdec

About The Project

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. Acarsinterface main page

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

Acarsinterface plane info

Interface

Text Message Card

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.

Arinc 622 Message Card

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.

Clearance Message

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.

Takeoff Clearance Message Card

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.

Route Message Card

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.

Built With

Getting Started

For my project I had to add another field to the JSON output of acarsdec. This is why my fork of acarsdec is needed.

Prerequisites

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

Installation

  1. 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
  1. (Optional) If you want to use HTTPS, obtain a certificate (ex: from Let's Encrypt)
  2. (Optional) Create the certs directory
mkdir certs
  1. (Optional) Copy the certificates to the "certs" directory.

Usage

  1. First, start the server using
python3 server.py
  1. 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.

Roadmap

Features that are on the TODO list:

* More types of messages with more information extracted from the text

Contributing

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.

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Project Link: https://github.com/Crisvirus/acarsinterface

Acknowledgements

Releases

No releases published

Packages

No packages published