تكوين القواعد

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

اختيار الأجهزة المستهدفة

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

Screenshot that shows a filter definition in a rule.

استخدام شروط متعددة

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

في لقطة الشاشة التالية، تتحقق الظروف عندما تكون درجة الحرارة أكبر من 70 درجة فهرنهايت والرطوبة أقل من 10٪. عندما تكون أي من هذه العبارات صحيحة، يتم تقييم القاعدة إلى true وتشغل إجراء.

Screenshot shows a refrigerator monitor with conditions specified for temperature and humidity.

إشعار

يتم حاليا دعم شروط بيانات تتبع الاستخدام فقط.

استخدام خاصية سحابة في حقل قيمة

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

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

استعمال النوافذ التجميعية

يمكنك تحديد تجميع زمني لتشغيل قاعدتك بناء على نافذة زمنية. تقيِّم شروط القاعدة نوافذ الوقت المجمعة لبيانات تتبع الاستخدام كنوافذ متقلبة. إذا كانت هناك أي تصفية خصائص في القاعدة، يتم تطبيقها في نهاية الإطار الزمني. في لقطة الشاشة التالية، تكون النافذة الزمنية خمس دقائق. كل خمس دقائق، تقيم القاعدة على الدقائق الخمس الأخيرة من بيانات تتبع الاستخدام. يتم تقييم البيانات مرة واحدة فقط في النافذة التي تتوافق معها.

A diagram showing how tumbling windows are defined.

أنشئ إجراء البريد الإلكتروني

عند إنشاء إجراء بريد إلكتروني، يجب أن يكون عنوان البريد الإلكتروني معرف مستخدم في التطبيق، ويجب أن يكون المستخدم قد سجل الدخول إلى التطبيق مرة واحدة على الأقل. يمكنك أيضاً تحديد ملاحظة لتضمينها في البريد الإلكتروني. يعرض IoT Central مثالا لما يبدو عليه البريد الإلكتروني عند تشغيل القاعدة:

Screenshot that shows an email action for a rule.

إنشاء إجراء إخطار على الويب

تتيح لك خطافات الويب توصيل تطبيق IoT Central بالتطبيقات والخدمات الأخرى للمراقبة والإشعارات عن بعد. تقوم خطافات الويب تلقائيا بإعلام التطبيقات والخدمات الأخرى التي تتصل بها كلما تم تشغيل قاعدة في تطبيق IoT Central. يرسل تطبيق IoT Central طلب POST إلى نقطة نهاية HTTP للتطبيق الآخر كلما تم تشغيل قاعدة. تحتوي الحمولة على تفاصيل الجهاز وتفاصيل مشغل القاعدة.

في هذا المثال، يمكنك الاتصال ب RequestBin لاختبار الإعلام:

  1. انتقل إلى RequestBin.

  2. حدد Create a RequestBin.

  3. سجل الدخول باستخدام إحدى الطرق المتوفرة.

  4. انسخ عنوان URL لنقطة نهاية RequestBin.

  5. إضافة إجراء إلى القاعدة الخاصة بك:

    Screenshot that shows the webhook creation screen.

  6. اختر إجراء إخطار على الويب، وأدخل اسم عرض، والصق عنوان URL RequestBin كعنون URL لرد الاتصال.

  7. حفظ القاعدة.

الآن عند تشغيل القاعدة، سترى طلبا جديدا يظهر في RequestBin.

الحمولة

عند تشغيل قاعدة، فإنها تقدم طلب HTTP POST إلى عنوان URL لرد الاتصال. يحتوي الطلب على حمولة JSON مع بيانات تتبع الاستخدام والجهاز والقاعدة وتفاصيل التطبيق. تبدو الحمولة مثل مقتطف JSON التالي:

{
    "timestamp": "2020-04-06T00:20:15.06Z",
    "action": {
        "id": "<id>",
        "type": "WebhookAction",
        "rules": [
            "<rule_id>"
        ],
        "displayName": "Webhook 1",
        "url": "<callback_url>"
    },
    "application": {
        "id": "<application_id>",
        "displayName": "Contoso",
        "subdomain": "contoso",
        "host": "contoso.azureiotcentral.com"
    },
    "device": {
        "id": "<device_id>",
        "etag": "<etag>",
        "displayName": "Refrigerator Monitor - 1yl6vvhax6c",
        "instanceOf": "<device_template_id>",
        "simulated": true,
        "provisioned": true,
        "approved": true,
        "cloudProperties": {
            "City": {
                "value": "Seattle"
            }
        },
        "properties": {
            "deviceinfo": {
                "firmwareVersion": {
                    "value": "1.0.0"
                }
            }
        },
        "telemetry": {
            "<interface_instance_name>": {
                "humidity": {
                    "value": 47.33228889360127
                }
            }
        }
    },
    "rule": {
        "id": "<rule_id>",
        "displayName": "Humidity monitor"
    }
}

