Índice:
- Etapa 1: Introdução ao Node-red
- Etapa 2: divisão de dados em nó vermelho
- Etapa 3: Banco de dados com Wampserver
- Etapa 4: Banco de dados
- Etapa 5: Node-red para Wampserver
- Etapa 6: usando dados de Wampserver para Node-red
- Etapa 7: Finalizando
Vídeo: UCL-IIOT - Sistema de Alarme com Banco de Dados e Node-red: 7 Passos
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
O objetivo desta construção é ensinar como conectar o Arduino com o Node-red e um banco de dados, para que você possa registrar dados e também coletá-los para uso posterior.
Para esta compilação, uso um sistema de alarme Arduino simples que gera 5 números de dados, cada um separado por uma vírgula.
Não é necessário ter essa quantidade exata de dados e o programa pode ser qualquer coisa.
A parte importante é que os dados são separados por vírgulas, como visto nesta captura de tela.
A saída poderia ser, por exemplo: "324, 0, 0, 1, 1"
(a programação finalizada e as instruções para a criação do arduino estão vinculadas na parte inferior deste tutorial)
Etapa 1: Introdução ao Node-red
Para este tutorial, presumimos que você já tenha instalado o Node-red, mas existem algumas paletas extras que são usadas neste projeto que precisamos para que funcione
Encontre o botão "Gerenciar paleta" e instale as seguintes paletas.
- node-red-dashboard
- node-red-node-mysql
- node-red-node-arduino
- node-red-node-serialport
Ele deve mostrar algumas novas paletas ao lado do menu do botão Node-red.
Etapa 2: divisão de dados em nó vermelho
Agora que o Node-red está pronto, precisamos começar dividindo nossos dados em partes separadas.
É por isso que nos certificamos de separá-los com vírgulas dentro do código do Arduino.
Primeiro, vamos começar colocando o nó de entrada do Arduino, localizado no painel esquerdo.
Você precisa ter certeza de que tem a porta serial correta (o meu usa COM4) e a taxa de transmissão (no meu programa eu uso a taxa de transmissão de 9600)
Se configurado corretamente, deve dizer que está conectado.
Em seguida, criamos um bloco de função Javascript e o conectamos após o nó de entrada do Arduino. Esse bloco nos permite programar em Javascript, e aqui escrevemos um código que pode dividir nossos dados para cada vírgula.
Neste bloco de funções, divido meus 5 dados usando o seguinte código:
var m1 = {tópico: "light1", carga útil: msg.payload.split (",") [0]}; var m2 = {tópico: "light2", carga útil: msg.payload.split (",") [1]}; var m3 = {tópico: "light3", carga útil: msg.payload.split (",") [2]}; var m4 = {tópico: "millis", carga útil: msg.payload.split (",") [3]}; var m5 = {tópico: "onoff", carga útil: msg.payload.split (",") [4]}; retorno [m1, m2, m3, m4, m5];
(altere o código conforme necessário)
Certifique-se de que o nó esteja definido para 5 saídas (ou o seu equivalente)
Conforme visto na captura de tela, agora temos 5 saídas que cada um de nós vincula a um nó de depuração e um nó de painel de texto. Isso será útil quando precisarmos vê-lo na IU.
Etapa 3: Banco de dados com Wampserver
Para que nosso banco de dados funcione, você precisa ter o Wampserver instalado. Depois de instalado e mostrado como um ícone verde (depois de iniciar todos os serviços), você deve abrir o "phpMyAdmin" que o levará a uma tela de login. alterou-o anteriormente, simplesmente insira "root" no nome de usuário e faça o login.
Pressione o botão phpmyadmin abaixo de ferramentas na barra esquerda e deve abrir o menu do banco de dados, que se parece com o mostrado na imagem acima.
Crie um novo banco de dados e nomeie-o com algo relacionado ao seu projeto, o meu se chama "sistema de alarmes" (esses nomes diferenciam maiúsculas de minúsculas)
Nesse banco de dados, crie uma nova tabela e nomeie-a, a minha é chamada de "alarmdata"
ele perguntará se você deseja usar "latin1_swedish_ci" e nós apenas o manteremos assim.
Agora você cria 6 tabelas (1 a mais do que os dados que temos)
A primeira tabela precisa usar o tipo de dados "texto longo"
e o resto do conjunto de dados usa "texto médio"
Certifique-se de nomeá-los. (o primeiro conjunto de dados deve ser denominado "tempo"
Etapa 4: Banco de dados
O conjunto de dados Wampserver deve ser parecido com isso.
(mas sem os dados reais, já que não chegamos a isso ainda)
Etapa 5: Node-red para Wampserver
Agora queremos que os dados que estamos emitindo de nosso arduino vão para nosso Wampserver.
Comece criando outro bloco de função Javascript e conecte-o ao nosso nó de entrada Arduino.
Neste bloco de script, mais uma vez dividimos nossos dados, mas também os inserimos em nosso banco de dados.
var data = msg.payload.split (","); var Green1 = data [0]; var Green2 = dados [1]; var Alarme = dados [2]; var Millis = dados [3]; var IsActive = dados [4]; var out = "INSERT INTO alarmsystem.alarmdata (Time, Green1, Green2, Alarm, Millis, IsActive) VALUES ('" + new Date (). toISOString (). slice (0, 19).replace (' T ',' ') + "', '" + Verde1 + "', '" + Verde2 + "', '" + Alarme + "', '" + Milis + "', '" + IsActive + "')"; msg.topic = out; return msg;
Observe que eu insiro "INSERT INTO alarmsystem.alarmdata", este é o nome que demos ao nosso banco de dados e tabela, certifique-se de escrever o nome exato que você deu ao seu banco de dados.
Agora conecte o bloco Javascript a um nó de depuração e também a um nó "mysql" encontrado na paleta de armazenamento no lado esquerdo.
no bloco mysql, você o nomeia da mesma forma que seu banco de dados "sistema de alarmes"
mude o usuário para "root" (o nome que usamos para fazer login em nosso servidor)
host, porta e banco de dados já devem ser preenchidos com:
Host: 127.0.0.1
Porta: 3306
Banco de dados: sistema de alarmes
Se tudo for feito corretamente, ele deve ser conectado depois de implementar suas alterações.
Você também deve ser capaz de ver que o banco de dados agora registra seus dados diretamente do Arduino.
Etapa 6: usando dados de Wampserver para Node-red
Para a reta final, queremos ver se podemos pegar os dados que salvamos e colocá-los de volta em nosso Node-red e, com sorte, exibi-los.
Comece colocando um nó "injetar"
No tópico deste nó, colocamos o código: SELECT * FROM alarmsystem.alarmdata
Isso será capaz de encontrar nosso banco de dados quando pressioná-lo.
Conecte o nó de injeção a um novo nó "mysql" configurado exatamente como o que fizemos na etapa anterior.
Conecte o nó mysql a um nó de depuração e um nó de modelo encontrado no painel.
O nó do modelo será nossa tabela que podemos atualizar para mostrar os dados do banco de dados à medida que são produzidos.
Insira o código mostrado na captura de tela acima (altere conforme necessário) e agora deve mostrar uma tabela de dados em nossa IU em Node-red.
Também podemos adicionar um botão de painel para atualizar a tabela da própria IU.
Comece criando um nó de botão.
conecte o nó do botão a um bloco de funções Javascript.
no bloco de funções, inserimos o seguinte código.
msg.topic = "SELECT * FROM alarmdata ORDER BY Green1 DESC LIMIT 20";
(Green1 sendo a primeira variável de dados na tabela)
este bloco de função então precisa ser conectado à entrada de nosso nó mysql que fizemos anteriormente nesta etapa.
Etapa 7: Finalizando
Agora nossa IU deve incluir uma atualização ao vivo de nossos dados e uma tabela com dados de nosso próprio servidor.
Isso significa que criamos uma conexão entre o Arduino, um programa baseado em IU e um banco de dados.
Se você estiver interessado em como meu sistema de alarme Arduino funciona, adicionei um documento que explica como ele é programado e configurado.
Bem como uma exportação completa da programação de nó vermelho.
Recomendado:
Como conectar o NodeMCU ESP8266 ao banco de dados MySQL: 7 etapas
Como conectar o NodeMCU ESP8266 ao banco de dados MySQL: MySQL é um sistema de gerenciamento de banco de dados relacional (RDBMS) amplamente usado que usa linguagem de consulta estruturada (SQL). Em algum ponto, você pode querer fazer o upload dos dados do sensor Arduino / NodeMCU para o banco de dados MySQL. Neste Instructable, veremos como conectar
Crie o software de banco de dados do Ms Access para preparar o salário em sua empresa: 6 etapas
Crie o software de banco de dados do Ms Access para preparar o salário em sua empresa: Vou lhe dar uma breve instrução para criar um sistema de folha de pagamento usando o MS Access para gerar salários mensais e imprimir comprovantes de salário facilmente com isso. Desta forma, você pode manter os registros de detalhes de salário de cada mês no banco de dados e pode editar ou revisar posteriormente
NODEMCU LUA ESP8266 Conectar ao banco de dados MySQL: 6 etapas
NODEMCU LUA ESP8266 Conectar ao banco de dados MySQL: Este instrutível não é para os fracos, pois usa XAMPP (Apache, MySQL e PHP), HTML e, claro, LUA. Se você está confiante em lidar com isso, continue lendo! Eu uso o XAMPP, pois ele pode ser configurado em um pen drive ou disco rígido e está configurado
Criando um banco de dados com o XAMPP: 4 etapas
Criando um banco de dados com XAMPP: XAMPP é uma distribuição Apache totalmente gratuita contendo MariaDB, PHP e Perl. O XAMPP fornece uma interface gráfica para SQL, permitindo que você armazene informações no banco de dados que criaremos hoje. Quando comecei a usar bancos de dados para projetos
Como buscar dados de um banco de dados Firebase no NodeMCU: 7 etapas
Como buscar dados de um banco de dados Firebase no NodeMCU: para isso, vamos buscar dados de um banco de dados no Google Firebase e buscá-los usando um NodeMCU para análise posterior. REQUISITOS DO PROJETO: 1) NodeMCU ou ESP8266 Controller2) G-Mail conta para a criação de um banco de dados Firebase.3) Baixe o