Share via


Öğretici: IoT Edge'da makine öğrenmesi için ortam ayarlama

Şunlar için geçerlidir:evet simgesi IoT Edge 1.1

Önemli

IoT Edge 1.1 destek sonu tarihi 13 Aralık 2022'ydi. Bu ürünün, hizmetin, teknolojinin veya API’nin nasıl desteklendiği hakkında bilgi edinmek için Microsoft Ürün Yaşam Döngüsü’ne göz atın. IoT Edge en son sürümüne güncelleştirme hakkında daha fazla bilgi için bkz. Güncelleştirme IoT Edge.

Bu makale, ortamınızı geliştirme ve dağıtım için hazırlamanıza yardımcı olur. İlk olarak, ihtiyacınız olan tüm araçlarla bir geliştirme makinesi ayarlayın. Ardından Azure'da gerekli bulut kaynaklarını oluşturun.

Öğreticinin bu bölümünde şunların nasıl yapılacağını öğreneceksiniz:

  • Geliştirme için bir sanal makine ayarlayın.
  • Geliştirme ortamınızın kullanması için bir IoT Hub ve bulut depolama alanı ayarlayın.

Önkoşullar

Bu makale, IoT Edge'de Azure Machine Learning'i kullanma hakkında öğretici içeren bir serinin bir parçasıdır. Serideki her makale, önceki makaledeki çalışmalara dayalıdır. Bu makaleye doğrudan ulaştıysanız, serideki ilk makaleyi ziyaret edin.

Geliştirme VM'sini ayarlama

Bu adım genellikle bir bulut geliştiricisi tarafından gerçekleştirilir. Yazılımlardan bazıları bir veri bilimcisi için de yararlı olabilir.

Önkoşulların birçoğu önceden yapılandırılmış bir Azure sanal makinesi oluşturan bir PowerShell betiği oluşturduk. Oluşturduğumuz VM'nin iç içe sanallaştırmayı işleyebilmesi gerekir. Bu nedenle Standard_D8s_v3 makine boyutu seçtik.

Geliştirme VM'sini şu şekilde ayarlayacağız:

Geliştirici VM kesinlikle gerekli değildir. Tüm geliştirme araçları yerel bir makinede çalıştırılabilir. Ancak, bir düzey yürütme alanı sağlamak için VM'yi kullanmanızı kesinlikle öneririz.

Sanal makinenin oluşturulması ve yapılandırılması yaklaşık 30 dakika sürer.

  1. Machine Learning'i kopyalayın veya indirin ve örnek depoyu yerel bilgisayarınıza IoT Edge.

  2. PowerShell'i yönetici olarak açın ve kodu indirdiğiniz kök dizinin altında bulunan \IoTEdgeAndMlSample\DevVM dizinine gidin. Kaynağınızın kök dizinine olarak srcdirbaşvuracağız.

    cd c:\srcdir\IoTEdgeAndMlSample\DevVM
    

    DevVM dizini, bu öğreticiyi tamamlamak için uygun bir Azure sanal makinesi oluşturmak için gereken dosyaları içerir.

  3. Betiklerin yürütülmesine izin vermek için aşağıdaki komutu çalıştırın. İstendiğinde Tümüne Evet'i seçin.

    Set-ExecutionPolicy Bypass -Scope Process
    
  4. Create-AzureDevVM.ps1 çalıştırın.

    .\Create-AzureDevVm.ps1
    

    İstendiğinde aşağıdaki bilgileri girin:

    • Azure Abonelik Kimliği: Portalda Azure Abonelikleri'nde bulunabilen abonelik kimliğiniz.
    • Kaynak Grubu Adı: Azure'da yeni veya mevcut bir kaynak grubunun adı.
    • Konum: Sanal makinenin oluşturulacağı bir Azure konumu seçin. Örneğin, 'Batı ABD 2' veya 'Kuzey Avrupa'. Daha fazla bilgi için bkz. Azure konumları.
    • Kullanıcı adı: VM'nin yönetici hesabı için akılda kalıcı bir ad sağlayın.
    • Parola: VM için yönetici hesabı için bir parola ayarlayın.

    Betik, aşağıdaki adımları yürütürken birkaç dakika boyunca çalışır:

    1. Azure PowerShell Az modülünü yükler.
    2. Azure'da oturum açmanızı ister.
    3. VM'nizin oluşturulmasıyla ilgili bilgileri onaylar. Devam etmek için y veya Enter tuşuna basın.
    4. Yoksa kaynak grubunu oluşturur.
    5. Sanal makineyi dağıtır.
    6. VM'de Hyper-V'yi etkinleştirir.
    7. Geliştirme için yazılım gereksinimini yükler ve örnek depoyu kopyalar.
    8. VM'yi yeniden başlatır.
    9. Sanal makineye bağlanmak için masaüstünüzde bir RDP dosyası oluşturur.

    VM'nin adını yeniden başlatmanız istenirse, adını betik çıkışından kopyalayabilirsiniz. Çıkış ayrıca VM'ye bağlanmak için RDP dosyasının yolunu da gösterir.

