كيفية القيام بما يلي: نشر تطبيق ويب للتحليل المكاني

استخدم هذه المقالة لمعرفة كيفية نشر تطبيق ويب يجمع بيانات التحليل المكاني (الرؤى) من IotHub وتصورها. يمكن أن يكون لهذا تطبيقات مفيدة عبر مجموعة واسعة من السيناريوهات والصناعات. على سبيل المثال ، إذا أرادت شركة ما تحسين استخدام مساحتها العقارية ، فهي قادرة على إنشاء حل بسرعة بسيناريوهات مختلفة.

في هذا البرنامج التعليمي ستتعلم:

  • نشر حاوية التحليل المكاني
  • تكوين العملية والكاميرا
  • تكوين اتصال IoT Hub في تطبيق ويب
  • نشر تطبيق ويب واختباره

سيعرض هذا التطبيق السيناريوهات التالية:

  • عدد الأشخاص الذين يدخلون ويخرجون من مساحة / متجر
  • عدد الأشخاص الذين يدخلون ويخرجون من منطقة / منطقة الخروج والوقت الذي يقضونه في خط الخروج (وقت الإقامة)
  • عدد الأشخاص الذين يرتدون قناع الوجه
  • عدد الأشخاص الذين ينتهكون إرشادات التباعد الاجتماعي

المتطلبات الأساسية

نشر حاوية التحليل المكاني

اتبع إعداد الكمبيوتر المضيف لتكوين الكمبيوتر المضيف وتوصيل جهاز IoT Edge ب Azure IoT Hub.

نشر خدمة Azure IoT Hub في اشتراكك

أولا، قم بإنشاء مثيل لخدمة Azure IoT Hub باستخدام طبقة التسعير القياسية (S1) أو الطبقة المجانية (S0). اتبع هذه الإرشادات لإنشاء هذا المثيل باستخدام Azure CLI.

املأ المعلمات المطلوبة:

  • الاشتراك: اسم اشتراكك في Azure أو معرفه
  • مجموعة الموارد: إنشاء اسم لمجموعة الموارد
  • اسم مركز إنترنت الأشياء: إنشاء اسم لمركز إنترنت الأشياء الخاص بك
  • اسم IoTHub: اسم مركز إنترنت الأشياء الذي أنشأته
  • اسم جهاز Edge: إنشاء اسم لجهاز Edge الخاص بك
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

نشر الحاوية على Azure IoT Edge على الكمبيوتر المضيف

الخطوة التالية هي نشر حاوية التحليل المكاني كوحدة نمطية لإنترنت الأشياء على الكمبيوتر المضيف باستخدام Azure CLI. تتطلب عملية النشر ملف بيان النشر الذي يحدد الحاويات والمتغيرات والتكوينات المطلوبة للنشر. يمكن العثور على نموذج بيان النشر في DeploymentManifest.json والذي يتضمن تكوينات تم إنشاؤها مسبقا لجميع السيناريوهات.

تعيين متغيرات البيئة

تم بالفعل تعيين معظم متغيرات البيئة الخاصة بالوحدة النمطية ل IoT Edge في نموذج ملفات DeploymentManifest.json المرتبطة أعلاه. في الملف، ابحث عن ENDPOINT المتغيرات والبيئة APIKEY ، الموضحة أدناه. استبدل القيم ب Endpoint URI ومفتاح API الذي قمت بإنشائه مسبقا. تأكد من تعيين قيمة اتفاقية ترخيص المستخدم النهائي (EULA) إلى "قبول".

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

تكوين معلمات العملية

إذا كنت تستخدم نموذج DeploymentManifest.json الذي يحتوي بالفعل على جميع التكوينات المطلوبة (العمليات وعناوين URL لملفات الفيديو المسجلة والمناطق وما إلى ذلك) ، فيمكنك التخطي إلى قسم تنفيذ النشر .

الآن بعد اكتمال التكوين الأولي لحاوية التحليل المكاني ، فإن الخطوة التالية هي تكوين معلمات العمليات وإضافتها إلى النشر.

الخطوة الأولى هي تحديث نموذج DeploymentManifest.json وتكوين العملية المطلوبة. على سبيل المثال ، يتم عرض تكوين cognitiveservices.vision.spatialanalysis-personcount أدناه:

"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.}]}"
    }
},

بعد تحديث بيان النشر، اتبع إرشادات الشركة المصنعة للكاميرا لتثبيت الكاميرا وتكوين عنوان URL للكاميرا وتكوين اسم المستخدم وكلمة المرور.

بعد ذلك ، قم بتعيين VIDEO_URL عنوان URL RTSP للكاميرا ، وبيانات الاعتماد للاتصال بالكاميرا.

إذا كان الجهاز الطرفي يحتوي على أكثر من وحدة معالجة رسومات واحدة، فحدد وحدة معالجة الرسومات التي تريد تشغيل هذه العملية عليها. تأكد من تحميل موازنة العمليات حيث لا يوجد أكثر من 8 عمليات تعمل على وحدة معالجة رسومات واحدة في المرة الواحدة.

