Aracılığıyla paylaş


Hızlı Başlangıç: İlk IoT Edge modülünüzü bir sanal Linux cihazına dağıtma

Applies to:IoT Edge 1.5 onay işareti IoT Edge 1.5

Önemli

IoT Edge 1.5 LTS, desteklenen bir sürümdür. IoT Edge 1.4 LTS, 12 Kasım 2024'te kullanım ömrüne ulaştı. Önceki bir sürümü kullanıyorsanız bkz. Update IoT Edge.

Kapsayıcılı kodu bir sanal Linux IoT Edge cihazına dağıtarak bu hızlı başlangıçta Azure IoT Edge deneyin. IoT Edge, iş yüklerinizin daha fazlasını uçlara gönderebilmeniz için cihazlarınızdaki kodu uzaktan yönetmenize olanak tanır. Bu hızlı başlangıçta, IoT Edge cihazınız için Azure bir sanal makine kullanın. İşiniz bittiğinde hızlı bir şekilde bir test makinesi oluşturmanıza ve silmenize olanak tanır.

Bu hızlı başlangıçta şunları yapmayı öğrenirsiniz:

  • bir IoT Hub oluşturun.
  • IoT hub'ınıza bir IoT Edge cihazı kaydedin.
  • Sanal bir cihaza IoT Edge çalışma zamanını yükleyin ve başlatın.
  • Modülü bir IoT Edge cihazına uzaktan dağıtma.

Cihaz ve bulut için Hızlı Başlangıç mimarisinin diyagramı.

Bu hızlı başlangıçta, IoT Edge cihaz olarak yapılandırılmış bir Linux sanal makinesi oluşturma adımları açıklanmıştır. Ardından, Azure portalından cihazınıza bir modül dağıtırsınız. Bu hızlı başlangıçta sıcaklık, nem ve basınç verileri oluşturan bir simülasyon algılayıcı modülü kullanılır. Azure IoT Edge'in diğer öğreticileri, iş içgörüleri elde etmek amacıyla simülasyon verilerini analiz eden ek modüller dağıtarak burada yapılan çalışmaları temel alır.

Etkin bir Azure aboneliğiniz yoksa başlamadan önce free hesabı oluşturun.

Önkoşullar

Azure CLI için ortamınızı ayarlayın.

  • bash ortamını Azure Cloud Shell kullanın. Daha fazla bilgi için bkz. Azure Cloud Shell ile çalışmaya başlama.

  • CLI referans komutlarını yerel olarak çalıştırmayı tercih ediyorsanız, Azure CLI'yi yükleyin. Windows veya macOS üzerinde çalıştırıyorsanız Azure CLI Docker kapsayıcısında çalıştırmayı göz önünde bulundurun. Daha fazla bilgi için bkz. Docker kapsayıcısında Azure CLI çalıştırma.

    • Yerel yükleme kullanıyorsanız az login komutunu kullanarak Azure CLI oturum açın. Kimlik doğrulama işlemini tamamlamak için terminalinizde görüntülenen adımları izleyin. Diğer oturum açma seçenekleri için bkz. Azure CLI kullanarak Azure'a Kimlik Doğrulama.

    • İstendiğinde, ilk kullanımda Azure CLI uzantısını yükleyin. Uzantılar hakkında daha fazla bilgi için bkz. Azure CLI ile uzantıları kullanma ve yönetme.

    • Yüklü olan sürümü ve bağımlı kütüphaneleri bulmak için az version komutunu çalıştırın. En son sürüme yükseltmek için az upgrade komutunu çalıştırın.

Bu hızlı başlangıçta kullandığınız tüm kaynakları yönetmek için kullanacağınız bir kaynak grubu. Bu hızlı başlangıç ve aşağıdaki öğreticilerde IoTEdgeResources örnek kaynak grubu adı kullanılır.

az group create --name IoTEdgeResources --location westus2

IoT Hub oluşturma

hızlı başlangıç olarak Azure CLI ile bir IoT Hub oluşturun.

Bulutta bir IoT Hub oluşturmayı gösteren diyagram.

