Aracılığıyla paylaş


Öğretici: Sanal cihaz verileri oluşturma

Ş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'in en son sürümüne güncelleştirme hakkında daha fazla bilgi için bkz . IoT Edge'i güncelleştirme.

Bu makalede, Azure IoT Hub'a telemetri gönderen bir cihazın benzetimini yapmak için makine öğrenmesi eğitim verilerini kullanacağız. Giriş bölümünde belirtildiği gibi, bu öğreticide eğitim ve test için bir dizi uçak motorundan alınan verilerin simülasyonunu yapmak için Turbofan motoru düşüş simülasyonu veri kümesi kullanılır.

Deneysel senaryomuzda şunları biliyoruz:

  • Veriler birden çok değişkenli zaman serisinden oluşur.
  • Her veri kümesi eğitim ve test alt kümelerine ayrılır.
  • Her zaman serisi farklı bir altyapıdan geliyor.
  • Her motor farklı başlangıç yıpranma ve üretim varyasyonu dereceleriyle başlar.

Bu öğreticide, tek bir veri kümesinin (FD003) eğitim veri alt kümesini kullanırız.

Gerçekte her altyapı bağımsız bir IoT cihazı olacaktır. İnternet'e bağlı turbofan motorlarından oluşan bir koleksiyona sahip olmadığınızı varsayarsak, bu cihazlar için bir yazılım stand-in oluşturacağız.

Simülatör, sanal cihazları IoT Hub'a program aracılığıyla kaydetmek için IoT Hub API'lerini kullanan bir C# programıdır. Ardından NASA tarafından sağlanan veri alt kümesindeki her cihaz için verileri okuyup sanal bir IoT Cihazı kullanarak IoT hub'ınıza göndeririz. Öğreticinin bu bölümünün tüm kodu, deponun DeviceHarness dizininde bulunabilir.

DeviceHarness projesi, C# dilinde yazılmış ve dört sınıftan oluşan bir .NET core projesidir:

  • Program: Kullanıcı girişini ve genel koordinasyonu işlemeden sorumlu yürütme için giriş noktası.
  • TrainingFileManager: Seçili veri dosyasını okumak ve ayrıştırmaktan sorumludur.
  • CycleData: İleti biçimine dönüştürülen bir dosyadaki tek bir veri satırını temsil eder.
  • TurbofanDevice: Verilerde tek bir cihaza (zaman serisi) karşılık gelen bir IoT Cihazı oluşturmaktan ve verileri IoT Hub'a iletmekten sorumludur.

Bu makalede açıklanan görevlerin tamamlanması yaklaşık 20 dakika sürmelidir.

Bu adımdaki çalışmayla gerçek dünya eşdeğeri büyük olasılıkla cihaz geliştiricileri ve bulut geliştiricileri tarafından gerçekleştirilebilir.

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

  • Geliştirme ortamınıza dış proje ekleme.
  • Sanal IoT cihaz verileri oluşturmak için örnek DeviceHarness projesini kullanın.
  • IoT Hub'ınızda oluşturulan verileri görüntüleyin.

Önkoşullar

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

Visual Studio Code'ı yapılandırma ve DeviceHarness projesi oluşturma

  1. Geliştirme VM'nizde bir uzak masaüstü oturumu açın.

  2. Visual Studio code'da klasörü açın C:\source\IoTEdgeAndMlSample\DeviceHarness .

  3. Bu makinede uzantıları ilk kez kullandığınızdan, bazı uzantılar bağımlılıklarını güncelleştirir ve yükler. Uzantıyı güncelleştirmeniz istenebilir. Öyleyse Pencereyi Yeniden Yükle'yi seçin.

    Çıktı penceresinde OmniSharp hataları görünüyorsa C# uzantısını kaldırmanız gerekir.

  4. DeviceHarness için gerekli varlıkları eklemeniz istenir. Eklemek için Evet'i seçin.

    • Bildirimin görünmesi birkaç saniye sürebilir.
    • Bu bildirimi kaçırdıysanız sağ alt köşedeki zil simgesini denetleyin.

    VS Code uzantısı açılan menüsü

  5. Paket bağımlılıklarını geri yüklemek için Geri Yükle'yi seçin.

    VS Code geri yükleme istemi

    Bu bildirimleri alamazsanız Visual Studio Code'ı kapatın, içindeki C:\source\IoTEdgeAndMlSample\DeviceHarnessbölme ve obj dizinlerini silin, Visual Studio Code'ı açın ve DeviceHarness klasörünü yeniden açın.

  6. Derleme, Ctrl + Shift + B veya Terminal>Çalıştırma Derleme Görevi tetikleyerek ortamınızın düzgün ayarlandığını doğrulayın.

  7. Çalıştırılacak derleme görevini seçmeniz istenir. Oluştur'a tıklayın.

  8. Derleme çalışır ve bir başarı iletisi oluşturur.

    Derleme başarılı çıktı iletisi

  9. Terminal>Varsayılan Derleme Görevini Yapılandır... öğesini seçip istemden Derle'yi seçerek bu derlemeyi varsayılan derleme görevi yapabilirsiniz.

IoT Hub'a bağlanma ve DeviceHarness çalıştırma

Artık proje derlemesine sahip olduğumuza göre, bağlantı dizesi erişmek ve veri oluşturma işleminin ilerleme durumunu izlemek için IoT hub'ınıza bağlanın.

