التشغيل السريع: توفير جهاز مفتاح متماثل مُحاكي

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

إذا لم تكن على دراية بعملية التوفير، فراجع نظرة عامة على التوفير.

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

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

  • قم بتثبيت .NET SDK 6.0 أو أحدث على جهازك المستند إلى Windows. يمكنك استخدام الأمر التالي للتحقق من الإصدار الخاص بك.

    dotnet --info
    
  • تثبيت إصدار Python 3.7 أو أحدث على جهازك الذي يعمل بنظام تشغيل Windows. يمكنك التحقق من إصدار Python الذي تستخدمه عن طريق تشغيل python --version.
  • ‏‏تثبيت آخر إصدار من Git. تأكد من إضافة Git إلى متغيرات البيئة التي يمكن الوصول إليها من نافذة الأمر. راجع أدوات عميل Software Freedom Conservancy's Git للحصول على أحدث إصدار من أدوات git للتثبيت، والتي تتضمن Git Bash، وهو تطبيق سطر الأوامر الذي يمكن استخدامه للتفاعل مع مستودع Git المحلي خاصتك.

جهز بيئة التطوير الخاصة بك

في هذا القسم، تقوم بإعداد بيئة تطوير تستخدم لإنشاء Azure IoT C SDK. يحاول نموذج التعليمات البرمجية توفير الجهاز أثناء تسلسل التمهيد للجهاز.

  1. قم بتنزيل أحدث نظام بنية CMake.

    هام

    تأكد من تثبيت المتطلبات الأساسية لبرنامج Visual Studio (حمل عمل Visual Studio و"تطوير سطح المكتب باستخدام C ++") على جهازك، قبل بدء تثبيت CMake. بمجرد أن يتم وضع المتطلبات الأساسية، ويتم التحقق من التنزيل، قم بتثبيت نظام بنية CMake. انتبه أيضًا إلى أن الإصدارات الأقدم من نظام بنية CMake تفشل في إنشاء ملف الحل المستخدم في هذه المقالة. تأكد من استخدام أحدث إصدار من CMake.

  2. افتح مستعرض ويب، ثم انتقل إلى صفحة الإصدار من SDK Azure IoT C.

  3. حدد علامة التبويب علامات في الجزء العلوي من الصفحة.

  4. انسخ اسم العلامة لأحدث إصدار من Azure IoT C SDK.

  5. افتح موجه الأوامر أو Git Bash shell. قم بتشغيل الأوامر التالية لاستنساخ أحدث إصدار من Azure IoT Device SDK لمستودع C GitHub. استبدل <release-tag> بالعلامة التي نسختها في الخطوة السابقة، على سبيل المثال: lts_01_2023.

    git clone -b <release-tag> https://github.com/Azure/azure-iot-sdk-c.git
    cd azure-iot-sdk-c
    git submodule update --init
    

    توقع أن تستغرق هذه العملية عدة دقائق لإكمالها.

  6. عند اكتمال العملية، قم بتشغيل الأوامر التالية من دليل azure-iot-sdk-c:

    mkdir cmake
    cd cmake
    
  7. يستخدم نموذج التعليمات البرمجية مفتاح متماثل لتوفير الشهادة. بادر بتشغيل الأمر التالي لإنشاء إصدار من SDK خاص بنظام عميل التطوير الأساسي الخاصة بك، والذي يتضمن على عميل توفير الجهاز:

    cmake -Dhsm_type_symm_key:BOOL=ON -Duse_prov_client:BOOL=ON  ..
    

    تلميح

    إذا لم يعثر cmakeعلى برنامج التحويل البرمجي C ++، فقد تحصل على أخطاء في الإنشاء في أثناء تشغيل الأمر أعلاه. إذا حدث ذلك، فحاول تشغيل الأمر في موجه الأوامر Visual Studio.

  8. عند اكتمال البنية بنجاح، تبدو أسطر الإخراج القليلة الأخيرة مشابهة للإخراج التالي:

    $ cmake -Dhsm_type_symm_key:BOOL=ON -Duse_prov_client:BOOL=ON  ..
    -- Building for: Visual Studio 16 2019
    -- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.19042.
    -- The C compiler identification is MSVC 19.29.30040.0
    -- The CXX compiler identification is MSVC 19.29.30040.0
    
    ...
    
    -- Configuring done
    -- Generating done
    -- Build files have been written to: E:/IoT Testing/azure-iot-sdk-c/cmake
    
  1. افتح بيئة سطر أوامر Git CMD أو Git Bash.

  2. استنساخ مستودع Azure IoT SDK ل C#‎ GitHub باستخدام الأمر التالي:

    git clone https://github.com/Azure/azure-iot-sdk-csharp.git
    
  1. افتح بيئة سطر أوامر Git CMD أو Git Bash.

  2. استنسخ مستودع GitHub Azure IoT SDK لـ Node.js باستخدام الأوامر التالية:

    git clone https://github.com/Azure/azure-iot-sdk-node.git --recursive
    
  1. افتح بيئة سطر أوامر Git CMD أو Git Bash.

  2. استنسخ مستودع Azure IoT SDK لـ Python GitHub باستخدام الأوامر التالية:

    git clone -b v2 https://github.com/Azure/azure-iot-sdk-python.git --recursive
    

    إشعار

    العينات المستخدمة في هذا البرنامج التعليمي موجودة في فرع v2 من مستودع azure-iot-sdk-python. يتوفر الإصدار 3 من Python SDK للاستخدام في الإصدار التجريبي.

  1. افتح بيئة سطر أوامر Git CMD أو Git Bash.

  2. استنسخ مستودع Azure IoT SDK لـ Java GitHub باستخدام الأوامر التالية:

    git clone https://github.com/Azure/azure-iot-sdk-java.git --recursive
    
  3. بادر بالانتقال إلى الدليل azure-iot-sdk-javaالجذر وبناء المشروع لتنزيل جميع الحزم المطلوبة. قد تستغرق هذه الخطوة عدة دقائق حتى تكتمل.

    cd azure-iot-sdk-java
    mvn install -DskipTests=true
    

