Aracılığıyla paylaş


Kılavuz: Azure Stream Analytics'i IoT Edge modülü şeklinde 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.

Bu öğreticide, Azure portalında bir Azure Stream Analytics işi oluşturacak ve ek kod içermeyen bir IoT Edge modülü olarak dağıtacaksınız.

Bu eğitimde şunları öğreniyorsunuz:

  • Uçta verileri işlemek için bir Azure Stream Analytics işi oluşturun.
  • Yeni Azure Stream Analytics işini diğer IoT Edge modülleriyle bağlayın.
  • Azure Stream Analytics işini Azure portalından IoT Edge bir cihaza dağıtın.

Akış mimarisini, Azure Stream Analytics işinin sahnelenmesi ve dağıtılmasını içeren diyagram.

Bu öğreticideki Stream Analytics modülü, tekrar eden 30 saniyelik dönemler içindeki ortalama sıcaklığı hesaplar. Ortalama 70'e ulaştığında modül, cihazın işlem gerçekleştirmesi için bir uyarı gönderir. Bu durumda, eylem simülasyon sıcaklık sensörünü sıfırlamaktır. Bir üretim ortamında, bu işlevi kullanarak bir makineyi kapatabilir veya sıcaklık tehlikeli düzeylere ulaştığında önleyici önlemler alabilirsiniz.

IoT Edge'da neden Azure Stream Analytics kullanmalısınız?

Birçok IoT çözümü, IoT cihazlarından buluta ulaşan veriler hakkında içgörü elde etmek için analiz hizmetlerini kullanır. Azure IoT Edge kullanarak Azure Stream Analytics mantığını cihazın kendisine taşırsınız. Telemetri akışlarının uçta işlenmesi, karşıya yüklenen veri miktarını ve eyleme dönüştürülebilir içgörülere tepki vermek için gereken süreyi azaltır. İş yükü geliştirmenizi basitleştirmek için Azure IoT Edge ve Azure Stream Analytics tümleştirin.

Azure Stream Analytics, bulutta ve IoT Edge cihazlarda veri analizi için yapılandırılmış bir sorgu söz dizimi kullanır. Daha fazla bilgi için bkz. Azure Stream Analytics belgeleri.

Önkoşullar

Azure hesabınız yoksa başlamadan önce free hesabı oluşturun.

  • bir Azure IoT Edge cihazı.

    Linux veya Windows cihazları için hızlı başlangıçtaki adımları izleyerek Azure bir sanal makineyi IoT Edge cihaz olarak kullanın.

  • Azure'da ücretsiz veya standart katman IoT Hub.

Azure Stream Analytics işi oluşturun

Bu bölümde, şu işlemleri gerçekleştiren bir Azure Stream Analytics görevi oluşturursunuz:

  • IoT Edge cihazınızdan veri alır.
  • Telemetri verilerini belirli bir aralığın dışındaki değerler için sorgular.
  • Sorgu sonuçlarına göre IoT Edge cihazda işlem uygular.

Depolama hesabı oluşturma

IoT Edge bir cihazda çalıştırılacak bir Azure Stream Analytics işi oluşturduğunuzda, cihazın erişebilmesi için bu işi depolamanız gerekir. Mevcut bir Azure Storage hesabını kullanabilir veya yeni bir hesap oluşturabilirsiniz.

  1. Azure portalında Kaynak oluşturun > Depolama > Depolama hesabı.

  2. Depolama hesabınızı oluşturmak için aşağıdaki değerleri girin:

    Alan Değer
    Abonelik IoT hub'ınızla aynı aboneliği seçin.
    Kaynak grubu IoT Edge hızlı başlangıçları ve öğreticileri için tüm test kaynaklarınız için aynı kaynak grubunu kullanın. Örneğin, IoTEdgeResources.
    Veri Akışı Adı Depolama hesabınıza benzersiz bir ad verin.
    Konum Size yakın bir konum seçin.
  3. Diğer alanlar için varsayılan değerleri koruyun ve Gözden Geçir + Oluştur'u seçin.

  4. Ayarlarınızı gözden geçirin ve oluştur'u seçin.

