An open API service indexing awesome lists of open source software.

https://github.com/giovannirizzi/centralina

Emulazione di un sistema di domotica, progetto d'esame di sistemi operativi 1
https://github.com/giovannirizzi/centralina

c fifo-ipc inter-process-communication named-pipes pipes signals syscalls unitn university-project

Last synced: about 1 month ago
JSON representation

Emulazione di un sistema di domotica, progetto d'esame di sistemi operativi 1

Awesome Lists containing this project

README

          

# Centralina
Emulazione di un sistema di domotica, progetto d'esame di Sistemi Operativi 1.
[Leggi il compito assegnato per ulteriori informazioni](LabSO--2018_2019--PROGETTI_I.pdf)

## Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

1. **Clone** this repo on your host using [Git](https://git-scm.com)

```console
$ git clone https://github.com/giovannirizzi/centralina.git
```

2. **Change** current working **directory**

```console
$ cd centralina/project
```
3. **Compile** all the executables with [GNU Make](https://www.gnu.org/software/make/)

```console
$ make build
```

## Run
All binaries are under `./bin/` folder

1. **controller**

> Used to control all the devices automatically and manage the entire system.

```console
$ ./bin/controller
```

2. **manualcontrol**

> Used to simulate manual control of devices.

```console
$ ./bin/manualcontrol
```

## Commands
- ### Controller
```
Usage: controller
available commands:
- list: show the list of available and active devices
usage:
- add: add a new device to the system
usage:
- del: remove the identified device from the system
it also remove connected devices, if its a control device
usage:
- link: connect the first device to the second
usage:
- switch: turn on/off the related switch of the device
usage:
- set: set the register of the identified device
usage:
- info: show details of the identified device
usage:
- exit: close the controller
usage:
```

- ### Manualcontrol
```
Usage: manualcontrol [COMMAND] [ARGS]
available commands:
- set: set value of the identified device
usage:
- whois: return pid of the identified device
usage:
- switch: turn on/off the identified device
usage:
- help: show available commands
usage:
```

## Authors
- **Giovanni Rizzi**
- **Omar Battan**
- **Marco Menapace**

## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details

© Centralina 2020