Visual Studio Code’da Azure oturumu açma

  1. Komut paletini veya Komut Paletini Ctrl + Shift + PGörüntüle'yi>açarak Visual Studio Code'da Azure aboneliğinizde oturum açın.

  2. Azure: Oturum Aç komutunu arayın.

    Bir tarayıcı penceresi açılır ve sizden kimlik bilgilerinizi ister. Başarılı bir sayfaya yeniden yönlendirildiğinde tarayıcıyı kapatabilirsiniz.

IoT hub'ınıza bağlanma ve hub bağlantı dizesi alma

  1. Visual Studio Code gezgininin alt bölümünde Azure IoT Hub çerçevesini seçerek genişletin.

  2. Genişletilmiş çerçevede IoT Hub'ı Seç'e tıklayın.

  3. İstendiğinde Azure aboneliğinizi ve ardından IoT hub'ınızı seçin.

  4. Diğer eylemler için Azure IoT Hub'ın sağındaki ... öğesine tıklayın. IoT Hub bağlantı dizesi Kopyala'yı seçin.

    IoT Hub bağlantı dizesi kopyalama

DeviceHarness projesini çalıştırma

  1. Visual Studio Code terminalini açmak için Terminali Görüntüle'yi>seçin.

    İstem görmüyorsanız Enter tuşuna basın.

  2. Terminale dotnet run girin.

  3. IoT Hub Bağlantı Dizesi istendiğinde, önceki bölümde kopyalanan bağlantı dizesi yapıştırın.

  4. Azure IoT Hub cihazları çerçevesinde yenile düğmesine tıklayın.

    IoT Hub cihaz listesini yenileme

  5. Cihazların IoT Hub'a eklendiğini ve verilerin bu cihaz aracılığıyla gönderildiğini belirtmek için cihazların yeşil renkte gösterildiğini unutmayın. Cihazlar IoT hub'ına ileti gönderdikten sonra bağlantıyı keser ve mavi görünür.

  6. Herhangi bir cihaza sağ tıklayıp Yerleşik Olay Uç Noktasını İzlemeyi Başlat'ı seçerek hub'a gönderilen iletileri görüntüleyebilirsiniz. İletiler Visual Studio Code'un çıkış bölmesinde gösterilir.

  7. Azure IoT Hub çıkış bölmesine tıklayıp Yerleşik Olay Uç Noktasını İzlemeyi Durdur'u seçerek izlemeyi durdurun.

  8. Uygulamanın tamamlanmasını bekleyin ve bu işlem birkaç dakika sürer.

IoT Hub'da etkinlik olup olmadığını denetleyin

DeviceHarness tarafından gönderilen veriler, Azure portalında doğrulayabileceğiniz IoT hub'ınıza gitti.

  1. Azure portalını açın ve bu öğretici için oluşturulan IoT hub'ına gidin.

  2. Sol bölme menüsündeki İzleme'nin altında Ölçümler'i seçin.

  3. Grafik tanımı sayfasında Ölçüm açılan menüsüne tıklayın, listeyi aşağı kaydırın ve Yönlendirme: depolama alanına teslim edilen veriler'i seçin. Grafikte verilerin depolama alanına yönlendirildiği zamandaki ani artış gösterilmelidir.

    Grafik, veriler depolama alanına teslim edildiğinde ani artış gösteriyor

Azure Depolama'da verileri doğrulama

IoT hub'ınıza yeni gönderdiğimiz veriler, önceki makalede oluşturduğumuz depolama kapsayıcısına yönlendirildi. Şimdi depolama hesabımızdaki verilere bakalım.

  1. Azure portalda depolama hesabınıza gidin.

  2. Depolama hesabı gezgininden Depolama Gezgini (önizleme) öğesini seçin.

  3. Depolama gezgininde Blob Kapsayıcıları'nı ve ardından devicedataöğesini seçin.

  4. İçerik bölmesinde IoT hub'ının adı ve ardından yıl, ay, gün ve saat klasörüne tıklayın. Verilerin yazıldığı dakikaları temsil eden birkaç klasör görürsünüz.

    Blob depolamada klasörleri görüntüleme

  5. Bölüme karşılık gelen 00 ve 01 etiketli veri dosyalarını bulmak için bu klasörlerden birine tıklayın.

  6. Dosyalar Avro biçiminde yazılır. Bu dosyalardan birine çift tıklayarak başka bir tarayıcı sekmesi açın ve verileri kısmen işleyin. Dosyayı bir programda açmanız istenirse VS Code'u seçebilirsiniz ve doğru şekilde işlenir.

  7. Şu anda verileri okumaya veya yorumlamaya gerek yoktur; bunu bir sonraki makalede yapacağız.

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 sanal IoT cihazları kümesi oluşturmak ve bunlar aracılığıyla IoT hub'ımıza ve bir Azure Depolama kapsayıcısına veri göndermek için bir .NET Core projesi kullandık. Bu proje, fiziksel IoT cihazlarının bir IoT Hub'a ve ileriye doğru seçilmiş bir depolama alanına veri gönderdiği gerçek dünya senaryolarının simülasyonunu oluşturur. Bu veriler algılayıcı okumalarını, işletim ayarlarını, hata sinyallerini ve modlarını vb. içerir. Yeterli veri toplandıktan sonra, cihaz için kalan yararlı ömrü (RUL) tahmin eden modelleri eğitmek için bu verileri kullanırız. Bu makine öğrenmesini sonraki makalede göstereceğiz.

Verilerle bir makine öğrenmesi modeli eğitmek için sonraki makaleye geçin.