نشر تطبيق ويب Spatial Analysis
استخدم هذه المقالة لمعرفة كيفية نشر تطبيق ويب يجمع بيانات/رؤى التحليل المكاني من IoT Hub ويتصورها. يمكن أن يكون لهذا تطبيقات مفيدة عبر مجموعة واسعة من السيناريوهات والصناعات. على سبيل المثال، إذا كانت الشركة تريد تحسين استخدام المساحة العقارية الخاصة بها، فيمكنها إنشاء حل بسرعة بسيناريوهات مختلفة.
في هذا البرنامج التعليمي، ستتعلم كيفية:
- قم بتوزيع حاوية التحليل المكاني
- تكوين العملية والكاميرا
- تكوين اتصال IoT Hub في تطبيق الويب
- نشر واختبار تطبيق الويب
سيعرض التطبيق السيناريوهات التالية:
- عدد الأشخاص الذين يدخلون ويخرجون من مساحة/مخزن
- عدد الأشخاص الذين يدخلون ويخرجون من منطقة/منطقة تسجيل الخروج والوقت الذي يقضيه في خط الخروج (وقت الإقامة)
- عدد الأشخاص الذين يرتدون أقنعة الوجه
- عدد الأشخاص الذين ينتهكون إرشادات التباعد الاجتماعي
المتطلبات الأساسية
- اشتراك Azure - إنشاء اشتراك مجاني
- الفهم الأساسي لتكوينات توزيع Azure IoT Edge وAzure IoT Hub
- كمبيوتر مضيف مكون
قم بتوزيع حاوية التحليل المكاني
اتبع إعداد الكمبيوتر المضيف لتكوين الكمبيوتر المضيف وتوصيل جهاز IoT Edge بـ Azure IoT Hub.
قم بتوزيع خدمة Azure IoT Hub في اشتراكك
أولاً، قم بإنشاء مثيل لخدمة Azure IoT Hub إما مع مستوى الأسعار القياسي (S1) أو المستوى المجاني (S0). اتبع هذه الإرشادات لإنشاء هذا المثيل باستخدام Azure CLI.
املأ المعلمات المطلوبة:
- Subscription: اسم أو معرف اشتراك Azure الخاص بك
- Resource group: أنشئ اسماً لمجموعة الموارد الخاصة بك
- Iot Hub Name: أنشئ اسماً لمركز IoT الخاص بك
- IoTHub Name: اسم IoT Hub الذي أنشأته
- Edge Device Name: أنشئ اسماً لجهاز 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": {
"value": "accept"
},
"BILLING":{
"value": "<Use the endpoint from your Vision resource>"
},
"APIKEY":{
"value": "<Use a key from your 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 للكاميرا، ومعلومات تسجيل الدخول للاتصال بالكاميرا.
إذا كان جهاز الحافة يحتوي على أكثر من GPU، فحدد GPU الذي تريد تشغيل هذه العملية عليه. تأكد من موازنة تحميل العمليات حيث لا يوجد أكثر من 8 عمليات تعمل على GPU واحدة في المرة الواحدة.
بعد ذلك، قم بتكوين المنطقة التي تريد حساب الأشخاص فيها. لتكوين مضلع المنطقة، اتبع أولاً إرشادات الشركة المصنعة لاسترداد إطار من الكاميرا. لتحديد كل رأس من رأس المضلع، حدد نقطة على الإطار، وخذ إحداثيات x، وy بكسل للنقطة بالنسبة إلى الزاوية اليسرى، والزاوية العلوية للإطار، واقسمها على أبعاد الإطار المقابلة. ضع النتائج على شكل إحداثيات x وy للرأس. يمكنك تعيين تكوين مضلع المنطقة في الحقل SPACEANALYTICS_CONFIG
.
هذا نموذج لإطار فيديو يوضح كيفية حساب إحداثيات الرأس لإطار بحجم 1920/1080.
يمكنك أيضاً تحديد حد الثقة عند حساب الأشخاص المكتشفين وإنشاء الأحداث. عيّن الحد على 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>"
املأ المعلمات المطلوبة:
- اسم مركز IoT: اسم مركز Azure IoT الخاص بك
- DeploymentManifest.json: اسم ملف التوزيع الخاص بك
- اسم جهاز IoT Edge: اسم جهاز IoT Edge للكمبيوتر المضيف
- الاشتراك: معرف اشتراكك أو اسمك
سيبدأ هذا الأمر التوزيع، ويمكنك عرض حالة التوزيع في مثيل Azure IoT Hub في مدخل Microsoft Azure. قد تظهر الحالة كـ 417 - لم يتم تعيين تكوين توزيع الجهاز حتى ينتهي الجهاز من تنزيل صور الحاوية ويبدأ التشغيل.
تحقق من أن التوزيع كان ناجحاً
حدد موقع Runtime Status في إعدادات وحدة IoT Edge النمطية لوحدة التحليل المكاني في مثيل IoT Hub على مدخل Microsoft Azure. يجب أن تذكر القيمة المطلوبة والقيمة المسجلةلحالة وقت التشغيلRunning
. انظر أدناه لمعرفة الشكل الذي سيبدو عليه هذا في مدخل Microsoft Azure.
في هذه المرحلة، تقوم حاوية التحليل المكاني بتشغيل العملية. إنها ترسل نتائج تحليلات AI للعمليات وتوجه هذه النتائج المعرفية كقياس عن بعد إلى مثيل Azure IoT Hub. لتكوين كاميرات إضافية، يمكنك تحديث ملف بيان التوزيع وتنفيذ التوزيع مرة أخرى.
إنشاء تطبيق الويب
يمكن تطبيق الويب Spatial Analysis المطورين من تكوين نموذج تطبيق ويب بسرعة، واستضافته في بيئة Azure الخاصة بهم، واستخدام التطبيق للتحقق من صحة أحداث E2E.
إنشاء صورة Docker
اتبع الدليل لإنشاء الصورة ودفعها إلى Azure Container Registry في اشتراكك.
إعداد حاوية docker
لتثبيت الحاوية، أنشئ خدمة تطبيقات Azure جديدة واملأ المعلمات المطلوبة. ثم انتقل إلى علامة التبويب Docker وحدد Single Container، ثم Azure Container Registry. استخدم مثيل Azure Container Registry حيث دفعت الصورة أعلاه.
بعد إدخال المعلمات أعلاه، حدد Review+Create وأنشئ التطبيق.
تكوين التطبيق
انتظر حتى يكتمل الإعداد، وانتقل إلى المورد الخاص بك في مدخل Microsoft Azure. انتقل إلى قسم configuration وأضف application settingsالتالية.
EventHubConsumerGroup
- اسم السلسلة لمجموعة المستهلكين من Azure IoT Hub، يمكنك إنشاء مجموعة مستهلكين جديدة في IoT Hub أو استخدام المجموعة الافتراضية.IotHubConnectionString
– يمكن استرداد سلسلة الاتصال إلى Azure IoT Hub من قسم المفاتيح في مورد Azure IoT Hub
بمجرد إضافة هذين الإعدادين، حدد Save. ثم حدد Authentication/Authorization في قائمة التنقل اليسرى، وقم بتحديثها بالمستوى المطلوب من المصادقة. نوصي Microsoft Entra ID express.
اختبار التطبيق
انتقل إلى خدمة Azure وتحقق من نجاح التوزيع وتشغيل تطبيق الويب. انتقل إلى عنوان url الذي تمت تهيئته: <yourapp>.azurewebsites.net
لعرض التطبيق قيد التشغيل.
احصل على تعليمة برمجية مصدر PersonCount
إذا كنت ترغب في عرض أو تعديل التعليمة البرمجية المصدر لهذا التطبيق، يمكنك العثور عليها على GitHub.
الخطوات التالية
الملاحظات
https://aka.ms/ContentUserFeedback.
قريبًا: خلال عام 2024، سنتخلص تدريجيًا من GitHub Issues بوصفها آلية إرسال ملاحظات للمحتوى ونستبدلها بنظام ملاحظات جديد. لمزيد من المعلومات، راجعإرسال الملاحظات وعرضها المتعلقة بـ