إنشاء تسجيل جهاز

تدعم خدمة توفير أجهزة Azure IoT نوعين من التسجيلات:

توضح هذه المقالة طريقة تسجيل فردي لجهاز واحد ليتم إمداده بمركز IoT.

  1. سجل الدخول إلى مدخل Microsoft Azure وانتقل إلى مثيل خدمة تزويد الأجهزة.

  2. حدد إدارة التسجيلات من قسم الإعدادات من قائمة التنقل.

  3. حدد علامة التبويب التسجيلات الفردية، ثم حدد إضافة تسجيل فردي.

    Screenshot that shows the add individual enrollment option.

  4. في صفحة Registration + provisioning لصفحة Add enrollment ، قم بتوفير المعلومات التالية لتكوين تفاصيل التسجيل:

    الحقل ‏‏الوصف
    شهاده حدد مفتاح متماثل كآلية التصديق.
    إعدادات المفتاح المتماثل حدد المربع إنشاء مفاتيح متماثلة تلقائيا إذا كنت تريد استخدام مفاتيح تم إنشاؤها عشوائيا. قم بإلغاء تحديد هذا المربع إذا كنت تريد توفير المفاتيح الخاصة بك.
    معرف التسجيل توفير معرف تسجيل فريد للجهاز.
    حالة التوفير حدد المربع تمكين هذا التسجيل إذا كنت تريد أن يكون هذا التسجيل متوفرا لتوفير جهازه. قم بإلغاء تحديد هذا المربع إذا كنت تريد تعطيل التسجيل. يمكنك تغيير هذا الإعداد لاحقا.
    نهج إعادة التزويد اختر نهج إعادة توفير يعكس الطريقة التي تريد أن تتعامل بها DPS مع الأجهزة التي تطلب إعادة التزويد. لمزيد من المعلومات، راجع نهج إعادة التوفير.
  5. حدد Next: IoT hubs.

  6. في علامة التبويب IoT hubs في صفحة Add enrollment ، قم بتوفير المعلومات التالية لتحديد مراكز IoT التي يمكن للتسجيل توفير الأجهزة إليها:

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

    إذا حددت مركز IoT مرتبطا واحدا فقط، نوصي باستخدام نهج التوزيع المرجح بالتساوي.
  7. حدد Next: Device settings

  8. في علامة التبويب Device settings في صفحة Add enrollment ، قم بتوفير المعلومات التالية لتحديد كيفية تكوين الأجهزة التي تم توفيرها حديثا:

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

    لمزيد من المعلومات، راجع فهم واستخدام الجهاز المزدوج في IoT Hub.

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

  10. في علامة التبويب Review + create ، تحقق من جميع القيم الخاصة بك ثم حدد Create.

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

  1. لعرض تسجيل جهاز المفتاح المتماثل المحاكي، حدد علامة التبويب التسجيلات الفردية.

  2. حدد معرف تسجيل جهازك من قائمة التسجيلات الفردية.

  3. انسخ قيمة المفتاح الأساسي الذي تم إنشاؤه.

    Screenshot showing the enrollment details, highlighting the Copy button for the primary key of the device enrollment

