https://github.com/airframesio/aero-cli
Command-line based INMARSAT Aero demodulator for SatCom ACARS
https://github.com/airframesio/aero-cli
Last synced: 5 months ago
JSON representation
Command-line based INMARSAT Aero demodulator for SatCom ACARS
- Host: GitHub
- URL: https://github.com/airframesio/aero-cli
- Owner: airframesio
- Created: 2025-01-06T03:32:18.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-01-25T00:30:00.000Z (over 1 year ago)
- Last Synced: 2025-01-25T01:20:56.414Z (over 1 year ago)
- Language: C++
- Size: 326 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# aero-cli

[](https://github.com/airframesio/aero-cli/graphs/contributors)
[](https://github.com/airframesio/aero-cli/pulse)
[](https://discord.gg/8Ksch7zE)
## Example
Running `aero-cli` is similar to running SDRReceiver and JAERO: `aero-publish` is interchangeable with SDRReceiver and `aero-decode` is interchangeable with JAERO.
To run `aero-publish`, make sure to at the minimum include the SoapySDR driver string `driver=rtlsdr` with an optional `,serial=NNNNNNNN` appended for binding with specific SDR in the event of many. `sdr_54W_all.ini` can be found in `samples_ini/` withint the SDRReceiver repository.
```bash
aero-publish -d driver=rtlsdr --enable-biast sdr_54W_all.ini
```
To run `aero-decode`:
```bash
aero-decode -v -p tcp://127.0.0.1:6004 -t VFO52 -b 10500 -f jsondump=tcp://127.0.0.1:4444
```
## TODO
- [x] Implement C-band support (1200/10500)
- [x] Implement test harness that streams audio from audio-out into a ZeroMQ topic for samples testing (mostly for burst mode)
- [x] Cut out plane registration database code from AeroL
- [x] Implement ACARS frame forwarding functionality
- [x] Implement translation of ACARSItem to JSON
- [x] libacars integration
- [ ] SBS forwarding
- [ ] Voice demodulation and storage (?)
- [ ] Long term test to ensure processor and memory usage is within expectations
- [ ] Test to compare messages between JAERO and aero-decode to ensure we aren't losing any data
## Requirements
Other configurations not mentioned may work but below is the configuration used for development and testing:
* SoapySDR 0.8.1
* ZeroMQ 4.3.5
* libcorrect (commit f5a28c74fba7a99736fe49d3a5243eca29517ae9)
* libacars 2.2.0
* QT 6.4+ (Core, Concurrent, Multimedia)
Unfortunately, the audio test harness requires Qt 5.15 in order to gain access to `monitor` audio inputs:
* Python 3.12 (earlier versions may work as well)
* PyQt5 5.15.10
* PyQt5 5.15.10 QtMultimedia
* PyZMQ 24.0.1 (earlier versions may work as well)
## Compiling
```
git clone https://github.com/airframesio/aero-cli.git
cd aero-cli
mkdir build && cd build
cmake ..
```
```
make && make install
```
## Credits
* JAERO team
* SDRReceiver team