Share via


Uzamsal Çözümleme web uygulaması dağıtma

IoT Hub'dan Uzamsal Analiz verileri/içgörüleri toplayan ve görselleştiren bir web uygulamasını dağıtmayı öğrenmek için bu makaleyi kullanın. Bu, çok çeşitli senaryolarda ve sektörlerde yararlı uygulamalara sahip olabilir. Örneğin, bir şirket gayrimenkul alanının kullanımını iyileştirmek istiyorsa, farklı senaryolarla hızlı bir şekilde bir çözüm oluşturabilir.

Bu öğreticide şunların nasıl yapıldığını öğreneceksiniz:

  • Uzamsal Çözümleme kapsayıcısını dağıtma
  • İşlemi ve kamerayı yapılandırma
  • Web uygulamasında IoT Hub bağlantısını yapılandırma
  • Web Uygulamasını dağıtma ve test edin

Uygulama aşağıdaki senaryoları gösterir:

  • Bir alana/mağazaya giren ve çıkan kişi sayısı
  • Bir ödeme alanına/bölgesine giren ve çıkan kişilerin sayısı ve ödeme satırında harcanan süre (bekleme süresi)
  • Yüz maskesi takan kişi sayısı
  • Sosyal mesafe yönergelerini ihlal eden kişilerin sayısı

Önkoşullar

Uzamsal Çözümleme kapsayıcısını dağıtma

Konak bilgisayarı yapılandırmak ve bir IoT Edge cihazını Azure IoT Hub'a bağlamak için Konak Bilgisayar Kurulumu'nu izleyin.

Aboneliğinizde Azure IoT Hub hizmeti dağıtma

İlk olarak, Standart Fiyatlandırma Katmanı (S1) veya Ücretsiz Katman (S0) ile bir Azure IoT Hub hizmeti örneği oluşturun. Azure CLI kullanarak bu örneği oluşturmak için bu yönergeleri izleyin.

Gerekli parametreleri doldurun:

  • Abonelik: Azure Aboneliğinizin adı veya kimliği
  • Kaynak grubu: Kaynak grubunuz için bir ad oluşturma
  • Iot Hub Adı: IoT Hub'ınız için bir ad oluşturma
  • IoTHub Adı: Oluşturduğunuz IoT Hub'ın adı
  • Edge Cihaz Adı: Edge Cihazınız için bir ad oluşturma
az login
az account set --subscription <name or ID of Azure Subscription>
az group create --name "<Resource Group Name>" --location "WestUS"

az iot hub create --name "<IoT Hub Name>" --sku S1 --resource-group "test-resource-group"

az iot hub device-identity create --hub-name "<IoT Hub Name>" --device-id "<Edge Device Name>" --edge-enabled

Kapsayıcıyı konak bilgisayarda Azure IoT Edge'de dağıtma

Sonraki adım, uzamsal analiz kapsayıcısını Azure CLI kullanarak konak bilgisayarda IoT Modülü olarak dağıtmaktır. Dağıtım işlemi, dağıtımınız için gerekli kapsayıcıları, değişkenleri ve yapılandırmaları özetleyen bir Dağıtım Bildirimi dosyası gerektirir. Tüm senaryolar için önceden oluşturulmuş yapılandırmaları içeren örnek dağıtım bildirimi DeploymentManifest.json bulunabilir.

Ortam değişkenlerini belirleme

IoT Edge Modülü için Ortam Değişkenlerinin çoğu yukarıdaki örnek DeploymentManifest.json dosyalarında zaten ayarlanmıştır. Dosyasında, aşağıda gösterilen ve APIKEY ortam değişkenlerini arayınENDPOINT. Değerleri, daha önce oluşturduğunuz Uç Nokta URI'siyle ve API Anahtarıyla değiştirin. EULA değerinin "accept" olarak ayarlandığından emin olun.