إعداد وتشغيل التعليمات البرمجية لتوفير الجهاز

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

نموذج التعليمة البرمجية الخاصة بالتوفير ينجز المهام التالية بالترتيب:

  1. مصادقة جهازك باستخدام مورد توفير الجهاز باستخدام المعلمات الثلاث التالية:

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

لتحديث نموذج التوفير وتشغيله بمعلومات جهازك:

  1. في القائمة الرئيسية لخدمة توفير الجهاز، حدد Overview.

  2. انسخ قيمة ID Scope.

    Screenshot showing the overview of the Device Provisioning Service instance, highlighting the ID Scope value for the instance.

  3. في Visual Studio، افتح ملف الحل azure_iot_sdks.sln الذي تم إنشاؤه بواسطة تشغيل CMake. يجب أن يكون ملف الحل في الموقع التالي:

    
    \azure-iot-sdk-c\cmake\azure_iot_sdks.sln
    
    

    تلميح

    إذا لم يتم إنشاء الملف في دليل cmake تأكد من استخدام إصدار حديث من نظام بناء CMake.

  4. في نافذة مستكشف الحلول Visual Studio، انتقل إلى مجلد Provision_Samples. قم بتوسيع نموذج المشروع المسمى prov_dev_client_sample. قم بتوسيع ملفات المصدر، وافتح prov_dev_client_sample.c.

  5. ابحث عن الثابت id_scope ، واستبدل القيمة بقيمة نطاق المعرف التي نسختها في الخطوة 2.

    static const char* id_scope = "0ne00002193";
    
  6. ابحث عن تعريف الدالة main() في نفس الملف. تأكد من hsm_type تعيين المتغير إلى SECURE_DEVICE_TYPE_SYMMETRIC_KEY كما هو موضح في المثال التالي:

    SECURE_DEVICE_TYPE hsm_type;
    //hsm_type = SECURE_DEVICE_TYPE_TPM;
    //hsm_type = SECURE_DEVICE_TYPE_X509;
    hsm_type = SECURE_DEVICE_TYPE_SYMMETRIC_KEY;
    
  7. ابحث عن الاستدعاء إلى prov_dev_set_symmetric_key_info() في prov_dev_client_sample.c الذي تم التعليق عليه.

    // Set the symmetric key if using they auth type
    //prov_dev_set_symmetric_key_info("<symm_registration_id>", "<symmetric_Key>");
    

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

    // Set the symmetric key if using they auth type
    prov_dev_set_symmetric_key_info("symm-key-device-007", "your primary key here");
    
  8. حفظ الملف.

  9. انقر بزر الماوس الأيمن فوق مشروع prov_dev_client_sample وحدد تعيين كمشروع بدء التشغيل.

  10. في القائمة Visual Studio حدد Debug> البدء من دون تصحيح الأخطاء لتشغيل الحل. في إعادة إنشاء موجه المشروع حدد نعم لإعادة إنشاء المشروع قبل تشغيل.

    الإخراج التالي مثال للجهاز الذي يتصل بنجاح بمثيل خدمة التوفير ليتم تعيينه إلى لوحة وصل IoT:

    Provisioning API Version: 1.2.8
    
    Registering Device
    
    Provisioning Status: PROV_DEVICE_REG_STATUS_CONNECTED
    Provisioning Status: PROV_DEVICE_REG_STATUS_ASSIGNING
    
    Registration Information received from service:
    test-docs-hub.azure-devices.net, deviceId: device-007
    Press enter key to exit:
    

