توزيع جهاز Linux الظاهري الممكن لـ Azure IoT Edge

مكتمل

لاختبار تكوين IoT Edge، تحتاج إلى نشر وقت تشغيل IoT Edge على جهاز ظاهري (VM).

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

هنا، ستراجع بعض مفاهيم IoT Edge الأساسية، وستتعرف على كيفية اتصال جهاز IoT Edge بتطبيق IoT Central، وكيف يقوم IoT Central بنشر وحدات IoT Edge الخاصة بك في وقت تشغيل IoT Edge.

ما هو وقت تشغيل IoT Edge؟

يتيح وقت تشغيل Azure IoT Edge منطق العرف والسحابة على أجهزة IoT Edge. وقت التشغيل موجود على جهاز IoT Edge، ويقوم بعمليات الإدارة والاتصالات. وقت التشغيل:

  • تثبيت وتحديث أعباء العمل على الجهاز.
  • يحافظ على معايير أمان Azure IoT Edge على الجهاز.
  • يضمن تشغيل وحدات IoT Edge دائما.
  • تقارير وحدة الصحة إلى سحابة للرصد عن بعد.
  • يدير الاتصال بين أجهزة انتقال البيانات من الخادم وجهاز IoT Edge، وبين الوحدات النمطية على جهاز IoT Edge، وبين جهاز IoT Edge والسحابة، وبين أجهزة IoT Edge.

ما هي وحدات IoT Edge؟

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

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

كيف يتصل جهاز IoT Edge ب IoT Central؟

تستخدم أجهزة IoT Edge، مثل الأجهزة الأخرى، خدمة توفير جهاز IoT Hub (DPS) للاتصال بتطبيق IoT Central. في الوحدة السابقة، عند إضافة جهاز إلى تطبيق IoT Central، قمت بتدوين معرف النطاق ومعرف الجهاز ومفتاح الجهاز. إضافة هذه القيم إلى ملف تكوين IoT Edge على جهاز IoT Edge. يبدو القسم ذي الصلة من ملف TOML هذا كما يلي. registration_idمعرف الجهاز:

[provisioning]
source = "dps"
global_endpoint = "https://global.azure-devices-provisioning.net"
id_scope = "YOUR_ID_SCOPE"

[provisioning.attestation]
method = "symmetric_key"
registration_id = "YOUR_DEVICE_ID"
symmetric_key = { value = "YOUR_DEVICE_KEY" }

في الوحدة التالية، يقوم برنامج النشر النصي الذي تستخدمه لجهاز IoT Edge بتحرير ملف التكوين لك.

كيف يتم نشر وحدات IoT Central إلى وقت تشغيل IoT Edge؟

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

يقوم بيان النشر الذي استخدمته بتثبيت وحدتي النظام المطلوبتين، edgeAgent و edgeHub وحدة نمطية مخصصة. SimulatedTemperatureSensor ترسل هذه الوحدة النمطية المخصصة القياس عن بعد المحيط والجهاز إلى IoT Central ولها خاصيتين، SendData و SendInterval، يمكن لمشغل استخدامهما لتكوين الوحدة النمطية:

{
  "modulesContent": {
    "$edgeAgent": {
      "properties.desired": {
        "schemaVersion": "1.0",
        "runtime": {
          "type": "docker",
          "settings": {
            "minDockerVersion": "v1.25",
            "loggingOptions": "",
            "registryCredentials": {}
          }
        },
        "systemModules": {
          "edgeAgent": {
            "type": "docker",
            "settings": {
              "image": "mcr.microsoft.com/azureiotedge-agent:1.4",
              "createOptions": "{}"
            }
          },
          "edgeHub": {
            "type": "docker",
            "status": "running",
            "restartPolicy": "always",
            "settings": {
              "image": "mcr.microsoft.com/azureiotedge-hub:1.4",
              "createOptions": "{}"
            }
          }
        },
        "modules": {
          "SimulatedTemperatureSensor": {
            "version": "1.0",
            "type": "docker",
            "status": "running",
            "restartPolicy": "always",
            "settings": {
              "image": "mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.4.6",
              "createOptions": "{}"
            }
          }
        }
      }
    },
    "$edgeHub": {
      "properties.desired": {
        "schemaVersion": "1.0",
        "routes": {
            "route": "FROM /* INTO $upstream"
        },
        "storeAndForwardConfiguration": {
          "timeToLiveSecs": 7200
        }
      }
    },
    "SimulatedTemperatureSensor": {
      "properties.desired": {
           "SendData": true,
           "SendInterval": 10
      }
    }
  }
}

نشر IoT Edge على جهاز VM

1.

كيف يتصل جهاز IoT Edge ب IoT Central؟

2.

من أين يقوم جهاز IoT Edge بتنزيل الوحدات النمطية؟