"EULA": { 
    "value": "accept"
},
"BILLING":{ 
    "value": "<Use the endpoint from your Vision resource>"
},
"APIKEY":{
    "value": "<Use a key from your Vision resource>"
}

İşlem parametrelerini yapılandırma

Tüm gerekli yapılandırmalara (işlemler, kaydedilmiş video dosyası URL'leri ve bölgeleri vb.) sahip olan örnek DeploymentManifest.json kullanıyorsanız, Dağıtımı yürütme bölümüne atlayabilirsiniz.

Uzamsal analiz kapsayıcısının ilk yapılandırması tamamlandıktan sonra, sonraki adım işlem parametrelerini yapılandırmak ve bunları dağıtıma eklemektir.

İlk adım, örnek DeploymentManifest.json güncelleştirmek ve istenen işlemi yapılandırmaktır. Örneğin, cognitiveservices.vision.spatialanalysis-personcount yapılandırması aşağıda gösterilmiştir:

"personcount": {
    "operationId": "cognitiveservices.vision.spatialanalysis-personcount",
    "version": 1,
    "enabled": true,
    "parameters": {
        "VIDEO_URL": "<Replace RTSP URL here>",
        "VIDEO_SOURCE_ID": "<Replace with friendly name>",
        "VIDEO_IS_LIVE":true,
        "DETECTOR_NODE_CONFIG": "{ \"gpu_index\": 0 }",
        "SPACEANALYTICS_CONFIG": "{\"zones\":[{\"name\":\"queue\",\"polygon\":[<Replace with your values>], \"events\": [{\"type\":\"count\"}], \"threshold\":<use 0 for no threshold.}]}"
    }
},

Dağıtım bildirimi güncelleştirildikten sonra kamerayı yüklemek, kamera URL'sini yapılandırmak ve kullanıcı adı ile parolayı yapılandırmak için kamera üreticisinin yönergelerini izleyin.

Ardından, kameranın RTSP url'sine ve kameraya bağlanmak için kimlik bilgilerine ayarlayın VIDEO_URL .

Kenar cihazında birden fazla GPU varsa, bu işlemin çalıştırıldığı GPU'ya tıklayın. Tek seferde tek bir GPU üzerinde çalışan 8'den fazla işlem olmayan işlemlerin yükünü dengelediğinizden emin olun.

Ardından, kişileri saymak istediğiniz bölgeyi yapılandırın. Bölge çokgenini yapılandırmak için önce üreticinin yönergelerini izleyerek kameradan bir çerçeve alın. Çokgenin her köşesini belirlemek için çerçevede bir nokta seçin, noktanın sola, çerçevenin üst köşesine göre x,y piksel koordinatlarını alın ve ilgili çerçeve boyutlarına bölün. Sonuçları köşenin x,y koordinatları olarak ayarlayın. Alanda bölge çokgen yapılandırmasını SPACEANALYTICS_CONFIG ayarlayabilirsiniz.

Bu, köşe koordinatlarının 1920/1080 boyutunda bir çerçeve için nasıl hesaplandığını gösteren örnek bir video çerçevesidir. Sample video frame

Ayrıca algılanan kişiler sayıldığında ve olaylar oluşturulduğunda için bir güvenilirlik eşiği de seçebilirsiniz. Tüm olayların çıkış olmasını istiyorsanız eşiği 0 olarak ayarlayın.

Dağıtımı yürütme

Dağıtım bildirimi tamamlandıktan sonra, kapsayıcıyı konak bilgisayarda IoT Edge Modülü olarak dağıtmak için Azure CLI'da bu komutu kullanın.

az login
az extension add --name azure-iot
az iot edge set-modules --hub-name "<IoT Hub name>" --device-id "<IoT Edge device name>" --content DeploymentManifest.json -–subscription "<subscriptionId>"

Gerekli parametreleri doldurun:

  • IoT Hub Adı: Azure IoT Hub adınız
  • DeploymentManifest.json: Dağıtım dosyanızın adı
  • IoT Edge cihaz adı: Ana bilgisayarınızın IoT Edge cihaz adı
  • Abonelik: Abonelik kimliğiniz veya adınız

Bu komut dağıtımı başlatır ve Azure portalda Azure IoT Hub örneğinizde dağıtım durumunu görüntüleyebilirsiniz. Durum 417 olarak görünebilir– Cihaz kapsayıcı görüntülerini indirmeyi bitirip çalışmaya başlayana kadar cihazın dağıtım yapılandırması ayarlanmaz .

Dağıtımın başarılı olduğunu doğrulama

Azure portalındaki IoT Hub örneğinizdeki uzamsal analiz modülü için IoT Edge Modülü Ayarlar Çalışma Zamanı Durumu'nu bulun. Çalışma Zamanı Durumu için İstenen Değer ve Bildirilen Değer ifadesi Runningolmalıdır. Bunun Azure portalında nasıl görüneceğini görmek için aşağıya bakın.

Example deployment verification

Bu noktada, uzamsal analiz kapsayıcısı işlemi çalıştırır. İşlemler için yapay zeka içgörüleri yayar ve bu içgörüleri Telemetri olarak Azure IoT Hub örneğine yönlendirir. Ek kameralar yapılandırmak için dağıtım bildirim dosyasını güncelleştirebilir ve dağıtımı yeniden yürütebilirsiniz.

Web uygulamasını oluşturma

Uzamsal Analiz web uygulaması, geliştiricilerin hızlı bir şekilde örnek bir web uygulaması yapılandırmalarına, uygulamayı Azure ortamlarında barındırmalarına ve E2E olaylarını doğrulamak için uygulamayı kullanmalarına olanak tanır.

Docker görüntüsü oluşturma

Görüntüyü derlemek ve aboneliğinizdeki bir Azure Container Registry'ye göndermek için kılavuzu izleyin.

Docker kapsayıcısını ayarlama

Kapsayıcıyı yüklemek için yeni bir Azure Uygulaması Hizmeti oluşturun ve gerekli parametreleri doldurun. Ardından Docker Sekmesine gidin ve Tek Kapsayıcı'yı ve ardından Azure Container Registry'yi seçin. Yukarıdaki görüntüyü göndereceğiniz Azure Container Registry örneğinizi kullanın.

Enter image details

Yukarıdaki parametreleri girdikten sonra Gözden Geçir+Oluştur'u seçin ve uygulamayı oluşturun.

Uygulamayı yapılandırma

Kurulumun tamamlanmasını bekleyin ve Azure portalında kaynağınıza gidin. Yapılandırma bölümüne gidin ve aşağıdaki iki uygulama ayarlarını ekleyin.

  • EventHubConsumerGroup – Azure IoT Hub'ınızdaki tüketici grubunun dize adı; IoT Hub'ınızda yeni bir tüketici grubu oluşturabilir veya varsayılan grubu kullanabilirsiniz.
  • IotHubConnectionString– Azure IoT Hub'ınıza bağlantı dizesi, bu, Azure IoT Hub kaynağınızın anahtarlar bölümünden alınabilirConfigure Parameters

Bu 2 ayar eklendikten sonra Kaydet'i seçin. Ardından sol gezinti menüsünden Kimlik Doğrulaması/Yetkilendirme'yi seçin ve istediğiniz kimlik doğrulama düzeyiyle güncelleştirin. Microsoft Entra ID express'i öneririz.

Uygulamayı test etme

Azure Hizmeti'ne gidin ve dağıtımın başarılı olduğunu ve web uygulamasının çalıştığını doğrulayın. Çalışan uygulamayı görüntülemek için yapılandırılan URL: <yourapp>.azurewebsites.net 'ye gidin.

Test the deployment

PersonCount kaynak kodunu alma

Bu uygulamanın kaynak kodunu görüntülemek veya değiştirmek isterseniz GitHub'da bulabilirsiniz.

Sonraki adımlar