نموذج التعليمة البرمجية الخاصة بالتوفير ينجز المهام التالية بالترتيب:

  1. مصادقة جهازك باستخدام مورد توفير الجهاز باستخدام المعلمات الثلاث التالية:

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

  3. يرسل رسالة تجريبية بيانات تتبع الاستخدام إلى مركز IoT.

لتحديث نموذج التوفير وتشغيله بمعلومات جهازك:

  1. في القائمة الرئيسية لخدمة توفير الجهاز، حدد Overview.

  2. انسخ قيمة ID Scope.

    Screenshot showing the overview of the Device Provisioning Service instance, highlighting the ID Scope value for the instance.

  3. افتح موجه الأوامر وانتقل إلى SymmetricKeySample في مستودع sdk المستنسخ:

    cd '.\azure-iot-sdk-csharp\provisioning\device\samples\how to guides\SymmetricKeySample\'
    
  4. في مجلد SymmetricKeySample، افتح Parameters.cs في محرر النص. يعرض هذا الملف المعلمات المتوفرة للعينة. يتم استخدام المعلمات الثلاثة الأولى المطلوبة فقط في هذه المقالة عند تشغيل العينة. راجع التعليمات البرمجية في هذا الملف. لا توجد حاجة لإجراء تغييرات.

    المعلمة‬ المطلوب ‏‏الوصف
    --i أو --IdScope صواب نطاق المعرف الخاص بمثيل DPS
    --r أو --RegistrationId صواب معرف التسجيل عبارة عن سلسلة غير حساسة لحالة الأحرف (يصل طولها إلى 128 حرفا) من الأحرف الأبجدية الرقمية بالإضافة إلى الأحرف الخاصة: '-'، ، '.'، '_'. ':' يجب أن يكون الحرف الأخير أبجديا رقميا أو شرطة ('-').
    --p أو --PrimaryKey صواب المفتاح الأساسي للتسجيل الفردي أو مفتاح الجهاز المشتق لتسجيل المجموعة. راجع ComputeDerivedSymmetricKeySample لمعرفة كيفية إنشاء المفتاح المشتق.
    --g أو --GlobalDeviceEndpoint خطأ نقطة النهاية العمومية للأجهزة للاتصال بها. الإعدادات الافتراضية لـ global.azure-devices-provisioning.net
    --t أو --TransportType خطأ النقل للاستخدام للتواصل مع مثيل توفير الجهاز. الإعدادات الافتراضية لـ Mqtt. تشمل القيم المحتملة Mqtt، Mqtt_WebSocket_Only، Mqtt_Tcp_Only، Amqp، Amqp_WebSocket_Only، Amqp_Tcp_only وHttp1.
  5. في مجلد SymmetricKeySample افتح ProvisioningDeviceClientSample.cs في محرر النص. يعرض هذا الملف كيفية استخدام فئة SecurityProviderSymmetricKey مع فئة ProvisioningDeviceClient لتوفير جهاز مفتاح متماثل مُحاكي. راجع التعليمات البرمجية في هذا الملف. لا توجد حاجة لإجراء تغييرات.

  6. إنشاء وتشغيل نموذج التعليمات البرمجية باستخدام الأمر التالي:

    • استبدل <id-scope> بالنطاق المعرف الذي نسخته في الخطوة 2.
    • استبدل <registration-id> بمعرف التسجيل الذي قدمته لتسجيل الجهاز.
    • استبدل <primarykey> بالمفتاح الأساسي الذي نسخته من تسجيل الجهاز.
    dotnet run --i <id-scope> --r <registration-id> --p <primarykey>
    
  7. يجب أن ترى شيئاً مشابهاً للإخراج التالي. أُرسِلت سلسلة "TestMessage" إلى المركز باعتبارها رسالة تجريبية.

    D:\azure-iot-sdk-csharp\provisioning\device\samples\how to guides\SymmetricKeySample>dotnet run --i 0ne00000A0A --r symm-key-csharp-device-01 --p sbDDeEzRuEuGKag+kQKV+T1QGakRtHpsERLP0yPjwR93TrpEgEh/Y07CXstfha6dhIPWvdD1nRxK5T0KGKA+nQ==
    
    Initializing the device provisioning client...
    Initialized for registration Id symm-key-csharp-device-01.
    Registering with the device provisioning service...
    Registration status: Assigned.
    Device csharp-device-01 registered to ExampleIoTHub.azure-devices.net.
    Creating symmetric key authentication for IoT Hub...
    Testing the provisioned device with IoT Hub...
    Sending a telemetry message...
    Finished.
    Enter any key to exit.
    

