Exercício – Instalar o runtime do IoT Edge para Linux

Concluído

Antes de começar, você precisará do seguinte:

Criar recursos de nuvem

Criar um grupo de recursos

Execute as etapas a seguir no ambiente do Azure Cloud Shell.

  1. Selecione 'Bash' na parte superior esquerda como o ambiente do Cloud Shell.

  2. Adicione a extensão de IoT do Azure à instância do Cloud Shell.

    az extension add --name azure-iot
    
  3. Crie um grupo de recursos na localização eastus2 usando o comando a seguir. Dê um nome ao grupo de recursos.

    az group create --name <resource-group-name> --location eastus2   
    

Criar um dispositivo IoT Edge no hub IoT

  1. Crie um hub IoT de Camada F1 usando o comando a seguir. Dê um nome ao hub IoT e substitua-o pelo seu grupo de recursos.

    az iot hub create --resource-group <resource-group-name> --name <iot-hub-name> --sku F1 --partition-count 2  
    
  2. Um dispositivo precisa ser registrado no Hub IoT antes de se conectar. Execute o comando a seguir para criar uma identidade do dispositivo no hub IoT. Dê um nome ao dispositivo IoT e substitua-o pelo hub IoT.

    az iot hub device-identity create --hub-name <iot-hub-name> --device-id <device-id>
    

Instalar o IoT Edge para Linux

Observação

Acesse a página da Microsoft caso deseje saber mais sobre como instalar o IoT Edge para Linux.

  1. Abra o terminal no computador Linux.

  2. Instale a configuração do repositório que corresponde ao sistema operacional do seu dispositivo.

    Ubuntu Server 18.04:

    curl https://packages.microsoft.com/config/ubuntu/18.04/multiarch/prod.list > ./microsoft-prod.list
    
  3. Copie a lista gerada para o diretório sources.list.d.

    sudo cp ./microsoft-prod.list /etc/apt/sources.list.d/
    
  4. Instale a chave pública do Microsoft GPG.

    curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
    sudo cp ./microsoft.gpg /etc/apt/trusted.gpg.d/
    

Instalar um mecanismo de contêiner

O Azure IoT Edge depende de um runtime de contêiner compatível com OCI. Para cenários de produção, recomendamos que você use o mecanismo Moby. Esse é o único mecanismo de contêiner com suporte oficial do Azure IoT Edge. Imagens de contêiner do docker CE/EE são compatíveis com o runtime Moby.

  1. Atualize as listas de pacotes no dispositivo.

    sudo apt-get update
    
  2. Instale o mecanismo de Moby.

    sudo apt-get install moby-engine
    

Se receber erros ao tentar instalar o mecanismo de contêiner Moby, verifique a compatibilidade de seu kernel Linux com o Moby. Alguns fabricantes de dispositivos inseridos fornecem imagens de dispositivos que contêm kernels Linux personalizados sem os recursos necessários para compatibilidade com mecanismos de contêiner. Execute o seguinte comando, que usa o script check-config fornecido pelo Moby, para verificar a configuração do kernel:

curl -sSL https://raw.githubusercontent.com/moby/moby/master/contrib/check-config.sh -o check-config.sh
chmod +x check-config.sh
./check-config.sh

Na saída do script, verifique se todos os itens em Generally Necessary e Network Drivers estão habilitados. Se algum recurso estiver faltando, habilite-o compilando novamente o kernel da origem e selecionando os módulos associados para inclusão no .config do kernel apropriado. De maneira semelhante, se estiver usando um gerador de configuração de kernel como defconfig ou menuconfig, localize e habilite os respectivos recursos e recompile o kernel. Depois de implantar o kernel recém-modificado, execute o script check-config novamente para verificar se todos os recursos necessários foram habilitados com êxito.

Instalar o daemon de segurança do IoT Edge

O daemon de segurança do IoT Edge fornece e mantém padrões de segurança no dispositivo IoT Edge. O daemon é iniciado a cada inicialização e inicializa o dispositivo iniciando o restante do runtime do IoT Edge.

  1. Atualize as listas de pacotes no dispositivo.

    sudo apt-get update
    
  2. Verifique quais versões do IoT Edge estão disponíveis.

    apt list -a iotedge
    
  3. Instale a versão mais recente do daemon de segurança e use o seguinte comando que também instala a versão mais recente do pacote libiothsm-std:

    sudo apt-get install iotedge
    

Provisionar o dispositivo com sua identidade de nuvem

Autenticar-se com chaves simétricas

Neste ponto, o runtime do IoT Edge está instalado em seu dispositivo Linux e você precisa provisionar o dispositivo com as informações de autenticação e a identidade de nuvem dele.

Esta seção descreve as etapas para provisionar um dispositivo com a autenticação de chave simétrica. Você deve ter registrado o dispositivo no Hub IoT e recuperado a cadeia de conexão nas informações do dispositivo.

No dispositivo IoT Edge, abra o arquivo de configuração.

sudo nano /etc/iotedge/config.yaml

Encontre as configurações de provisionamento do arquivo e remova a marca de comentário da seção Configuração de provisionamento manual usando uma cadeia de conexão, caso isso ainda não tenha sido feito.

```toml
# Manual provisioning configuration using a connection string
provisioning:
  source: "manual"
  device_connection_string: "<ADD DEVICE CONNECTION STRING HERE>"
```

Atualizar o valor de device_connection_string com a cadeia de caracteres de conexão do dispositivo IoT Edge. Verifique se todas as outras seções de provisionamento foram comentadas. Verifique se a linha provisionamento: não tem nenhum espaço em branco precedente e se os itens aninhados são recuados em dois espaços.

Para colar o conteúdo da área de transferência no Nano, selecione SHIFT + botão direito do mouse, clique ou pressione SHIFT + INSERT.

Salve e feche o arquivo.

CTRL + X`, `Y`, `Enter

Depois de inserir as informações de provisionamento no arquivo de configuração, reinicie o daemon:

sudo systemctl restart iotedge

Verificar configuração bem-sucedida

Verifique se o runtime foi instalado e configurado com êxito em seu dispositivo IoT Edge.

Verifique se o serviço do sistema do IoT Edge está sendo executado.

sudo systemctl status iotedge