Otomatik kapatma zamanlamasını ayarlama

Maliyeti azaltmanıza yardımcı olmak için geliştirme VM'si 1900 PST olarak ayarlanmış bir otomatik kapatma zamanlaması ile oluşturulmuştur. Konumunuza ve zamanlamanıza bağlı olarak bu ayarı güncelleştirmeniz gerekebilir. Kapatma zamanlamasını güncelleştirmek için:

  1. Azure portal, betiğin oluşturduğu VM'ye gidin.

  2. Sol bölme menüsündeki İşlemler'in altında Otomatik kapatma'yı seçin.

  3. Zamanlanmış kapatma ve Saat dilimini istediğiniz gibi ayarlayın ve Kaydet'i seçin.

Geliştirme VM'sine bağlanma

Artık bir VM oluşturduğumuza göre, öğreticiyi tamamlamak için gereken yazılımı yüklemeyi tamamlamamız gerekiyor.

  1. Betiğin masaüstünüzde oluşturduğu RDP dosyasına çift tıklayın.

  2. Uzak bağlantının yayımcısının bilinmediğini belirten bir iletişim kutusu görüntülenir. Bu kabul edilebilir, bu nedenle Bağlan'ı seçin.

  3. VM'yi oluşturmak için sağladığınız yönetici parolasını girin ve Tamam'a tıklayın.

  4. VM için sertifikayı kabul etmek isteyip istemediğiniz sorulur. Evet’i seçin.

Visual Studio Code uzantılarını yükleme

Artık geliştirme makinesine bağlandığınıza göre, geliştirme deneyimini kolaylaştırmak için Visual Studio Code bazı yararlı uzantılar ekleyin.

  1. Geliştirme VM'sine bağlanın, bir PowerShell penceresi açın ve C:\source\IoTEdgeAndMlSample\DevVM dizinine gidin. Bu dizin, VM'yi oluşturan betik tarafından oluşturulmuştur.

    cd C:\source\IoTEdgeAndMlSample\DevVM
    
  2. Betiklerin yürütülmesine izin vermek için aşağıdaki komutu çalıştırın. İstendiğinde Tümüne Evet'i seçin.

    Set-ExecutionPolicy Bypass -Scope Process
    
  3. Visual Studio Code uzantıları betiğini çalıştırın.

    .\Enable-CodeExtensions.ps1
    
  4. Betik, VS kod uzantılarını yüklerken birkaç dakika boyunca çalışır:

    • Azure IoT Edge
    • Azure IoT Hub
    • Python
    • C#
    • Docker
    • PowerShell

IoT Hub ve Depolama'yı ayarlama

Bu adımlar genellikle bir bulut geliştiricisi tarafından gerçekleştirilir.

Azure IoT Hub, IoT cihazlarıyla bulut arasındaki güvenli iletişimi işlediğinden tüm IoT uygulamalarının kalbidir. IoT Edge makine öğrenmesi çözümünün çalışması için ana koordinasyon noktasıdır.

  • IoT Hub, IoT cihazlarından gelen verileri diğer aşağı akış hizmetlerine yönlendirmek için yolları kullanır. Cihaz verilerini Azure Depolama'ya göndermek için IoT Hub yollarından yararlanacağız. Azure Depolama'da cihaz verileri, kalan yararlı yaşam (RUL) sınıflandırıcımızı eğitmek için Azure Machine Learning tarafından kullanılır.

  • Öğreticinin ilerleyen bölümlerinde Azure IoT Edge cihazımızı yapılandırmak ve yönetmek için IoT Hub kullanacağız.