ücretsiz IoT Hub katmanı bu hızlı başlangıçta çalışır. Geçmişte IoT Hub kullandıysanız ve zaten bir hub oluşturduysanız, bu IoT hub kullanabilirsiniz.

Aşağıdaki kod, IoTEdgeResources kaynak grubunda ücretsiz bir F1 hub’ı oluşturur. <hub-name> değerini IoT Hub için benzersiz bir adla değiştirin. IoT Hub oluşturmak birkaç dakika sürebilir.

az iot hub create --resource-group IoTEdgeResources --name <hub-name> --sku F1 --partition-count 2

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

IoT Edge cihazını kaydet

Yeni oluşturduğunuz IoT hub'ına bir IoT Edge cihazı kaydedin.

Bir cihazın IoT Hub kimliğiyle nasıl kaydedileceğine yönelik diyagram.

ioT hub'ınız ile iletişim kurabilmesi için IoT Edge cihazınız için bir cihaz kimliği oluşturun. Cihaz kimliği bulutta bulunur ve fiziksel bir cihazı bir cihaz kimliğiyle ilişkilendirmek için benzersiz bir cihaz connection string kullanırsınız.

IoT Edge cihazlar tipik IoT cihazlarından farklı davrandığından ve yönetildiğinden, --edge-enabled bayrağını kullanarak bu kimliği IoT Edge cihaz olarak bildirin.

  1. Hub'ınızda myEdgeDevice adlı bir cihaz oluşturmak için Azure Cloud Shell aşağıdaki komutu girin.

    az iot hub device-identity create --device-id myEdgeDevice --edge-enabled --hub-name <hub-name>
    

    iothubowner ilke anahtarlarıyla ilgili bir hata alırsanız, Cloud Shell azure-iot uzantısının en son sürümünü çalıştırdığından emin olun.

  2. Cihazınızı IoT Hub kimliğine bağlayan bağlantı dizisini denetleyin. IoT Hub adınızı, cihazınızın adını ve aralarındaki bağlantıların kimliğini doğrulayan paylaşılan anahtarı içerir. IoT Edge cihazınızı ayarlamak için sonraki bölümde bu connection string yeniden kullanacaksınız.

    az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name <hub-name>
    

    Örneğin, "connection string" HostName=contoso-hub.azure-devices.net;DeviceId=myEdgeDevice;SharedAccessKey=<DEVICE-SHARED-ACCESS-KEY>'e benzer görünmelidir.

IoT Edge cihazınızı yapılandırma

Azure IoT Edge çalışma zamanı ile bir sanal makine oluşturun.

Bir cihazda çalışma zamanını başlatma diyagramı.

IoT Edge çalışma zamanı tüm IoT Edge cihazlara dağıtılır ve üç bileşeni vardır. IoT Edge güvenlik daimonu, bir IoT Edge cihazı her açıldığında başlar ve IoT Edge aracısını başlatarak cihazı önyükleyerek çalıştırır. IoT Edge aracısı IoT Edge hub'ı dahil olmak üzere IoT Edge cihazında modüllerin dağıtımını ve izlenmesini kolaylaştırır. IoT Edge hub IoT Edge cihazındaki modüller arasındaki ve cihaz ile IoT Hub arasındaki iletişimi yönetir.

Çalışma zamanı yapılandırması sırasında bir cihaz bağlantı dizesi sağlayın. Bu dize Azure CLI ile alındı. Bu dize, fiziksel cihazınızı Azure IoT Edge cihaz kimliğiyle ilişkilendirir.

IoT Edge cihazını dağıtın

Bu bölümde, yeni bir sanal makine oluşturmak ve IoT Edge çalışma zamanını yüklemek için bir Azure Resource Manager şablonu kullanılır. Bunun yerine kendi Linux cihazınızı kullanmak istiyorsanız, Tek bir Linux IoT Edge cihazını elle sağlama başlığındaki yükleme adımlarını izleyebilir ve ardından bu hızlı başlangıca geri dönebilirsiniz.

Önceden oluşturulmuş iotedge-vm-deploy şablonunu temel alan bir IoT Edge cihaz oluşturmak için Deploy Azure düğmesini veya CLI komutlarını kullanın.

  • IoT Edge Azure Resource Manager şablonunu kullanarak dağıtın.

    Deploy to Azure

  • Bash veya Cloud Shell kullanıcıları için aşağıdaki komutu bir metin düzenleyicisine kopyalayın, yer tutucu metni bilgilerinizle değiştirin ve bash veya Cloud Shell pencerenize kopyalayın:

    az deployment group create \
    --resource-group IoTEdgeResources \
    --template-uri "https://raw.githubusercontent.com/Azure/iotedge-vm-deploy/main/edgeDeploy.json" \
    --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>"
    
  • PowerShell kullanıcıları için aşağıdaki komutu PowerShell pencerenize kopyalayın ve yer tutucu metni kendi bilgilerinizle değiştirin:

    az deployment group create `
    --resource-group IoTEdgeResources `
    --template-uri "https://raw.githubusercontent.com/Azure/iotedge-vm-deploy/main/edgeDeploy.json" `
    --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>"
    

Bu şablon aşağıdaki parametreleri alır:

Parametre Açıklama
resource-group Kaynakların oluşturulduğu kaynak grubu. Bu makale boyunca kullandığımız varsayılan IoTEdgeResources'ları kullanın veya aboneliğinizdeki mevcut bir kaynak grubunun adını belirtin.
template-uri Kullanmakta olduğumuz Resource Manager şablonunun işaretçisi.
dnsLabelPrefix Sanal makinenin konak adını oluşturmak için kullanılan dize. Yer tutucu metni sanal makinenizin adıyla değiştirin.
adminUsername Sanal makinenin yönetici hesabı için bir kullanıcı adı. azureUser örneğini kullanın veya yeni bir kullanıcı adı sağlayın.
deviceConnectionString IoT Hub içindeki cihaz kimliğinden gelen bağlantı dizesi, sanal makinede IoT Edge çalışma zamanını yapılandırmak için kullanılır. Bu parametredeki CLI komutu sizin için bağlantı dizesini alır. Yer tutucu metni IoT hub'ınızın adıyla değiştirin.
kimlik doğrulama türü Yönetici hesabının kimlik doğrulama yöntemi. Bu hızlı başlangıçta parola kimlik doğrulaması kullanılır, ancak bu parametreyi sshPublicKey olarak da ayarlayabilirsiniz.
adminPasswordOrKey Yönetici hesabının SSH anahtarının parolası veya değeri. Yer tutucu metni güvenli bir parolayla değiştirin. Parolanız en az 12 karakter uzunluğunda olmalı ve aşağıdakilerden üçüne sahip olmalıdır: küçük harfler, büyük harfler, rakamlar ve özel karakterler.

Dağıtım tamamlandıktan sonra CLI'daki JSON biçimli çıkış, sanal makineye bağlanmak için SSH bilgilerini içerir. Çıkışlar bölümünün genel SSH girişinin değerini kopyalayın. Örneğin, SSH komutunuz gibi ssh azureUser@edge-vm.westus2.cloudapp.azure.comgörünmelidir.

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

Bu hızlı başlangıçtaki komutların geri kalanı, cihazda neler olduğunu görebilmeniz için IoT Edge cihazınızın kendisinde gerçekleşir. Sanal makine kullanıyorsanız, ayarladığınız yönetici kullanıcı adını ve dağıtım komutu tarafından çıktısı alınan DNS adını kullanarak bu makineye bağlanın. DNS adını sanal makinenizin genel bakış sayfasında Azure portalında da bulabilirsiniz. Sanal makinenize bağlanmak için aşağıdaki komutu kullanın. ve <admin-username> değerlerini kendi değerlerinizle değiştirin<DNS-name>.

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

Sanal makinenize bağlandıktan sonra, çalışma zamanının IoT Edge cihazınıza başarıyla yüklendiğini ve yapılandırıldığını doğrulayın.

  1. IoT Edge çalışıp çalışmadığını denetleyin. Aşağıdaki komut, IoT Edge çalışıyorsa veya hizmet hataları sağlıyorsa Ok durumunu döndürür.

    sudo iotedge system status
    

    İpucu

    iotedge komutlarını çalıştırmak için yükseltilmiş ayrıcalıklara ihtiyacınız olacaktır. makinenizin oturumunu kapatıp IoT Edge çalışma zamanını yükledikten sonra ilk kez yeniden oturum açtığınızda, izinleriniz otomatik olarak güncelleştirilir. O zamana kadar komutların önünde kullanın sudo .

  2. Hizmetle ilgili sorunları gidermeniz gerekirse hizmet günlüklerini alın.

    sudo iotedge system logs
    
  3. IoT Edge cihazınızda çalışan tüm modülleri görüntüleyin. Hizmet ilk kez başlatıldığı için yalnızca edgeAgent modülünün çalıştığını göreceksiniz. 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
    

IoT Edge cihazınız yapılandırıldı. Bulutta dağıtılan modülleri çalıştırmak için hazır.

Modül dağıtın

cihaz telemetri verilerini IoT Hub gönderen bir modül dağıtmak için Azure IoT Edge cihazınızı buluttan yönetin.

Buluttan cihaza modül dağıtma diyagramı.

Azure IoT Edge önemli bir özelliği, IoT Edge cihazlarınıza buluttan kod dağıtmaktır. IoT Edge modülleri kapsayıcı olarak uygulanan yürütülebilir paketlerdir. Bu bölümde, Microsoft Artifact Registry IoT Edge Modules bölümünden önceden oluşturulmuş bir modül dağıtacaksınız.

Bu bölümde dağıttığınız modül bir algılayıcının simülasyonunu oluşturur ve oluşturulan verileri gönderir. Bu modül, IoT Edge kullanmaya başlarken yararlı bir kod parçasıdır çünkü sanal verileri geliştirme ve test için kullanabilirsiniz. Bu modülün tam olarak ne yaptığını görmek istiyorsanız simulated temperature algılayıcı kaynak kodunu görüntüleyebilirsiniz.

İlk modülünüzü dağıtmak için bu adımları kullanın.

  1. Azure portalında oturum açın ve IoT Hub gidin.

  2. Soldaki menüden Device Management altında Devices öğesini seçin.

  3. Listeden hedef IoT Edge cihazın cihaz kimliğini seçin.

    Yeni bir IoT Edge cihaz oluşturduğunuzda, Azure portalında 417 -- The device's deployment configuration is not set durum kodunu görüntüler. Bu durum normaldir ve cihazın modül dağıtımı almaya hazır olduğu anlamına gelir.

  4. Üst çubukta Modülleri Ayarla'yı seçin.

    Cihazınızda çalıştırmak istediğiniz modülleri seçin. Kendi oluşturduğunuz modüllerden veya kapsayıcı kayıt defterindeki görüntülerden birini seçebilirsiniz. Bu hızlı başlangıçta, Microsoft kapsayıcı kayıt defterinden bir modül dağıtacaksınız.

  5. IoT Edge modules bölümünde Add seçeneğini belirleyin ve ardından IoT Edge Module öğesini seçin.

  6. Aşağıdaki modül ayarlarını güncelleştirin:

    Ayar Değer
    IoT Modülü adı SimulatedTemperatureSensor
    Görüntü URI'si mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:latest
    Yeniden başlatma ilkesi her zaman
    İstenen durum koşmak
  7. Yolları yapılandırmaya devam etmek için İleri: Yollar'ı seçin.

  8. Sanal sıcaklık modülündeki tüm iletileri IoT Hub gönderen bir yol ekleyin.

    Ayar Değer
    İsim SimulatedTemperatureSensorToIoTHub
    Değer FROM /messages/modules/SimulatedTemperatureSensor/* INTO $upstream
  9. Sonraki: Gözden geçirme ve oluşturma’yı seçin.

  10. JSON dosyasını gözden geçirin ve oluştur'u seçin. JSON dosyası, IoT Edge cihazınıza dağıttığınız tüm modülleri tanımlar.

    Not

    IoT Edge bir cihaza yeni dağıtım gönderdiğinizde cihazınıza hiçbir şey gönderilmez. Bunun yerine cihaz, yeni yönergeler için düzenli olarak IoT Hub sorgular. Güncelleştirilmiş bir dağıtım bildirimi bulması halinde cihaz yeni dağıtımla ilgili bilgileri kullanarak buluttaki modül görüntülerini çeker ve modülleri yerel ortamda çalıştırmaya başlar. Bu işlem birkaç dakika sürebilir.

Modül dağıtım ayrıntılarını oluşturduktan sonra sihirbaz sizi cihaz ayrıntıları sayfasına döndürür. Modüller sekmesinde dağıtım durumunu görüntüleyin.

Üç modül görmeniz gerekir: $edgeAgent, $edgeHub ve SimulatedTemperatureSensor. Modüllerden biri veya daha fazlası YesSpecified in Deployment altında ancak Reported by Device altında değilse, IoT Edge cihazınız bunları başlatmaya devam ediyor. Birkaç dakika bekleyin ve sayfayı yenileyin.

Dağıtılan modüller listesinde SimulatedTemperatureSensor'ı gösteren ekran görüntüsü.

Modülleri dağıtırken sorun yaşıyorsanız, Azure portalındaki IoT Edge cihazlarını nasıl sorun gidereceğinizi öğrenin.

Oluşturulan verileri görüntüleme

Bu hızlı başlangıçta yeni bir IoT Edge cihazı oluşturacak ve IoT Edge çalışma zamanını ona yükleyebilirsiniz. Ardından Azure portalını kullanarak cihazda değişiklik yapmadan bir IoT Edge modülü dağıtabilirsiniz.

Bu durumda, gönderdiğiniz modül daha sonra test için kullanabileceğiniz örnek ortam verileri oluşturur. Simülasyon algılayıcısı hem makineyi hem de makinenin etrafındaki ortamı izler. Örneğin, bu algılayıcı bir sunucu odasında, fabrika katında veya rüzgar türbininde olabilir. İletide ortam sıcaklığı ve nemi, makine sıcaklığı ve basıncı ile bir zaman damgası bulunur. IoT Edge öğreticileri, analiz için test verileri olarak bu modül tarafından oluşturulan verileri kullanır.

IoT Edge cihazınızda komut istemini açın veya Azure CLI SSH bağlantısını kullanın. Buluttan dağıttığınız modülün IoT Edge cihazınızda çalıştığını onaylayın:

sudo iotedge list

Cihazınızdaki üç modülü gösteren ekran görüntüsü.

Sıcaklık sensörü modülünden gönderilen iletileri görüntüleyin:

sudo iotedge logs SimulatedTemperatureSensor -f

Çıkış konsolunda modülünüzdeki verileri gösteren ekran görüntüsü.

İpucu

IoT Edge komutları modül adlarına başvururken büyük/küçük harfe duyarlıdır.

Kaynakları temizleme

IoT Edge derslerine devam etmek için bu hızlı başlangıç kılavuzunda kaydettiğiniz ve ayarladığınız cihazı kullanın. Aksi takdirde, ücretlerden kaçınmak için oluşturduğunuz Azure kaynaklarını silin.

Sanal makinenizi ve IoT hub’ınızı yeni bir kaynak grubunda oluşturduysanız, bu grubu ve ilişkili tüm kaynaklarını silebilirsiniz. Saklamak istediğiniz bir şey olmadığından emin olmak için kaynak grubunun içeriğini bir kez daha denetleyin. Grubun tamamını silmek istemiyorsanız, bunun yerine tek tek kaynakları silebilirsiniz.

Önemli

Silinen kaynak grupları geri alınamaz.

IoTEdgeResources grubunu silin. Kaynak grubunun silinmesi birkaç dakika sürebilir.

az group delete --name IoTEdgeResources --yes

Kaynak gruplarının listesini görüntüleyerek kaynak grubunun silindiğini onaylayın.

az group list

Sonraki adımlar

Bu hızlı başlangıçta bir IoT Edge cihazı oluşturdunuz ve cihaza kod dağıtmak için Azure IoT Edge bulut arabirimini kullandınız. Şimdi ortamı hakkında ham veri oluşturan bir test cihazı kullanırsınız.

Sonraki öğreticide, Azure portalından cihazınızın etkinliğini ve durumunu izlemeyi öğreneceksiniz.