إنشاء وتوفير جهاز 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.

توفر هذه المقالة إرشادات شاملة لتسجيل وتوفير جهاز Linux IoT Edge الذي يتضمن تثبيت IoT Edge.

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

  • اسم مضيف مركز IoT
  • معرف الجهاز
  • تفاصيل المصادقة للاتصال ب IoT Hub

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

  • مفاتيح متماثلة: عند إنشاء هوية جهاز جديدة في IoT Hub، تنشئ الخدمة مفتاحين. يمكنك وضع أحد المفاتيح على الجهاز، ويعرض المفتاح إلى IoT Hub عند المصادقة.

    أسلوب المصادقة هذا أسرع للبدء، ولكن ليس آمنا.

  • X.509 موقع ذاتيا: يمكنك إنشاء شهادتي هوية X.509 ووضعهما على الجهاز. عند إنشاء هوية جهاز جديدة في IoT Hub، فإنك توفر بصمة الإبهام من كلتا الشهادتين. عندما يصادق الجهاز على IoT Hub، فإنه يقدم شهادة واحدة ويتحقق IoT Hub من أن الشهادة تطابق بصمة الإبهام الخاصة به.

    أسلوب المصادقة هذا أكثر أمانا ويوصى به لسيناريوهات الإنتاج.

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

إشعار

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

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

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

أدوات إدارة الأجهزة

يمكنك استخدام مدخل Microsoft Azure أو Visual Studio Code أو Azure CLI لخطوات تسجيل جهازك. كل أداة مساعدة لها متطلباتها الأساسية الخاصة أو قد تحتاج إلى تثبيت:

مركز IoT مجاني أو قياسي في اشتراك Azure الخاص بك.

متطلبات الجهاز

جهاز X64 أو ARM32 أو ARM64 Linux.

تنشر Microsoft حزم التثبيت لمجموعة متنوعة من أنظمة التشغيل.

للحصول على أحدث المعلومات حول أنظمة التشغيل المدعومة حاليا لسيناريوهات الإنتاج، راجع أنظمة Azure IoT Edge المدعومة.

ملحقات Visual Studio Code

إذا كنت تستخدم Visual Studio Code، فهناك ملحقات Azure IoT مفيدة تجعل عملية إنشاء الجهاز وإدارته أسهل.

تثبيت كل من ملحقات Azure IoT Edge وAzure IoT Hub:

تسجيل جهازك

يمكنك استخدام مدخل Microsoft Azure أو Visual Studio Code أو Azure CLI لتسجيل جهازك، اعتمادا على تفضيلك.

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

  1. سجل الدخول إلى مدخل Microsoft Azure والانتقال إلى IoT hub الخاص بك.

  2. في الجزء الأيمن، حدد الأجهزة من القائمة، ثم حدد إضافة جهاز.

  3. في صفحة إنشاء جهاز ، قم بتوفير المعلومات التالية:

    • إنشاء معرف جهاز وصفي، على سبيل المثال my-edge-device-1 (جميع الأحرف الصغيرة). انسخ معرف الجهاز هذا، حيث ستستخدمه لاحقا.
    • حدد خانة الاختيار جهاز IoT Edge .
    • اختر مفتاح المحتوي كنوع المصادقة.
    • استخدم الإعدادات الافتراضية لإنشاء مفاتيح المصادقة تلقائيا، والتي تربط الجهاز الجديد بمركزك.
  4. حدد حفظ.

يجب أن تشاهد جهازك الجديد مدرجا في مركز IoT.

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

عرض الأجهزة المسجلة واسترداد معلومات التوفير

تحتاج الأجهزة التي تستخدم مصادقة المفتاح المتماثل إلى سلسلة الاتصال الخاصة بها لإكمال تثبيت وقت تشغيل IoT Edge وتوفيره. يتم إنشاء سلسلة الاتصال لجهاز IoT Edge عند إنشاء الجهاز. بالنسبة إلى Visual Studio Code وAzure CLI، سلسلة الاتصال في إخراج JSON. إذا كنت تستخدم مدخل Microsoft Azure لإنشاء جهازك، يمكنك العثور على سلسلة الاتصال من الجهاز نفسه. عند تحديد جهازك في مركز IoT، يتم إدراجه كما Primary connection string في صفحة الجهاز.

يتم سرد الأجهزة الممكنة للحافة التي تتصل بمركز IoT في صفحة الأجهزة في مركز IoT الخاص بك. إذا كان لديك أجهزة متعددة، يمكنك تصفية القائمة عن طريق تحديد النوع Iot Edge Devices، ثم حدد Apply.

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

  1. من صفحة الأجهزة، حدد معرف جهاز IoT Edge من القائمة.
  2. انسخ قيمة سلسلة الاتصال الأساسية أو سلسلة الاتصال الثانوية. يعمل أي من المفتاحين.

تثبيت IoT Edge

في هذا القسم، يمكنك إعداد جهاز Linux الظاهري أو الجهاز الفعلي ل IoT Edge. بعد ذلك، يمكنك تثبيت IoT Edge.

