Git Product home page Git Product logo

painel-nodemcu-e-node.js's Introduction


Painel NodeMCU

Painel web para placa NodeMCU e micro ESP para controle de sensores e atuadores.

Sumário
  1. Sobre
  2. Instruções
  3. Uso
  4. Licença
  5. Contato
  6. Créditos

Sobre

O Painel NodeMCU é um sistema de gerenciamento de sensores e controladores para as placas NodeMCU e para a familia de microcontroladores ESP. O sistema até o momento possui:

  • Sistema de gerenciamento e interface web para monitoramento de dados de sensores;

  • Sistema de API;

  • Banco de dados SQLite com auxilio do framework Sequelize, podendo utilizar MySQL.

A tela inicial do front-end do sistema faz uma listagem de todos os sensores cadastrados no banco de dados com a possibilidade de adicionar, deletar e visualizar o sensor.

Tela Inicial - Dashboard

A tela "Visualizar" mostra informações a respeito do sensor escolhido, contendo uma tabela com os últimos registros de coletas bem como o ultimo valor coletado do sensor. Tela Sensor - Dashboard

Instalação

Comece a instalação verificando e instalando os softwares que são pré-requisitos deste projeto. Após isso, clone o repositório em sua máquina e, depois, efetue todas as configurações necessárias seguindo o tópico "Configurando o projeto".

Pré requisitos

O projeto necessita dos seguintes softwares:

  • Node.js;
  • NPM;
  • Banco de dado MySQL.

Configurando o projeto

O primeiro passo é clonar este repositório em seu computador. Comece rodando o comando:

git clone https://github.com/lucsoliveira/Painel-NodeMCU-e-Node.JS

Após clonar este repositório em seu workspace, é necessário instalar as dependências do sistema. Basta rodar o seguinte comando dentro da pasta :

cd servidor
npm install

Com todas as dependências instaladas, evocê preferir utilizar o banco de dados MySQL, faça a alteração do banco de dados MySQL: basta editar o arquivo "app.js" e preencher com seu host, banco, usuário e senha.

Como se trata da primeira vez que se roda o sistema, é necessário criar as tabelas no banco de dados. Após o preenchimento anterior, altere a variável "primeiraUtilizacao" da linha 3 do arquivo "models.js" para o valor "true". Assim será criado as tabelas necessárias no banco. As próximas utilizações podem ser executadas com esta variável com valor "false".

Entendendo o código

O sistema foi desenvolvido tendo como base o padrão MVC. Os models do sistema estão no arquivo "models". Ja as "views", os templates, estão dentro da pasta "public". E, por fim, o "controller" se trata do arquivo "app.js", responsável pelo controle da aplicação web.

As views foram desenvolvidas utilizando de HTML, Vue.JS, JavaScript, EJS e CSS. Os componentes Vue.JS criados para a aplicação podem ser acessados dentro da pasta "public/vue".

As rotas do sistema (aplicação web e API) estão dentro da pasta "routes" do servidor.

O código-fonte do microcontrolador e as bibliotecas utilizadas para compilação no software Arduino IDE estão dentro da pasta "microcontrolador".

Executando o projeto

Após realizar o passo-a-passo do tópico anterior, é necessário executar dois processos. Um se trata da execução do servidor Node.JS, rodando a aplicação "app.js". Comece executando a aplicação web com o comando:

node app.js

Depois de rodar a aplicação Node.JS, é necessário compilar o código fonte exemplo no microcontrolador NodeMCU ou ESP8266. Antes de compilar, porém, altere a String "host_servidor" do arquivo "micro.ino" com o IP ou URL de seu servidor. Por exemplo:

String host_servidor = "http://192.168.0.136:3000";

Pronto, agora é só selecionar a placa como "NodeMCU" ou alguma outra da familia ESP no software Arduino IDE e compilar o código .ino.

Agora é só conferir o funcionamento do código do microcontrolador e acrescentar os seus sensores no sistema :)

Próximas implementações

  • Sistema de gerenciamento de atuadores (relés, acionadores, atuadores, etc.);

  • Sistema de controle inteligente entre atuadores e sensores;

  • Aplicativo móvel.

Licença

Distribuído sob a MIT License.

Contato

Lucas de Oliveira | LinkedIn

Créditos

painel-nodemcu-e-node.js's People

Contributors

lucsoliveira avatar

Watchers

 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.