Tutorial: Monitorar dispositivos IoT e enviar notificações com os Aplicativos Lógicos do Azure
Use os Aplicativos Lógicos do Azure para monitorar a telemetria do dispositivo de entrada do Hub IoT e enviar notificações quando os alertas forem acionados.
As Aplicações Lógicas do Azure podem ajudá-lo a orquestrar fluxos de trabalho em serviços locais e na nuvem, várias empresas e vários protocolos. Um aplicativo lógico começa com um gatilho, que é seguido por uma ou mais ações que podem ser sequenciadas usando controles internos, como condições e iteradores. Essa flexibilidade torna o Logic Apps uma solução de IoT ideal para cenários de monitoramento de IoT. Por exemplo, a chegada de dados de um dispositivo a um ponto de extremidade do Hub IoT pode iniciar fluxos de trabalho de aplicativos lógicos para armazenar os dados em um blob de Armazenamento do Azure, enviar alertas por email para avisar sobre anomalias de dados, agendar uma visita de técnico se um dispositivo relatar uma falha e assim por diante.
Neste tutorial, vai realizar as seguintes tarefas:
Crie uma fila do Service Bus. Crie uma rota em seu hub IoT que envie mensagens para a fila do Service Bus se as mensagens contiverem leituras de temperatura anômalas. Crie um aplicativo lógico que observe as mensagens que chegam na fila e envie um alerta por e-mail.
O código do cliente em execução no dispositivo define uma propriedade de aplicativo, temperatureAlert
, em cada mensagem de telemetria enviada ao hub IoT. Quando o código do cliente deteta uma temperatura acima de um determinado limite, ele define essa propriedade como true
; caso contrário, ele define a propriedade como false
.
As mensagens que chegam ao seu hub IoT são semelhantes às seguintes, com os dados de telemetria contidos no corpo e a temperatureAlert
propriedade contida nas propriedades do aplicativo (as propriedades do sistema não são mostradas):
{
"body": {
"messageId": 18,
"deviceId": "Raspberry Pi Web Client",
"temperature": 27.796111770668457,
"humidity": 66.77637926438427
},
"applicationProperties": {
"temperatureAlert": "false"
}
}
Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.
Pré-requisitos
Prepare os seguintes pré-requisitos antes de iniciar este tutorial.
Uma subscrição ativa do Azure.
Um hub IoT em sua assinatura.
Um aplicativo cliente que envia dados de temperatura para seu hub IoT do Azure. Este tutorial filtra mensagens do dispositivo para a nuvem com base em uma propriedade de mensagem chamada
temperatureAlert
. Alguns exemplos que geram mensagens com essa propriedade incluem:- SDK do .NET: SimulatedDevice
- Java SDK: evento de envio
- Node.js SDK: simple_sample_device
- C SDK: iothub_II_client_shared_sample
- Codeless: Simulador online Raspberry Pi
Criar namespace e fila do Service Bus
Crie um espaço de nomes e uma fila do Service Bus. Mais adiante neste artigo, você cria uma regra de roteamento em seu hub IoT para direcionar mensagens que contêm um alerta de temperatura para a fila do Service Bus. Um aplicativo lógico monitora a fila de mensagens recebidas e envia uma notificação para cada alerta.
Criar um espaço de nomes do Service Bus
No portal do Azure, use a barra de pesquisa para pesquisar e selecionar Service Bus.
Selecione Criar para criar um namespace do barramento de serviço.
No painel Criar namespace, forneça as seguintes informações:
Parâmetro Value Subscrição Escolha a mesma assinatura que contém seu hub IoT. Grupo de recursos Escolha o mesmo grupo de recursos que contém seu hub IoT. Nome do namespace Forneça um nome para o namespace do barramento de serviço. O namespace deve ser exclusivo no Azure. Location Escolha o mesmo local que seu hub IoT usa. Escalão de preço Selecione Básico na lista suspensa. A camada Básica é suficiente para este tutorial. Selecione Rever + criar.
Selecione Criar.
Aguarde a conclusão da implantação e selecione Ir para recurso.
Adicionar uma fila do Service Bus ao namespace
Na página Visão geral do namespace do Service Bus, selecione Fila.
No campo Nome, forneça um nome para a fila. Aceite os valores padrão para os outros campos e selecione Criar.
No namespace do Service Bus, selecione Políticas de acesso compartilhado na seção Configurações do menu de recursos.
Selecione a política RootManageSharedAccessKey para abrir seus detalhes.
Copie o valor da cadeia de conexão primária e salve-o para usar posteriormente neste tutorial ao configurar o aplicativo lógico.
Adicionar um ponto de extremidade personalizado e uma regra de roteamento ao seu hub IoT
Adicione um ponto de extremidade personalizado para a fila do Service Bus ao seu hub IoT. Em seguida, crie uma regra de roteamento de mensagens para direcionar mensagens que contenham um alerta de temperatura para esse ponto de extremidade, onde elas são captadas pelo seu aplicativo lógico. A regra de roteamento usa uma consulta de roteamento, temperatureAlert = "true"
, para encaminhar mensagens com base no valor da propriedade do aplicativo definida pelo código do temperatureAlert
cliente em execução no dispositivo. Para saber mais, consulte Consulta de roteamento de mensagens com base nas propriedades da mensagem.
Adicionar um ponto de extremidade e uma rota personalizados
No portal do Azure, vá para seu hub IoT.
No menu de recursos em Configurações do Hub, selecione Roteamento de mensagens e, em seguida, selecione Adicionar.
Na guia Ponto de Extremidade, crie um ponto de extremidade para sua fila do Service Bus fornecendo as seguintes informações:
Parâmetro Value Tipo de ponto final Selecione Fila do Barramento de Serviço. Nome do ponto final Forneça um nome para o novo ponto de extremidade que mapeia para sua fila do Service Bus. Namespace do Service Bus Use o menu suspenso para selecionar o namespace do Service Bus que você criou na seção anterior. Fila do Service Bus Use o menu suspenso para selecionar a fila do Barramento de Serviço que você criou em seu namespace. Selecione Criar + avançar.
Na guia Rota, insira as seguintes informações para criar uma rota que aponte para o ponto de extremidade da fila do Service Bus:
Parâmetro Valor Nome Forneça um nome exclusivo para a rota. Origem de dados Mantenha a fonte de dados padrão da Mensagem de Telemetria de Dispositivo. Consulta de roteamento Insira temperatureAlert = "true"
como a cadeia de caracteres de consulta.Selecione Criar + ignorar enriquecimentos.
Configurar aplicativos lógicos para notificações
Na seção anterior, você configura seu hub IoT para rotear mensagens contendo um alerta de temperatura para a fila do Service Bus. Agora, você configura um aplicativo lógico para monitorar a fila do Service Bus e enviar uma notificação por email sempre que uma mensagem for adicionada à fila.
Criar uma aplicação lógica
No portal do Azure, procure e selecione Aplicativos Lógicos.
Selecione Adicionar para criar um novo aplicativo lógico.
Insira as seguintes informações na guia Noções básicas de Criar aplicativo lógico:
Parâmetro Value Grupo de recursos Selecione o mesmo grupo de recursos que contém seu hub IoT. Nome Forneça um nome para seu aplicativo lógico. Região Selecione um local perto de si. Tipo de plano Selecione Consumo, que é suficiente para este tutorial. Selecione Rever + criar.
Selecione Criar.
Após a conclusão da implantação, selecione Ir para o recurso para abrir seu aplicativo lógico.
Configurar o gatilho do aplicativo lógico
Na página de recursos do aplicativo lógico no portal do Azure, abra o designer do aplicativo lógico na seção Ferramentas de Desenvolvimento do menu de recursos.
No designer, role para baixo até Modelos e selecione Aplicativo lógico em branco.
Selecione a guia Todos para mostrar todos os conectores e gatilhos e, em seguida, selecione Barramento de Serviço.
Em Disparadores, selecione Quando uma ou mais mensagens chegarem em uma fila (preenchimento automático).
Crie uma conexão de barramento de serviço.
Forneça um nome de conexão e, em seguida, cole a cadeia de conexão que você copiou do namespace do Service Bus.
Selecione Criar.
Na próxima tela, use o menu suspenso para selecionar a fila que você criou no namespace do Service Bus. Em seguida, digite
175
para Contagem máxima de mensagens.
Selecione Salvar no menu do designer de aplicativo lógico para salvar suas alterações.
Configurar a ação do aplicativo lógico
Selecione Nova etapa no designer de aplicativo lógico.
Crie uma conexão de serviço SMTP.
Procure e selecione SMTP.
Selecione Enviar e-mail (V3) como a ação para esta etapa.
Forneça um nome de conexão e, em seguida, preencha o restante dos campos com as informações SMTP da conta de email que você deseja usar para enviar as mensagens de notificação.
Use os links a seguir para encontrar suas informações SMTP, dependendo do seu provedor de email:
Nota
Talvez seja necessário desativar o TLS/SSL para estabelecer a conexão. Se esse for o caso e você quiser reativar o TLS depois que a conexão for estabelecida, consulte a etapa opcional no final desta seção.
Selecione Criar.
Configure a ação Enviar e-mail .
Na lista suspensa Adicionar novo parâmetro na etapa Enviar e-mail, selecione os seguintes parâmetros:
- De
- De
- Assunto
- Corpo
Clique ou toque em qualquer lugar na tela para fechar a caixa de seleção.
Insira as seguintes informações para os parâmetros de e-mail selecionados na etapa anterior:
Parâmetro Value De O endereço de email que você configurou para a conexão SMTP. De O endereço ou endereços de e-mail para onde você deseja enviar e-mails de notificação. Assunto High temperature detected
.Corpo High temperature detected
.Se a caixa de diálogo Adicionar conteúdo dinâmico for aberta, selecione Ocultar para fechá-la. Você não usa conteúdo dinâmico neste tutorial.
Selecione Salvar para salvar a conexão SMTP.
(Opcional) Se você teve que desativar o TLS para estabelecer uma conexão com seu provedor de e-mail e deseja reativá-lo, siga estas etapas:
No painel Aplicativo lógico, em Ferramentas de Desenvolvimento, selecione Conexões de API.
Na lista de conexões de API, selecione a conexão SMTP.
No painel Conexão de API smtp, em Geral, selecione Editar conexão de API.
No painel Editar Conexão de API, selecione Habilitar SSL?, redigite a senha da sua conta de email e selecione Salvar.
Seu aplicativo lógico agora está pronto para processar alertas de temperatura da fila do Barramento de Serviço e enviar notificações para sua conta de email.
Testar a aplicação lógica
Comece a enviar mensagens de temperatura do seu dispositivo IoT para testar o pipeline de monitoramento e notificação.
Inicie o aplicativo cliente no seu dispositivo. O código do cliente gera aleatoriamente mensagens de telemetria e define a
temperatureAlert
propriedade paratrue
quando a temperatura exceder 30 C.Você deve começar a receber notificações por e-mail enviadas pelo aplicativo lógico.
Nota
O seu fornecedor de serviços de correio eletrónico poderá ter de verificar a identidade do remetente para se certificar de que é você quem envia o e-mail.
Clean up resources (Limpar recursos)
Se você não precisar mais dos recursos criados neste tutorial, exclua-os e o grupo de recursos no portal. Para fazer isso, selecione o grupo de recursos que contém seu hub IoT e selecione Excluir.
Em alternativa, utilize a CLI:
# Delete your resource group and its contents
az group delete --name <RESOURCE_GROUP_NAME>
Próximos passos
Neste tutorial, você criou um aplicativo lógico que conecta seu hub IoT e sua caixa de correio para monitoramento de temperatura e notificações.
Para continuar a começar a usar o Hub IoT do Azure e explorar todos os cenários de IoT estendidos, consulte o seguinte:
Gerenciar dispositivos com a extensão do Hub IoT do Azure para Visual Studio Code
Utilizar o Power BI para visualizar dados de sensores em tempo real do seu hub IoT
Use um aplicativo Web para visualizar dados de sensores em tempo real do seu hub IoT
Usar aplicativos lógicos para monitoramento remoto e notificações