Giter Club home page Giter Club logo

fse-trab-2-client's Introduction

Projeto 2 - 2020/2 - FSE

Aluno: Elias Bernardo Marques Magalhães Matrícula: 150/009011

Este trabalho tem por objetivo a criação de um sistema distribuído de automação residencial para monitoramento e acionamento de sensores e dispositivos. O sistema deve ser desenvolvido para funcionar em um conjunto de placas Raspberry Pi com um servidor central responsável pelo controle e interface com o usuário e servidores distribuídos para leitura e acionamento dos dispositivos. Dentre os dispositivos envolvidos estão o monitoramento de temperatura, sensores de presença, sensores de abertura e fechamento de portas e janelas, acionamento de lâmpadas, aparelhos de ar-condicionado e alarme.

Compilação e utilização

Instruções mais detalhadas se encontram no readme das pastas central/ e distribuido/

Detalhes da implementação

Sockets

A implementação dos sockets foi feita de forma bi-direcional, sendo aberto um socket no servidor central que fica aguardando o servidor distribuido se conectar, mantendo a conexão aberta enquanto ambos estiverem rodando.

As mensagens são enviadas utilizando o seguinte formato:

"evento";"payload"

Sendo evento o nome do evento que especifica o tipo da mensagem, e payload o conteúdo. Ambos os servidores fazem o parse das mensagens com a função strtok e, a partir do evento, jogam as mensagens para seus respectivos event handlers (numa ideia de pub-sub).

Sensores

Para a detecção de input ou não dos sensores, é utilizado o wiringPiSR, sendo criada uma trhread apenas para as interrupções

fse-trab-2-client's People

Contributors

ebmm01 avatar

Watchers

James Cloos avatar  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.