التشغيل السريع: توفير جهاز مفتاح متماثل مُحاكي
في هذا التشغيل السريع، يمكنك إنشاء جهاز محاكاة على جهاز Windows. تم تكوين جهاز المحاكاة لاستخدام آلية إثبات المفتاح المتماثل للمصادقة. بعد تكوين جهازك، يمكنك توفيره إلى مركز IoT باستخدام خدمة توفير جهاز Azure IoT Hub.
إذا لم تكن على دراية بعملية التوفير، فراجع نظرة عامة على التوفير.
يوضح هذا التشغيل السريع حلاً لمحطة عمل تستند إلى Windows. ومع ذلك، يمكنك أيضاً تنفيذ الإجراءات على Linux. للحصول على مثال Linux، راجع البرنامج التعليمي: توفير زمن الانتقال الجغرافي.
المتطلبات الأساسية
في حال لم يكن لديك اشتراك Azure، فأنشئ حساباً مجانيّاً قبل البدء.
إكمال الخطوات في إعداد خدمة تزويد الأجهزة بمركز IoT باستخدام مدخل Microsoft Azure.
- إذا كنت تستخدم بيئة تطوير Windows، ثبت Visual Studio 2019 مع تمكين حمل العمل "تطوير سطح المكتب باستخدام C++". كما يتم دعم Visual Studio 2015 وVisual Studio 2017. بالنسبة إلى Linux أو macOS، راجع القسم المناسب في إعداد بيئة التطوير في وثائق SDK.
قم بتثبيت .NET SDK 6.0 أو أحدث على جهازك المستند إلى Windows. يمكنك استخدام الأمر التالي للتحقق من الإصدار الخاص بك.
dotnet --info
- تثبيت Node.js الإصدار 4.0 والأعلى.
- تثبيت إصدار Python 3.7 أو أحدث على جهازك الذي يعمل بنظام تشغيل Windows. يمكنك التحقق من إصدار Python الذي تستخدمه عن طريق تشغيل
python --version
.
تثبيت Java SE Development Kit 8 أو أحدث على جهازك.
تنزيل وتثبيت Maven.
- تثبيت آخر إصدار من Git. تأكد من إضافة Git إلى متغيرات البيئة التي يمكن الوصول إليها من نافذة الأمر. راجع أدوات عميل Software Freedom Conservancy's Git للحصول على أحدث إصدار من أدوات
git
للتثبيت، والتي تتضمن Git Bash، وهو تطبيق سطر الأوامر الذي يمكن استخدامه للتفاعل مع مستودع Git المحلي خاصتك.
جهز بيئة التطوير الخاصة بك
في هذا القسم، تقوم بإعداد بيئة تطوير تستخدم لإنشاء Azure IoT C SDK. يحاول نموذج التعليمات البرمجية توفير الجهاز أثناء تسلسل التمهيد للجهاز.
قم بتنزيل أحدث نظام بنية CMake.
هام
تأكد من تثبيت المتطلبات الأساسية لبرنامج Visual Studio (حمل عمل Visual Studio و"تطوير سطح المكتب باستخدام C ++") على جهازك، قبل بدء تثبيت
CMake
. بمجرد أن يتم وضع المتطلبات الأساسية، ويتم التحقق من التنزيل، قم بتثبيت نظام بنية CMake. انتبه أيضًا إلى أن الإصدارات الأقدم من نظام بنية CMake تفشل في إنشاء ملف الحل المستخدم في هذه المقالة. تأكد من استخدام أحدث إصدار من CMake.افتح مستعرض ويب، ثم انتقل إلى صفحة الإصدار من SDK Azure IoT C.
حدد علامة التبويب علامات في الجزء العلوي من الصفحة.
انسخ اسم العلامة لأحدث إصدار من Azure IoT C SDK.
افتح موجه الأوامر أو 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
توقع أن تستغرق هذه العملية عدة دقائق لإكمالها.
عند اكتمال العملية، قم بتشغيل الأوامر التالية من دليل
azure-iot-sdk-c
:mkdir cmake cd cmake
يستخدم نموذج التعليمات البرمجية مفتاح متماثل لتوفير الشهادة. بادر بتشغيل الأمر التالي لإنشاء إصدار من SDK خاص بنظام عميل التطوير الأساسي الخاصة بك، والذي يتضمن على عميل توفير الجهاز:
cmake -Dhsm_type_symm_key:BOOL=ON -Duse_prov_client:BOOL=ON ..
تلميح
إذا لم يعثر
cmake
على برنامج التحويل البرمجي C ++، فقد تحصل على أخطاء في الإنشاء في أثناء تشغيل الأمر أعلاه. إذا حدث ذلك، فحاول تشغيل الأمر في موجه الأوامر Visual Studio.عند اكتمال البنية بنجاح، تبدو أسطر الإخراج القليلة الأخيرة مشابهة للإخراج التالي:
$ 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
افتح بيئة سطر أوامر Git CMD أو Git Bash.
استنساخ مستودع Azure IoT SDK ل C# GitHub باستخدام الأمر التالي:
git clone https://github.com/Azure/azure-iot-sdk-csharp.git
افتح بيئة سطر أوامر Git CMD أو Git Bash.
استنسخ مستودع GitHub Azure IoT SDK لـ Node.js باستخدام الأوامر التالية:
git clone https://github.com/Azure/azure-iot-sdk-node.git --recursive
افتح بيئة سطر أوامر Git CMD أو Git Bash.
استنسخ مستودع 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 للاستخدام في الإصدار التجريبي.
افتح بيئة سطر أوامر Git CMD أو Git Bash.
استنسخ مستودع Azure IoT SDK لـ Java GitHub باستخدام الأوامر التالية:
git clone https://github.com/Azure/azure-iot-sdk-java.git --recursive
بادر بالانتقال إلى الدليل
azure-iot-sdk-java
الجذر وبناء المشروع لتنزيل جميع الحزم المطلوبة. قد تستغرق هذه الخطوة عدة دقائق حتى تكتمل.cd azure-iot-sdk-java mvn install -DskipTests=true
إنشاء تسجيل جهاز
تدعم خدمة توفير أجهزة Azure IoT نوعين من التسجيلات:
- مجموعات التسجيل: تُستخدم لتسجيل أجهزة متعددة ذات صلة.
- التسجيلات الفردية: تُستخدم لتسجيل جهاز واحد.
توضح هذه المقالة طريقة تسجيل فردي لجهاز واحد ليتم إمداده بمركز IoT.
سجل الدخول إلى مدخل Microsoft Azure وانتقل إلى مثيل خدمة تزويد الأجهزة.
حدد إدارة التسجيلات من قسم الإعدادات من قائمة التنقل.
حدد علامة التبويب التسجيلات الفردية، ثم حدد إضافة تسجيل فردي.
في صفحة Registration + provisioning لصفحة Add enrollment ، قم بتوفير المعلومات التالية لتكوين تفاصيل التسجيل:
الحقل الوصف شهاده حدد مفتاح متماثل كآلية التصديق. إعدادات المفتاح المتماثل حدد المربع إنشاء مفاتيح متماثلة تلقائيا إذا كنت تريد استخدام مفاتيح تم إنشاؤها عشوائيا. قم بإلغاء تحديد هذا المربع إذا كنت تريد توفير المفاتيح الخاصة بك. معرف التسجيل توفير معرف تسجيل فريد للجهاز. حالة التوفير حدد المربع تمكين هذا التسجيل إذا كنت تريد أن يكون هذا التسجيل متوفرا لتوفير جهازه. قم بإلغاء تحديد هذا المربع إذا كنت تريد تعطيل التسجيل. يمكنك تغيير هذا الإعداد لاحقا. نهج إعادة التزويد اختر نهج إعادة توفير يعكس الطريقة التي تريد أن تتعامل بها DPS مع الأجهزة التي تطلب إعادة التزويد. لمزيد من المعلومات، راجع نهج إعادة التوفير. حدد Next: IoT hubs.
في علامة التبويب IoT hubs في صفحة Add enrollment ، قم بتوفير المعلومات التالية لتحديد مراكز IoT التي يمكن للتسجيل توفير الأجهزة إليها:
الحقل الوصف مراكز IoT المستهدفة حدد واحدا أو أكثر من مراكز IoT المرتبطة، أو أضف ارتباطا جديدا إلى مركز IoT. لمعرفة المزيد حول ربط مراكز IoT بمثيل DPS، راجع كيفية ربط مراكز IoT وإدارتها. نهج التخصيص إذا حددت أكثر من مركز IoT مرتبط واحد، فحدد الطريقة التي تريد بها تعيين الأجهزة إلى المراكز المختلفة. لمعرفة المزيد حول نهج التخصيص، راجع كيفية استخدام نهج التخصيص.
إذا حددت مركز IoT مرتبطا واحدا فقط، نوصي باستخدام نهج التوزيع المرجح بالتساوي.حدد Next: Device settings
في علامة التبويب Device settings في صفحة Add enrollment ، قم بتوفير المعلومات التالية لتحديد كيفية تكوين الأجهزة التي تم توفيرها حديثا:
الحقل الوصف معرف الجهاز قم بتوفير معرف الجهاز الذي سيتم تعيينه إلى الجهاز المقدم في IoT Hub. إذا لم توفر معرف جهاز، فسيتم استخدام معرف التسجيل. IoT Edge تحقق من تمكين IoT Edge على الأجهزة المتوفرة إذا كان الجهاز المقدم سيشغل Azure IoT Edge. قم بإلغاء تحديد هذا المربع إذا كان هذا التسجيل لجهاز غير ممكن ل IoT Edge. علامات الجهاز استخدم مربع النص هذا لتوفير أي علامات تريد تطبيقها على توأم الجهاز للجهاز الذي تم توفيره. الخصائص المطلوبة استخدم مربع النص هذا لتوفير أي خصائص مطلوبة تريد تطبيقها على توأم الجهاز للجهاز الذي تم توفيره. لمزيد من المعلومات، راجع فهم واستخدام الجهاز المزدوج في IoT Hub.
حدّد Next: Review + create.
في علامة التبويب Review + create ، تحقق من جميع القيم الخاصة بك ثم حدد Create.
بمجرد إنشاء التسجيل الفردي، يتم إنشاء مفتاح أساسي ومفتاح ثانوي وإضافته إلى إدخال التسجيل. يمكنك استخدام المفتاح الأساسي في نموذج الجهاز لاحقا في هذا التشغيل السريع.
لعرض تسجيل جهاز المفتاح المتماثل المحاكي، حدد علامة التبويب التسجيلات الفردية.
حدد معرف تسجيل جهازك من قائمة التسجيلات الفردية.
انسخ قيمة المفتاح الأساسي الذي تم إنشاؤه.
إعداد وتشغيل التعليمات البرمجية لتوفير الجهاز
في هذا القسم، يمكنك تحديث نموذج التعليمات البرمجية للجهاز لإرسال تسلسل تمهيد الجهاز إلى مثيل خدمة توفير الجهاز. يؤدي تسلسل التمهيد هذا إلى التعرف على الجهاز ومصادقته وتعيينه إلى مركز IoT مرتبط بمثيل خدمة تزويد الأجهزة.
نموذج التعليمة البرمجية الخاصة بالتوفير ينجز المهام التالية بالترتيب:
مصادقة جهازك باستخدام مورد توفير الجهاز باستخدام المعلمات الثلاث التالية:
- نطاق معرف خدمة توفير جهازك
- معرف التسجيل لتسجيل جهازك.
- المفتاح المتماثل الأساسي لتسجيل جهازك.
تعيين الجهاز إلى مركز IoT المرتبط بالفعل بمثيل خدمة توفير الأجهزة.
لتحديث نموذج التوفير وتشغيله بمعلومات جهازك:
في القائمة الرئيسية لخدمة توفير الجهاز، حدد Overview.
انسخ قيمة ID Scope.
في Visual Studio، افتح ملف الحل azure_iot_sdks.sln الذي تم إنشاؤه بواسطة تشغيل CMake. يجب أن يكون ملف الحل في الموقع التالي:
\azure-iot-sdk-c\cmake\azure_iot_sdks.sln
تلميح
إذا لم يتم إنشاء الملف في دليل cmake تأكد من استخدام إصدار حديث من نظام بناء CMake.
في نافذة مستكشف الحلول Visual Studio، انتقل إلى مجلد Provision_Samples. قم بتوسيع نموذج المشروع المسمى prov_dev_client_sample. قم بتوسيع ملفات المصدر، وافتح prov_dev_client_sample.c.
ابحث عن الثابت
id_scope
، واستبدل القيمة بقيمة نطاق المعرف التي نسختها في الخطوة 2.static const char* id_scope = "0ne00002193";
ابحث عن تعريف الدالة
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;
ابحث عن الاستدعاء إلى
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");
حفظ الملف.
انقر بزر الماوس الأيمن فوق مشروع prov_dev_client_sample وحدد تعيين كمشروع بدء التشغيل.
في القائمة 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:
نموذج التعليمة البرمجية الخاصة بالتوفير ينجز المهام التالية بالترتيب:
مصادقة جهازك باستخدام مورد توفير الجهاز باستخدام المعلمات الثلاث التالية:
- نطاق معرف خدمة توفير جهازك
- معرف التسجيل لتسجيل جهازك.
- المفتاح المتماثل الأساسي لتسجيل جهازك.
تعيين الجهاز إلى مركز IoT المرتبط بالفعل بمثيل خدمة توفير الأجهزة.
يرسل رسالة تجريبية بيانات تتبع الاستخدام إلى مركز IoT.
لتحديث نموذج التوفير وتشغيله بمعلومات جهازك:
في القائمة الرئيسية لخدمة توفير الجهاز، حدد Overview.
انسخ قيمة ID Scope.
افتح موجه الأوامر وانتقل إلى SymmetricKeySample في مستودع sdk المستنسخ:
cd '.\azure-iot-sdk-csharp\provisioning\device\samples\how to guides\SymmetricKeySample\'
في مجلد 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
.في مجلد SymmetricKeySample افتح ProvisioningDeviceClientSample.cs في محرر النص. يعرض هذا الملف كيفية استخدام فئة SecurityProviderSymmetricKey مع فئة ProvisioningDeviceClient لتوفير جهاز مفتاح متماثل مُحاكي. راجع التعليمات البرمجية في هذا الملف. لا توجد حاجة لإجراء تغييرات.
إنشاء وتشغيل نموذج التعليمات البرمجية باستخدام الأمر التالي:
- استبدل
<id-scope>
بالنطاق المعرف الذي نسخته في الخطوة 2. - استبدل
<registration-id>
بمعرف التسجيل الذي قدمته لتسجيل الجهاز. - استبدل
<primarykey>
بالمفتاح الأساسي الذي نسخته من تسجيل الجهاز.
dotnet run --i <id-scope> --r <registration-id> --p <primarykey>
- استبدل
يجب أن ترى شيئاً مشابهاً للإخراج التالي. أُرسِلت سلسلة "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.
نموذج التعليمة البرمجية الخاصة بالتوفير ينجز المهام التالية بالترتيب:
مصادقة جهازك باستخدام مورد توفير الجهاز باستخدام المعلمات الأربعة التالية:
PROVISIONING_HOST
PROVISIONING_IDSCOPE
PROVISIONING_REGISTRATION_ID
PROVISIONING_SYMMETRIC_KEY
تعيين الجهاز إلى مركز IoT المرتبط بالفعل بمثيل خدمة توفير الأجهزة.
يرسل رسالة تجريبية بيانات تتبع الاستخدام إلى مركز IoT.
لتحديث نموذج التوفير وتشغيله بمعلومات جهازك:
في القائمة الرئيسية لخدمة توفير الجهاز، حدد Overview.
نسخ قيم نطاق المعرف و نقطة نهاية الجهاز العمومي.
افتح موجه الأوامر لتنفيذ أوامر Node.js، وانتقل إلى الدليل التالي:
cd azure-iot-sdk-node/provisioning/device/samples
في المجلد توفير/جهاز/نماذج افتح register_symkey.js وراجع التعليمات البرمجية. لاحظ أن نموذج التعليمات البرمجية يعين بيانات أساسية مخصصة:
provisioningClient.setProvisioningPayload({a: 'b'});
يمكنك التعليق على هذه التعليمة البرمجية، لأنها غير مطلوبة مع لهذا التشغيل السريع. ستحتاج إلى حمولة مخصصة تريد استخدام دالة تخصيص مخصصة لتعيين جهازك إلى مركز IoT. لمزيد من المعلومات، راجع البرنامج التعليمي: استخدام نُهج الموقع المخصص.
يحاول الأسلوب
provisioningClient.register()
تسجيل جهازك.لا يلزم إجراء أي تغييرات أخرى.
في موجه الأوامر، قم بتشغيل الأوامر التالية لتعيين متغيرات البيئة المستخدمة من قبل النموذج:
- استبدل
<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>
- استبدل
إنشاء نموذج التعليمات البرمجية وتشغيلها باستخدام الأوامر التالية:
npm install
node register_symkey.js
يجب أن ترى شيئاً مشابهاً للإخراج التالي. تم إرسال مثال سلسلة "مرحبًا بالعالم" إلى المركز كرسالة تجريبية.
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
نموذج التعليمة البرمجية الخاصة بالتوفير ينجز المهام التالية بالترتيب:
مصادقة جهازك باستخدام مورد توفير الجهاز باستخدام المعلمات الأربعة التالية:
PROVISIONING_HOST
PROVISIONING_IDSCOPE
PROVISIONING_REGISTRATION_ID
PROVISIONING_SYMMETRIC_KEY
تعيين الجهاز إلى مركز IoT المرتبط بالفعل بمثيل خدمة توفير الأجهزة.
يرسل رسالة تجريبية بيانات تتبع الاستخدام إلى مركز IoT.
لتحديث نموذج التوفير وتشغيله بمعلومات جهازك:
في القائمة الرئيسية لخدمة توفير الجهاز، حدد Overview.
نسخ قيم نطاق المعرف و نقطة نهاية الجهاز العمومي.
افتح موجه الأوامر وانتقل إلى الدليل حيث يوجد نموذج الملف، provision_symmetric_key.py.
cd azure-iot-sdk-python\samples\async-hub-scenarios
في موجه الأوامر، قم بتشغيل الأوامر التالية لتعيين متغيرات البيئة المستخدمة من قبل النموذج:
- استبدل
<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>
- استبدل
قم بتثبيت مكتبة azure-iot-device من خلال تشغيل الأمر التالي.
pip install azure-iot-device
تشغيل نموذج التعليمات البرمجية Python في provision_symmetric_key.py.
python provision_symmetric_key.py
يجب أن ترى شيئاً مشابهاً للإخراج التالي. يتم أيضاً إرسال بعض الأمثلة على رسائل سرعة بيانات تتبع الاستخدام عن بُعد إلى المركز كاختبار.
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
نموذج التعليمة البرمجية الخاصة بالتوفير ينجز المهام التالية بالترتيب:
مصادقة جهازك باستخدام مورد توفير الجهاز باستخدام المعلمات الأربعة التالية:
GLOBAL_ENDPOINT
SCOPE_ID
REGISTRATION_ID
SYMMETRIC_KEY
تعيين الجهاز إلى مركز IoT المرتبط بالفعل بمثيل خدمة توفير الأجهزة.
يرسل رسالة تجريبية بيانات تتبع الاستخدام إلى مركز IoT.
لتحديث نموذج التوفير وتشغيله بمعلومات جهازك:
في القائمة الرئيسية لخدمة توفير الجهاز، حدد Overview.
نسخ قيم نطاق المعرف و نقطة نهاية الجهاز العمومي. هذه القيم هي المعلمات الخاصة بك
SCOPE_ID
وGLOBAL_ENDPOINT
، على التوالي.افتح نموذج التعليمة البرمجية لجهاز 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
تعيين قيمة المتغيرات التالية ل 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>";
- استبدل
افتح موجه أوامر للبناء. انتقل إلى مجلد مشروع نموذج التوفير لمستودع Java SDK.
cd azure-iot-sdk-java\provisioning\provisioning-device-client-samples\provisioning-symmetrickey-individual-sample
إنشاء العينة
mvn clean install
انتقل إلى
target
المجلد وقم بتنفيذ الملف الذي تم إنشاؤه.jar
. فيjava
الأمر ، استبدل{version}
العنصر النائب بالإصدار الموجود.jar
في اسم الملف على جهازك.cd target java -jar ./provisioning-symmetrickey-individual-sample-{version}-with-deps.jar
يجب أن ترى شيئاً مشابهاً للإخراج التالي.
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
تأكد من تسجيل توفير جهازك
انتقل إلى مدخل Azure.
في القائمة اليسرى أو في صفحة المدخل، حدد جميع الموارد.
حدد مركز إنترنت الأشياء الذي تم تخصيص جهازك إليه.
في قائمة إدارة الأجهزة، حدد الأجهزة.
إذا تم توفير جهازك بنجاح، يجب أن يظهر معرف الجهاز في القائمة، مع تعيين الحالة على أنه ممكن. إذا كنت لا ترى جهازك، فحدد Refresh في الجزء العلوي من الصفحة.
إشعار
إذا غيّرت حالة الجهاز التوأم الأولية من القيمة الافتراضية في إدخال التسجيل لجهازك، يمكنها سحب الحالة التوأم المطلوبة من المركز والتصرف وفقًا لذلك. لمزيد من المعلومات، راجع فهم واستخدام الجهاز المزدوج في IoT Hub.
تنظيف الموارد
إذا كنت تخطط لمتابعة العمل على نموذج عميل الجهاز واستكشافه، فلا تنظف الموارد التي تم إنشاؤها في هذه البداية السريعة. إذا لم تكن تخطط للمتابعة، فاستخدم الخطوات التالية لحذف جميع الموارد التي تم إنشاؤها بواسطة هذه البداية السريعة.
احذف تسجيل جهازك
أغلق نموذج إطار إخراج نموذج الجهاز على الجهاز.
في مدخل Azure، حدد All resources في القائمة اليسرى.
تحديد خدمة تزويد الأجهزة خاصتك.
في قائمة الإعدادات، حدد "إدارة التسجيلات".
حدد علامة التبويب التسجيلات الفردية.
حدد خانة الاختيار بجوار معرف التسجيل للجهاز الذي سجلته في هذا التشغيل السريع.
في الجزء العلوي من الصفحة، حدد حذف.
احذف تسجيل جهازك من مركز IoT
في مدخل Azure، حدد All resources في القائمة اليسرى.
حدد مركز IoT.
في قائمة Explorers، حدد IoT devices.
حدد خانة الاختيار بجوار معرف الجهاز الخاص بالجهاز الذي سجلته في هذا التشغيل السريع.
في الجزء العلوي من الصفحة، حدد حذف.
الخطوات التالية
في هذا التشغيل السريع، قمت بتوفير جهاز واحد لمركز IoT الخاص بك باستخدام تسجيل فردي. بعد ذلك، تعرف على كيفية توفير أجهزة متعددة عبر مراكز متعددة.