بداية سريعة: انشر أول وحدة IoT Edge على جهاز Linux افتراضي

ينطبق على:علامة اختيار IoT Edge 1.5 IoT Edge 1.5 علامة اختيار IoT Edge 1.4 IoT Edge 1.4

هام

IoT Edge 1.5 LTS وIoT Edge 1.4 LTS هي إصدارات مدعومة. IoT Edge 1.4 LTS هو نهاية العمر الافتراضي في 12 نوفمبر 2024. إذا كنت تستخدم إصدارا سابقا، فشاهد تحديث IoT Edge.

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

ستتعلم في هذه البداية السريعة كيفية:

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

رسم تخطيطي لبنية التشغيل السريع للجهاز والسحابة.

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

في حال لم يكن لديك اشتراك Azure نشط، يُمكنك إنشاء حساب مجاني قبل البدء.

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

تحضير البيئة الخاصة بك لـAzure CLI.

موارد السحابة:

  • مجموعة موارد لإدارة جميع الموارد التي تستخدمها في هذا التشغيل السريع. نستخدم مثال اسم مجموعة الموارد IoTEdgeResources خلال هذا التشغيل السريع والبرامج التعليمية التالية.

    az group create --name IoTEdgeResources --location westus2
    

إنشاء مركز IoT

ابدأ التشغيل السريع عن طريق إنشاء مركز IoT باستخدام Azure CLI.

رسم تخطيطي لكيفية إنشاء مركز IoT في السحابة.

يعمل المستوى المجاني من IoT Hub لهذا التشغيل السريع. إذا كنت قد استخدمت IoT Hub في الماضي ولديك مركز مُنشأ بالفعل، يُمكنك استخدام مركز IoT هذا.

تقوم التعليمة البرمجية التالية بإنشاء لوحة وصل F1مجانية في مجموعة الموارد IoTEdgeResources. استبدل {hub_name} باسم فريد لـ IoT hub. قد يستغرق إنشاء IoT hub بضع دقائق.

az iot hub create --resource-group IoTEdgeResources --name {hub_name} --sku F1 --partition-count 2

إذا حدث خطأ بسبب وجود مركز مجاني واحد بالفعل في اشتراكك، قم بتغيير SKU إلى S1. يمكن أن يكون لكل اشتراك مركز IoT مجاني واحد فقط. إذا حدث خطأ بسبب عدم توفر اسم IoT hub، فهذا يعني أن هناك شخصًا آخر لديه بالفعل مركز بهذا الاسم. جرب اسماً جديداً.

تسجيل جهاز IoT Edge

سجل جهاز IoT Edge مع IoT hub الذي تم إنشاؤه حديثاً.

رسم تخطيطي لكيفية تسجيل جهاز بهوية IoT Hub.

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

نظرًا لأن أجهزة IoT Edge تتصرف ويمكن إدارتها بشكل مختلف عن أجهزة IoT النموذجية، أعلن أن هذه الهوية تخص جهاز IoT Edge بعلامة --edge-enabled.

  1. في Azure Cloud Shell، أدخل الأمر التالي لإنشاء جهاز باسم myEdgeDevice في الموزع الخاص بك.

    az iot hub device-identity create --device-id myEdgeDevice --edge-enabled --hub-name {hub_name}
    

    إذا تلقيت خطأ حول مفاتيح نهج iothubowner، فتأكد من تشغيل Cloud Shell أحدث إصدار من ملحق azure-iot .

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

    az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name {hub_name}
    

    على سبيل المثال، يجب أن تبدو سلسلة الاتصال مشابهة ل HostName=contoso-hub.azure-devices.net;DeviceId=myEdgeDevice;SharedAccessKey=<DEVICE_SHARED_ACCESS_KEY>.

كيفية تكوين جهاز IoT Edge

أنشئ جهازًا افتراضيًّا مع وقت تشغيل Azure IoT Edge عليه.

رسم تخطيطي لكيفية بدء وقت التشغيل على جهاز.

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

