Exemplo de configuração de fluxo
Um exemplo passo a passo mostrando como criar um fluxo do IoT Logic que coleta telemetria do dispositivo, calcula métricas derivadas e encaminha dados enriquecidos externamente.
Este exemplo demonstra como configurar um fluxo que coleta dados de dispositivos IoT, realiza cálculos para derivar métricas relevantes para o negócio e encaminha os dados enriquecidos para um sistema externo. O exemplo usa um padrão de fluxo linear que pode ser adaptado a vários casos de uso do setor.
Cenário de negócios
Neste cenário, uma organização implantou dispositivos GPS em seus ativos e precisa processar dados desses dispositivos para análise de negócios. A organização recebe os seguintes parâmetros diretamente de seus dispositivos de rastreamento:
velocidade: Velocidade do veículo em quilômetros por horatemperature: Temperatura ambiente em Celsiusodômetro: Distância percorrida em quilômetrosignição: Status de ignição do motor (1 = ligado, 0 = desligado)nível de combustível: Medição atual do nível de combustívelpressão_psi: Leitura de pressão em PSItensão: Tensão da bateria em voltsacelerador: Posição do pedal do acelerador no barramento CAN (0-255)nível_de_Combustível_1: Primeira medição do nível do tanque de combustívelnível_de_Combustível_2: Segunda medição do nível do tanque de combustível
A organização precisa:
Colete dados brutos de telemetria dos dispositivos para manter um registro completo das operações do ativo
Converta as unidades de medida para corresponder ao formato padrão de relatório delas (unidades imperiais) para manter a consistência com os sistemas de negócios existentes
Calcule métricas baseadas em tempo que indiquem padrões de uso para otimizar a utilização do ativo e os cronogramas de manutenção
Crie métricas derivadas para gerar insights operacionais não fornecidos diretamente pelo hardware
Encaminhe os dados enriquecidos para um sistema externo de análise para integração com plataformas de business intelligence
Envie os dados brutos inalterados para a Navixy para monitoramento
Este fluxo transforma os dados brutos do dispositivo em um formato que oferece suporte direto à tomada de decisão de negócios, mantendo a integridade das medições originais.
Etapas de configuração do fluxo
Siga estas etapas para criar um fluxo abrangente de transformação e encaminhamento de dados:
Criar um novo fluxo
Abra o IoT Logic. Na página inicial, clique Criar fluxo. Insira Processamento de telemetria do Ativo como nome do fluxo, adicione uma descrição ("Coleta dados do dispositivo, calcula métricas derivadas e encaminha para a plataforma de análise."), e verifique se a Fluxo ativado está ativada. Clique Confirmar para abrir a tela.
Configurar a Fonte de Dados
Arraste um Fonte de Dados nó do menu à esquerda para a área de trabalho
Clique duas vezes no nó para abrir o painel de configuração dele
Em Nome do nó tipo Rastreadores de Ativo
Selecione os dispositivos para incluir neste fluxo na lista filtrada
Para este exemplo, selecione pelo menos dois dispositivos com capacidades semelhantes
Salvar Aplicar para salvar a configuração do nó
Configurar transformações básicas de dados
Arraste um Iniciar Atributo nó do menu à esquerda para a área de trabalho
Conecte o Fonte de Dados nó a este Iniciar Atributo nó
Dê dois cliques no nó para abrir sua configuração
Em Nome do nó tipo Conversões de unidades
Crie os seguintes atributos para conversão de unidades (todos os exemplos usam sintaxe curta, referindo-se aos valores mais recentes dos atributos sem verificação de validade):
Adicione um novo atributo para conversão de velocidade (km/h para mph): 1. Nome do atributo: speed_mph 2. Valor:
speed/1.609Adicione um novo atributo para conversão de temperatura (Celsius para Fahrenheit): 1. Nome do atributo: temperature_F 2. Valor:
temperature*1.8 + 32Adicione um novo atributo para conversão de distância (quilômetros para milhas): 1. Nome do atributo: distance_miles 2. Valor:
Odômetro/1.609Adicione um novo atributo para conversão de pressão (PSI para Bar): 1. Nome do atributo: pressure_bar 2. Valor:
pressure_psi * 0.06895
Salvar Aplicar para salvar a configuração do nó
Criar métricas calculadas avançadas
Arraste outro Iniciar Atributo nó do menu à esquerda para a área de trabalho
Conecte o primeiro Iniciar Atributo nó a este novo
Clique duas vezes no nó para abrir sua configuração
Em Nome do nó tipo Cálculos avançados
Crie os seguintes atributos para métricas avançadas:
Adicione um atributo para detecção de variação de temperatura:
Nome do atributo: temperature_change
Valor:
value('temperature', 0, 'valid') - value('temperature', 1, 'valid')genTime('temperature', 0, 'valid')
Adicione um atributo para encontrar o tempo decorrido entre as duas últimas leituras:
Nome do atributo: time_between_readings_ms
Valor:
srvTime('speed', 0, 'valid') - srvTime('speed', 1, 'valid')Tempo de geração:
genTime('speed', 0, 'valid')
Adicione um atributo para arredondar a temperatura para o inteiro mais próximo:
Nome do atributo: temperature_rounded
Valor:
math:round(value('temperature', 0, 'valid'))
Adicionar um atributo para cálculo de valor padronizado (normalizando o nível de Combustível para 0-100%):
Nome do atributo: nivel_de_combustivel_percentual
Valor:
(value('Combustível_level', 0, 'valid') - 0) / (100 - 0) * 100
Adicione um atributo para o cálculo da porcentagem de carga da bateria:
Nome do atributo: percentual_da_bateria
Valor:
(value('voltage', 0, 'valid') - 11) / (14 - 11) * 100
Adicionar um atributo para o cálculo da posição do acelerador:
Nome do atributo: porcentagem do acelerador
Valor:
value('throttle', 0, 'valid') / 255 * 100
Adicione um atributo para o nível médio de Combustível de vários sensores:
Nome do atributo: nível_médio_de_Combustível
Valor:
(value('combustível_level_1', 0, 'valid') + value('combustível_level_2', 0, 'valid')) / 2
Salvar Aplicar para salvar a configuração do nó
Configure o Ponto de Extremidade de Saída
Arraste um Ponto de Extremidade de Saída nó do menu à esquerda para a área de trabalho
Conecte o segundo Iniciar Atributo nó a este Ponto de Extremidade de Saída nó
Clique no Nó para abrir sua configuração
Configure as seguintes configurações:
Tipo de endpoint: Ponto de extremidade MQTT
Nome do endpoint: Plataforma de análises
Protocolo: padrão Navixy Generic Protocol (JSON)
IP/Domínio: informe o endereço do sistema de destino (por exemplo, "analytics.example.com")
Porta: 8883 (padrão para MQTT, você pode deixá-lo em branco)
Ativar SSL: ativar
Versão MQTT: 5.0
ID do cliente MQTT: ativo-telemetry-client
Tópico: telemetry/assets/raw
QoS: 1
Autenticação MQTT: Sim (se exigido pelo seu sistema de destino)
Login e senha MQTT: Insira as credenciais, se aplicável
Salvar Criar para salvar a configuração do nó
Adicionar o Ponto de Extremidade de Saída padrão
Arraste um Ponto de Extremidade de Saída nó do menu à esquerda para a área de trabalho
Em Modo selecione Ponto de extremidade padrão
Salvar para salvar o comando. Clique em para aplicar a configuração do nó
Conecte o Rastreadores de Ativo (Fonte de Dados) nó a ele
Isso garante que os dados brutos sejam enviados para a Navixy diretamente dos dispositivos, sem quaisquer transformações e enriquecimentos.
Use Analisador de dados (DSA) para monitorar os dados recebidos e verificar:
Os dispositivos estão enviando dados para o fluxo
Os cálculos estão funcionando como esperado
Os dados estão sendo encaminhados para o destino. Por exemplo, vamos verificar se as conversões de velocidade estão sendo calculadas corretamente em um caminhão. Para fazer isso no DSA, selecione o Volvo dispositivo e atributos velocidade Webhook speed_mph:

Tudo certo! Os dados são recebidos e convertidos com sucesso.
Explicação das transformações de dados
Vamos examinar os principais cálculos usados neste fluxo.
Conversões básicas de unidades
O primeiro nó Iniciar Atributo realiza conversões de unidades simples:
Velocidade: Converte km/h em mph dividindo por 1,609
Temperatura: Converte Celsius em Fahrenheit usando a fórmula °F = °C × 1,8 + 32
Distância: Converte quilômetros em milhas dividindo por 1,609
Pressão: Converte PSI em Bar multiplicando por 0,06895, tornando-o compatível com padrões internacionais de medição de pressão
Essas conversões garantem consistência com formatos padrão de relatórios e tornam os dados imediatamente utilizáveis para análise. As conversões de unidades são particularmente valiosas para organizações multinacionais que operam em regiões com padrões de medição diferentes.
Cálculos avançados de métricas
O segundo nó Iniciar Atributo realiza cálculos mais complexos:
Detecção de variação de temperatura: Calcula a diferença entre as leituras atuais e anteriores de temperatura para identificar mudanças bruscas. Isso ajuda a detectar problemas de equipamento, como falhas de refrigeração em veículos de transporte ou problemas de HVAC em instalações. Por exemplo, um aumento repentino de 5°C em um contêiner refrigerado pode indicar uma falha no sistema de resfriamento que exige atenção imediata.
Tempo de geração: Ao usar
genTime('temperature', 0, 'valid')é crucial aqui porque preserva o timestamp exato em que a leitura de temperatura foi gerada pelo dispositivo, garantindo uma análise precisa das mudanças de temperatura baseada no tempo.Tempo do servidor: O valor padrão
now()captura automaticamente quando o servidor recebeu os dados. Esse timestamp não precisa ser modificado; portanto, deixe este campo vazio durante a configuração.
Tempo entre leituras: Mede o intervalo entre transmissões consecutivas de dados comparando timestamps do servidor. Esse cálculo ajuda a identificar problemas de comunicação ou validar se os dispositivos estão reportando nas frequências esperadas. Intervalos irregulares podem indicar problemas de conectividade, enquanto atrasos consistentes podem sugerir congestionamento de rede ou problemas de configuração do dispositivo.
Arredondamento de valores: Aplica arredondamento matemático às leituras de temperatura, reduzindo a precisão decimal para números inteiros. Isso simplifica a visualização de dados e os relatórios, ao mesmo tempo em que reduz os requisitos de armazenamento para dados históricos. Valores arredondados são especialmente úteis para exibições em painéis e alertas baseados em limite, quando a precisão decimal não é necessária.
Tempo de geração: Ao especificar
genTime('speed', 0, 'valid')conecta esses metadados diretamente ao timestamp da leitura original, tornando possível analisar tanto o intervalo de tempo quanto o momento em que ela ocorreu.Tempo do servidor: O valor padrão
now()captura automaticamente quando o servidor recebeu os dados. Esse timestamp não precisa ser modificado; portanto, deixe este campo vazio durante a configuração.
Cálculo de valor padronizado: Normaliza leituras brutas de sensores para uma escala percentual (0-100%). Essa padronização facilita comparar leituras entre diferentes tipos de sensor e modelos de veículos. Para gestão de frotas, isso permite relatórios consistentes do nível de combustível independentemente da implementação específica do sensor de combustível em cada modelo de veículo, possibilitando alertas uniformes de baixo combustível e análise de consumo.
Cálculo da porcentagem de carga da bateria: Normaliza leituras de tensão da bateria (faixa de 11V-14V) para uma escala de 0-100% para facilitar o monitoramento. Por exemplo, uma leitura de 12,5V seria normalizada para 50%, fornecendo um indicador intuitivo da saúde da bateria em diferentes tipos de veículos.
Cálculo da posição do acelerador: Converte dados brutos de posição do acelerador (faixa de 0-255) do barramento CAN do veículo para uma escala percentual. Essa padronização ajuda os operadores a entender rapidamente o comportamento do motorista e o desempenho do veículo sem precisar interpretar valores brutos do sensor.
Nível médio de combustível de vários sensores: Combina leituras de dois sensores de combustível separados para produzir uma medição geral do nível de combustível mais precisa. Isso é particularmente valioso para veículos com formatos de tanque complexos ou vários tanques, nos quais um único sensor pode não fornecer leituras confiáveis devido ao deslocamento do combustível durante o movimento.
Resumo do fluxo de exemplo
Esta configuração de fluxo demonstra várias capacidades importantes do IoT Logic:
Padronização: Converte leituras específicas do dispositivo em métricas de negócios padronizadas
Enriquecimento: Cria métricas novas e significativas não disponíveis diretamente nos sensores do dispositivo
Transformação: Altera unidades para atender aos requisitos de relatórios de negócios
Contexto histórico: Usa leituras anteriores para calcular métricas baseadas em tendência
Determinação de status: Cria valores categóricos com base em várias entradas de sensores
Essa combinação de capacidades transforma dados brutos do dispositivo em inteligência de negócios acionável, apoiando diretamente a tomada de decisão operacional enquanto mantém a integridade das medições originais.
Atualizado
Isto foi útil?