بعد ذلك ، قم بتكوين المنطقة التي تريد حساب الأشخاص فيها. لتكوين مضلع المنطقة، اتبع أولا إرشادات الشركة المصنعة لاسترداد إطار من الكاميرا. لتحديد كل قمة من رؤوس المضلع، حدد نقطة على الإطار، وخذ إحداثيات البيكسل x,y للنقطة بالنسبة إلى الزاوية العلوية اليسرى من الإطار، وقسمها على أبعاد الإطار المقابلة. اضبط النتائج على أنها إحداثيات x و y للقمة. يمكنك تعيين تكوين مضلع المنطقة في الحقل SPACEANALYTICS_CONFIG .

هذا نموذج لإطار فيديو يوضح كيفية حساب إحداثيات القمة لإطار بحجم 1920/1080. Sample video frame

يمكنك أيضا تحديد حد ثقة عند حساب الأشخاص المكتشفين وإنشاء الأحداث. اضبط الحد الأدنى إلى 0 إذا كنت تريد إخراج جميع الأحداث.

تنفيذ النشر

الآن بعد اكتمال بيان النشر، استخدم هذا الأمر في Azure CLI لنشر الحاوية على الكمبيوتر المضيف كوحدة نمطية IoT Edge.

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>"

املأ المعلمات المطلوبة:

  • اسم مركز إنترنت الأشياء: اسم مركز Azure IoT Hub الخاص بك
  • DeploymentManifest.json: اسم ملف النشر الخاص بك
  • اسم جهاز IoT Edge: اسم جهاز IoT Edge للكمبيوتر المضيف
  • الاشتراك: معرف الاشتراك أو اسمك

سيبدأ هذا الأمر النشر، ويمكنك عرض حالة النشر في مثيل Azure IoT Hub في مدخل Azure. قد تظهر الحالة على أنها 417 - لا يتم تعيين تكوين نشر الجهاز حتى ينتهي الجهاز من تنزيل صور الحاوية ويبدأ التشغيل.

التحقق من نجاح عملية النشر

حدد موقع حالة وقت التشغيل في وحدة IoT Edge النمطية الإعدادات لوحدة التحليل المكاني في مثيل IoT Hub على مدخل Azure. يجب أن تقول Runningالقيمة المطلوبةوالقيمة المبلغ عنهالحالة وقت التشغيل . راجع أدناه لمعرفة الشكل الذي سيبدو عليه هذا على مدخل Azure.

Example deployment verification

عند هذه النقطة، تقوم حاوية التحليل المكاني بتشغيل العملية. يصدر رؤى الذكاء الاصطناعي للعمليات ويوجه هذه الرؤى كقياس عن بعد إلى مثيل Azure IoT Hub الخاص بك. لتكوين كاميرات إضافية، يمكنك تحديث ملف بيان النشر وتنفيذ النشر مرة أخرى.

تطبيق ويب التحليل المكاني

يمكن تطبيق ويب التحليل المكاني المطورين من تكوين نموذج تطبيق ويب بسرعة، واستضافته في بيئة Azure الخاصة بهم، واستخدام التطبيق للتحقق من صحة أحداث E2E.

بناء صورة Docker

اتبع الدليل لإنشاء الصورة ودفعها إلى سجل حاوية Azure في اشتراكك.

خطوات الإعداد

لتثبيت الحاوية، قم بإنشاء خدمة تطبيقات Azure جديدة واملأ المعلمات المطلوبة. ثم انتقل إلى علامة التبويب Docker وحدد حاوية واحدة، ثم سجل حاويات Azure. استخدم مثيل Azure Container Registry الخاص بك حيث قمت بدفع الصورة أعلاه.

Enter image details

بعد إدخال المعلمات المذكورة أعلاه ، انقر فوق مراجعة + إنشاء وإنشاء التطبيق.

تكوين التطبيق

انتظر حتى يكتمل الإعداد، وانتقل إلى المورد الخاص بك في مدخل Azure. انتقل إلى قسم التكوين وأضف إعدادي التطبيق التاليين.

  • EventHubConsumerGroup - اسم سلسلة مجموعة المستهلكين من Azure IoT Hub الخاص بك، يمكنك إنشاء مجموعة مستهلكين جديدة في IoT Hub أو استخدام المجموعة الافتراضية.
  • IotHubConnectionString - سلسلة الاتصال ب Azure IoT Hub الخاص بك ، يمكن استردادها من قسم المفاتيح في مورد Azure IoT Hub الخاص بك Configure Parameters

بمجرد إضافة إعدادات 2 هذه، انقر فوق حفظ. ثم انقر فوق المصادقة / التفويض في قائمة التنقل اليمنى ، وقم بتحديثه بالمستوى المطلوب من المصادقة. نوصي Azure Active Directory (Azure AD) express.

اختبار التطبيق

انتقل إلى خدمة Azure وتحقق من نجاح النشر، وأن تطبيق الويب قيد التشغيل. انتقل إلى عنوان URL الذي تم تكوينه: <yourapp>.azurewebsites.net لعرض التطبيق قيد التشغيل.

Test the deployment

الحصول على شفرة مصدر PersonCount

إذا كنت ترغب في عرض أو تعديل التعليمات البرمجية المصدر لهذا التطبيق، يمكنك العثور عليها على GitHub.

الخطوات التالية