O Node-RED, uma ferramenta de código aberto baseada na programação em fluxo contínuo, fornece aos programadores uma abordagem de programação visual flexível, permitindo IOTRouter's Gateway de computação periférica EG para se ligar facilmente a uma variedade de fontes de dados para processamento e conversão de dados. O EG Edge Computing Gateway é capaz de recolher e analisar inicialmente dados em tempo real no local onde os dados estão a ser gerados, o que reduz os requisitos de largura de banda e melhora a eficiência do processamento de dados. Também pode recolher dados através de vários protocolos (por exemplo, Modbus, MQTT, OPC UA, etc.) e efetuar a conversão e o armazenamento de dados necessários.
I. Funções básicas da porta de ligação para computação periférica EG
O EG Edge Computing Gateway desempenha o papel de camada intermédia de recolha e processamento de dados no sistema e processa de forma flexível os dados de múltiplos sensores e dispositivos para filtragem em tempo real e análise preliminar. Gateway de computação periférica EG tem as seguintes funções:
Conversão de protocolos: Suporta protocolos de transmissão de dados entre diferentes dispositivos, como Modbus, OPC UA, MQTT, etc.
Processamento e análise local: Fornece capacidade de computação para filtrar, converter e simplesmente analisar dados.
Armazenamento e transmissão de dados: Transmite dados processados através da rede para uma base de dados na nuvem ou num servidor local.
II. Mecanismo de funcionamento do Node-RED
O Node-RED fornece um editor de fluxos baseado no browser que permite aos utilizadores arrastar e largar nós para criar fluxos de processamento de dados. Cada nó tem caraterísticas de entrada e saída e é capaz de realizar tarefas específicas de processamento de dados. O Node-RED tem um suporte rico de plug-ins, como Modbus, MQTT, OPC UA, etc., o que o torna capaz de integrar várias fontes de dados.
III. Aquisição e processamento de dados
Processo de referência: recolher regularmente dados de dispositivos escravos através da porta de ligação EG e formatar os dados recolhidos num formato reconhecível pela base de dados MySQL e carregar a base de dados MySQL do próprio utilizador. Tomemos como exemplo a recolha de dados de dispositivos Modbus RTU, o fluxo de operação é o seguinte:
1. Ligar à base de dados MySQL
Primeiro, certifique-se de que instala o nó MySQL e, em seguida, no editor Node-RED, adicione o nó MySQL e configure os parâmetros de ligação à base de dados, incluindo o anfitrião, a porta, o nome de utilizador, a palavra-passe e o nome da base de dados.
Utilize o nó MySQL para configurar os parâmetros de ligação à base de dados MySQL do utilizador, a configuração é concluída e implementada, e o ecrã ligado significa que a ligação foi bem sucedida.
2. Recolher dados dos escravos
Utilizar a aquisição de dados Modbus RTU
Configure o endereço do anfitrião e a porta do nó Modbus e especifique os registos de dados a recolher.
Crie um processo de recolha de dados para ligar o nó Modbus ao nó MySQL. Configure um nó de temporizador para acionar periodicamente a tarefa de recolha de dados para garantir dados precisos e em tempo real.
3. Formatação de dados
Quando os dados são carregados para a base de dados MySQL, têm de ser formatados na instrução SQL correta, de acordo com os requisitos do MySQL. Utilize o nó de cálculo de funções para formatar os dados. O formato de dados a ser convertido é o seguinte:
Formato dos dados de saída do nó Modbus | Descrição | Formato MySQL SQL para carregamento de dados |
{
"temp": 31.0, "hum": 45.5 } |
Converte a saída de dados do objeto do nó Modbus, à esquerda, para a instrução SQL exigida pelo MySQL, à direita. | INSERT INTO my_table (temp, hum) VALUES (25.55, 45.5); |
Código de amostra:
var data = msg.payload var sql = `INSERT INTO minha_tabela (temp, hum) VALUES(${data.temp},${data.hum});` msg.topic = sql return msg;
4. Carregamento de dados
Após a conclusão da formatação dos dados, ligar o nó de cálculo da função e o nó MySQL e clicar no nó de injeção para efetuar a recolha e o carregamento dos dados. Um teste bem sucedido pode definir o nó de injeção para ser executado periodicamente para realizar a recolha e o carregamento de dados para a base de dados MySQL em intervalos regulares.
O gateway de computação periférica EG recolhe dados em intervalos regulares e converte-os em formatos suportados por MySQL, um método que permite o processamento em tempo real e o armazenamento a longo prazo de grandes quantidades de dados de dispositivos no terreno. Melhora a eficiência do processamento de dados e pode fornecer uma base para a subsequente análise de dados e tomada de decisões. A introdução da computação periférica permite que o processamento inicial dos dados seja efectuado perto da fonte de dados, reduzindo a dependência da computação em nuvem e diminuindo a latência e o custo da transmissão de dados.
Nota: Se precisar de obter dados da base de dados MySQL, também pode carregar um nó MySQL passando uma instrução SQL de referência para a propriedade msg.topic para fazer um pedido de dados.