|
| 1 | + |
| 2 | +# Sim-Ops |
| 3 | + |
| 4 | +Sim-Ops is software suite for running spacecraft operations simulations exercises and demonstrations. It includes |
| 5 | +a minimalist spacecraft simulator, a ground station simulator and a Monitoring and Control System (MCS). |
| 6 | +Note, that the software suite is under constant development so things change fast. The following video |
| 7 | +illustrates the MCS UI. |
| 8 | + |
| 9 | +https://github.com/nunorc/sim-ops/assets/118554/82d92168-ed7e-46f9-ac71-f78d44988842 |
| 10 | + |
| 11 | +Repository content: |
| 12 | + |
| 13 | +* `sim-ops-lib/`: Python packages to run in the background, including API and simulators. |
| 14 | +* `sim-ops-mcs/`: MCS frontend interface. |
| 15 | +* `containers/`: containers files and configurations. |
| 16 | + |
| 17 | +The following scripts are required to be running: |
| 18 | + |
| 19 | +* `so-master.py`: the master script managing the simulations in the background. |
| 20 | +* `so/api.py`: the API required for the web interface. |
| 21 | + |
| 22 | +### Run using Docker |
| 23 | + |
| 24 | +Run using [Docker](https://www.docker.com/) containers, recommended, make sure to set the required |
| 25 | +content in the `.env` file, or by using the option `--env-file`, for example to use the `.env.local` run: |
| 26 | + |
| 27 | + sim-ops$ docker compose --env-file .env.local build |
| 28 | + sim-ops$ docker compose --env-file .env.local up |
| 29 | + # mcs is available from http://localhost:8080 |
| 30 | + |
| 31 | +In case you are running behind a reverse proxy, firewall, or any similar setting you may need to update the values |
| 32 | +described in `.env.local` to your needs. |
| 33 | + |
| 34 | +### Run from the command line |
| 35 | + |
| 36 | +A Python (version 3.11 recommended) needs to be available, the list of required packages is available from `sim-ops-lib/requirements.txt` file. |
| 37 | + |
| 38 | +**Note** A MQTT service, e.g. [Eclipse Mosquitto](https://mosquitto.org/) to run the scripts from a command line, check `containers/mqtt/config/mosquitto.conf` for an example configuration |
| 39 | + |
| 40 | +Once an MQTT is running and reachable and all the requirements installed, run: |
| 41 | + |
| 42 | + sim-ops$ cd sim-ops-lib |
| 43 | + |
| 44 | + # run master script |
| 45 | + sim-ops-lib$ python so-master.py |
| 46 | + |
| 47 | + # run api |
| 48 | + sim-ops-lib$ uvicorn so.api:app |
| 49 | + |
| 50 | + sim-ops$ cd sim-ops-mcs |
| 51 | + |
| 52 | + # run mcs |
| 53 | + sim-ops-mcs$ npm run dev |
| 54 | + |
| 55 | +Running Python lib tests: |
| 56 | + |
| 57 | + $ cd sim-ops-lib |
| 58 | + sim-ops-lib$ pytest |
| 59 | + |
| 60 | +### The Sim-Ops Team |
| 61 | + |
| 62 | +Nuno Carvalho, Peter Stöferle, Adrian Calleja, Vladimir Zelenevskiy, Rodrigo Laurinovics, Marcin Kovalevskij, Tim Oerther, Frederik Dall'Omo and David Evans. |
| 63 | + |
| 64 | +### Acknowledgements |
| 65 | + |
| 66 | +MCS UI theme based on HUD Vue by Sean Ngu. |
0 commit comments