Yeni bir iş oluşturma

  1. Azure portalında öğesini seçin:

    1. Kaynak oluştur
    2. Soldaki menüden Nesnelerin İnterneti
    3. Azure Marketplace'te bulmak için arama çubuğuna Stream Analytics yazın.
    4. Oluştur seçeneğine tıklayın, ardından açılır menüden Stream Analytics işini seçin.
  2. Yeni Stream Analytics işinizi oluşturmak için aşağıdaki değerleri sağlayın:

    Alan Değer
    Veri Akışı Adı İşinize bir ad verin. Örneğin, IoTEdgeJob
    Abonelik IoT hub'ınızla aynı aboneliği seçin.
    Kaynak grubu IoT Edge hızlı başlangıçları ve öğreticileri sırasında oluşturduğunuz tüm test kaynakları için aynı kaynak grubunu kullanın. Örneğin, IoTEdgeResources adlı bir kaynak.
    Bölge Size yakın bir konum seçin.
    Barındırma ortamı Kenar'ı seçin. Bu seçenek, bulut yerine IoT Edge bir cihaza dağıtmanızı sağlar.
  3. Seçin, gözden geçir ve oluştur.

  4. Seçeneklerinizi onaylayın ve oluştur'u seçin.

İşinizi yapılandırın

Stream Analytics işinizi Azure portalında oluşturduktan sonra input, output ve query ile yapılandırarak geçen veriler üzerinde çalıştırabilirsiniz.

Bu bölümde, bir IoT Edge cihazından sıcaklık verilerini alan bir işin nasıl oluşturulacağı gösterilmektedir. Verileri 30 saniyelik sıralı bir pencerede analiz eder. Bu penceredeki ortalama sıcaklık 70 derecenin üzerine çıkarsa, iş IoT Edge cihazına bir uyarı gönderir.

Not

İşi dağıtırken verilerin nereden geldiğini ve nereye gittiğini bir sonraki bölümde, IoT Edge ayarlarını yapılandırma, belirtirsiniz.

Girişinizi ve çıkışınızı ayarlama

  1. Azure portalında Stream Analytics işinize gidin.

  2. İş topolojisi'nin altında Girişler'i ve ardından Giriş ekle'yi seçin.

  3. Açılan listeden Edge Hub'ı seçin.

    Listede Edge Hub seçeneğini görmüyorsanız Stream Analytics işinizi bulutta barındırılan bir iş olarak oluşturmuş olabilirsiniz. Yeni bir iş oluşturmayı deneyin ve barındırma ortamı olarak Edge'i seçtiğinizden emin olun.

  4. Yeni giriş bölmesinde, Giriş diğer adı olarak sıcaklık girin.

  5. Diğer alanların varsayılan değerlerini tutun ve Kaydet’i seçin.

  6. İş topolojisi'nin altında Çıkışlar'ı ve ardından Ekle'yi seçin.

  7. Açılan listeden Edge Hub'ını seçin.

  8. Yeni çıkış bölmesinde çıkış diğer adı olarak alert yazın.

  9. Diğer alanların varsayılan değerlerini tutun ve Kaydet’i seçin.

Sorgu oluşturma

  1. İş Topolojisi'nin altında Sorgu'yu seçin.

  2. Varsayılan metni aşağıdaki sorguyla değiştirin:

    SELECT  
        'reset' AS command
    INTO
       alert
    FROM
       temperature TIMESTAMP BY timeCreated
    GROUP BY TumblingWindow(second,30)
    HAVING Avg(machine.temperature) > 70
    

    Bu sorguda, 30 saniyelik bir pencerede ortalama makine sıcaklığı 70 dereceye ulaşırsa, SQL kodu uyarı çıkışına bir sıfırlama komutu gönderir. Reset komutu, sensöre eylem olarak önceden programlanır.

  3. Sorguyu kaydet'i seçin.

IoT Edge ayarlarını yapılandırma

Stream Analytics işinizi IoT Edge bir cihaza dağıtmak için Azure Stream Analytics işinizi bir depolama hesabıyla ilişkilendirin. İşinizi dağıttığınızda, iş tanımı depolama hesabına kapsayıcı olarak dışarı aktarılır.

  1. Stream Analytics hizmetinizdeki Ayarlar menüsünün altında Depolama hesabı ayarları'nı seçin.

  2. Aboneliklerinizden Blob depolama/ADLS 2. Nesil'i seçin seçeneğini belirleyin.

  3. Azure depolama hesabınız sayfada otomatik olarak gösterilir. Bir depolama alanı görmüyorsanız bir depolama alanı oluşturduğunuzdan emin olun. Depolama hesabı alanında listelenenden farklı bir depolama alanı seçmeniz gerekiyorsa, açılan menüden seçin.

  4. Değişiklik yaptıysanız Kaydet'i seçin.

İşi dağıt

Artık Azure Stream Analytics işini IoT Edge cihazınıza dağıtmaya hazırsınız.

Bu bölümde, Azure portalında Set Modules sihirbazını kullanarak deployment manifest oluşturacaksınız. Dağıtım bildirimi, bir cihaza dağıtılan tüm modülleri açıklayan bir JSON dosyasıdır. Bildirim ayrıca modül görüntülerini depolayan kapsayıcı kayıt defterlerini, modüllerin nasıl yönetilmesi gerektiğini ve modüllerin birbirleriyle nasıl iletişim kurabileceğini gösterir. IoT Edge cihazınız dağıtım bildirimini IoT Hub alır ve ardından içindeki bilgileri kullanarak atanan modüllerin tümünü dağıtır ve yapılandırır.