نموذج التعليمة البرمجية الخاصة بالتوفير ينجز المهام التالية بالترتيب:

  1. مصادقة جهازك باستخدام مورد توفير الجهاز باستخدام المعلمات الأربعة التالية:

    • PROVISIONING_HOST
    • PROVISIONING_IDSCOPE
    • PROVISIONING_REGISTRATION_ID
    • PROVISIONING_SYMMETRIC_KEY
  2. تعيين الجهاز إلى مركز IoT المرتبط بالفعل بمثيل خدمة توفير الأجهزة.

  3. يرسل رسالة تجريبية بيانات تتبع الاستخدام إلى مركز IoT.

لتحديث نموذج التوفير وتشغيله بمعلومات جهازك:

  1. في القائمة الرئيسية لخدمة توفير الجهاز، حدد Overview.

  2. نسخ قيم نطاق المعرف و نقطة نهاية الجهاز العمومي.

    Screenshot showing the overview of the Device Provisioning Service instance, highlighting the global device endpoint and ID Scope values for the instance.

  3. افتح موجه الأوامر لتنفيذ أوامر Node.js، وانتقل إلى الدليل التالي:

    cd azure-iot-sdk-node/provisioning/device/samples
    
  4. في المجلد توفير/جهاز/نماذج افتح register_symkey.js وراجع التعليمات البرمجية. لاحظ أن نموذج التعليمات البرمجية يعين بيانات أساسية مخصصة:

    provisioningClient.setProvisioningPayload({a: 'b'});
    

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

    يحاول الأسلوب provisioningClient.register() تسجيل جهازك.

    لا يلزم إجراء أي تغييرات أخرى.

  5. في موجه الأوامر، قم بتشغيل الأوامر التالية لتعيين متغيرات البيئة المستخدمة من قبل النموذج:

    • استبدل <provisioning-global-endpoint> بنقطة نهاية الجهاز العمومي التي نسختها في الخطوة 2.
    • استبدل <id-scope> بالنطاق المعرف الذي نسخته في الخطوة 2.
    • استبدل <registration-id> بمعرف التسجيل الذي قدمته لتسجيل الجهاز.
    • استبدل <primarykey> بالمفتاح الأساسي الذي نسخته من تسجيل الجهاز.
    set PROVISIONING_HOST=<provisioning-global-endpoint>
    
    set PROVISIONING_IDSCOPE=<id-scope>
    
    set PROVISIONING_REGISTRATION_ID=<registration-id>
    
    set PROVISIONING_SYMMETRIC_KEY=<primarykey>
    
  6. إنشاء نموذج التعليمات البرمجية وتشغيلها باستخدام الأوامر التالية:

     npm install
    
    node register_symkey.js
    
  7. يجب أن ترى شيئاً مشابهاً للإخراج التالي. تم إرسال مثال سلسلة "مرحبًا بالعالم" إلى المركز كرسالة تجريبية.

    D:\azure-iot-samples-csharp\provisioning\device\samples>node register_symkey.js
    registration succeeded
    assigned hub=ExampleIoTHub.azure-devices.net
    deviceId=nodejs-device-01
    payload=undefined
    Client connected
    send status: MessageEnqueued
    

نموذج التعليمة البرمجية الخاصة بالتوفير ينجز المهام التالية بالترتيب:

  1. مصادقة جهازك باستخدام مورد توفير الجهاز باستخدام المعلمات الأربعة التالية:

    • PROVISIONING_HOST
    • PROVISIONING_IDSCOPE
    • PROVISIONING_REGISTRATION_ID
    • PROVISIONING_SYMMETRIC_KEY
  2. تعيين الجهاز إلى مركز IoT المرتبط بالفعل بمثيل خدمة توفير الأجهزة.

  3. يرسل رسالة تجريبية بيانات تتبع الاستخدام إلى مركز IoT.

