You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

66 lines
2.5 KiB
Markdown

# dmac
## Distributed Monitoring and Control
This branch will serve as the staging ground for adding unit tests and documentation in order to finalize v0.1.0-alpha
## Table of Contents
* [Introduction](#introduction)
* [Getting Started](#getting-started)
* [Installation](#installation)
* [Usage](#usage)
* [Wiki](wiki/wiki.md)
* [Overview](wiki/wiki.md#overview)
* [Server](wiki/server.md)
* [Reactor](wiki/reactor.md)
* [Hardware](wiki/reactor.md#hardware)
* [Networking](wiki/networking.md)
* [GUI](wiki/gui.md)
* [API](wiki/api.md)
* [Future Work](wiki/future-work.md)
## Introduction
FRMS serves as both an internal framework for testing reactor designs as well as a scalable customer facing application for monitoring and control.
The project makes heavy use of low-cost yet powerful embedded systems capable of running full Linux kernels.
Examples include the [BeagleBone Black](https://beagleboard.org/black) which was heavily used in development of FRMS as well as the popular [Raspberry Pi 4](https://www.raspberrypi.com/products/raspberry-pi-4-model-b/).
For more information about the hardware used in the reactors see [here](wiki/reactor.md#hardware).
In its current state, FRMS is very bare bones and exists mostly as a proof of concept.
Quickly navigate to:
- [Getting started](#getting-started)
- [Improving the project](wiki/future-work.md)
- [More information](wiki/wiki.md)
- [Bugs/questions](https://github.com/fl-src/FRMS/issues/new)
## Getting Started
For specific information about decisions made in development see [here](wiki/wiki.md).
### Installation
The project uses a make alternative called [task](https://github.com/go-task/task) written in go for building and testing.
After using `git clone git@github.com:fl-src/FRMS.git` to clone the repository, you can then build binaries of the two commands `server` and `reactor` for testing.
The binaries will be put into the `bin/` folder and will be labeled with the platform and architecture they were built for.
**WARNING**: The reactor binary currently relies on the Linux [i2c-tools](https://archive.kernel.org/oldwiki/i2c.wiki.kernel.org/index.php/I2C_Tools.html) to interact with the i2c bus.
This may cause undefined behavior when run on a device without the tools installed. More information about this design choice can be found [here](wiki/reactor.md#i2c)
### Usage
## Technical Information
### Overview
### Reactor
### Networking
### GUI
### API
### Future Work