Skip to content

RockBlock MK.II Integration to Ground Station System for Space Mission Operations

Notifications You must be signed in to change notification settings

AlphaCornell/AlphaGroundStation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

AlphaGroundStation

RockBlock MK.II Integration to Ground Station System for Space Mission Operations

Overview

This is the Ground Station software for the AlphaCubesat project. It receives data from the RockBlock API, processes that data, and ships it to ElasticSearch. It is architected as a RESTful server with multiple modules, Telemetry being the only fully implemented one as of yet, with Control coming in the future. The project is developed in Visual Studio, and remotely built using GCC using Visual Studio's linux targeting features. This requires setting up a connection to a linux machine for building and running. See "Setting up the Alpha Ground Station Development Environment" section.

Dependencies

Setting up the Alpha Ground Station Development Environment

  1. Make sure you have Visual Studio 2017 or later installed (https://visualstudio.microsoft.com/)
  2. Clone this repo, and open AlphaCubesat.sln with Visual studio
  3. Navigate to Tools->Options->Cross Platform->Connection Manager
  4. Click "add", and input parameters for the desired linux machine. If your machine uses SSH keys for authentication, select "private key" as the authentication option, and provide the private key file for the user. Setup image 1
  5. Make sure dependencies are installed on the linux machine (for boost, a simple apt-get install boost will do. For the web server, download the source off gitlab, and place it in a folder under /usr/include)
  6. Navigate to Project->Properties->C/C++->General, and under "Additional Include Directories", add the file locations of your dependencies. In this example, my Boost libraries were located under /usr/include/, and web server under /usr/include/simple-web. Simply including /usr/include might work too, but will require you to navigate the files to locate the simple-web code Setup image 2
  7. Stay in the properties window, Navigate to Linker->Input, and input into "Library Dependencies" the names of libraries that need to be linked against. This will probably be: pthread, boost_system, boost_filesystem, boost_date_time which is shown in the example: Setup image 3
  8. Click "Apply" if it is not already grayed out. Then click "Ok"
  9. In the IDE, click the play button (which should display the address of the remote machine) to build and run the software. Make sure port 8080 is open on the machine, and navigate to http://<machine's address>/ping to test if the server is working properly. You can also remotely debug and view the linux console from within visual studio.

Documentation

You can use Doxygen (http://www.doxygen.nl/) to generate documentation for the source. A pdf copy is provided in this repo at: https://github.com/AlphaCornell/AlphaGroundStation/blob/master/doc_pdf.pdf

About

RockBlock MK.II Integration to Ground Station System for Space Mission Operations

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published