إذا كانت القاعدة تراقب بيانات تتبع الاستخدام المجمعة على مدى فترة زمنية، فإن الحمولة تحتوي على قسم بيانات تتبع الاستخدام الذي يبدو كما يلي:

{
    "telemetry": {
        "<interface_instance_name>": {
            "Humidity": {
                "avg": 39.5
            }
        }
    }
}

إشعار بتغيير تنسيق البيانات

إذا كان لديك خطاف ويب واحد أو أكثر تم إنشاؤه وحفظه قبل 3 أبريل 2020، فاحذف خطاف الويب وأنشئ خطافا جديدا. تستخدم خطافات الويب القديمة تنسيق حمولة مهمل:

{
    "id": "<id>",
    "displayName": "Webhook 1",
    "timestamp": "2019-10-24T18:27:13.538Z",
    "rule": {
        "id": "<id>",
        "displayName": "High temp alert",
        "enabled": true
    },
    "device": {
        "id": "rm1",
        "displayName": "Refrigerator Monitor - rm1",
        "instanceOf": "<device-template-id>",
        "simulated": true,
        "provisioned": true,
        "approved": true
    },
    "data": [{
        "@id": "<id>",
        "@type": ["Telemetry"],
        "name": "temperature",
        "displayName": "Temperature",
        "value": 66.27310467496761,
        "interfaceInstanceName": "sensors"
    }],
    "application": {
        "id": "<id>",
        "displayName": "x - Store Analytics Checkout",
        "subdomain": "<subdomain>",
        "host": "<host>"
    }
}

إنشاء إجراء مجموعة Azure Monitor

يصف هذا القسم كيفية استخدام مجموعات إجراءات Azure Monitorلإرفاق إجراءات متعددة بقاعدة IoT Central. يمكنك إرفاق مجموعة إجراءات بقواعد متعددة. مجموعة الإجراءات هي مجموعة من تفضيلات الإعلامات التي يحددها مالك اشتراك Azure.

يمكنك إنشاء مجموعات الإجراءات وإدارتها في مدخل Microsoft Azure أو باستخدام قالب Azure Resource Manager.

يمكن لمجموعة الإجراءات:

  • إرسال إعلامات مثل رسالة بريد إلكتروني أو رسالة نصية قصيرة أو إجراء مكالمة صوتية.
  • قم بتشغيل إجراء مثل استدعاء إخطار على الويب.

تظهر لقطة الشاشة التالية مجموعة إجراءات ترسل إعلامات عبر البريد الإلكتروني والرسائل النصية القصيرة وتستدعي إخطارا على الويب:

Screenshot that shows an action group in the Azure portal.

لاستخدام مجموعة إجراءات في قاعدة IoT Central، يجب أن تكون مجموعة الإجراءات في نفس اشتراك Azure مثل تطبيق IoT Central.

عند إضافة إجراء إلى القاعدة في IoT Central، حدد Azure Monitor Action Groups.

اختر مجموعة إجراءات من اشتراك Azure:

Screenshot that shows an action group in an IoT Central rule.

حدد حفظ. تظهر مجموعة الإجراءات الآن في قائمة الإجراءات التي سيتم تشغيلها عند تشغيل القاعدة.

يلخص الجدول التالي المعلومات المرسلة إلى أنواع الإجراءات المدعومة:

نوع الإجراء نموذج الإخراج
بريد إلكتروني قالب البريد الإلكتروني القياسي ل IoT Central
الرسائل القصيرة تنبيه Azure IoT Central: ${applicationName} - "${ruleName}" triggered on "${deviceName}" at ${triggerDate} ${triggerTime}
الصوت تنبيه Azure I.O.T Central: القاعدة "${ruleName}" triggered on device "${deviceName}" at ${triggerDate} ${triggerTime}, in application ${applicationName}
خطاف الويب { "schemaId" : "AzureIoTCentralRuleWebhook", "data": {"regular webhook payload"}}

النص التالي هو مثال على رسالة SMS من مجموعة إجراءات:

iotcentral: Azure IoT Central alert: Contoso - "Low pressure alert" triggered on "Motion sensor 2" at March 20, 2019 10:12 UTC

استعمال القواعد مع وحدات IoT Edge

يتم تطبيق التقييد على القواعد التي يتم تطبيقها على وحدات IoT Edge. لا يتم تقييم القواعد الخاصة ببيانات تتبع الاستخدام من وحدات نمطية مختلفة كقواعد صالحة. خذ المثال التالي، الشرط الأول من القاعدة هو على قياس درجة الحرارة عن بعد من الوحدة A. الشرط الثاني للقاعدة هو على القياس عن بعد للرطوبة في الوحدة B. نظرا لأن الشرطين من وحدات نمطية مختلفة، لديك مجموعة غير صالحة من الشروط. القاعدة غير صالحة وتطرح خطأ عند محاولة حفظ القاعدة.

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

الآن بعد أن تعلمت كيفية تكوين قاعدة في تطبيق Azure IoT Central، يمكنك معرفة كيفية تكوين القواعد المتقدمة باستخدام Power Automate أو Azure Logic Apps.