As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Configurar o fluxo de publicação de dados
O fluxo de publicação de dados usa três nós para criar um pipeline que envia seus dados industriais para a nuvem. Esse fluxo é essencial para permitir análises baseadas em nuvem, armazenamento de longo prazo e integração com outros AWS serviços. Primeiro, os dados simulados do dispositivo são enviados para o corretor SiteWise Edge MQTT. O gateway coleta os dados do corretor, o que permite a transmissão para a AWS IoT SiteWise nuvem, onde você pode aproveitar os poderosos recursos de análise e visualização.
-
Entrada de dados - Recebe dados do dispositivo de seus equipamentos industriais ou simuladores
-
Tradutor de dados para AWS IoT SiteWise - Traduz dados em AWS IoT SiteWise formato para garantir a compatibilidade com o SiteWise gateway Edge
-
Editor MQTT - publica dados no corretor SiteWise Edge MQTT, disponibilizando-os para consumidores locais e na nuvem

Configurar o nó de entrada de dados
Neste exemplo, o nó de entrada de dados usa um dispositivo simulado de turbina eólica que gera dados de velocidade do vento. Esse nó serve como ponto de entrada para seus dados industriais, sejam eles provenientes de fontes simuladas (como em nosso exemplo) ou de equipamentos industriais reais em ambientes de produção.
Usamos um formato JSON personalizado para a carga de dados a fim de fornecer uma estrutura padronizada que funciona de forma eficiente com as ferramentas de processamento locais e com o AWS IoT SiteWise serviço em nuvem. Esse formato inclui metadados essenciais, como registros de data e hora e indicadores de qualidade, juntamente com os valores reais de medição, permitindo o gerenciamento abrangente de dados e o rastreamento de qualidade em todo o pipeline. Importe o nó de injeção para receber dados simulados nesse formato JSON padronizado com registros de data e hora, indicadores de qualidade e valores.
Para obter mais informações sobre o nó de injeção Node-RED, consulte a seção Injetar
O simulador de turbina gera dados de velocidade do vento a cada segundo nesse formato JSON padronizado:
exemplo : Carga útil de dados da turbina
{ name: string, // Property name/identifier timestamp: number, // Epoch time in nanoseconds quality: "GOOD" | "UNCERTAIN" | "BAD", value: number | string | boolean }
Esse formato oferece vários benefícios:
-
O
name
campo identifica a propriedade ou medida específica, permitindo que você rastreie vários pontos de dados do mesmo dispositivo -
O
timestamp
em nanossegundos garante um rastreamento preciso do tempo para uma análise histórica precisa -
O
quality
indicador ajuda você a filtrar e gerenciar dados com base em sua confiabilidade -
O
value
campo flexível suporta diferentes tipos de dados para acomodar várias saídas de sensores
exemplo : Nodo de injeção de um simulador de turbina
[ { "id": "string", "type": "inject", "z": "string", "name": "
Turbine Simulator
", "props": [ { "p": "payload.timestamp", "v": "", "vt": "date" }, { "p": "payload.quality", "v": "GOOD", "vt": "str" }, { "p": "payload.value", "v": "$random()", "vt": "jsonata" }, { "p": "payload.name", "v": "/Renton/WindFarm/Turbine/WindSpeed
", "vt": "str" } ], "repeat": "1", "crontab": "", "once": false, "onceDelay": "", "topic": "", "x": 270, "y": 200, "wires": [ [ "string" ] ] } ]
Configurar um nó para tradução de dados
O gateway SiteWise Edge requer dados em um formato específico para garantir a compatibilidade com a AWS IoT SiteWise nuvem. O nó tradutor é um componente importante que converte seus dados de entrada no formato de AWS IoT SiteWise carga útil necessário. Essa etapa de tradução garante que seus dados industriais possam ser processados, armazenados e posteriormente analisados adequadamente no ambiente de AWS IoT SiteWise nuvem.
Ao padronizar o formato dos dados nesse estágio, você permite a integração entre seus dispositivos de ponta e o serviço de nuvem, onde você pode usar recursos de modelagem, análise e visualização de ativos. Use essa estrutura:
exemplo : Estrutura de carga útil para análise de dados SiteWise do Edge
{ "propertyAlias": "string", "propertyValues": [ { "value": { "booleanValue": boolean, "doubleValue": number, "integerValue": number, "stringValue": "string" }, "timestamp": { "timeInSeconds": number, "offsetInNanos": number }, "quality": "GOOD" | "UNCERTAIN" | "BAD", }] }
nota
Combine propertyAlias
o com sua hierarquia de tópicos do MQTT (por exemplo,/Renton/WindFarm/Turbine/WindSpeed
). Isso garante que seus dados estejam associados adequadamente à propriedade correta do ativo em AWS IoT SiteWise. Para obter mais informações, consulte o conceito de “alias de fluxo de dados” emAWS IoT SiteWise conceitos.
-
Importe o nó de função de exemplo para tradução AWS IoT SiteWise de carga útil. Essa função gerencia a conversão do seu formato de entrada padronizado para o formato AWS IoT SiteWise compatível, garantindo a formatação adequada do carimbo de data/hora, indicadores de qualidade e digitação de valores.
[ { "id": "string", "type": "function", "z": "string", "name": "Translate to SiteWise payload", "func": "let input = msg.payload;\nlet output = {};\n\noutput[\"propertyAlias\"] = input.name;\n\nlet propertyVal = {}\n\nlet timeInSeconds = Math.floor(input.timestamp / 1000);\nlet offsetInNanos = (input.timestamp % 1000) * 1000000;\n\npropertyVal[\"timestamp\"] = {\n \"timeInSeconds\": timeInSeconds,\n \"offsetInNanos\": offsetInNanos,\n};\n\npropertyVal[\"quality\"] = input.quality\n\nlet typeNameConverter = {\n \"number\": (x) => Number.isInteger(x) ? \"integerValue\" : \"doubleValue\",\n \"boolean\": (x) => \"booleanValue\",\n \"string\": (x) => \"stringValue\", \n}\nlet typeName = typeNameConverter[typeof input.value](input.value)\npropertyVal[\"value\"] = {}\npropertyVal[\"value\"][typeName] = input.value;\n\noutput[\"propertyValues\"] = [propertyVal]\n\nreturn {\n payload: JSON.stringify(output)\n};", "outputs": 1, "timeout": "", "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 530, "y": 200, "wires": [ [ "string" ] ] } ]
-
Verifique se o JavaScript código traduz os dados da velocidade do vento corretamente. A função executa várias tarefas importantes:
-
Extrai o nome da propriedade da entrada e a define como PropertyAlias
-
Converte o timestamp de milissegundos para o formato necessário de segundos e nanossegundos
-
Preserva o indicador de qualidade para rastreamento da confiabilidade dos dados
-
Detecta automaticamente o tipo de valor e o formata de acordo AWS IoT SiteWise com os requisitos
-
-
Conecte o nó ao seu fluxo, vinculando-o entre o nó de entrada de dados e o editor do MQTT.
Para obter orientação sobre como escrever uma função específica para suas necessidades de negócios, consulte Funções de escrita
Configurar o editor MQTT
Após a tradução, os dados estão prontos para publicação no corretor SiteWise Edge MQTT.
Configure o editor do MQTT com estas configurações para enviar dados ao agente SiteWise Edge MQTT:
Para importar o nó de saída do MQTT
-
Importe um nó de configuração de saída do MQTT usando o.
"type": "mqtt out"
Os nós de saída do MQTT permitem que você compartilhe a configuração de um broker. -
Insira pares de valores-chave para obter informações relevantes sobre a conexão do agente MQTT e o roteamento de mensagens.
Importe o mqtt out
nó de exemplo.
[ { "id": "string", "type": "mqtt out", "z": "string", "name": "Publish to MQTT broker", "topic": "
/Renton/WindFarm/Turbine/WindSpeed
", "qos": "1", "retain": "", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "string", "x": 830, "y": 200, "wires": [] }, { "id": "string", "type": "mqtt-broker", "name": "emqx", "broker": "127.0.0.1", "port": "1883", "clientid": "", "autoConnect": true, "usetls": false, "protocolVersion": "5", "keepalive": 15, "cleansession": true, "autoUnsubscribe": true, "birthTopic": "", "birthQos": "0", "birthPayload": "", "birthMsg": {}, "closeTopic": "", "closePayload": "", "closeMsg": {}, "willTopic": "", "willQos": "0", "willPayload": "", "willMsg": {}, "userProps": "", "sessionExpiry": "" } ]
O exemplo de nó de saída do MQTT cria a conexão MQTT com as seguintes informações:
-
Servidor:
127.0.0.1
-
Porto:
1883
-
Protocolo:
MQTT V5
Em seguida, o nó de saída do MQTT configura o roteamento de mensagens com as seguintes informações:
-
Tópico:
/Renton/WindFarm/Turbine/WindSpeed
-
QoS:
1
Implante e verifique os nós
Depois de configurar os três nós de fluxo de publicação de dados, siga estas etapas para implantar o fluxo e verificar se os dados estão sendo transmitidos corretamente para AWS IoT SiteWise
Para implantar e verificar conexões
-
Conecte os três nós conforme mostrado no fluxo de publicação de dados.
-
Escolha Implantar para aplicar todas as alterações de conexão do nó.
-
Navegue até o AWS IoT SiteWise console
e escolha Fluxos de dados. -
Verifique se o prefixo Alias está selecionado no menu suspenso. Em seguida, pesquise o
/Renton/WindFarm/Turbine/WindSpeed
alias.
Se você ver o alias correto em sua pesquisa, você implantou o fluxo e verificou a transmissão de dados.