Bu bölümde, bir Azure IoT hub'ı ve bir Azure Depolama hesabı oluşturmak için bir betik kullanacaksınız. Ardından Azure portal, hub tarafından alınan verileri bir Azure Depolama kapsayıcısına ileden bir yol yapılandırırsınız. Bu adımların tamamlanması yaklaşık 10 dakika sürer.

  1. Geliştirme VM'sine bağlanın, bir PowerShell penceresi açın ve IoTHub dizinine gidin.

    cd C:\source\IoTEdgeAndMlSample\IoTHub
    
  2. Oluşturma betiğini çalıştırın. Abonelik kimliği, konum ve kaynak grubu için geliştirme VM'sini oluştururken kullandığınız değerleri kullanın.

    .\New-HubAndStorage.ps1 -SubscriptionId <subscription id> -Location <location> -ResourceGroupName <resource group>
    
    • Azure'da oturum açmanız istenir.
    • Betik, Hub ve Depolama hesabınızın oluşturulmasıyla ilgili bilgileri onaylar. Devam etmek için y veya Enter tuşuna basın.

Betiğin çalıştırılması yaklaşık iki dakika sürer. İşlem tamamlandıktan sonra betik, IoT hub'ının ve depolama hesabının adını döndürür.

IoT Hub'de depolamaya giden yolu gözden geçirme

IoT hub'ını oluşturma işleminin bir parçası olarak, önceki bölümde çalıştırdığımız betik de özel bir uç nokta ve yol oluşturmuştur. IoT Hub yollar bir sorgu ifadesi ve bir uç noktadan oluşur. bir ileti ifadeyle eşleşiyorsa, veriler ilişkili uç noktaya giden yol boyunca gönderilir. Uç noktalar Event Hubs, Service Bus Kuyrukları ve Konular olabilir. Bu durumda uç nokta, depolama hesabındaki bir blob kapsayıcısıdır. Şimdi betiğimiz tarafından oluşturulan yolu gözden geçirmek için Azure portal kullanalım.

  1. Azure portal açın ve bu öğretici için kullandığınız kaynak grubuna gidin.

  2. Kaynak listesinde betiğin oluşturduğu IoT Hub seçin. gibi IotEdgeAndMlHub-jrujej6de6i7wrastgele karakterlerle biten bir adı olacaktır.

  3. Sol bölme menüsünde, Hub ayarları'nın altında İleti yönlendirme'yi seçin.

  4. İleti yönlendirme sayfasında Özel uç noktalar sekmesini seçin.

  5. Depolama bölümünü genişletin:

    I o T Hub portalındaki özel uç noktalar listesinde turbofanDeviceStorage adlı depolamanın ekran görüntüsü.

    TurbofanDeviceStorage'ın özel uç noktalar listesinde olduğunu görüyoruz. Bu uç noktayla ilgili aşağıdaki özelliklere dikkat edin:

    • Kapsayıcı adı ile gösterildiği gibi adlı devicedata blob depolama kapsayıcısını gösterir.
    • Dosya adı biçiminde adında "partition" sözcüğü vardır. Bu biçimin, bu öğreticinin ilerleyen bölümlerinde Azure Notebooks ile gerçekleştireceğimiz dosya işlemleri için daha kullanışlı olduğunu fark ettik.
    • Durumu iyi durumda olmalıdır.
  6. Rotalar sekmesini seçin.

  7. turbofanDeviceDataToStorage adlı yolu seçin.

  8. Rota ayrıntıları sayfasında, rotanın uç noktasının turbofanDeviceStorage uç noktası olduğuna dikkat edin.

    turbofanDeviceDataToStorage yolu hakkındaki ayrıntıları gösteren ekran görüntüsü.

  9. True olarak ayarlanan Yönlendirme sorgusuna bakın. Bu ayar, tüm cihaz telemetri iletilerinin bu rotayla eşleşeceği anlamına gelir; ve bu nedenle tüm iletiler turbofanDeviceStorage uç noktasına gönderilir.

  10. Herhangi bir düzenleme yapılmadığından bu sayfayı kapatması gerekir.

Kaynakları temizleme

Bu öğretici, her makalenin öncekilerde yapılan işlere göre derlendiği bir kümenin parçasıdır. Son öğreticiyi tamamlayana kadar lütfen tüm kaynakları temizlemeyi bekleyin.

Sonraki adımlar

Bu makalede, bir IoT Hub oluşturduk ve Azure Depolama hesabına bir yol yapılandırdık. Ardından, IoT Hub aracılığıyla bir dizi sanal cihazdan depolama hesabına veri göndereceğiz. Öğreticinin ilerleyen bölümlerinde IoT Edge cihazımızı ve modüllerimizi yapılandırdıktan sonra yolları yeniden ziyaret edecek ve yönlendirme sorgusuna biraz daha göz atacağız.

İzlenecek bir simülasyon cihazı oluşturmak için sonraki makaleye geçin.