لتحديث نموذج التوفير وتشغيله بمعلومات جهازك:

  1. في القائمة الرئيسية لخدمة توفير الجهاز، حدد Overview.

  2. نسخ قيم نطاق المعرف و نقطة نهاية الجهاز العمومي.

    Screenshot showing the overview of the Device Provisioning Service instance, highlighting the global device endpoint and ID Scope values for the instance.

  3. افتح موجه الأوامر وانتقل إلى الدليل حيث يوجد نموذج الملف، provision_symmetric_key.py.

    cd azure-iot-sdk-python\samples\async-hub-scenarios
    
  4. في موجه الأوامر، قم بتشغيل الأوامر التالية لتعيين متغيرات البيئة المستخدمة من قبل النموذج:

    • استبدل <provisioning-global-endpoint> بنقطة نهاية الجهاز العمومي التي نسختها في الخطوة 2.
    • استبدل <id-scope> بالنطاق المعرف الذي نسخته في الخطوة 2.
    • استبدل <registration-id> بمعرف التسجيل الذي قدمته لتسجيل الجهاز.
    • استبدل <primarykey> بالمفتاح الأساسي الذي نسخته من تسجيل الجهاز.
    set PROVISIONING_HOST=<provisioning-global-endpoint>
    
    set PROVISIONING_IDSCOPE=<id-scope>
    
    set PROVISIONING_REGISTRATION_ID=<registration-id>
    
    set PROVISIONING_SYMMETRIC_KEY=<primarykey>
    
  5. قم بتثبيت مكتبة azure-iot-device من خلال تشغيل الأمر التالي.

    pip install azure-iot-device
    
  6. تشغيل نموذج التعليمات البرمجية Python في provision_symmetric_key.py.

    python provision_symmetric_key.py
    
  7. يجب أن ترى شيئاً مشابهاً للإخراج التالي. يتم أيضاً إرسال بعض الأمثلة على رسائل سرعة بيانات تتبع الاستخدام عن بُعد إلى المركز كاختبار.

    D:\azure-iot-sdk-python\samples\async-hub-scenarios>python provision_symmetric_key.py
    RegistrationStage(RequestAndResponseOperation): Op will transition into polling after interval 2.  Setting timer.
    The complete registration result is
    python-device-008
    docs-test-iot-hub.azure-devices.net
    initialAssignment
    null
    Will send telemetry from the provisioned device
    sending message #8
    sending message #9
    sending message #3
    sending message #10
    sending message #4
    sending message #2
    sending message #6
    sending message #7
    sending message #1
    sending message #5
    done sending message #8
    done sending message #9
    done sending message #3
    done sending message #10
    done sending message #4
    done sending message #2
    done sending message #6
    done sending message #7
    done sending message #1
    done sending message #5
    

نموذج التعليمة البرمجية الخاصة بالتوفير ينجز المهام التالية بالترتيب:

  1. مصادقة جهازك باستخدام مورد توفير الجهاز باستخدام المعلمات الأربعة التالية:

    • GLOBAL_ENDPOINT
    • SCOPE_ID
    • REGISTRATION_ID
    • SYMMETRIC_KEY
  2. تعيين الجهاز إلى مركز IoT المرتبط بالفعل بمثيل خدمة توفير الأجهزة.

  3. يرسل رسالة تجريبية بيانات تتبع الاستخدام إلى مركز IoT.