قم بتشغيل الأوامر التالية لإضافة مستودع الحزمة ثم إضافة مفتاح توقيع حزمة Microsoft إلى قائمة المفاتيح الموثوق بها.

هام

في 30 يونيو 2022 تم إيقاف Raspberry Pi OS Stretch من قائمة دعم نظام التشغيل من المستوى 1. لتجنب الثغرات الأمنية المحتملة، قم بتحديث نظام التشغيل المضيف إلى Bullseye.

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

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

  • 24.04:

    wget https://packages.microsoft.com/config/ubuntu/24.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
    sudo dpkg -i packages-microsoft-prod.deb
    rm packages-microsoft-prod.deb
    
  • 22.04:

    wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
    sudo dpkg -i packages-microsoft-prod.deb
    rm packages-microsoft-prod.deb
    
  • 20.04:

    wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
    sudo dpkg -i packages-microsoft-prod.deb
    rm packages-microsoft-prod.deb
    

لمزيد من المعلومات حول إصدارات نظام التشغيل، راجع الأنظمة الأساسية المدعومة من Azure IoT Edge.

إشعار

تخضع حزم برامج Azure IoT Edge لشروط الترخيص الموجودة في كل حزمة LICENSE (usr/share/doc/{package-name}أو الدليل). اقرأ شروط الترخيص قبل استخدام الحزمة. تركيب واستخدامك للحزمة يشكل قبولك لهذه الشروط. في حال عدم موافقتك على شروط الترخيص، فلا تستخدم هذه الحزمة.

ثبِّت محرك حاوية

يعتمد Azure IoT Edge على وقت تشغيل حاوية متوافق مع OCI. بالنسبة لسيناريوهات الإنتاج، نوصي باستخدام محرك Moby. محرك Moby هو محرك الحاوية المدعوم رسميا مع IoT Edge. تتوافق صور حاوية Docker CE/EE مع وقت تشغيل Moby. إذا كنت تستخدم محاذاة Ubuntu Core، يتم صيانة محاذاة Docker بواسطة Canonical ويتم دعمها لسيناريوهات الإنتاج.

ثبِّت محرك Moby.

sudo apt-get update; \
  sudo apt-get install moby-engine

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

توضح لك الخطوات التالية كيفية تكوين الحاوية لاستخدام local برنامج تشغيل التسجيل كآلية تسجيل.

  1. إنشاء ملف تكوين Docker daemon الموجود أو تحريره

    sudo nano /etc/docker/daemon.json
    
  2. قم بتعيين برنامج تشغيل التسجيل الافتراضي إلى local برنامج تشغيل التسجيل كما هو موضح في المثال.

       {
          "log-driver": "local"
       }
    
  3. أعد تشغيل محرك الحاوية حتى تسري التغييرات.

    sudo systemctl restart docker
    

قم بتثبيت وقت تشغيل IoT Edge

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

إشعار

بدءا من الإصدار 1.2، تعالج خدمة هوية IoT توفير الهوية وإدارتها ل IoT Edge ومكونات الأجهزة الأخرى التي تحتاج إلى الاتصال ب IoT Hub.

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

تلميح

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

تثبيت أحدث إصدار من IoT Edge وحزمة خدمة هوية IoT (إذا لم تكن محدثا بالفعل):

  • 22.04:

    sudo apt-get update; \
       sudo apt-get install aziot-edge
    
  • 20.04:

    sudo apt-get update; \
       sudo apt-get install aziot-edge defender-iot-micro-agent-edge
    

تتضمن الحزمة الاختيارية defender-iot-micro-agent-edge عامل Microsoft Defender لأمان IoT الصغير الذي يوفر رؤية نقطة النهاية في إدارة وضع الأمان والثغرات الأمنية والكشف عن التهديدات وإدارة الأسطول والمزيد لمساعدتك على تأمين أجهزة IoT Edge. يوصى بتثبيت العامل الصغير مع عامل Edge لتمكين مراقبة الأمان وتصلب أجهزة Edge. لمعرفة المزيد حول Microsoft Defender for IoT، راجع ما هو Microsoft Defender for IoT لمنشئي الأجهزة.

تزويد الجهاز بهويته السحابية

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

يمكنك تكوين جهاز IoT Edge الخاص بك باستخدام مصادقة المفتاح المتماثل باستخدام الأمر التالي:

sudo iotedge config mp --connection-string 'PASTE_DEVICE_CONNECTION_STRING_HERE'

ينشئ هذا iotedge config mp الأمر ملف تكوين على الجهاز ويدخل سلسلة الاتصال في ملف التكوين.

  1. تطبيق تغييرات التكوين.

    sudo iotedge config apply
    
  2. لعرض ملف التكوين، يمكنك فتحه:

    sudo nano /etc/aziot/config.toml
    

نشر الوحدات

