إنشاء وتوفير IoT Edge ل Linux على جهاز Windows باستخدام مفاتيح متماثلة

ينطبق على:IoT Edge 1.4 checkmark IoT Edge 1.4

هام

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

توفر هذه المقالة إرشادات شاملة لتسجيل وتوفير IoT Edge لنظام Linux على جهاز Windows.

يحتوي كل جهاز يتصل بمركز 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 على جهاز Windows باستخدام شهادات X.509.

إشعار

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

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

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

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

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

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

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

جهاز Windows مع الحد الأدنى من المتطلبات التالية:

  • متطلبات النظام

    • Windows 101/11 (Pro وEnterprise وIoT Enterprise)
    • Windows Server 20191/2022
      1 Windows 10 وWindows Server 2019 الحد الأدنى للإصدار 17763 مع تثبيت جميع التحديثات التراكمية الحالية.
  • متطلبات الجهاز

    • الحدّ الأدنى للذاكرة الحرة: 1 غيغابايت
    • الحدّ الأدنى للمساحة الفارغة على القرص: 10 غيغابايت
  • دعم الظاهرية

  • دعم الشبكات

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

تلميح

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

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

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

أدوات المطور

قم بإعداد جهازك المستهدف لتثبيت Azure IoT Edge ل Linux على Windows ونشر الجهاز الظاهري Linux:

  1. تعيين نهج التنفيذ على الجهاز الهدف إلى AllSigned. يمكنك التحقق من نهج التنفيذ الحالي في موجه PowerShell غير مقيد باستخدام الأمر التالي:

    Get-ExecutionPolicy -List
    

    إذا لم يُعيِّن نهج تنفيذ local machine إلى AllSigned، يُمكنك تعيين نهج التنفيذ من خلال:

    Set-ExecutionPolicy -ExecutionPolicy AllSigned -Force
    

لمزيد من المعلومات حول الوحدة النمطية Azure IoT Edge for Linux على Windows PowerShell، راجع مرجع وظائف PowerShell.

تسجيل جهازك

يمكنك استخدام مدخل 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. انسخ قيمة إما سلسلة الاتصال ion الأساسية أو سلسلة الاتصال الثانوية. سيعمل أي من المفتاحين.

تثبيت IoT Edge

انشر Azure IoT Edge ل Linux على Windows على جهازك المستهدف.

