Painel web para placa NodeMCU e micro ESP para controle de sensores e atuadores.
Sumário
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.
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.
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".
O projeto necessita dos seguintes softwares:
- Node.js;
- NPM;
- Banco de dado MySQL.
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".
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".
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 :)
-
Sistema de gerenciamento de atuadores (relés, acionadores, atuadores, etc.);
-
Sistema de controle inteligente entre atuadores e sensores;
-
Aplicativo móvel.
Distribuído sob a MIT License.
Lucas de Oliveira | LinkedIn