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
- Host: GitHub
- URL: https://github.com/giovannirizzi/centralina
- Owner: giovannirizzi
- License: mit
- Created: 2020-02-28T10:15:25.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-02-29T14:21:30.000Z (over 6 years ago)
- Last Synced: 2025-01-17T01:09:45.973Z (over 1 year ago)
- Topics: c, fifo-ipc, inter-process-communication, named-pipes, pipes, signals, syscalls, unitn, university-project
- Language: C
- Homepage:
- Size: 346 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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