Introdução

Concluído

A criação e a execução de um aplicativo em dispositivos IoT (Internet das Coisas) de microcontrolador podem ser desafiadoras. Esses desafios podem variar da facilidade de desenvolvimento até a captura e transferência de dados de maneira segura para um servidor.

Com o Azure Sphere, você pode criar soluções de IoT seguras por padrão com a confiança de que seu dispositivo, seu aplicativo e os dados em trânsito estão protegidos.

Você pode criar aplicativos com o Visual Studio ou com o Visual Studio Code ou pode integrá-los às cadeias de ferramentas existentes no Windows e no Linux. Os ambientes de desenvolvimento do Visual Studio e do Visual Studio Code fornecem depuradores de microcontroladores integrados e controle do código-fonte completo, juntamente com ferramentas de colaboração e produtividade.

O que é o Azure Sphere

O Azure Sphere é uma solução de segurança da IoT abrangente que inclui componentes de hardware, sistema operacional e nuvem e tem a finalidade de proteger ativamente seus dispositivos, sua empresa e seus clientes.

O Azure Sphere é composto pelos seguintes componentes:

  • Os chips com certificação do Azure Sphere de parceiros de hardware incluem tecnologia interna de segurança da Microsoft para fornecer conectividade e uma raiz de hardware segura e de confiança.
  • O SO do Azure Sphere adiciona camadas de proteção e atualizações de segurança contínuas para criar uma plataforma confiável para novas experiências de IoT.
  • O Serviço de Segurança do Azure Sphere media as relações de confiança para a comunicação de dispositivo para nuvem, detecta ameaças e renova a segurança do dispositivo.

Juntos, esses componentes implementam as Sete Propriedades dos Dispositivos Altamente Seguros.

Azure Sphere end-to-end.

Arquitetura do Azure Sphere

A MCU (unidade de microcontrolador) do Azure Sphere tem três núcleos acessíveis ao desenvolvedor, um Cortex-A7 que executa um kernel Linux e dois núcleos Cortex-M4 que podem executar código bare-metal ou um sistema operacional em tempo real, como o Azure RTOS ou o FreeRTOS.

Aplicativos de alto nível executados no kernel Linux do Cortex-A7 são usados para tarefas menos sensíveis ao tempo, como estabelecer conexões de rede, negociar a segurança, atualizar o estado do dispositivo, comunicar-se com aplicativos do núcleo de tempo real e enviar mensagens de telemetria para gateways de nuvem, como o Hub IoT.

Azure Sphere architecture.

Ferramentas para desenvolvedores

Você pode desenvolver aplicativos do Azure Sphere usando Windows e Linux. No Windows, você pode usar o Visual Studio 2019 ou posterior (versão gratuita da comunidade ou melhor) ou o Visual Studio Code. No Linux, você usa o Visual Studio Code. Você pode desenvolver e depurar simultaneamente aplicativos em execução nos três núcleos.

Este módulo de aprendizado dá suporte a desenvolvedores no Linux e no Windows usando o Visual Studio Code. Se você for um usuário do Windows que se sente confortável com o uso do Visual Studio, use o Visual Studio tendo em mente que as capturas de tela do IDE incluídas neste módulo serão diferentes.

Monitoramento e controle de ambiente de laboratório para experimentos confidenciais de microbiologia

Suponha que você seja um cientista em um laboratório de microbiologia que é responsável por armazenar amostras de testes. Você deseja criar um sistema que monitora em tempo real o ambiente em que o equipamento de laboratório está. Esse sistema monitoraria as seguintes condições ambientes:

  • Pressão
  • Temperatura
  • Umidade

Anteriormente, eles eram gravados manualmente pelos assistentes de laboratório usando sensores em intervalos regulares. O registro manual das condições do ambiente é um trabalho tedioso e também propenso a erros humanos. Eventuais problemas com os sensores invalidariam os testes executados no ambiente de laboratório.

Manter as condições ambiente com precisão é essencial para gerenciar o laboratório. O laboratório precisa manter as condições certas para ajudar você a obter resultados mais precisos. Qualquer variação nas condições pode afetar a temperatura do equipamento durante o armazenamento e a manipulação das amostras, espécimes e equipamentos de laboratório. Isso pode afetar a capacidade de produzir resultados corretos e estáveis e também causar um impacto econômico na organização.

Novo sistema proposto

O novo sistema proposto teria os seguintes fatores:

  • Sensores em vários pontos dentro do laboratório.
  • O sistema deve estar protegido contra ataques, pois alguns experimentos têm confidencialidade comercial e são caros.
  • Esses sensores automatizarão a leitura das condições de pressão atmosférica, temperatura e umidade em intervalos definidos.
  • Os dados do sensor dos dispositivos serão transmitidos com segurança para a análise de tendências de dados.
  • Capacidade de controlar uma unidade de HVAC (unidade de aquecimento, ventilação e ar condicionado) para ajustar automaticamente o ambiente de acordo com os requisitos dos testes de laboratório.
  • Flexibilidade suficiente para dar suporte a futuros sensores de ambiente de laboratório mais sensíveis.

A solução deve ser criada em uma plataforma de IoT altamente segura, protegida contra ataques e bugs de software. Além disso, o sistema pode disparar uma mensagem de alarme ou de alerta para uma autoridade competente quando um dos parâmetros definidos fica fora dos intervalos esperados.

The illustration shows an Azure Sphere dashboard based on scenario.

Objetivos de aprendizagem

Neste módulo, você vai:

  • Crie um aplicativo Azure IoT Central
  • Configurar seu aplicativo do Azure Sphere para o Azure IoT Central
  • Compilar e implantar o aplicativo do Azure Sphere
  • Exibir dados do ambiente no painel do Azure IoT Central
  • Controlar um aplicativo do Azure Sphere usando as propriedades e os comandos do Azure IoT Central
  • Implantar um novo sensor de ambiente mais sensível em um núcleo de tempo real do Azure Sphere executando o Azure RTOS
  • Ler os dados do novo sensor em execução no núcleo de tempo real e enviá-los ao IoT Central

Pré-requisitos

  • Kit do Azure Sphere
  • Visual Studio Code instalado no computador
  • Capacidade de usar o Visual Studio Code
  • Git instalado no computador
  • Capacidade de usar o Git/GitHub
  • Conhecimento básico do Azure Sphere
  • Conhecimento básico do IoT do Azure