Bu öğreticide iki modül dağıtacaksınız. Birincisi, sıcaklık ve nem sensörü simülasyonu yapan bir modül olan SimulatedTemperatureSensor'dır. İkincisi ise Stream Analytics işinizdir. Algılayıcı modülü, iş sorgunuzun analiz ettiği veri akışı sağlar.

  1. Azure portalında IoT hub'ınıza gidin.

  2. Cihaz yönetimi menüsünün altında Cihazlar öğesini seçin ve ardından açmak için IoT Edge cihazınızı seçin.

  3. Modül ayarla’yı seçin.

  4. Daha önce bu cihazda SimulatedTemperatureSensor modülünü dağıttıysanız, bilgileri otomatik olarak doldurulabilir. Aksi takdirde aşağıdaki adımlarla modülü ekleyin:

    1. + Ekle öğesini seçin ve IoT Edge Modülü'i seçin.
    2. Ad olarak SimulatedTemperatureSensor yazın.
    3. Görüntü URI'si için mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.5 girin.
    4. Diğer varsayılan ayarları bırakın ve Ekle'yi seçin.
  5. aşağıdaki adımlarla Azure Stream Analytics Edge işinizi ekleyin:

    1. + Ekle'ı seçin ve Azure Stream Analytics Module öğesini seçin.
    2. Aboneliğinizi ve oluşturduğunuz Azure Stream Analytics Edge işini seçin.
    3. Kaydetseçeneğini seçin.

    Değişikliklerinizi kaydettikten sonra, Stream Analytics işinizin ayrıntıları oluşturduğunuz depolama kapsayıcısına yayımlanır.

  6. Stream Analytics ekleme işleminiz dağıtımı tamamladıktan sonra, Modülleri ayarla sayfanızda iki yeni modülün göründüğünü onaylayın.

    Cihazınızda iki yeni modülün bulunduğunu onaylayan ekran görüntüsü. Ekran görüntüsü, Gözden Geçir ve oluştur düğmesinin nerede olduğunu da gösterir.

  7. Seçin, gözden geçir ve oluştur. Dağıtım bildirimi görüntülenir.

  8. Oluştur'i seçin.

  9. Cihazınızın Modülleri ayarla sayfasında, birkaç dakika sonra modüllerin listelendiğini ve çalıştığını görmeniz gerekir. Modülleri görmüyorsanız sayfayı yenileyin veya birkaç dakika daha bekleyip yeniden yenileyin.

İki yeni modülü anlama

  1. Cihazınızın Set modules sekmesinden Stream Analytics modülünüzün adını seçerek Update IoT Edge Module sayfasına gidin. Burada ayarları güncelleştirebilirsiniz.

    Settings sekmesinde standart bir Azure Stream Analytics görüntüsüne işaret eden Image URI bulunur. Bu tek görüntü, bir IoT Edge cihaza dağıtılan her Stream Analytics modülü için kullanılır.

    Module İkiz Ayarları sekmesi, ASAJobInfo adlı Azure Stream Analytics (ASA) özelliğini tanımlayan JSON'yi gösterir. Bu özelliğin değeri, depolama kapsayıcınızdaki iş tanımını gösterir. Bu özellik, Stream Analytics görüntüsünün iş ayrıntılarınızla nasıl yapılandırıldığını gösterir.

    Stream Analytics modülü varsayılan olarak temel aldığı işle aynı adı alır. İsterseniz bu sayfadaki modül adını değiştirebilirsiniz, ancak gerekli değildir.

  2. Değişiklik yaptıysanız Uygula'yı veya değişiklik yapmadıysanız İptal'i seçin.