لنشر وحدات IoT Edge النمطية، انتقل إلى مركز IoT في مدخل Microsoft Azure، ثم:

  1. حدد الأجهزة من قائمة IoT Hub.

  2. حدد جهازك لفتح صفحته.

  3. حدد علامة التبويب Set Modules.

  4. نظرا لأننا نريد نشر الوحدات النمطية الافتراضية ل IoT Edge (edgeAgent وedgeHub)، فلا نحتاج إلى إضافة أي وحدات نمطية إلى هذا الجزء، لذا حدد Review + create في الأسفل.

  5. ترى تأكيد JSON للوحدات النمطية الخاصة بك. حدد Create لنشر الوحدات النمطية.

لمزيد من المعلومات، راجع نشر وحدة نمطية.

تحقق من التكوين الناجح

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

تلميح

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

  1. تحقق من تشغيل خدمة نظام IoT Edge.

    sudo iotedge system status
    

    تظهر استجابة الحالة الناجحة aziot الخدمات على أنها قيد التشغيل أو جاهزة.

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

    sudo iotedge system logs
    
  3. check استخدم الأداة للتحقق من التكوين وحالة الاتصال للجهاز.

    sudo iotedge check
    

    يمكنك توقع مجموعة من الاستجابات التي قد تتضمن موافق (أخضر) أو تحذير (أصفر) أو خطأ (أحمر). لاستكشاف الأخطاء الشائعة وإصلاحها، راجع حلول المشكلات الشائعة ل Azure IoT Edge.

    لقطة شاشة لنماذج الاستجابات من أمر الفحص.

    تلميح

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

    إشعار

    على جهاز تم توفيره حديثا، قد ترى خطأ يتعلق ب IoT Edge Hub:

    × جاهزية الإنتاج: يستمر دليل تخزين Edge Hub على نظام ملفات المضيف - خطأتعذر التحقق من الحالة الحالية لحاوية edgeHub

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

    بدلا من ذلك، قد ترى رمز الحالة ك 417 -- The device's deployment configuration is not set. بمجرد نشر الوحدات النمطية الخاصة بك، ستتغير هذه الحالة.

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

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

    لقطة شاشة لوحدات IoT Edge النمطية التي تم نشرها وتشغيل التأكيد في مدخل Microsoft Azure.

    بمجرد نشر الوحدات النمطية وتشغيلها، قم بإدراجها في جهازك أو الجهاز الظاهري باستخدام الأمر التالي:

    sudo iotedge list
    

تثبيت إصدار محدد أو غير متصل (اختياري)

الخطوات الواردة في هذا القسم مخصصة للسيناريوهات التي لا تغطيها خطوات التثبيت القياسية. وقد يشمل ذلك ما يلي:

  • تثبيت IoT Edge أثناء عدم الاتصال
  • تثبيت إصدار مرشح للإصدار

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

إذا كنت تستخدم محاذاة Ubuntu، يمكنك تنزيل محاذاة وتثبيتها دون اتصال. لمزيد من المعلومات، راجع تنزيل الانطباقات وتثبيتها دون اتصال.

باستخدام أوامر curl، يمكنك استهداف ملفات المكونات مباشرة من مستودع IoT Edge GitHub.

  1. انتقل إلى إصدارات Azure IoT Edge، وابحث عن إصدار الإصدار الذي تريد استهدافه.

  2. قم بتوسيع قسم Assets لهذا الإصدار.

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

    1. ابحث عن ملف aziot-identity-service الذي يطابق بنية جهاز IoT Edge. انقر بزر الماوس الأيمن فوق ارتباط الملف وانسخ عنوان الارتباط.

    2. استخدم الارتباط المنسخ في الأمر التالي لتثبيت هذا الإصدار من خدمة الهوية:

      curl -L <identity service link> -o aziot-identity-service.deb && sudo apt-get install ./aziot-identity-service.deb
      

    1. ابحث عن ملف aziot-edge الذي يطابق بنية جهاز IoT Edge. انقر بزر الماوس الأيمن فوق ارتباط الملف وانسخ عنوان الارتباط.

    2. استخدم الارتباط المنسخ في الأمر التالي لتثبيت هذا الإصدار من IoT Edge.

      curl -L <iotedge link> -o aziot-edge.deb && sudo apt-get install ./aziot-edge.deb
      

إلغاء تثبيت IoT Edge

إذا كنت تريد إزالة تثبيت IoT Edge من جهازك، فاستخدم الأوامر التالية.

قم بإزالة وقت تشغيل IoT Edge.

sudo apt-get autoremove --purge aziot-edge

اترك العلامة --purge إذا كنت تخطط لإعادة تثبيت IoT Edge واستخدام نفس معلومات التكوين في المستقبل. تحذف --purge العلامة جميع الملفات المقترنة ب IoT Edge، بما في ذلك ملفات التكوين الخاصة بك.

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

sudo docker ps -a

احذف الحاويات من جهازك، بما في ذلك حاويتي وقت التشغيل.

sudo docker rm -f <container ID>

وأخيرا، قم بإزالة وقت تشغيل الحاوية من جهازك.

sudo apt-get autoremove --purge moby-engine

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

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