أثناء تكوين وقت التشغيل، يمكنك توفير سلسلة اتصال جهاز. هذه هي السلسلة التي قمت باستردادها من Azure CLI. تربط هذه السلسلة جهازك الفعلي بهوية جهاز IoT Edge في Azure.

استخدام جهاز IoT Edge

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

استخدم الزر Deploy to Azure أو أوامر CLI لإنشاء جهاز IoT Edge استنادا إلى قالب iotedge-vm-deploy الذي تم إنشاؤه مسبقا.

  • النشر باستخدام قالب IoT Edge Azure Resource Manager.

    نشر في Azure

  • بالنسبة لمستخدمي bash أو Cloud Shell، انسخ الأمر التالي في محرر نصوص، واستبدل نص العنصر النائب بمعلوماتك، ثم انسخه في نافذة bash أو Cloud Shell:

    az deployment group create \
    --resource-group IoTEdgeResources \
    --template-uri "https://raw.githubusercontent.com/Azure/iotedge-vm-deploy/main/edgeDeploy.json" \
    --parameters dnsLabelPrefix='<REPLACE_WITH_VM_NAME>' \
    --parameters adminUsername='azureUser' \
    --parameters deviceConnectionString=$(az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name <REPLACE_WITH_HUB_NAME> -o tsv) \
    --parameters authenticationType='password' \
    --parameters adminPasswordOrKey="<REPLACE_WITH_PASSWORD>"
    
  • بالنسبة لمستخدمي PowerShell، انسخ الأمر التالي في نافذة PowerShell، ثم استبدل نص العنصر النائب بمعلوماتك الخاصة:

    az deployment group create `
    --resource-group IoTEdgeResources `
    --template-uri "https://raw.githubusercontent.com/Azure/iotedge-vm-deploy/main/edgeDeploy.json" `
    --parameters dnsLabelPrefix='<REPLACE_WITH_VM_NAME>' `
    --parameters adminUsername='azureUser' `
    --parameters deviceConnectionString=$(az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name <REPLACE_WITH_HUB_NAME> -o tsv) `
    --parameters authenticationType='password' `
    --parameters adminPasswordOrKey="<REPLACE_WITH_PASSWORD>"
    

يأخذ هذا القالب المعلمات التالية:

المعلمة ‏‏الوصف‬
مجموعة الموارد مجموعة الموارد التي سيتم إنشاء الموارد فيها. استخدم IoTEdgeResources الافتراضية التي استخدمناها خلال هذه المقالة أو قدم اسم مجموعة موارد موجودة في اشتراكك.
نموذج - uri مؤشر إلى قالب Azure Resource Manager الذي نستخدمه.
dnsLabelPrefix سلسلة سيتم استخدامها لإنشاء اسم مضيف الجهاز الظاهري. استبدل نص العنصر النائب باسم لجهازك الظاهري.
اسم المستخدم المسؤول اسم مستخدم لحساب المسؤول للجهاز الظاهري. استخدم المثال azureUser أو قدم اسم مستخدم جديدًا.
deviceConnectionString سلسلة الاتصال من هوية الجهاز في IoT Hub، والتي تُستخدم لتكوين وقت تشغيل IoT Edge على الجهاز الظاهري. يستحوذ أمر CLI داخل هذه المعلمة على سلسلة الاتصال نيابة عنك. استبدل نص العنصر النائب باسم محور IoT الخاص بك.
نوع المصادقة طريقة المصادقة لحساب المسؤول. يستخدم هذا التشغيل السريع مصادقة كلمة المرور ، ولكن يمكنك أيضا تعيين هذه المعلمة إلى sshPublicKey.
adminPasswordOrKey كلمة المرور أو قيمة مفتاح SSH لحساب المسؤول. استبدل نص العنصر النائب بكلمة مرور آمنة. يجب أن تتكون كلمة المرور الخاصة بك من 12 حرفًا على الأقل وتحتوي على ثلاثة من أربعة مما يلي: أحرف صغيرة وأحرف كبيرة وأرقام وأحرف خاصة.

بمجرد اكتمال التوزيع، يجب أن تتلقى ناتجًا بتنسيق JSON في CLI الذي يحتوي على معلومات SSH للاتصال بالجهاز الظاهري. انسخ قيمة إدخال SSH العام لقسم المخرجات . على سبيل المثال، يجب أن يبدو أمر SSH مشابها ل ssh azureUser@edge-vm.westus2.cloudapp.azure.com.

اعرض حالة وقت تشغيل IoT Edge

تتم بقية الأوامر في هذا التشغيل السريع على جهاز IoT Edge نفسه، بحيث يمكنك مشاهدة ما يحدث على الجهاز. إذا كنت تستخدم جهازًا ظاهريًّا، فاتصل بهذا الجهاز الآن باستخدام اسم مستخدم المسؤول الذي قمت بإعداده واسم DNS الذي تم إخراجه بواسطة أمر النشر. يمكنك أيضًا العثور على اسم DNS على صفحة نظرة عامة على جهازك الظاهري في مدخل Microsoft Azure. استخدم الأمر التالي للاتصال بجهازك الظاهري. استبدال {admin username}و{DNS name} بالقيم الخاصة بك.

ssh {admin username}@{DNS name}

بمجرد الاتصال بجهازك الظاهري، تحقق من أن وقت التشغيل قد تم تثبيته وتكوينه بنجاح على جهاز IoT Edge الخاص بك.

  1. تحقق لمعرفة أن IoT Edge قيد التشغيل. يجب أن يعرض الأمر التالي الحالة موافق إذا كان IoT Edge قيد التشغيل، أو يقدم أي أخطاء في الخدمة.

    sudo iotedge system status
    

    تلميح

    أنت بحاجة إلى امتيازات مرتفعة لتشغيل الأوامر iotedge. بمجرد تسجيل الخروج من جهازك وإعادة تسجيل الدخول في المرة الأولى بعد تثبيت وقت تشغيل IoT Edge، يتم تحديث أذوناتك تلقائيًّا. حتى ذلك الحين، استخدم sudo أمام الأوامر.

  2. إذا كنت بحاجة إلى استكشاف أخطاء الخدمة وإصلاحها، فقم باسترداد سجلات الخدمة.

    sudo iotedge system logs
    
  3. عرض جميع الوحدات النمطية التي تعمل على جهاز IoT Edge. فور بدء الخدمة لأول مرة، يجب أن ترى فقط الوحدة النمطية edgeAgent قيد التشغيل. تعمل الوحدة النمطية edgeAgent بشكل افتراضي وتساعد على تثبيت أي وحدات إضافية تقوم بنشرها على جهازك وتشغيلها.

    sudo iotedge list
    

تم تكوين جهاز IoT Edge الآن. إنه جاهز لتشغيل الوحدات النمطية التي يتم استخدامها على السحابة.

نشر الوحدة النمطية

قم بإدارة جهاز Azure IoT Edge الخاص بك من السحابة لنشر وحدة نمطية سترسل بيانات القياس عن بُعد إلى IoT Hub.

رسم تخطيطي لكيفية نشر وحدة نمطية من سحابة إلى جهاز.

تتمثّل إحدى القدرات الرئيسية لـ Azure IoT Edge في نشر التعليمات البرمجية على أجهزة IoT Edge الخاصة بك من السحابة. وحدات IoT Edge النمطية عبارة عن حِزم تنفيذية يتم تطبيقها كحاويات. في هذا القسم، ستنشر وحدة نمطية مُنشأة مسبقاً من قسم "IoT Edge Modules" في Azure Marketplaceمن Azure IoT Hub مباشرةً.

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

اتبع هذه الخطوات لبدء معالج تعيين الوحدات النمطية لنشر الوحدة النمطية الأولى من Azure Marketplace.

  1. سجل فيمدخل Azure ثم انتقل إلى مركز IoT.

  2. من القائمة على اليسار، ضمن إدارة الجهاز، حدد الأجهزة.

  3. حدد معرف الجهاز لجهاز IoT Edge الهدف من القائمة.

    عند إنشائك جهاز IoT Edge جديدًا، فإنه سيعرض رمز الحالة 417 -- The device's deployment configuration is not set في مدخل Microsoft Azure. هذه الحالة طبيعية، وتعني أن الجهاز جاهز لتلقي وحدة نشر.

  4. في الشريط العلوي، حدد "Set Modules".

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

  5. ضمن "IoT Edge Modules"، وافتح القائمة المنسدلة "Add"، ومن ثمَّ حدد "Marketplace Module".

  6. في "IoT Edge Module Marketplace"، ابحث عن الوحدة النمطية Simulated Temperature Sensor وحددها. تُضاف الوحدة النمطية إلى قسم "IoT Edge Modules" مع حالة التشغيل المطلوبة.

  7. حدد Next: Routes لمتابعة تكوين المسارات.

    تم إنشاء مسار يسمى SimulatedTemperatureSensorToIoTHub تلقائيا عند إضافة الوحدة النمطية من Azure Marketplace. يرسل هذا المسار جميع الرسائل من وحدة محاكاة درجة الحرارة إلى IoT Hub.

  8. حدّد Next: Review + create.

  9. راجع ملف JSON، ثم حدّد "Create". يحدد ملف JSON جميع الوحدات النمطية التي تنشرها على جهاز IoT Edge الخاص بك.

    إشعار

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

بعد إنشاء تفاصيل نشر الوحدة النمطية، يعيدك المعالج إلى صفحة تفاصيل الجهاز. اعرض حالة النشر في علامة التبويب "Modules".

يجب أن تشاهد ثلاث وحدات نمطية: $edgeAgent، و$edgeHub، وSimulatedTemperatureSensor. إذا كانت وحدة نمطية واحدة أو أكثر تحتوي على نعم ضمن محدد في النشر ولكن ليس ضمن تم الإبلاغ عنها بواسطة الجهاز، فلا يزال جهاز IoT Edge يبدأ تشغيلها. انتظر بضع دقائق، ثم قم بتحديث الصفحة.

لقطة شاشة تعرض SimulatedTemperatureSensor في قائمة الوحدات النمطية المنشورة.

إذا كانت لديك مشكلات في نشر الوحدات النمطية، فراجع استكشاف أخطاء أجهزة IoT Edge وإصلاحها من مدخل Microsoft Azure.

عرض البيانات التي تم إنشاؤها

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

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

افتح موجه الأوامر على جهاز IoT Edge مرة أخرى، أو استخدم اتصال SSH من Azure CLI. تأكد من أن الوحدة التي تم نشرها من السحابة تعمل على جهاز IoT Edge الخاص بك:

sudo iotedge list

لقطة شاشة تعرض ثلاث وحدات نمطية على جهازك.

عرض الرسائل التي يتم إرسالها من وحدة استشعار درجة الحرارة:

sudo iotedge logs SimulatedTemperatureSensor -f

لقطة شاشة تعرض البيانات من الوحدة النمطية الخاصة بك في وحدة تحكم الإخراج.

تلميح

أوامر IoT Edge حساسة لحالة الأحرف عند الإشارة إلى أسماء الوحدات.

تنظيف الموارد

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

إذا قمت بإنشاء الجهاز الظاهري ومركز IoT في مجموعة موارد جديدة، يمكنك حذف هذه المجموعة وكافة الموارد المقترنة. تحقق مرة أخرى من محتويات مجموعة الموارد للتأكد من عدم وجود شيء تريد الاحتفاظ به. إذا كنت لا ترغب في حذف المجموعة بأكملها، يُمكنك حذف الموارد الفردية بدلاً من ذلك.

هام

حذف مجموعة الموارد لا يمكن التراجع عنه.

قم بإزالة مجموعة IoTEdgeResources. قد يستغرق حذف مجموعة موارد بضع دقائق.

az group delete --name IoTEdgeResources --yes

يمكنك تأكيد إزالة مجموعة الموارد عن طريق عرض قائمة مجموعات الموارد.

az group list

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

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

في البرنامج التعليمي التالي، ستتعرف على كيفية مراقبة نشاط وصحة جهازك من مدخل Microsoft Azure.