Alıştırma - IoT Hub ile IoT Edge arasında iletişimi ayarlama

Tamamlandı

Bu alıştırmada gerekli komutları çalıştırmak için Azure Cloud Shell'deki Azure CLI kullanılır.

Azure Cloud Shell'e bağlanmayı gösteren ekran görüntüsü.

Azure IoT uzantısını yükleme

Azure IoT uzantısını Cloud Shell örneği Azure CLI'ya ekleyin.

az extension add --name azure-iot

Not

Bu makalede Azure IoT uzantısının azure-iotadlı en yeni sürümü kullanılır. Eski sürüm olarak adlandırılır azure-cli-iot-ext. Bir kerede yalnızca bir sürümünüz yüklü olmalıdır. Hangi uzantıların yüklü olduğunu denetlemek için komutunu çalıştırın az extension list.

Uzantının eski sürümünü kaldırmak için komutunu çalıştırın az extension remove --name azure-cli-iot-ext .

Uzantının yeni sürümünü eklemek için komutunu çalıştırın az extension add --name azure-iot .

Kaynak grubu oluşturma

Aşağıdaki komutu çalıştırarak "IoTEdgeResources" adlı bir kaynak grubu oluşturun:

az group create --name IoTEdgeResources --location eastus2

Çıkış aşağıdakine benzer:

Kaynak grubu oluşturma işleminin ekran görüntüsü.

IoT hub'ı oluşturma

Aşağıdaki kod, "IoTEdgeResources" kaynak grubunda ücretsiz bir F1 katman hub'ı oluşturur. IoT hub'ınız için benzersiz bir adla {hub_name} öğesini değiştirin.

az iot hub create --resource-group IoTEdgeResources --name {hub_name} --sku F1 --partition-count 2

Not

Aboneliğinizde zaten bir ücretsiz hub olduğu için hata alırsanız SKU'yu S1 olarak değiştirin. Her abonelik yalnızca bir ücretsiz IoT hub'ına sahip olabilir. IoT hub adının kullanılamadığını belirten bir hata alırsanız bu, başka birinin bu ada sahip bir hub'ı olduğu anlamına gelir.

Bir IoT Edge cihazı kaydedin

Azure Cloud Shell'de, merkezinizde "myEdgeDevice" adlı bir cihaz oluşturmak için bu adımları izleyin.

Cihaz kimliği oluşturma

IoT Edge cihazları tipik IoT cihazlarından farklı davranır ve yönetilir. Bu kimliği IoT Edge cihazı olarak bildirmek için --edge-enabled bayrağını kullanın.

Önemli

"iothubowner ilke anahtarları" ile ilgili bir hata görürseniz Cloud Shell'inizin uzantının en son sürümünü azure-iot çalıştırdığından emin olun.

Aşağıdaki komut cihaz kimliğini oluşturur:

az iot hub device-identity create --hub-name {hub_name} --device-id myEdgeDevice --edge-enabled

Cihaz kimliği oluşturma işlemini gösteren bir çizim.

Bağlantı dizesini alma

Fiziksel cihazınızı IoT Hub'daki kimliğine bağlayan cihazınızın bağlantı dizesini almak için şu komutu kullanın:

az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name {hub_name} --output table

Çıkış aşağıdakine benzer:

HostName={YourIoTHubName}.azure-devices.net;DeviceId=MyNodeDevice;SharedAccessKey={YourSharedAccessKey}

JSON çıkışından connectionString anahtarının değerini kopyalayın ve kaydedin. Bu değer, sonraki bölümde IoT Edge çalışma zamanını yapılandırmak için kullanılan cihaz bağlantı dizesidir.

IoT Edge cihazını dağıtma

Önceden oluşturulmuş iotedge-vm-deploy şablonunu temel alarak IoT Edge cihazınızı oluşturmak için bu CLI komutunu kullanın. Komutu bir metin düzenleyicisine kopyalayın, yer tutucu metni bilgilerinizle değiştirin ve bash veya Cloud Shell pencerenize yapıştırın:

az deployment group create \
--resource-group IoTEdgeResources \
--template-uri "https://aka.ms/iotedge-vm-deploy" \
--parameters dnsLabelPrefix='<REPLACE_WITH_VM_NAME>' \
--parameters adminUsername='azureuser' \
--parameters deviceConnectionString=$(az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name
<REPLACE_WITH_HUB_NAME> -o tsv) \
--parameters authenticationType='password' \
--parameters adminPasswordOrKey="<REPLACE_WITH_PASSWORD>"

Parolanızın (adminPasswordOrKey) en az 12 karakter uzunluğunda olduğundan ve aşağıdakilerden üçünün bulunduğundan emin olun: küçük harfler, büyük harfler, rakamlar ve özel karakterler.

Yeni sanal makinenin oluşturulması ve başlatılması birkaç dakika sürebilir. Dağıtım tamamlandıktan sonra CLI'da sanal makineye bağlanmak için SSH bilgilerini içeren JSON biçimli bir çıkış alırsınız. Çıkışlar bölümündeki genel SSH girişinin değerini kopyalayın:

Genel SSH'yi gösteren ekran görüntüsü.

IoT Edge çalışma zamanı durumunu görüntüleme

Sanal makinenize bağlanmak için bu komutu kullanın. VM dağıtımı sırasında farklı bir kullanıcı adı kullandıysanız azureuser ile değiştirin. <DNS-name> yerine makinenizin DNS adını yazın.

ssh <admin-username>@<DNS-name>

IoT Edge cihazının yapılandırılıp yapılandırılmamış olduğunu denetleyin

IoT Edge güvenlik daemon'unun bir sistem hizmeti olarak çalıştığını doğrulamak için komutları kullanın iotedge .

Önemli

iotedge komutlarını çalıştırmak için yükseltilmiş ayrıcalıklara ihtiyacınız olacaktır.

IoT Edge cihazının durumunu denetlemek için aşağıdaki komutu çalıştırın:

sudo systemctl status iotedge

Sonuçta elde edilen çıkış şuna benzer olmalıdır:

Azure IoT Edge daemon'un durumunu gösteren ekran görüntüsü.

Sanal cihazda çalışan modüllerin listesini gösteren ekran görüntüsü.

IoT Edge cihazınız artık yapılandırıldı. Buluta dağıtılan modülleri çalıştırmaya hazırdır.

Hizmetle ilgili sorunları gidermek için hizmet günlüklerini alın.

journalctl -u iotedge

IoT Edge cihazınızda çalışan tüm modülleri görüntüleyin. Hizmet ilk kez başlatıldığından yalnızca edgeAgent modülü çalışıyor. edgeAgent modülü varsayılan olarak çalışır ve cihazınıza dağıttığınız ek modüllerin yüklenmesine ve başlatılmasına yardımcı olur.

sudo iotedge list