Wdrażanie maszyny wirtualnej z systemem Linux z obsługą usługi IoT Edge

Ukończone

Aby przetestować konfigurację usługi IoT Edge, należy wdrożyć środowisko uruchomieniowe usługi IoT Edge na maszynie wirtualnej.

Przed wdrożeniem rzeczywistych urządzeń usługi IoT Edge w sklepach należy sprawdzić, czy urządzenia będą działać zgodnie z oczekiwaniami. Aby przetestować swój scenariusz, planujesz wdrożyć środowisko uruchomieniowe usługi IoT Edge na maszynie wirtualnej z systemem Linux platformy Azure, a następnie wdrożyć moduły usługi IoT Edge na tej maszynie wirtualnej.

W tym miejscu zapoznasz się z podstawowymi pojęciami dotyczącymi usługi IoT Edge, dowiesz się, jak urządzenie usługi IoT Edge łączy się z aplikacją usługi IoT Central oraz jak usługa IoT Central wdraża moduły usługi IoT Edge w środowisku uruchomieniowym usługi IoT Edge.

Co to jest środowisko uruchomieniowe usługi IoT Edge?

Środowisko uruchomieniowe usługi Azure IoT Edge umożliwia stosowanie logiki niestandardowej i logiki w chmurze na urządzeniach usługi IoT Edge. Środowisko uruchomieniowe znajduje się na urządzeniu usługi IoT Edge i wykonuje operacje zarządzania i komunikacji. Środowisko uruchomieniowe:

  • Instaluje i aktualizuje obciążenia na urządzeniu.
  • Zapewnia zachowanie standardów zabezpieczeń usługi Azure IoT Edge na urządzeniu.
  • Zapewnia nieprzerwane działanie modułów usługi IoT Edge.
  • Przesyła raporty o kondycji modułów do chmury na potrzeby zdalnego monitorowania.
  • Zarządza komunikacją między urządzeniami podrzędnymi i urządzeniem usługi IoT Edge między modułami na urządzeniu usługi IoT Edge, między urządzeniem usługi IoT Edge i chmurą oraz między urządzeniami usługi IoT Edge.

Co to są moduły usługi IoT Edge?

Moduły usługi IoT Edge to jednostki wykonywania, które uruchamiają logikę biznesową na brzegu sieci. Moduły są implementowane jako kontenery zgodne z platformą Docker. Wiele modułów można skonfigurować do komunikowania się ze sobą, tworząc potok przetwarzania danych. Aby zapewnić szczegółowe informacje w trybie offline i na urządzeniach brzegowych, możesz opracować moduły niestandardowe lub spakować niektóre usługi platformy Azure w moduły. Ponieważ moduły działają w kontenerach platformy Docker, zachowują się w taki sam sposób, niezależnie od tego, czy są zainstalowane na maszynie wirtualnej, czy na rzeczywistym urządzeniu.

W następnej lekcji zainstalujesz środowisko uruchomieniowe usługi IoT Edge i wdrożysz niestandardowy moduł zbierający dane środowiskowe wysyłane do usługi IoT Central. Operator usługi IoT Central może następnie monitorować warunki środowiskowe w sklepach, wyświetlając dane telemetryczne na pulpitach nawigacyjnych w aplikacji.

Jak urządzenie usługi IoT Edge łączy się z usługą IoT Central?

Urządzenia usługi IoT Edge, takie jak inne urządzenia, używają usługi IoT Hub Device Provisioning Service (DPS) do łączenia się z aplikacją usługi IoT Central. W poprzedniej lekcji po dodaniu urządzenia do aplikacji usługi IoT Central zanotujesz identyfikator zakresu, identyfikator urządzenia i klucz urządzenia. Te wartości są dodawane do pliku konfiguracji usługi IoT Edge na urządzeniu usługi IoT Edge. Odpowiednia sekcja tego pliku TOML wygląda następująco. Jest registration_id to identyfikator urządzenia:

[provisioning]
source = "dps"
global_endpoint = "https://global.azure-devices-provisioning.net"
id_scope = "YOUR_ID_SCOPE"

[provisioning.attestation]
method = "symmetric_key"
registration_id = "YOUR_DEVICE_ID"
symmetric_key = { value = "YOUR_DEVICE_KEY" }

W następnej lekcji skrypt wdrożenia używany dla urządzenia usługi IoT Edge edytuje plik konfiguracji.

Jak usługa IoT Central wdraża moduły w środowisku uruchomieniowym usługi IoT Edge?

W poprzedniej lekcji po utworzeniu szablonu urządzenia dla czujnika środowiskowego przekazano manifest wdrożenia do szablonu. Gdy środowisko uruchomieniowe usługi IoT Edge łączy się z aplikacją usługi IoT Central, pobiera manifest wdrożenia. Środowisko uruchomieniowe używa informacji w manifeście wdrożenia, aby określić, które moduły mają zostać zainstalowane i jak je skonfigurować. Moduły są pobierane z rejestru kontenerów, takiego jak Usługa Azure Container Registry lub Docker Hub.

Użyty manifest wdrożenia instaluje dwa wymagane moduły systemowe i edgeAgent edgeHub, oraz moduł niestandardowy SimulatedTemperatureSensor . Ten moduł niestandardowy wysyła dane telemetryczne otoczenia i maszyny do usługi IoT Central i ma dwie właściwości: SendData i SendInterval, których operator może użyć do skonfigurowania modułu:

{
  "modulesContent": {
    "$edgeAgent": {
      "properties.desired": {
        "schemaVersion": "1.0",
        "runtime": {
          "type": "docker",
          "settings": {
            "minDockerVersion": "v1.25",
            "loggingOptions": "",
            "registryCredentials": {}
          }
        },
        "systemModules": {
          "edgeAgent": {
            "type": "docker",
            "settings": {
              "image": "mcr.microsoft.com/azureiotedge-agent:1.4",
              "createOptions": "{}"
            }
          },
          "edgeHub": {
            "type": "docker",
            "status": "running",
            "restartPolicy": "always",
            "settings": {
              "image": "mcr.microsoft.com/azureiotedge-hub:1.4",
              "createOptions": "{}"
            }
          }
        },
        "modules": {
          "SimulatedTemperatureSensor": {
            "version": "1.0",
            "type": "docker",
            "status": "running",
            "restartPolicy": "always",
            "settings": {
              "image": "mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.4.6",
              "createOptions": "{}"
            }
          }
        }
      }
    },
    "$edgeHub": {
      "properties.desired": {
        "schemaVersion": "1.0",
        "routes": {
            "route": "FROM /* INTO $upstream"
        },
        "storeAndForwardConfiguration": {
          "timeToLiveSecs": 7200
        }
      }
    },
    "SimulatedTemperatureSensor": {
      "properties.desired": {
           "SendData": true,
           "SendInterval": 10
      }
    }
  }
}

Wdrażanie usługi IoT Edge na maszynie wirtualnej

1.

Jak urządzenie usługi IoT Edge łączy się z usługą IoT Central?

2.

Skąd pobierają moduły urządzenia usługi IoT Edge?