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á.
Integre dados ao SiteWise Edge usando um gateway V3 habilitado para MQTT
Este tutorial orienta você na integração de dispositivos e sensores de terceiros que usam o protocolo de mensagens MQTT com o gateway V3 AWS IoT SiteWise habilitado para MQTT. Você aprenderá a configurar um gateway de AWS IoT SiteWise borda para coletar e monitorar dados de seus dispositivos habilitados para MQTT. AWS IoT SiteWise permite coletar, processar e monitorar dados de equipamentos industriais. Use os recursos do SiteWise Edge para otimizar as operações industriais de IoT e transformar dados brutos em insights acionáveis.
Neste tutorial, usamos dados de uma demonstração de parque eólico para ilustrar os principais conceitos. Depois de se familiarizar com o processo, você pode repetir o tutorial com seus próprios dados.
Depois de concluir este tutorial, você pode fazer os seguintes itens:
-
Configure e configure um gateway V3 habilitado para MQTT para receber dados de dispositivos industriais
-
Processe e valide as mensagens MQTT recebidas do seu equipamento na borda
-
Visualize os dados do dispositivo AWS IoT SiteWise usando uma plataforma de visualização de terceiros
-
Envie dados processados do seu gateway de borda para o Nuvem AWS para permitir armazenamento centralizado e análises adicionais
Além disso, você pode aproveitar seus recursos de gateway de borda conectando-se a outros AWS IoT serviços para realizar as seguintes tarefas:
-
Configure AWS IoT regras para rotear dados para serviços como Amazon S3
, Amazon Timestream e. AWS Lambda -
Use AWS IoT Device Defender
para gerenciar e atualizar remotamente suas configurações de gateway. -
Implemente autenticação e autorização seguras de dispositivos usando recursos AWS IoT de segurança. Para obter mais informações, consulte AWS IoT segurança no Guia do AWS IoT desenvolvedor.
-
Crie alertas e notificações automatizados com base nos dados do equipamento. Para obter mais informações, consulte Regras para AWS IoT no Guia do AWS IoT desenvolvedor.
nota
Este tutorial faz referência a serviços, ferramentas e documentação de terceiros. AWS não é fornecedor ou fornecedor de produtos ou serviços de terceiros e não pode garantir a precisão das informações de fornecedores externos. Avalie e valide todas as ferramentas de terceiros antes da implantação.
Tópicos
Pré-requisitos
Para concluir este tutorial, você precisará do seguinte:
-
Um Conta da AWS. Se você não tiver uma, consulte Configurar uma AWS conta.
-
Um usuário AWS Identity and Access Management (IAM) com permissões de administrador. Para obter mais informações, consulte Gerenciamento de identidade e acesso para AWS IoT SiteWise.
-
A versão mais recente do Python instalado em seu dispositivo.
Importante
Este tutorial requer o uso de recursos criados no tutorial de ingestão de dados. Você deve concluí-lo antes de continuar com este tutorial.
Etapa 1: criar uma AWS IoT política
Este tutorial usa a AWS IoT política que você criou no tutorial de ingestão de dados. Essa política define as regras de segurança para seus dispositivos e cria uma representação digital de seus dispositivos externos e sensores em AWS IoT. A política permite que seus dispositivos de terceiros enviem dados AWS IoT Core usando o MQTT (Message Queuing Telemetry Transport). Para ter mais informações sobre as mensagens MQTT, consulte O que é MQTT?
Essa política permite que seus AWS IoT dispositivos estabeleçam conexões e se comuniquem com sombras de dispositivos usando mensagens MQTT. Para interagir com as sombras do dispositivo, suas AWS IoT coisas publicam e recebem mensagens MQTT sobre tópicos que começam com. $aws/things/
Essa política incorpora uma variável da política de coisas conhecida como thing-name
/shadow/${iot:Connection.Thing.ThingName}
. Essa variável substitui o nome da coisa conectada em cada tópico. A instrução iot:Connect
define limitações sobre quais dispositivos podem estabelecer conexões, garantindo que a variável da política de coisas só possa substituir nomes que começam com SiteWiseTutorialDevice
.
Para obter mais informações, consulte Thing policy variables in the AWS IoT Developer Guide.
nota
Essa política se aplica a coisas cujos nomes começam com SiteWiseTutorialDevice
. Para usar um nome diferente para as coisas, é necessário atualizar a política de acordo.
Etapa 2: criar e configurar qualquer AWS IoT coisa
Nesta etapa, registre seu dispositivo de borda como uma AWS IoT coisa e gere os certificados e chaves necessários para uma comunicação segura com o AWS IoT SiteWise Edge. Esse processo estabelece a base para que seu dispositivo envie dados de terceiros por meio do gateway V3 habilitado para MQTT.
Depois de concluir essas etapas, você pode conectar seu dispositivo com segurança ao AWS IoT SiteWise Edge. Você criou um diretório local para armazenar seus certificados e chaves que você gerou para a autenticação MQTT. Seu dispositivo está registrado como AWS IoT algo no AWS IoT console
Etapa 3: Configurar seu gateway V3 compatível com SiteWise Edge MQTT
Nesta etapa, crie seu gateway V3 compatível com AWS IoT SiteWise Edge MQTT e configure-o para receber dados do agente EMQX. O gateway atua como uma ponte entre seus dispositivos AWS IoT e. Isso permite que você processe dados localmente na borda antes de enviá-los para Nuvem AWS o. Essa configuração reduz a largura de banda e diminui os atrasos no processamento na nuvem.
Etapa 4: instalar o software SiteWise Edge Gateway
Para instalar o software do gateway, use o pacote do instalador que você baixou na etapa anterior. O processo de instalação configura os componentes necessários, inicia o serviço principal do Greengrass e registra seu dispositivo com. AWS IoT Greengrass Após a conclusão da instalação, verifique se o gateway aparece no AWS IoT SiteWise console
Para obter instruções detalhadas, consulte Instale o software AWS IoT SiteWise Edge Gateway em seu dispositivo local.
Etapa 5: Configurar o agente EMQX para se conectar a aplicativos externos
nota
Você deve ter implantado seu gateway V3 compatível com SiteWise Edge MQTT antes de continuar. O gateway fornece a infraestrutura e as configurações de segurança necessárias para configurar o agente EMQX. A configuração do broker falhará sem uma implantação ativa do gateway.
Configure o agente EMQX para permitir a comunicação segura entre seus dispositivos de IoT e aplicativos externos. O agente EMQX funciona como um hub central de mensagens que roteia dados entre seus dispositivos de IoT, gateway e aplicativos. O agente EMQX garante a entrega confiável de mensagens em seu gateway e em aplicativos conectados na borda. Para obter mais informações, consulte Conecte aplicativos externos ao corretor EMQX.
Para configurar o corretor EMQX
-
Configure o corretor EMQX. Para obter instruções detalhadas de configuração, siga as etapas de 1 a 14 em Atualizar a configuração de implantação do EMQX para autenticação.
-
Configure tópicos do MQTT para monitoramento de parques eólicos. Para obter mais informações sobre os requisitos do MQTT, consulteRequisitos de tópicos do MQTT.
-
Uso da CPU:
SiteWiseTutorialDevice/cpu
-
Uso de memória:
SiteWiseTutorialDevice/memory
-
Carimbo de data/hora:
SiteWiseTutorialDevice/timestamp
-
-
Revise sua configuração e conclua a implantação.
-
Escolha Confirmar para salvar suas configurações.
-
Escolha Avançar até chegar à etapa de revisão.
-
Na página Pré-visualizar, escolha Implantar.
-
Aguarde até que a implantação seja concluída com êxito antes de continuar.
-
-
Prepare mensagens usando o formato de carga útil para enviar ao agente EMQX. Para obter mais informações sobre estruturação de cargas, consulte Atualizar a configuração de implantação do EMQX para autenticação.
-
Implemente as seguintes medidas de segurança:
-
Use a criptografia Transport Layer Security (TLS) (porta 8833) para proteger os dados em trânsito. Para obter mais informações, consulte Configure o TLS para conexões seguras com o agente EMQX no Edge AWS IoT SiteWise.
-
Configure a autenticação de nome de usuário e senha para verificar as identidades do dispositivo. Essa medida de segurança ajuda a proteger seus dados e garante que somente dispositivos autorizados possam se conectar ao seu sistema. Para obter mais informações, consulte Ativar autenticação de nome de usuário e senha.
-
O EMQX permite criar regras de autorização com base em identificadores como nome de usuário, endereço IP ou ID do cliente. Isso é útil para controlar o acesso aos seus dados. Para obter mais informações, consulte Configurar regras de autorização para o AWS IoT SiteWise Edge no EMQX.
Após a implantação bem-sucedida, seu agente EMQX está configurado e pronto para se conectar com segurança a aplicativos externos.
nota
O formato da carga útil deve seguir uma estrutura específica para que o AWS IoT SiteWise Edge processe e consuma adequadamente seus dados. Para obter mais informações sobre a estrutura necessária, consulteEstrutura de carga útil JSON.
Exemplo: adicionar cargas JSON de CPU, memória e timestamp
Carga útil da CPU JSON
{ "propertyAlias": "SiteWiseTutorialDevice/cpu", "propertyValues": [ { "quality": "GOOD", "timestamp": { "offsetInNanos": 0, "timeInSeconds": 1753206441 }, "value": { "integerValue": 45.2 } } ] }
Carga útil de memória JSON
{ "propertyAlias": "SiteWiseTutorialDevice/memory", "propertyValues": [ { "quality": "GOOD", "timestamp": { "offsetInNanos": 0, "timeInSeconds": 1753206441 }, "value": { "integerValue": 67.8 } } ] }
Carga útil JSON com carimbo de data/hora
{ "propertyAlias": "SiteWiseTutorialDevice/timestamp", "propertyValues": [ { "quality": "GOOD", "timestamp": { "offsetInNanos": 0, "timeInSeconds": 1753206441 }, "value": { "integerValue": 23.5 } } ] }
nota
Cada payload JSON deve ser publicado separadamente como uma mensagem individual. Não combine vários valores de propriedade em uma única mensagem. Envie cada carga útil de CPU, memória e timestamp como sua própria publicação MQTT distinta.
A carga define a estrutura JSON necessária que seus dispositivos de IoT devem usar para enviar dados do dispositivo por meio do agente EMQX para o Edge. SiteWise Esse formato garante que AWS IoT SiteWise você possa identificar seus dispositivos e processar as leituras do sensor. Depois de implementar essas configurações e estruturas de carga útil, seu sistema de monitoramento de parques eólicos está pronto para coletar e processar dados.
Etapa 6: publicar dados com o Mosquitto
Depois de criar seu gateway V3 habilitado para MQTT, configure o Eclipse Mosquitto para enviar dados de teste para o Edge. SiteWise O Mosquitto é um agente de mensagens MQTT de código aberto que usa o protocolo MQTT para mensagens leves entre dispositivos. O cliente Mosquitto permite que você publique mensagens em tópicos do MQTT, simulando dados de sensores de parques eólicos. Usando o Mosquitto, simule os dados do dispositivo sem precisar de serviços de terceiros ou equipamentos adicionais. Para obter mais informações, consulte a documentação
Use o cliente Mosquitto CLI para testar o corretor Edge EMQX SiteWise
-
Instale o Mosquitto em seu dispositivo local. Para obter instruções detalhadas, consulte Download Mosquitto
no site oficial do Eclipse Mosquitto. -
Para obter mais informações sobre como conectar aplicativos externos para transferir dados industriais, consulteConecte aplicativos externos ao corretor EMQX.
Importante
Certifique-se de que as configurações de conexão MQTT definidas aqui correspondam às configurações usadas no comando de publicação do Mosquitto. O host deve ser o endereço IP ou o nome do host do seu gateway SiteWise Edge. A porta normalmente é 1883 (ou 8883 se estiver usando SSL/TLS).
Use o Mosquitto para publicar dados de teste. Abra uma linha de comando e execute os seguintes comandos:
Exemplo: propriedade da CPU
mosquitto_pub -h localhost -p 1883 -t "SiteWiseTutorialDevice/cpu" -m '{ "propertyAlias": "SiteWiseTutorialDevice/cpu", "propertyValues": [ { "quality": "GOOD", "timestamp": { "timeInSeconds": 1753206441, "offsetInNanos": 0 }, "value": { "integerValue": 45.2 } } ] }'
Exemplo: propriedade de memória
mosquitto_pub -h localhost -p 1883 -t "SiteWiseTutorialDevice/memory" -m '{ "propertyAlias": "SiteWiseTutorialDevice/memory", "propertyValues": [ { "quality": "GOOD", "timestamp": { "timeInSeconds": 1753206441, "offsetInNanos": 0 }, "value": { "integerValue": 72.1 } } ] }'
Exemplo: propriedade Timestamp
mosquitto_pub -h localhost -p 1883 -t "SiteWiseTutorialDevice/timestamp" -m '{ "propertyAlias": "SiteWiseTutorialDevice/timestamp", "propertyValues": [ { "quality": "GOOD", "timestamp": { "timeInSeconds": 1753206441, "offsetInNanos": 0 }, "value": { "integerValue": 1683000000 } } ] }'
nota
O uso do localhost
endereço do corretor EMQX é apenas para fins de demonstração. Em ambientes de produção ou ao se conectar a partir de dispositivos externos, você deve usar o endereço de agente EMQX apropriado para sua configuração de implantação específica. Para obter instruções detalhadas de conexão, consulteConecte um aplicativo ao corretor EMQX no Edge AWS IoT SiteWise.
Etapa 7: especificar destinos
Nesta etapa, especifique destinos para determinar para onde direcionar seus dados de origem. Use AWS IoT SiteWise com o buffer do Amazon S3 como seu destino. Essa opção fornece uma maneira escalável de armazenar e processar seus dados de IoT.
Etapa 8: especificar filtros de caminho
Nesta etapa, configure filtros de caminho para especificar quais tópicos do MQTT devem ser monitorados para os dados do dispositivo do seu parque eólico.
Os filtros de caminho seguem a especificação curinga do tópico MQTT, que suporta dois caracteres especiais:
-
+
— Esse símbolo representa um curinga de nível único, que corresponde a qualquer string em um único nível. -
#
— Esse símbolo representa um curinga de vários níveis, que corresponde a qualquer número de níveis na hierarquia de tópicos.
nota
Para obter mais informações sobre outros filtros de caminho, consulteCaracteres especiais nos nomes dos filtros de caminho.
Etapa 9: configurar seus recursos de AWS IoT
Nesta etapa, crie os modelos e ativos de AWS IoT SiteWise ativos necessários para representar seus dispositivos simulados de terceiros e permitir a ingestão de dados por meio de seu gateway de borda.
Antes de iniciar essa etapa, você deve ter concluído as etapas 3 a 8 no tutorial de ingestão de dados. Essas etapas estabelecem os componentes fundamentais para integrar seus dados de terceiros por meio do gateway V3 habilitado para MQTT. Você também configura regras que definem como os dados do sensor fluem AWS IoT SiteWise e executa um script de cliente de dispositivo que simula dados de parques eólicos industriais.
Para validar sua configuração de recursos AWS de IoT
-
Use o AWS CLI comando a seguir para verificar se você criou e configurou corretamente seu Modelo de Dispositivo SiteWise Tutorial e Modelo de Frota de Dispositivos SiteWise Tutoriais:
aws iotsitewise describe-asset-model --asset-model-id
your-device-model-id
Use o AWS CLI comando a seguir para recuperar o ID dos seus modelos de ativos:
aws iotsitewise list-asset-models
-
Use o AWS CLI comando a seguir para verificar se você criou e configurou corretamente o ativo SiteWise Tutorial Device 1 e o ativo SiteWise Tutorial Device Fleet 1:
aws iotsitewise describe-asset --asset-id
your-asset-id
Use o AWS CLI comando a seguir para recuperar o ID dos seus ativos:
aws iotsitewise list-assets
Etapa 10: visualize seus dados
Configure a versão de código aberto do Grafana para visualizar os dados do dispositivo do seu parque eólico. Grafana é uma plataforma de visualização que exibe seus dados operacionais em tempo real. Esses painéis ajudam você a monitorar a eficiência operacional e identificar as necessidades de manutenção em toda a sua infraestrutura. Para obter mais informações sobre integração, consulteIntegre AWS IoT SiteWise com a Grafana.
Para configurar o Grafana
-
Para obter instruções sobre como baixar e instalar a versão mais recente do Grafana, consulte Instalar o Grafana no site oficial do Grafana
. -
Para obter instruções detalhadas de configuração específicas para seu sistema operacional, consulte Configurar o Grafana no site oficial
do Grafana. -
Configure a fonte de AWS IoT SiteWise dados. Isso permite que você configure o AWS IoT SiteWise plug-in no seu servidor Grafana. Para obter instruções detalhadas sobre como usar o plug-in, consulte Conecte-se a uma fonte de AWS IoT SiteWise dados no Guia do usuário do Amazon Managed Grafana.
Importante
Certifique-se de ter a versão mais recente do Grafana para compatibilidade com a fonte de AWS IoT SiteWise dados.
Depois de concluir essas etapas, você pode criar e personalizar os painéis da Grafana para exibir as métricas operacionais do seu parque eólico. Isso permite que você acompanhe e analise o desempenho do seu parque eólico na borda em tempo real.
nota
Embora este tutorial use a versão de código aberto do Grafana AWS , também oferece o Amazon Managed Grafana para ambientes de produção. O Amazon Managed Grafana é um serviço totalmente gerenciado que elimina a necessidade de instalar, configurar e manter seus próprios servidores Grafana. Considere fazer o upgrade para o Amazon Managed Grafana quando estiver pronto para escalar sua solução. Para saber mais sobre o Amazon Managed Grafana e como processar e visualizar seus dados usando ferramentas de código aberto, veja o seguinte:
-
O que é Amazon Managed Grafana? no Guia do usuário do Amazon Managed Grafana
-
Processe e visualize dados com o SiteWise Edge e ferramentas de código aberto
Você concluiu o tutorial. Neste procedimento, você configurou o AWS IoT SiteWise Edge para integrar dados de dispositivos de terceiros usando um gateway V3 habilitado para MQTT. Essa configuração permite coletar, processar e visualizar dados de equipamentos industriais na borda, reduzindo a latência e os custos operacionais. Ao usar a demonstração do parque eólico, você coletou e processou métricas operacionais, como dados de uso de CPU e memória, por meio de seu gateway V3 habilitado para MQTT.
Para aprimorar sua solução de IoT, considere explorar recursos avançados, como detecção de anomaliasDetectar anomalias com o Lookout for Equipment, aproveitando-os ou integrando-os a outros serviços, AWS como a Amazon, no Guia do QuickSight Usuário QuickSight da Amazon para análises avançadas.
Etapa 11: limpar os recursos após o tutorial
Depois de concluir este tutorial sobre a integração de dados no AWS IoT SiteWise Edge, limpe seus recursos para evitar cobranças adicionais.
Para excluir ativos hierárquicos no AWS IoT SiteWise
-
Navegue até o console do AWS IoT SiteWise
. -
No painel de navegação à esquerda, escolha Ativos.
-
Ao excluir ativos em AWS IoT SiteWise, você deve primeiro desassociá-los.
Conclua as seguintes etapas para desassociar os ativos do dispositivo do ativo da frota de dispositivos:
-
Escolha o ativo da frota do seu dispositivo (SiteWise Tutorial Device Fleet 1).
-
Escolha Editar.
-
Em Assets associated to this asset (Ativos associados a este ativo), selecione Disassociate (Desassociar) para cada ativo de dispositivo associado a esse ativo da frota de dispositivos.
-
Escolha Salvar.
nota
Os ativos do dispositivo não estão mais organizados como uma hierarquia agora.
-
-
Escolha o ativo do dispositivo (SiteWise Tutorial Device 1).
-
Escolha Excluir.
-
Na caixa de diálogo de confirmação
Delete
, insira e escolha Excluir. -
Repita as etapas de 4 a 6 para cada ativo de dispositivo e para o ativo da frota de dispositivos (SiteWise Tutorial Device Fleet 1).
Para excluir modelos hierárquicos de ativos no AWS IoT SiteWise
-
Navegue até o console do AWS IoT SiteWise
. -
Exclua seu dispositivo e os ativos da frota de dispositivos.
-
No painel de navegação à esquerda, selecione Modelos.
-
Escolha o seu modelo de ativos da frota de dispositivos (SiteWise Tutorial Device Fleet Model). Não é possível excluir um modelo se você tem ativos que foram criados usando esse modelo.
Ao excluir modelos de ativo hierárquicos, comece excluindo o modelo de ativo pai.
-
Escolha Excluir.
-
Na caixa de diálogo de confirmação
Delete
, insira e escolha Excluir. -
Repita as etapas de 4 a 6 para o modelo de ativo do dispositivo (SiteWise Tutorial Device Model).
Para desativar ou excluir uma regra no AWS IoT Core
-
Navegue até o console do AWS IoT
. -
No painel de navegação esquerdo, escolha Roteamento de mensagens e, em seguida, escolha Regras.
-
Selecione sua regra e escolha Excluir.
-
Na caixa de diálogo de confirmação, insira o nome da regra e selecione Delete.
Para excluir um bucket do Amazon S3
-
Acesse o console do Amazon S3
. -
No painel de navegação esquerdo, escolha Compartimento de uso geral.
-
Na lista de compartimentos, selecione o botão de opção ao lado do compartimento que você criou e escolha Esvaziar na parte superior da página.
-
Na caixa de diálogo de confirmação, confirme a exclusão e escolha Esvaziar.
-
Depois que o bucket estiver vazio, escolha Excluir para excluir o bucket.
-
Na caixa de diálogo de confirmação, insira o nome do seu bucket para confirmar a exclusão.
-
Escolha Excluir bucket.
Para excluir um gateway SiteWise Edge
-
Navegue até o console do AWS IoT SiteWise
. -
No painel de navegação esquerdo, escolha Edge gateways.
-
Em Gateways, escolha o gateway que você criou para este tutorial. Por exemplo, .
SiteWise Tutorial Device Gateway
-
Escolha Excluir.
-
Para confirmar que você deseja excluir o gateway, digite
Delete
na caixa de diálogo de confirmação e escolha Excluir na janela que aparece.
Para excluir sua coisa de IoT
-
Navegue até o console do AWS IoT
. -
No painel de navegação esquerdo, escolha Gerenciar e, em seguida, escolha Coisas.
-
Selecione a coisa de IoT que você criou para este tutorial. Por exemplo, .
SiteWiseTutorialDevice1
-
Escolha Excluir.
-
Na caixa de diálogo de confirmação, insira o nome da coisa e escolha Excluir.
Para desinstalar o AWS IoT Greengrass Core
Desinstale o software AWS IoT Greengrass Core do seu dispositivo local. Para obter instruções detalhadas, consulte Desinstalar o software AWS IoT Greengrass principal no Guia do AWS IoT Greengrass desenvolvedor, versão 2.
Importante
A desinstalação do Greengrass remove todas as configurações e dados locais. Certifique-se de ter feito backup de todas as informações importantes antes de continuar.
(Opcional) Para excluir recursos de terceiros
Depois de concluir este tutorial, considere desligar todos os recursos externos que você criou. Isso ajuda a evitar cobranças de fornecedores terceirizados.
Recursos adicionais
Consulte os seguintes recursos para obter mais informações: