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

Şunlar için geçerlidir:IoT Edge 1.4 onay işareti IoT Edge 1.4

Kapsayıcılı kodu Windows IoT Edge cihazındaki bir Linux'a dağıtarak bu hızlı başlangıçta Azure IoT Edge'ı deneyin. IoT Edge, cihazlarınızdaki kodu uzaktan yönetmenize olanak tanır, böylece iş yüklerinizin daha fazlasını uçlara gönderebilirsiniz. Bu hızlı başlangıçta, Windows üzerinde Linux için Azure IoT Edge kullanmanın ne kadar kolay olduğunu görmek için kendi Windows İstemci cihazınızı kullanmanızı öneririz. Dağıtımınızı oluşturmak için Windows Server veya Azure VM kullanmak istiyorsanız, Bir Windows cihazına Linux için Azure IoT Edge yükleme ve sağlama ile ilgili nasıl yapılır kılavuzundaki adımları izleyin.

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

  • IoT hub'ı oluşturma.
  • Bir IoT Edge cihazını IoT hub'ınıza kaydetme.
  • Cihazınızda Windows çalışma zamanında Linux için IoT Edge yükleyin ve başlatın.
  • Bir modülü IoT Edge cihaza uzaktan dağıtın ve telemetri gönderin.

Cihazınız ve bulutunuz için bu hızlı başlangıcın mimarisini gösteren diyagram.

Bu hızlı başlangıç, Windows cihazında Linux için Azure IoT Edge'nizi ayarlama konusunda size yol gösterir. Ardından Azure portal cihazınıza bir modül dağıtacaksınız. Kullanacağınız modül sıcaklık, nem ve basınç verileri oluşturan bir simülasyon sensörüdür. Diğer Azure IoT Edge öğreticileri, iş içgörüleri için simülasyon verilerini analiz eden modüller dağıtarak burada yaptığınız işi derler.

Etkin bir Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

Önkoşullar

Ortamınızı Azure CLI için hazırlayın.

Bu hızlı başlangıçta kullanacağınız tüm kaynakları yönetmek için bir bulut kaynak grubu oluşturun.

az group create --name IoTEdgeResources --location westus2

IoT Edge cihazınızın aşağıdaki gereksinimleri karşıladığından emin olun:

  • Sistem Gereksinimleri

    • Windows 10 1/11 (Pro, Enterprise, IoT Enterprise) 1 Windows 10 en düşük derleme 17763 ve tüm geçerli toplu güncelleştirmeler yüklüdür.
  • Donanım gereksinimleri

    • Minimum Boş Bellek: 1 GB
    • En Az Boş Disk Alanı: 10 GB

IoT hub oluşturma

Başlangıç olarak Azure CLI ile bir IoT hub'ı oluşturun.

G/Ç hub'ı oluşturma adımını gösteren diyagram.

Ücretsiz Azure IoT Hub düzeyi bu hızlı başlangıçta işe yarar. Geçmişte IoT Hub kullandıysanız ve zaten bir hub oluşturduysanız bu IoT hub'ını kullanabilirsiniz.

Aşağıdaki kod, kaynak grubunda IoTEdgeResourcesücretsiz bir F1 hub'ı oluşturur. değerini IoT hub'ınız için benzersiz bir adla değiştirin {hub_name} . 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 hub'ınız olduğundan hata alırsanız SKU'yu olarak S1değiştirin. IoT hub adının kullanılamadığını belirten bir hata alırsanız, başka birinin bu ada sahip bir hub'ı zaten vardır. Yeni bir ad deneyin.

IoT Edge cihazı kaydetme

Yeni oluşturulan IoT hub'ına bir IoT Edge cihazı kaydedin.

Bir cihazı I o T hub kimliğiyle kaydetme adımını gösteren diyagram.

IoT hub'ınızla iletişim kurabilmesi amacıyla simülasyon cihazınız için bir cihaz kimliği oluşturun. Cihaz kimliği bulutta kalır ve fiziksel cihazla cihaz kimliği arasında bağlantı kurmak için benzersiz bir bağlantı dizesi kullanmanız gerekir.

IoT Edge cihazlar normal IoT cihazlarından farklı davranır ve yönetilebilir. Bu kimliğin --edge-enabled IoT Edge bir cihaza yönelik olduğunu bildirmek için bayrağını kullanın.

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

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

    İlke anahtarları hakkında iothubowner 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. Fiziksel cihazınızı IoT Hub kimliğine bağlayan cihazınızın bağlantı dizesini görüntüleyin. IoT hub'ınızın adını, cihazınızın adını ve ikisi arasındaki bağlantıların kimliğini doğrulayan paylaşılan anahtarı içerir.

    az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name {hub_name}
    
  3. JSON çıktısındaki connectionString anahtarının değerini kopyalayıp kaydedin. Bu değer, cihaz bağlantı dizesidir. Sonraki bölümde IoT Edge çalışma zamanını yapılandırmak için kullanacaksınız.

    Cloud Shell'de connectionString çıkışını gösteren ekran görüntüsü.

IoT Edge çalışma zamanını yükleme ve başlatma

Cihazınıza Linux için IoT Edge yükleyin ve cihaz bağlantı dizesiyle yapılandırın.

I o T Edge çalışma zamanını başlatma adımını gösteren diyagram.

Windows üzerinde Linux için Azure IoT Edge dağıtmak istediğiniz hedef cihazda aşağıdaki PowerShell komutlarını çalıştırın. PowerShell kullanarak uzak bir hedef cihaza dağıtmak için Uzak PowerShell'i kullanarak uzak bir cihaza bağlantı kurun ve bu komutları bu cihazda uzaktan çalıştırın.

  1. Yükseltilmiş bir PowerShell oturumunda, Hyper-V'yi etkinleştirmek için aşağıdaki komutu çalıştırın. Daha fazla bilgi için Windows 10 üzerinde Hyper-V'ye bakın.

    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
    
  2. Yükseltilmiş bir PowerShell oturumunda, Windows üzerinde Linux için IoT Edge indirmek için aşağıdaki komutların her birini çalıştırın.

    • X64/AMD64

      $msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))
      $ProgressPreference = 'SilentlyContinue'
      Invoke-WebRequest "https://aka.ms/AzEFLOWMSI_1_4_LTS_X64" -OutFile $msiPath
      
    • ARM64

      $msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))
      $ProgressPreference = 'SilentlyContinue'
      Invoke-WebRequest "https://aka.ms/AzEFLOWMSI_1_4_LTS_ARM64" -OutFile $msiPath
      
  3. Cihazınıza Windows üzerinde Linux için IoT Edge yükleyin.

    Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn"
    
  4. Henüz yapmadıysanız hedef cihazdaki yürütme ilkesini olarak AllSigned ayarlayın. Şu komutu kullanarak yükseltilmiş bir PowerShell isteminde geçerli yürütme ilkesini de kontrol edebilirsiniz:

    Get-ExecutionPolicy -List
    

    yürütme ilkesi local machine değilse AllSigned, aşağıdakini kullanarak yürütme ilkesini ayarlayabilirsiniz:

    Set-ExecutionPolicy -ExecutionPolicy AllSigned -Force
    
  5. Windows üzerinde Linux dağıtımı için IoT Edge oluşturun.

    Deploy-Eflow
    
  6. Lisans koşullarını kabul etmek için 'Y' girin.

  7. tercihinize bağlı olarak İsteğe bağlı tanılama verilerini açmak veya kapatmak için 'O' veya 'R' girin. Başarılı bir dağıtım aşağıda gösterilmektedir.

    Başarılı bir dağıtımın, konsolundaki iletilerin sonunda Dağıtım başarılı ifadesinin gösterileceğini gösteren ekran görüntüsü.

  8. Önceki bölümde aldığınız cihaz bağlantı dizesini kullanarak cihazınızı sağlayın. Yer tutucu metni kendi değerinizle değiştirin.

    Provision-EflowVm -provisioningType ManualConnectionString -devConnString "<CONNECTION_STRING_HERE>"​
    

Artık 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ğıtma

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

Modül dağıtma adımını gösteren diyagram.

Azure IoT Edge'nin önemli özelliklerinden biri, buluttan IoT Edge cihazlarınıza kod dağıtmaktır. IoT Edge modülleri kapsayıcı olarak uygulanan yürütülebilir paketlerdir. Bu bölümde, doğrudan Azure IoT Hub Azure Market IoT Edge Modülleri 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 benzetimini yapıp 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, simülasyon sıcaklık sensörü kaynak kodunu görüntüleyebilirsiniz.

Azure Market'den ilk modülünüzü dağıtmak için bu adımları izleyin.

  1. Azure portal oturum açın ve IoT hub'ınıza gidin.

  2. Soldaki menüden Cihaz yönetimi menüsünün altında Cihazlar'ı seçin.

  3. Cihaz listesinden hedef cihazın cihaz kimliğini seçin.

    Not

    Yeni bir IoT Edge cihazı oluşturduğunuzda, cihaz Azure portal durum kodunu 417 -- The device's deployment configuration is not set 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.

    Modülleri Ayarla sekmesinin konumunu gösteren ekran görüntüsü.

  5. IoT Edge Modüller'in altında Ekle açılan menüsünü açın ve Market Modülü'ne tıklayın.

    Ekle açılan menüsünü gösteren ekran görüntüsü.

  6. IoT Edge Modül Marketi'ndeSimulated Temperature Sensor modülü arayın ve seçin.

    Modül, IoT Edge Modülleri bölümüne istenen çalışma durumuyla eklenir.

  7. Sihirbazın sonraki adımına devam etmek için İleri: Yollar'ı seçin.

    İleri:Rotalar düğmesinin seçileceği yeri gösteren ekran görüntüsü.

  8. Rotalar sekmesinde İleri: Gözden geçir + oluştur'u seçerek sihirbazın bir sonraki adımına geçin.

    Sonraki: Gözden Geçir + oluştur düğmesinin konumunu gösteren ekran görüntüsü.

  9. Gözden Geçir ve oluştur sekmesindeki JSON dosyasını gözden geçirin. JSON dosyası, IoT Edge cihazınıza dağıttığınız tüm modülleri tanımlar. SimulatedTemperatureSensor modülünü ve edgeAgent ve edgeHub adlı iki çalışma zamanı modülünü göreceksiniz.

    Not

    IoT Edge cihazına yeni bir dağıtım gönderdiğinizde cihazınıza hiçbir şey gönderilmez. Bunun yerine cihaz, IoT Hub'ı düzenli olarak sorgulayarak yeni yönergeler olup olmadığını denetler. 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.

  10. Dağıtmak için Oluştur'u seçin.

  11. 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ı Dağıtımda Belirtildi altında Evet'e sahipse ancak Cihaz Tarafından Bildirildi altında yoksa, IoT Edge cihazınız bunları başlatmaya devam eder. Birkaç dakika bekleyin ve sayfayı yenileyin.

    Dağıtılan modüller listesinde Sıcaklık Sensörü Simülasyonunu gösteren ekran görüntüsü.

Oluşturulan verileri görüntüleme

Bu hızlı başlangıçta, yeni bir IoT Edge cihazı oluşturdunuz ve üzerine IoT Edge çalışma zamanını yüklediniz. Ardından Azure portal kullanarak cihazda değişiklik yapmak zorunda kalmadan cihazda çalıştırılacak bir IoT Edge modülü dağıtabilirsiniz.

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 sensör bir sunucu odasında, fabrika sahasında veya rüzgar türbininde olabilir. Gönderdiği iletiler arasında ortam sıcaklığı ve nem, makine sıcaklığı ve basınç ve zaman damgası yer alır. IoT Edge öğreticiler, analiz için test verileri olarak bu modül tarafından oluşturulan verileri kullanır.

  1. PowerShell oturumunuzda aşağıdaki komutu kullanarak Windows sanal makinesinde Linux için IoT Edge oturum açın:

    Connect-EflowVm
    

    Not

    Sanal makinede SSH'ye izin verilen tek hesap, onu oluşturan kullanıcıdır.

  2. Oturum açtıktan sonra, aşağıdaki Linux komutunu kullanarak çalışan IoT Edge modüllerinin listesini de kontrol edebilirsiniz:

    sudo iotedge list
    

    Sıcaklık algılayıcınızın, aracınızın ve hub modüllerinizin çalıştığını doğrulamanızı gösteren ekran görüntüsü.

  3. Aşağıdaki Linux komutunu kullanarak sıcaklık sensörü modülünden buluta gönderilen iletileri görüntüleyin:

    sudo iotedge logs SimulatedTemperatureSensor -f
    

    Önemli

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

    Çalışırken Sıcaklık Sensörü Simülasyonu modülünün çıkış günlüklerini gösteren ekran görüntüsü.

İletilerin IoT hub'ınıza ulaşmasını izlemek için Visual Studio Code için Azure IoT Hub uzantısını da kullanabilirsiniz.

Kaynakları temizleme

IoT Edge öğreticilerine devam etmek istiyorsanız bu adımı atlayın. Bu hızlı başlangıçta kaydettiğiniz ve ayarladığınız cihazı kullanabilirsiniz. Aksi takdirde, ücret ödememek için oluşturduğunuz Azure kaynaklarını silebilirsiniz.

Sanal makinenizi ve IoT hub’ınızı yeni bir kaynak grubunda oluşturduysanız, bu grubu ve ilişkili tüm kaynaklarını silebilirsiniz. Grubun tamamını silmek istemiyorsanız, bunun yerine kaynakları tek tek silebilirsiniz.

Önemli

Tutmak istediğiniz hiçbir şey olmadığından emin olmak için kaynak grubunun içeriğini denetleyin. Silinen kaynak grupları geri alınamaz.

IoTEdgeResources grubunu kaldırmak için aşağıdaki komutu kullanın. Silme işlemi birkaç dakika sürebilir.

az group delete --name IoTEdgeResources

Kaynak gruplarının listesini görüntülemek için bu komutu kullanarak kaynak grubunun kaldırıldığını onaylayabilirsiniz.

az group list

Windows'da Linux için IoT Edge kaldırma

Cihazınızdan Windows üzerinde Linux için Azure IoT Edge yüklemesini kaldırmak istiyorsanız aşağıdaki komutları kullanın.

  1. Windows'da Ayarlar'ı açma
  2. Program Ekle veya Kaldır'ı seçin
  3. Azure IoT Edge uygulamasını seçme
  4. Kaldır'ı seçin

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. Artık ortamı hakkında ham veri oluşturan bir test cihazınız var.

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