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

Concluído

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

  • Uma assinatura do Microsoft Azure. Se você ainda não tiver um, você pode se inscrever para uma avaliação gratuita em https://azure.microsoft.com/free . Se você for um estudante, inscreva-se em uma conta Azure for Students.

Criar recursos na nuvem

Criar um grupo de recursos

Execute as seguintes etapas no ambiente do Azure Cloud Shell.

  1. Selecione 'Bash' no canto superior esquerdo como o ambiente para o seu Cloud Shell.

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

    az extension add --name azure-iot
    
  3. Crie um grupo de recursos no local eastus2 usando o comando a seguir. Dê um nome ao seu 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 seu 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 deve ser registrado no Hub IoT antes de se conectar. Execute o seguinte comando para criar uma identidade de dispositivo no seu Hub IoT. Dê um nome ao seu dispositivo IoT e substitua-o pelo seu 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

Vá para a página Microsoft, se quiser saber mais sobre como instalar o IoT Edge para Linux.

  1. Abra o terminal no seu 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 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 motor de contentor

O Azure IoT Edge depende de um tempo de execução de contêiner compatível com OCI. Para cenários de produção, recomendamos que você use o mecanismo Moby. O mecanismo Moby é o único mecanismo de contêiner oficialmente suportado com o Azure IoT Edge. As imagens de contêiner do Docker CE/EE são compatíveis com o tempo de execução do Moby.

  1. Atualize as listas de pacotes no seu dispositivo.

    sudo apt-get update
    
  2. Instale o motor Moby.

    sudo apt-get install moby-engine
    

Se você receber erros ao instalar o mecanismo de contêiner Moby, verifique se o kernel Linux é compatível com Moby. Alguns fabricantes de equipamentos incorporados fornecem imagens de dispositivos que contêm kernels Linux personalizados sem as funcionalidades necessárias para a compatibilidade do motor de contentores. 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 você estiver faltando recursos, habilite-os reconstruindo seu kernel a partir do código-fonte e selecionando os módulos associados para inclusão no .configapropriado do kernel. Da mesma forma, se você estiver usando um gerador de configuração do kernel como defconfig ou menuconfig, encontre e habilite os respetivos recursos e reconstrua seu kernel de acordo. Depois de implantar seu 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 em cada inicialização e inicializa o dispositivo iniciando o restante do tempo de execução do IoT Edge.

  1. Atualize as listas de pacotes no seu 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, use o seguinte comando que também instala a versão mais recente do pacote de libiothsm-std:

    sudo apt-get install iotedge
    

Provisionar o dispositivo com sua identidade na nuvem

Autenticar com chaves simétricas

Neste ponto, o tempo de execução do IoT Edge está instalado em seu dispositivo Linux e você precisa provisionar o dispositivo com sua identidade na nuvem e informações de autenticação.

Esta seção percorre as etapas para provisionar um dispositivo com autenticação de chave simétrica. Você deve ter registado o seu dispositivo no Hub IoT e recuperado a cadeia de ligação das 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 descomente a configuração de provisionamento manual de usando uma seção de de cadeia de conexão, se ela ainda não tiver sido comentada.

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

Atualize o valor de device_connection_string com a string de ligação do seu dispositivo IoT Edge. Certifique-se de que todas as outras seções de provisionamento sejam comentadas. Verifique se a linha de provisionamento : não tem espaço em branco anterior e se os itens aninhados são recuados por dois espaços.

Para colar o conteúdo da área de transferência no Nano Shift+Right, 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 a configuração bem-sucedida

Verifique se o tempo de execução foi instalado e configurado com êxito em seu dispositivo IoT Edge.

Verifique se o serviço do sistema IoT Edge está em execução.

sudo systemctl status iotedge