Aracılığıyla paylaş


Öğretici: Simülasyon cihazı verileri oluşturma

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

Bu makalede, Azure IoT Hub'a telemetri gönderen bir cihazın benzetimini yapmak için makine öğrenmesi eğitim verilerini kullanacağız. Girişte 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 motor bozulma 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ıdandır.
  • Her motor farklı derecelerde ilk aşınma ve üretim varyasyonu ile 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 programlama yoluyla 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ın verilerini okuyup sanal bir IoT Cihazı kullanarak IoT hub'ınıza gönderiyoruz. Öğreticinin bu bölümüne ait tüm kodlar, 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 giriş noktası.
  • TrainingFileManager: Seçili veri dosyasını okuma ve ayrıştırma sorumluluğu.
  • 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şturmak ve verileri IoT Hub'e 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ştirilir.

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

  • Geliştirme ortamınıza bir dış proje ekleme.
  • Sanal IoT cihaz verileri oluşturmak için örnek DeviceHarness projesini kullanın.
  • oluşturulan verileri IoT Hub 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ışmalara dayalıdır. 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ünü 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.

    Çıkış 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 kontrol edin.

    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\DeviceHarnessdepo gözü 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. Derle'yi seçin.

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

    Başarılı çıktı iletisi oluşturma

  9. Terminal>Yapılandırma Varsayılan Derleme Görevi... seçeneğini belirleyip isteminden Oluştur'u seçerek bu derlemeyi varsayılan derleme görevi yapabilirsiniz.

IoT Hub bağlanın ve DeviceHarness'i çalıştırın

Artık proje oluşturmaya sahip olduğumuza göre bağlantı dizesine 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 KomutPaletiniCtrl + Shift + PGörüntüle'yi> açarak Visual Studio Code'de Azure aboneliğinizde oturum açın.

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

    Bir tarayıcı penceresi açılır ve 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ı dizesini alma

  1. Visual Studio Code gezgininin alt bölümünde Azure IoT Hub çerçeveyi 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 sağındaki ... simgesine tıklayın. IoT Hub bağlantı dizesini kopyala'yı seçin.

    IoT Hub bağlantı dizesini kopyalama

DeviceHarness projesini çalıştırma

  1. Visual Studio Codeterminali açmak için TerminaliGö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ı dizesini 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 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 çıkış bölmesinde gösterilir.

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

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

Etkinlik IoT Hub denetleme

DeviceHarness tarafından gönderilen veriler IoT hub'ınıza gitti ve burada Azure portal doğrulayabilirsiniz.

  1. Azure portal 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.

    Veriler depolama alanına teslim edildiğinde grafikte ani artış görülüyor

Azure Depolama'da verileri doğrulama

IoT hub'ınıza 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 portalında 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ı için klasöre ve ardından yıl, ay, gün ve saat öğesine 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 dosya 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 verileri bir IoT Hub ve ileri doğru seçilmiş bir depolama alanına 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.