Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a: IoT Edge 1.5
Importante
O IoT Edge 1.5 LTS é a versão com suporte. O IoT Edge 1.4 LTS atingirá o fim da vida útil em 12 de novembro de 2024. Se você estiver em uma versão anterior, confira Atualizar o IoT Edge.
Neste tutorial, você criará um trabalho do Azure Stream Analytics no portal do Azure e o implantará como um módulo do IoT Edge sem código extra.
Neste tutorial, você aprenderá como:
- Criar um trabalho do Azure Stream Analytics para processar dados no edge.
- Conectar o novo trabalho do Azure Stream Analytics a outros módulos do IoT Edge.
- Implante o trabalho do Azure Stream Analytics em um dispositivo IoT Edge no portal do Azure.
O módulo do Stream Analytics neste tutorial calcula a temperatura média em uma janela ininterrupta de 30 segundos. Quando a média atinge 70, o módulo envia um alerta para que o dispositivo tome medidas. Nesse caso, a medida é redefinir o sensor de temperatura simulado. Em um ambiente de produção, você pode usar essa funcionalidade para desligar um computador ou tomar medidas preventivas quando a temperatura atingir níveis perigosos.
Por que usar o Azure Stream Analytics no IoT Edge?
Muitas soluções de IoT usam serviços de análise para obter insights sobre dados quando estes chegam na nuvem vindos de dispositivos de IoT. Com o Azure IoT Edge, você move a lógica do Azure Stream Analytics para o próprio dispositivo. O processamento de fluxos de telemetria na borda reduz a quantidade de dados carregados e o tempo necessário para reagir a ideias acionáveis. O Azure IoT Edge e o Azure Stream Analytics se integram para simplificar o desenvolvimento da carga de trabalho.
O Azure Stream Analytics usa uma sintaxe de consulta estruturada para análise de dados na nuvem e em dispositivos IoT Edge. Para obter mais informações, confira a documentação do Azure Stream Analytics.
Pré-requisitos
Se você ainda não tiver uma conta do Azure, crie uma conta gratuita antes de começar.
Um dispositivo do Azure IoT Edge.
Use uma máquina virtual do Azure como um dispositivo IoT Edge seguindo as etapas no guia de início rápido para dispositivos Linux ou Windows.
Um Hub IoT na camada padrão ou gratuito no Azure.
Criar um trabalho do Azure Stream Analytics
Nesta seção, você criará um trabalho do Azure Stream Analytics que:
- Recebe dados do dispositivo IoT Edge.
- Consulta os dados de telemetria para valores fora de uma faixa definida.
- Executa uma ação no dispositivo IoT Edge com base nos resultados da consulta.
Criar uma conta de armazenamento
Ao criar um trabalho do Azure Stream Analytics para ser executado em um dispositivo IoT Edge, você precisará armazená-lo para que o dispositivo possa acessá-lo. Você pode usar uma conta de Armazenamento do Azure existente ou criar uma nova.
No portal do Azure, acesse Criar um recurso>Armazenamento>Conta de armazenamento.
Forneça os seguintes valores para criar sua conta de armazenamento:
Campo Valor Subscrição Escolha a mesma assinatura que o Hub IoT. Grupo de recursos Use o mesmo grupo de recursos para todos os recursos de teste para tutoriais e guias de inícios rápidos do IoT Edge. Por exemplo, IoTEdgeResources. Nome Forneça um nome exclusivo para sua conta de armazenamento. Localização Escolha uma localização perto de você. Mantenha os valores padrão para os outros campos e selecione Examinar + Criar.
Examine as configurações e selecione Criar.
Criar um novo trabalho
No portal do Azure, selecione:
- Criar um recurso
- Internet das Coisas no menu à esquerda
- Digite o Stream Analytics na barra de pesquisa para encontrá-lo no Azure Marketplace
- Selecione Criar e depois Trabalho do Stream Analytics no menu suspenso
Forneça os seguintes valores para criar o trabalho do Stream Analytics:
Campo Valor Nome Forneça um nome para o seu trabalho. Por exemplo, IoTEdgeJob Subscrição Escolha a mesma assinatura que o Hub IoT. Grupo de recursos Use o mesmo grupo de recursos para todos os recursos de teste criados durante os guias de início rápido e tutoriais do IoT Edge. Por exemplo, um recurso chamado IoTEdgeResources. Região Escolha um local perto de você. Ambiente de hospedagem Selecione Edge. Essa opção permite que você implante em um dispositivo do IoT Edge em vez da nuvem. Selecione Examinar + criar.
Confirme as opções e selecione Criar.
Configurar seu trabalho
Depois de criar sua tarefa do Stream Analytics no portal do Azure, configure-a com uma entrada, uma saída e uma consulta para ser executada nos dados que passam por ela.
Esta seção mostra como criar um trabalho que recebe dados de temperatura de um dispositivo IoT Edge. Ele analisa os dados em uma janela de 30 segundos sem interrupção. Se a temperatura média nessa janela ultrapassar 70 graus, a tarefa enviará um alerta para o dispositivo IoT Edge.
Observação
Especifique de onde os dados vêm e vão na próxima seção, Defina as configurações do IoT Edge ao implantar o trabalho.
Definir a entrada e a saída
Navegue até o seu trabalho do Stream Analytics no portal do Azure.
Em Topologia de trabalho, selecione Entradas e, em seguida, selecione Adicionar entrada.
Escolha Hub do Edge na lista suspensa.
Se você não vir a opção Edge Hub na lista, talvez tenha criado seu trabalho do Stream Analytics como um trabalho hospedado na nuvem. Tente criar um novo trabalho e selecione o Edge como o ambiente de hospedagem.
No painel Nova entrada, insira temperatura como o alias de entrada.
Use os valores padrão para os outros campos e selecione Salvar.
Em Topologia de trabalho, selecione Saídas e, em seguida, selecione Adicionar.
Escolha Hub do Edge na lista suspensa.
No painel Nova saída, insira alerta como o alias de saída.
Use os valores padrão para os outros campos e selecione Salvar.
Criar uma consulta
Em Topologia do trabalho, selecione Consulta.
Substitua o texto padrão pela seguinte consulta:
SELECT 'reset' AS command INTO alert FROM temperature TIMESTAMP BY timeCreated GROUP BY TumblingWindow(second,30) HAVING Avg(machine.temperature) > 70
O código SQL enviará um comando de reinicialização à saída do alerta se a temperatura média do computador em um período de 30 segundos atingir 70 graus. O comando de redefinição é preprogramado no sensor como uma ação.
Selecione Salvar consulta.
Definição das configurações do IoT Edge
Para implantar seu trabalho do Stream Analytics em um dispositivo IoT Edge, associe seu trabalho do Azure Stream Analytics a uma conta de armazenamento. Ao implantar seu trabalho, a definição de trabalho é exportada para a conta de armazenamento como um contêiner.
No serviço do Stream Analytics, no menu Configurações , selecione as configurações da conta de armazenamento.
Escolha a opção Selecionar armazenamento de blobs/ADLS Gen 2 de suas assinaturas.
A conta de armazenamento do Azure é exibida automaticamente na página. Se não aparecer um armazenamento, crie um. Caso você precise escolher uma opção de armazenamento diferente da listada no campo Conta de Armazenamento, selecione-a no menu suspenso.
Selecione Salvar se você fez alguma alteração.
Implantar o trabalho
Agora você está pronto para implantar o trabalho do Azure Stream Analytics no dispositivo do IoT Edge.
Nesta seção, você usa o assistente Definir módulos no portal do Azure para criar um manifesto de implantação. Um manifesto de implantação é um arquivo JSON que descreve todos os módulos que são implantados em um dispositivo. O manifesto também mostra os registros de contêiner que armazenam as imagens do módulo, como os módulos devem ser gerenciados e como os módulos podem se comunicar entre si. Seu dispositivo IoT Edge recupera o manifesto de implantação do Hub IoT e, em seguida, usa as informações contidas nele para implantar e configurar todos os seus módulos atribuídos.
Para este tutorial, você deve implantar dois módulos. O primeiro é SimulatedTemperatureSensor, um módulo que simula um sensor de temperatura e umidade. O segundo é o seu trabalho do Stream Analytics. O módulo do sensor fornece o fluxo de dados que a consulta do trabalho analisará.
No portal do Azure, navegue para o hub IoT.
Selecione Dispositivos no menu Gerenciamento de dispositivos e escolha o dispositivo do IoT Edge para abri-lo.
Selecione Definir módulos.
Se você implantou o módulo SimulatedTemperatureSensor neste dispositivo, talvez ele seja automaticamente preenchido. Caso contrário, adicione o módulo com as seguintes etapas:
- Escolha + Adicionar depois Módulo do IoT Edge.
- Para o nome, digite SimulatedTemperatureSensor.
- Para o URI da imagem, insira mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.5.
- Deixe as outras configurações padrão e selecione Adicionar.
Adicione o trabalho de Edge do Azure Stream Analytics com as seguintes etapas:
- Selecione +Adicionar e escolha Módulo do Azure Stream Analytics.
- Selecione sua assinatura e o trabalho de Edge do Azure Stream Analytics que você criou.
- Clique em Salvar.
Depois de salvar as alterações, os detalhes de seu trabalho do Stream Analytics serão publicados no contêiner de armazenamento que você criou.
Depois que a adição do Stream Analytics concluir a implantação, confirme se dois novos módulos aparecem na página Definir módulos.
Selecione Examinar + criar. O manifesto de implantação é exibido.
Selecione Criar.
Na página Definir módulos do dispositivo, após alguns minutos, você verá os módulos listados e em execução. Atualize a página se os módulos não aparecerem ou aguarde mais alguns minutos e atualize-a novamente.
Entender os dois novos módulos
Na guia Definir módulos do dispositivo, selecione o nome do módulo do Stream Analytics para acessar a página Atualizar módulo do IoT Edge. Aqui você pode atualizar as configurações.
A guia Configurações tem o URI da imagem que aponta para uma imagem padrão do Azure Stream Analytics. Essa imagem única é usada para cada módulo do Stream Analytics implantado em um dispositivo do IoT Edge.
A guia Configurações do Módulo Gêmeo mostra o JSON que define a propriedade do ASA (Azure Stream Analytics) chamada ASAJobInfo. O valor dessa propriedade aponta para a definição de trabalho em seu contêiner de armazenamento. Esta propriedade é como a imagem do Stream Analytics é configurada com os detalhes de seu trabalho específico.
Por padrão, o módulo Stream Analytics usa o mesmo nome que o trabalho no qual ele se baseia. Você pode alterar o nome do módulo nesta página, se desejar, mas isso não é necessário.
Selecione Aplicar se você fez alterações ou Cancelar se não fez nenhuma alteração.
Atribuir rotas aos módulos
Na página Definir módulos em device:<your-device-name>, selecione Avançar: Rotas.
Na guia Rotas, defina como as mensagens são transmitidas entre os módulos e o Hub IoT. As mensagens são construídas usando pares nome e valor.
Adicione os nomes e os valores de rota com os pares mostrados na tabela a seguir. Substitua as instâncias de
{moduleName}
pelo nome do módulo do Azure Stream Analytics. Este módulo deve ter o mesmo nome que aparece na lista de módulos do dispositivo na página Definir módulos, mostrada no portal do Azure.Nome Valor TelemetriaParaNuvem FROM /messages/modules/SimulatedTemperatureSensor/* INTO $upstream
alertsToCloud FROM /messages/modules/{moduleName}/* INTO $upstream
alertsToReset FROM /messages/modules/{moduleName}/* INTO BrokeredEndpoint("/modules/SimulatedTemperatureSensor/inputs/control")
telemetryToAsa FROM /messages/modules/SimulatedTemperatureSensor/* INTO BrokeredEndpoint("/modules/{moduleName}/inputs/temperature")
As rotas que você declara aqui definem o fluxo de dados no dispositivo do IoT Edge. Os dados de telemetria do SimulatedTemperatureSensor são enviados para o Hub IoT e para a entrada de temperatura que foi configurada no trabalho do Stream Analytics. As mensagens de saída do alerta são enviadas para o Hub IoT e para o módulo SimulatedTemperatureSensor para disparar o comando de reinicialização.
Selecione Avançar: Examinar + Criar.
Na guia Examinar + Criar, você poderá ver como as informações fornecidas no assistente são convertidas em um manifesto de implantação JSON.
Quando terminar de examinar o manifesto, selecione Criar para concluir a configuração do módulo.
Exibir dados
Acesse seu dispositivo do IoT Edge para ver a interação entre o módulo do Azure Stream Analytics e o módulo SimulatedTemperatureSensor.
Observação
Se você estiver usando uma máquina virtual para um dispositivo, use o Azure Cloud Shell para acessar diretamente todos os serviços autenticados do Azure.
Verifique se todos os módulos estão em execução no Docker:
iotedge list
Exibir todos os logs do sistema e dados de métricas. Substitua {moduleName} pelo nome do módulo do Azure Stream Analytics:
iotedge logs -f {moduleName}
Veja como o comando de redefinição afeta o SimulatedTemperatureSensor vendo os logs de sensor:
iotedge logs SimulatedTemperatureSensor
Você pode observar a temperatura do computador aumentar gradualmente até atingir 70 graus por 30 segundos. Em seguida, o módulo do Stream Analytics dispara uma redefinição e a temperatura da máquina cai para 21.
Limpar os recursos
Se você quiser continuar para o próximo artigo recomendado, mantenha os recursos e configurações criados e reutilize-os. Você também pode continuar usando o mesmo dispositivo IoT Edge como um dispositivo de teste.
Caso contrário, exclua as configurações locais e os recursos do Azure usados neste artigo para evitar encargos.
Excluir recursos do Azure
A exclusão de recursos do Azure e dos grupos de recursos é irreversível. Não exclua acidentalmente grupo de recursos ou recursos incorretos. Se você criou o Hub IoT dentro de um grupo de recursos existente que tem recursos que deseja manter, exclua apenas o recurso do Hub IoT em si, não o grupo de recursos.
Para excluir os recursos:
Entre no portal do Azure e selecione Grupos de recursos.
Selecione o nome do grupo de recursos que contém os recursos de teste do IoT Edge.
Examine a lista de recursos que seu grupo de recursos contém. Se você deseja excluir todos eles, selecione Excluir grupo de recursos. Se quiser excluir apenas alguns, clique em cada recurso para excluí-los individualmente.
Próximas etapas
Neste tutorial, você configurará um trabalho do Azure Stream Analytics para analisar dados do dispositivo IoT Edge. Você carregou o módulo do Azure Stream Analytics em seu dispositivo IoT Edge para processar e reagir a aumentos de temperatura localmente e enviou o fluxo de dados agregado para a nuvem. Para saber como o Azure IoT Edge pode ajudá-lo a criar mais soluções, experimente o próximo tutorial.