لتحديث نموذج التوفير وتشغيله بمعلومات جهازك:

  1. في القائمة الرئيسية لخدمة توفير الجهاز، حدد Overview.

  2. نسخ قيم نطاق المعرف و نقطة نهاية الجهاز العمومي. هذه القيم هي المعلمات الخاصة بك SCOPE_ID و GLOBAL_ENDPOINT ، على التوالي.

    Screenshot showing the overview of the Device Provisioning Service instance, highlighting the global device endpoint and ID Scope values for the instance.

  3. افتح نموذج التعليمة البرمجية لجهاز Java للتحرير. المسار الكامل إلى نموذج التعليمة البرمجية للجهاز هو:

    azure-iot-sdk-java/provisioning/provisioning-device-client-samples/provisioning-symmetrickey-individual-sample/src/main/java/samples/com/microsoft/azure/sdk/iot/ProvisioningSymmetricKeyIndividualEnrollmentSample.java

  4. تعيين قيمة المتغيرات التالية ل DPS وتسجيل الجهاز:

    • استبدل <id-scope> بالنطاق المعرف الذي نسخته في الخطوة 2.
    • استبدل <provisioning-global-endpoint> بنقطة نهاية الجهاز العمومي التي نسختها في الخطوة 2.
    • استبدل <registration-id> بمعرف التسجيل الذي قدمته لتسجيل الجهاز.
    • استبدل <primarykey> بالمفتاح الأساسي الذي نسخته من تسجيل الجهاز.
    private static final String SCOPE_ID = "<id-scope>";
    private static final String GLOBAL_ENDPOINT = "<provisioning-global-endpoint>";
    private static final String SYMMETRIC_KEY = "<primarykey>";
    private static final String REGISTRATION_ID = "<registration-id>";
    
  5. افتح موجه أوامر للبناء. انتقل إلى مجلد مشروع نموذج التوفير لمستودع Java SDK.

    cd azure-iot-sdk-java\provisioning\provisioning-device-client-samples\provisioning-symmetrickey-individual-sample
    
  6. إنشاء العينة

    mvn clean install
    
  7. انتقل إلى target المجلد وقم بتنفيذ الملف الذي تم إنشاؤه .jar . في java الأمر ، استبدل {version} العنصر النائب بالإصدار الموجود .jar في اسم الملف على جهازك.

    cd target
    java -jar ./provisioning-symmetrickey-individual-sample-{version}-with-deps.jar
    
  8. يجب أن ترى شيئاً مشابهاً للإخراج التالي.

    Starting...
    Beginning setup.
    Initialized a ProvisioningDeviceClient instance using SDK version 1.11.0
    Starting provisioning thread...
    Waiting for Provisioning Service to register
    Opening the connection to device provisioning service...
    Connection to device provisioning service opened successfully, sending initial device registration message
    Authenticating with device provisioning service using symmetric key
    Waiting for device provisioning service to provision this device...
    Current provisioning status: ASSIGNING
    Device provisioning service assigned the device successfully
    IotHUb Uri : <Your IoT hub name>.azure-devices.net
    Device ID : java-device-007
    Sending message from device to IoT Hub...
    Press any key to exit...
    Message received! Response status: OK_EMPTY
    

تأكد من تسجيل توفير جهازك

  1. انتقل إلى مدخل Azure.

  2. في القائمة اليسرى أو في صفحة المدخل، حدد جميع الموارد.

  3. حدد مركز إنترنت الأشياء الذي تم تخصيص جهازك إليه.

  4. في قائمة إدارة الأجهزة، حدد الأجهزة.

  5. إذا تم توفير جهازك بنجاح، يجب أن يظهر معرف الجهاز في القائمة، مع تعيين الحالة على أنه ممكن. إذا كنت لا ترى جهازك، فحدد Refresh في الجزء العلوي من الصفحة.

    Screenshot showing that the device is registered with the IoT hub and enabled for the C example.

    Screenshot showing that the device is registered with the IoT hub and enabled for the C# example.

    Screenshot showing that the device is registered with the IoT hub and enabled for the Node.js example.

    Screenshot showing that the device is registered with the IoT hub and enabled for the Python example.

    Screenshot showing that the device is registered with the IoT hub and enabled for the Java example.

إشعار

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

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

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

احذف تسجيل جهازك

  1. أغلق نموذج إطار إخراج نموذج الجهاز على الجهاز.

  2. في مدخل Azure، حدد All resources في القائمة اليسرى.

  3. تحديد خدمة تزويد الأجهزة خاصتك.

  4. في قائمة الإعدادات، حدد ⁧⁩"إدارة التسجيلات"⁧⁩.

  5. حدد علامة التبويب التسجيلات الفردية.

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

  7. في الجزء العلوي من الصفحة، حدد حذف.

احذف تسجيل جهازك من مركز IoT

  1. في مدخل Azure، حدد All resources في القائمة اليسرى.

  2. حدد مركز IoT.

  3. في قائمة Explorers، حدد IoT devices.

  4. حدد خانة الاختيار بجوار معرف الجهاز الخاص بالجهاز الذي سجلته في هذا التشغيل السريع.

  5. في الجزء العلوي من الصفحة، حدد حذف.

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

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