إشعار

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

  1. في جلسة عمل PowerShell مرتفعة، قم بتشغيل أي من الأوامر التالية اعتمادا على بنية الجهاز الهدف لتنزيل IoT Edge لنظام Linux على Windows.

    • X64/AMD64

      $msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))
      $ProgressPreference = 'SilentlyContinue'
      Invoke-WebRequest "https://aka.ms/AzEFLOWMSI_1_4_LTS_X64" -OutFile $msiPath
      
    • ARM64

      $msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))
      $ProgressPreference = 'SilentlyContinue'
      Invoke-WebRequest "https://aka.ms/AzEFLOWMSI_1_4_LTS_ARM64" -OutFile $msiPath
      
  2. قم بتثبيت IoT Edge لـ Linux على نظام التشغيل Windows على جهازك.

    Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn"
    

    يمكنك تحديد IoT Edge المخصص ل Linux على تثبيت Windows ودلائل VHDX عن طريق إضافة INSTALLDIR="<FULLY_QUALIFIED_PATH>" معلمات و VHDXDIR="<FULLY_QUALIFIED_PATH>" إلى أمر التثبيت. على سبيل المثال، إذا كنت تريد استخدام المجلد D:\EFLOW للتثبيت وD :\EFLOW-VHDX ل VHDX، يمكنك استخدام PowerShell cmdlet التالي.

    Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn","INSTALLDIR=D:\EFLOW", "VHDXDIR=D:\EFLOW-VHDX"
    
  3. عيِّن نهج التنفيذ على الجهاز الهدف إلى AllSigned في حال لم يكن عند هذا الإعداد بالفعل. راجع متطلبات PowerShell الأساسية للأوامر للتحقق من نهج التنفيذ الحالي وتعيين نهج التنفيذ إلى AllSigned.

  4. إنشاء عملية نشر IoT Edge لـ Linux على نظام التشغيل Windows. يقوم التوزيع بإنشاء جهاز Linux الظاهري وتثبيت وقت تشغيل IoT Edge لك.

    Deploy-Eflow
    

    تلميح

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

    يمكنك تخصيص الموارد المتوفرة للجهاز الظاهري باستخدام Deploy-Eflow المعلمات الاختيارية للأمر. هذا مطلوب لنشر EFLOW على جهاز مع الحد الأدنى من متطلبات الأجهزة.

    على سبيل المثال، ينشئ الأمر أدناه جهازا ظاهريا بذاكرة أساسية لوحدة المعالجة المركزية الظاهرية 1 وذاكرة وصول عشوائي 1 غيغابايت (ممثلة بالميغابايت) ومساحة قرص 2 غيغابايت:

    Deploy-Eflow -cpuCount 1 -memoryInMB 1024 -vmDataSize 2
    

    للحصول على معلومات حول جميع المعلمات الاختيارية المتاحة، راجع وظائف PowerShell ل IoT Edge ل Linux على Windows.

    تحذير

    بشكل افتراضي، لا يحتوي الجهاز الظاهري EFLOW Linux على تكوين DNS. ستحاول عمليات التوزيع باستخدام DHCP الحصول على تكوين DNS الذي تم نشره بواسطة خادم DHCP. يرجى التحقق من تكوين DNS لضمان الاتصال بالإنترنت. لمزيد من المعلومات، راجع AzEFLOW-DNS.

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

    لاستخدام تمرير GPU، أضف معلمات gpuName وgpuPassthroughType وgpuCount إلى الأمر الخاص بكDeploy-Eflow. للحصول على معلومات حول جميع المعلمات الاختيارية المتاحة، راجع وظائف PowerShell ل IoT Edge ل Linux على Windows.

    تحذير

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

  5. إدخال 'Y' لقبول شروط الترخيص.

  6. إدخال 'O' أو 'R' للتبديل بين تشغيل بيانات التشخيص الاختيارية أو إيقاف تشغيلها وفقاً لتفضيلاتك.

  7. بمجرد اكتمال النشر، تبلغ نافذة PowerShell عن نجاح النشر.

    A successful deployment will say 'Deployment successful' at the end of the messages, PNG.

    بعد التوزيع الناجح، تكون جاهزا لتوفير جهازك.

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

أنت مستعد لإعداد جهازك باستخدام هوية السحابة ومعلومات المصادقة الخاصة به.

لتوفير جهازك باستخدام مفاتيح متماثلة، ستحتاج إلى سلسلة الاتصال جهازك.

قم بتشغيل الأمر التالي في جلسة عمل PowerShell غير مقيدة على جهازك الهدف. استبدل نص العنصر النائب بقيمك الخاصة.

Provision-EflowVm -provisioningType ManualConnectionString -devConnString "PASTE_DEVICE_CONNECTION_STRING_HERE"

لمزيد من المعلومات حول Provision-EflowVM الأمر، راجع وظائف PowerShell ل IoT Edge ل Linux على Windows.

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

تحقق من تثبيت IoT Edge لنظام التشغيل Linux على Windows وتكوينه بنجاح على جهاز IoT Edge.

  1. سجِّل الدخول إلى IoT Edge لـ Linux الخاص بك على جهاز Windows الظاهري باستخدام الأمر التالي في جلسة عمل PowerShell لديك:

    Connect-EflowVm
    

    إشعار

    الحساب الوحيد المسموح له باستخدام بروتوكول SSH إلى الجهاز الظاهري هو المستخدم الذي قام بإنشائه.

  2. بمجرّد تسجيلك الدخول، يُمكنك التحقق من قائمة وحدات IoT Edge النمطية قيد التشغيل باستخدام أمر Linux التالي:

    sudo iotedge list
    
  3. إذا كنت بحاجة إلى استكشاف أخطاء خدمة IoT Edge وإصلاحها، فاستخدم أوامر Linux التالية.

    1. استرداد سجلات الخدمة.

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

      sudo iotedge check
      

    إشعار

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

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

    تعذر التحقق من الحالة الحالية لحاوية edgeHub

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

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

إلغاء تثبيت IoT Edge ل Linux على Windows

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

  1. فتح الإعدادات على Windows
  2. حدد إضافة برامج أو إزالتها
  3. حدد تطبيق Azure IoT Edge
  4. حدد إلغاء التثبيت

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