Modüllerinize rota atayın

  1. Cihazdaki modülleri ayarla:<cihazınız-adı> sayfasında İleri: Yollar'ı seçin.

  2. Routes sekmesinde, iletilerin modüller ile IoT Hub arasında nasıl geçirildiğini tanımlarsınız. İletiler ad ve değer çiftleri kullanılarak oluşturulur.

    Aşağıdaki tabloda gösterilen çiftlerle yol adlarını ve değerlerini ekleyin. {moduleName} örneklerini Azure Stream Analytics modülünüzün adıyla değiştirin. Bu modül, Azure portalında gösterildiği gibi Set modules sayfasındaki cihazınızın modüller listesinde gördüğünüz adla aynı olmalıdır.

     Azure portalındaki IoT Edge cihazınızdaki Stream Analytics modüllerinizin adını gösteren ekran görüntüsü.

    Veri Akışı Adı Değer
    telemetriToCloud FROM /messages/modules/SimulatedTemperatureSensor/* INTO $upstream
    uyarılarToCloud FROM /messages/modules/{moduleName}/* INTO $upstream
    sıfırlanacak uyarılar FROM /messages/modules/{moduleName}/* INTO BrokeredEndpoint("/modules/SimulatedTemperatureSensor/inputs/control")
    telemetriToAsa FROM /messages/modules/SimulatedTemperatureSensor/* INTO BrokeredEndpoint("/modules/{moduleName}/inputs/temperature")

    Burada bildirdiğiniz yollar, IoT Edge cihaz üzerinden veri akışını tanımlar. SimulatedTemperatureSensor'dan alınan telemetri verileri IoT Hub ve Stream Analytics işinde yapılandırılan temperature girişine gönderilir. alert çıkış iletileri IoT Hub ve SimulatedTemperatureSensor modülüne gönderilerek reset komutu tetiklenir.

  3. İleri: Gözden Geçir + Oluştur'u seçin.

  4. Gözden Geçir + Oluştur sekmesinde, sihirbazda sağladığınız bilgilerin bir JSON dağıtım bildirimine nasıl dönüştürüldüğünü görebilirsiniz.

  5. Bildirimi gözden geçirmeyi bitirdiğinizde oluştur'u seçerek modülünüzü ayarlamayı tamamlayın.

Verileri görüntüleme

Azure Stream Analytics modülü ile SimulatedTemperatureSensor modülü arasındaki etkileşimi görmek için IoT Edge cihazınıza gidin.

Not

Bir cihaz için sanal makine kullanıyorsanız Azure Cloud Shell kullanarak Azure kimliği doğrulanmış tüm hizmetlere doğrudan erişebilirsiniz.

  1. Docker'daki tüm modüllerin çalıştığından emin olun:

    iotedge list  
    
  2. Tüm sistem günlüklerini ve ölçüm verilerini görüntüleyin. {moduleName} değerini Azure Stream Analytics modülünüzün adıyla değiştirin:

    iotedge logs -f {moduleName}  
    
  3. Algılayıcı günlüklerini görüntüleyerek reset komutunun SimulatedTemperatureSensor'ı nasıl etkilediğini görün:

    iotedge logs SimulatedTemperatureSensor
    

    Makinenin sıcaklığının 30 saniye boyunca 70 dereceye ulaşana kadar kademeli olarak yükselmesini izleyebilirsiniz. Bu noktada Stream Analytics modülü bir sıfırlama işlemini tetikler ve makine sıcaklığı 21'e düşer.

    Modül günlükleri çıkışındaki sıfırla komutunun ekran görüntüsü.

Kaynakları temizleme

Bir sonraki önerilen makaleye devam etmek istiyorsanız, oluşturduğunuz kaynakları ve yapılandırmaları koruyun ve yeniden kullanın. Ayrıca test cihazıyla aynı IoT Edge cihazı kullanmaya devam edebilirsiniz.

Aksi takdirde, ücretlerden kaçınmak için bu makalede kullandığınız yerel yapılandırmaları ve Azure kaynaklarını silin.

Azure kaynaklarını silme

Azure kaynakları ve kaynak gruplarını silme işlemini geri alamazsınız. Yanlış kaynak grubunu veya kaynakları yanlışlıkla silmediğinizden emin olun. IoT Hub tutmak istediğiniz kaynakları içeren mevcut bir kaynak grubunda oluşturduysanız, kaynak grubunu değil yalnızca IoT Hub kaynağı silin.

Kaynakları silmek için:

  1. Azure portalında oturum açın ve ardından Kaynak grupları'i seçin.
  2. IoT Edge test kaynaklarınızı içeren kaynak grubunun adını seçin.
  3. Kaynak grubunuzun içerdiği kaynakların listesini gözden geçirin. Tümünü silmek isterseniz Kaynak grubunu sil'i seçebilirsiniz. Yalnızca bazılarını silmek istiyorsanız, tek tek silmek için her kaynağı seçin.

Sonraki adımlar

Bu öğreticide, verileri analiz etmek için Azure Stream Analytics işini IoT Edge cihazınızda ayarlarsınız. sıcaklık artışlarını yerel olarak işlemek ve bunlara tepki vermek için IoT Edge cihazınıza Azure Stream Analytics modülünü yüklediyseniz ve toplanan veri akışını buluta gönderdiniz. Azure IoT Edge daha fazla çözüm oluşturmanıza nasıl yardımcı olabileceğini öğrenmek için sonraki öğreticiye geçin.