Git Product home page Git Product logo

mrrvm / scdtr Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 21.12 MB

Distributed Lighting Control using Consensus algorithm and a C++ server to get statistics.

Home Page: https://www.youtube.com/watch?v=kCcOfHwZ4UE&feature=youtu.be

License: GNU General Public License v3.0

Arduino 30.13% MATLAB 11.60% C++ 51.09% C 5.67% Python 1.35% Makefile 0.11% Shell 0.06%
electronics arduino c-plus-plus raspberry-pi-3 consensus-algorithm pid-controller boost-asio server

scdtr's Introduction

Distributed Control of Real-Time Systems (SCDTR)

This project was developed within the Distributed Control of Real-Time Systems course at IST. And has 3 contributors:

We made a cringy video showing it working.

You can check its goal in here. Or read the following summary.

SUMMARY

Given a lighting system, the objective is to distributedly control it so it maximizes the user confort and minimizes the spent energy. Here the consensus algorithm is applied to the control system to define its reference based on a network of agents. All this agents contribute to find the optimal solution or to determine infeasibility. A TCP/IP server is used to get statistics out of the network and send them to clients.

The optimization of a lighting system is a currently studied problem, you can check this references for further insight [1], [2], [3], [4]. To learn more about consensus, check this.

As a lighting system, we are using 2 luminaires. Each luminaire is composed by a LED, a fotoresistor, an arduino (used as an agent of the network) and other necessary electronics like resistors and capacitors.

This agents are connected by I2C protocol used as multi-master, so they can communicate the results of the consensus with each other. This communication is sniffed by a Raspberry Pi, that hosts a C++ server to get statistics out of the system and send them to requesting clients.

The client can also interact with the system by restaring it or setting occupancies, this is done via serial (USART converted from/to USB) connected between the raspberry Pi and one of the agents (one of the arduinos).

The network is completely scalable.

scdtr's People

Contributors

carlosaleluia avatar filmad avatar mrrvm avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.