Övning – Installera IoT Edge-körning för Linux

Slutförd

Innan du börjar behöver du följande:

Skapa molnresurser

Skapa en resursgrupp

Utför följande steg i Azure Cloud Shell-miljön.

  1. Välj Bash längst upp till vänster som miljö för Cloud Shell.

  2. Lägg till Azure IoT-tillägget i Cloud Shell-instansen.

    az extension add --name azure-iot
    
  3. Skapa en resursgrupp på platsen eastus2 med hjälp av följande kommando. Ge resursgruppen ett namn.

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

Skapa en IoT Edge-enhet i IoT-hubben

  1. Skapa en IoT Hub på F1-nivå med hjälp av följande kommando. Ge IoT Hub ett namn och ersätt det med din resursgrupp.

    az iot hub create --resource-group <resource-group-name> --name <iot-hub-name> --sku F1 --partition-count 2  
    
  2. En enhet måste vara registrerad med din IoT Hub innan den kan ansluta. Kör följande kommando för att skapa en enhetsidentitet i din IoT Hub. Ge IoT-enheten ett namn och ersätt den med din IoT Hub.

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

Installera IoT Edge för Linux

Kommentar

Gå till Microsoft-sidan om du vill veta mer om hur du installerar IoT Edge för Linux.

  1. Öppna terminalen på din Linux-dator.

  2. Installera lagringsplatsens konfiguration som matchar enhetens operativsystem.

    Ubuntu Server 18.04:

    curl https://packages.microsoft.com/config/ubuntu/18.04/multiarch/prod.list > ./microsoft-prod.list
    
  3. Kopiera den genererade listan till katalogen sources.list.d.

    sudo cp ./microsoft-prod.list /etc/apt/sources.list.d/
    
  4. Installera den offentliga Microsoft GPG-nyckeln.

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

Installera en containermotor

Azure IoT Edge förlitar sig på en OCI-kompatibel containerkörning. För produktionsscenarier rekommenderar vi att du använder Moby-motorn. Moby-motorn är den enda containermotorn som stöds officiellt med Azure IoT Edge. Docker CE/EE-containeravbildningar är kompatibla med Moby-körningen.

  1. Uppdatera paketlistor på enheten.

    sudo apt-get update
    
  2. Installera Moby-motorn.

    sudo apt-get install moby-engine
    

Om du får fel när du installerar Moby-containermotorn kontrollerar du Linux-kerneln för Moby-kompatibilitet. Vissa inbäddade enhetstillverkare skickar enhetsavbildningar som innehåller anpassade Linux-kärnor utan de funktioner som krävs för containermotorns kompatibilitet. Kör följande kommando, som använder check-config-skriptet som tillhandahålls av Moby, för att kontrollera kernelkonfigurationen:

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

Kontrollera att alla objekt under Generally Necessary och Network Drivers är aktiverade i skriptets utdata. Om du saknar funktioner aktiverar du dem genom att återskapa kerneln från källan och välja de associerade modulerna som ska ingå i lämplig kernel.config. På samma sätt, om du använder en kernelkonfigurationsgenerator som defconfig eller menuconfig, letar du upp och aktiverar respektive funktioner och återskapar kerneln i enlighet med detta. När du har distribuerat den nyligen ändrade kerneln kör du check-config-skriptet igen för att kontrollera att alla nödvändiga funktioner har aktiverats.

Installera IoT Edge-säkerhetsdaemonen

IoT Edge-säkerhetsdaemonen tillhandahåller och upprätthåller säkerhetsstandarder på IoT Edge-enheten. Daemonen startar vid varje start och startar enheten genom att starta resten av IoT Edge-körningen.

  1. Uppdatera paketlistor på enheten.

    sudo apt-get update
    
  2. Kontrollera vilka versioner av IoT Edge som är tillgängliga.

    apt list -a iotedge
    
  3. Installera den senaste versionen av säkerhetsdaemonen och använd följande kommando som även installerar den senaste versionen av paketet libiothsm-std :

    sudo apt-get install iotedge
    

Etablera enheten med dess molnidentitet

Autentisera med symmetriska nycklar

Nu är IoT Edge-körningen installerad på din Linux-enhet och du måste etablera enheten med dess molnidentitet och autentiseringsinformation.

Det här avsnittet går igenom stegen för att etablera en enhet med symmetrisk nyckelautentisering. Du bör ha registrerat enheten i IoT Hub och hämtat anslutningssträng från enhetsinformationen.

Öppna konfigurationsfilen på IoT Edge-enheten.

sudo nano /etc/iotedge/config.yaml

Leta reda på konfigurationerna för filen och ta bortkommenteringen av konfigurationen för manuell etablering med hjälp av ett anslutningssträng avsnitt, om det inte redan är okommenterat.

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

Uppdatera värdet för device_connection_string med anslutningssträng från din IoT Edge-enhet. Se till att andra etableringsavsnitt kommenteras ut. Se till att etableringen: raden inte har något föregående blanksteg och att kapslade objekt är indragna med två blanksteg.

Om du vill klistra in Innehållet i Urklipp i Nano Shift+Right klickar eller trycker du på Skift+Insert.

Spara och stäng filen.

CTRL + X`, `Y`, `Enter

När du har angett etableringsinformationen i konfigurationsfilen startar du om daemonen:

sudo systemctl restart iotedge

Kontrollera att konfigurationen har slutförts

Verifiera att körningen har installerats och konfigurerats korrekt på din IoT Edge-enhet.

Kontrollera att IoT Edge-systemtjänsten körs.

sudo systemctl status iotedge