التشغيل السريع: التحكم في جهاز متصل بمركز IoT

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

يستخدم التشغيل السريع تطبيقين .NET مكتوبين مسبقا:

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

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

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

  • حساب Azure مع اشتراك نشط. أنشئ حسابًا مجانًا.

  • تتم كتابة نموذج التطبيقين اللذين تقوم بتشغيلهما في هذا التشغيل السريع باستخدام C#. تحتاج إلى .NET SDK 6.0 أو أحدث على جهاز التطوير الخاص بك.

    يمكنك تنزيل .NET Core SDK لمنصات متعددة من .NET.

    يمكنك التحقق من الإصدار الحالي من C# على جهاز التطوير باستخدام الأمر التالي:

    dotnet --version
    
  • استنساخ أو تنزيل Microsoft Azure IoT SDK ل .NET من GitHub. يتم تضمين نماذج التطبيقات المستخدمة من قبل هذا التشغيل السريع في SDK.

  • تأكد من أن المنفذ 8883 مفتوح في جدار الحماية. يستخدم نموذج الجهاز في هذا التشغيل السريع بروتوكول MQTT، الذي يتصل عبر المنفذ 8883. قد يتم حظر هذا المنفذ في بعض بيئات الشبكة التعليمية والشركات. لمزيد من المعلومات وطرق حل هذه المشكلة، راجع قسم الاتصال بمركز IoT في الاتصال بمركز IoT باستخدام بروتوكول MQTT.

ملاحظة

تستخدم هذه المقالة أحدث إصدار من ملحق Azure IoT، ويطلق عليه azure-iot. يسمى azure-cli-iot-extالإصدار القديم . يجب أن يكون لديك نسخة واحدة فقط مثبتة في كل مرة. يمكنك استخدام الأمر az extension list للتحقق من صحة الملحقات المثبتة حالياً.

استخدم az extension remove --name azure-cli-iot-ext لإزالة الإصدار القديم من الملحق.

استخدم az extension add --name azure-iot لإضافة الإصدار الجديد من الملحق.

لمعرفة الملحقات المثبتة حاليا، استخدم az extension list.

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

إذا كان لديك بالفعل IoT Hub في اشتراكك في Azure، يمكنك تخطي هذا القسم.

لإنشاء مركز IoT ومجموعة موارد:

  1. قم بتشغيل تطبيق CLI الخاص بك. لتشغيل أوامر CLI في بقية هذه المقالة، انسخ بناء جملة الأمر، والصقه في تطبيق CLI، وقم بتحرير قيم المتغيرات، واضغط Enterعلى .

    • إذا كنت تستخدم Cloud Shell، فحدد الزر Try It في أوامر CLI لتشغيل Cloud Shell في نافذة مستعرض منقسمة. أو يمكنك فتح Cloud Shell في علامة تبويب مستعرض منفصلة.
    • إذا كنت تستخدم Azure CLI داخليًا، فابدأ تشغيل تطبيق وحدة تحكم CLI الخاص بك، ثم قم بتسجيل الدخول إلى Azure CLI.
  2. قم بتشغيل «az extension add» لتثبيت أو ترقية ملحق azure-iot إلى الإصدار الحالي.

    az extension add --upgrade --name azure-iot
    
  3. في تطبيق CLI، قم بتشغيل الأمر az group create لإنشاء مجموعة موارد. يقوم الأمر التالي بإنشاء مجموعة موارد تسمى MyResourceGroup في موقعeastus.

    ملاحظة

    اختيارياً، يمكنك تعيين موقع مختلف. لمشاهدة المواقع المتوفرة، قم بتشغيل az account list-locations. يستخدم هذا التشغيل السريع eastus كما هو موضح في مثال الأمر.

    az group create --name MyResourceGroup --location eastus
    
  4. قم بتشغيل الأمر «az iot hub create» لإنشاء مركز IoT. قد يستغرق إنشاء مركز IoT بضع دقائق.

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

    az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName}
    

استرداد سلسلة اتصال الخدمة

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

يسترد الأمر التالي سلسلة اتصال الخدمة لمركز IoT الخاص بك:

az iot hub connection-string show --policy-name service --hub-name {YourIoTHubName} --output table

دون ملاحظة عن سلسلة اتصال الخدمة، والتي تبدو كما يلي:

HostName={YourIoTHubName}.azure-devices.net;SharedAccessKeyName=service;SharedAccessKey={YourSharedAccessKey}

يمكنك استخدام هذه القيمة لاحقا في التشغيل السريع.

محاكاة جهاز

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

  1. في نافذة المحطة الطرفية المحلية، انتقل إلى المجلد الجذر ل SDK. ثم انتقل إلى المجلد iothub\device\samples\getting started\SimulatedDeviceWithCommand .

  2. قم بتشغيل الأمر التالي لتثبيت الحزم المطلوبة لتطبيق الجهاز المحاكي:

    dotnet restore
    
  3. قم بتشغيل الأمر التالي لإنشاء وتشغيل تطبيق الجهاز المحاكي.

    {DeviceConnectionString}استبدل هذا العنصر النائب بسلسلة اتصال الجهاز التي لاحظتها سابقا.:

    dotnet run -- -c "{DeviceConnectionString}"
    

    تعرض لقطة الشاشة التالية الإخراج حيث يرسل تطبيق جهاز المحاكاة بيانات تتبع الاستخدام إلى مركز IoT:

    لقطة شاشة لنافذة المحطة الطرفية التي تعرض إخراج تطبيق الجهاز المحاكي.

استدعاء الأسلوب المباشر

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

  1. في نافذة طرفية محلية أخرى، انتقل إلى المجلد الجذر ل SDK. ثم انتقل إلى المجلد iothub\service\samples\getting started\InvokeDeviceMethod .

  2. في نافذة المحطة الطرفية المحلية، قم بتشغيل الأوامر التالية لتثبيت المكتبات المطلوبة لتطبيق الخدمة:

    dotnet build
    
  3. في نافذة المحطة الطرفية المحلية، قم بتشغيل الأوامر التالية لإنشاء تطبيق الخدمة وتشغيله.

    {ServiceConnectionString}استبدل هذا العنصر النائب بسلسلة اتصال خدمة IoT Hub التي لاحظتها سابقا.:

    {DeviceName}استبدل هذا العنصر النائب باسم الجهاز الذي قمت بتسجيله.:

    dotnet run -- -c "{ServiceConnectionString}" -d {DeviceName}
    

    تظهر لقطة الشاشة التالية الإخراج حيث يقوم التطبيق بإجراء استدعاء أسلوب مباشر للجهاز ويتلقى إقرارا:

    لقطة شاشة لنافذة طرفية تعرض نتيجة استدعاء الأسلوب المباشر من تطبيق الخدمة.

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

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

يستخدم هذا التشغيل السريع تطبيقين Java:

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

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

  • حساب Azure مع اشتراك نشط. أنشئ حسابًا مجانًا.

  • طقم تطوير Java SE 8. في دعم Java طويل الأجل ل Azure وAzure Stack، ضمن الدعم طويل الأجل، حدد Java 8.

    يمكنك التحقق من الإصدار الحالي من Java على جهاز التطوير الخاص بك باستخدام الأمر التالي:

    java -version
    
  • أباتشي مافن 3.

    يمكنك التحقق من الإصدار الحالي من Maven على جهاز التطوير الخاص بك باستخدام الأمر التالي:

    mvn --version
    
  • استنساخ أو تنزيل نماذج Azure IoT ل Java من GitHub.

  • تأكد من أن المنفذ 8883 مفتوح في جدار الحماية. يستخدم نموذج الجهاز في هذا التشغيل السريع بروتوكول MQTT، الذي يتصل عبر المنفذ 8883. قد يتم حظر هذا المنفذ في بعض بيئات الشبكة التعليمية والشركات. لمزيد من المعلومات وطرق حل هذه المشكلة، راجع قسم الاتصال بمركز IoT في الاتصال بمركز IoT باستخدام بروتوكول MQTT.

ملاحظة

تستخدم هذه المقالة أحدث إصدار من ملحق Azure IoT، ويطلق عليه azure-iot. يسمى azure-cli-iot-extالإصدار القديم . يجب أن يكون لديك نسخة واحدة فقط مثبتة في كل مرة. يمكنك استخدام الأمر az extension list للتحقق من صحة الملحقات المثبتة حالياً.

استخدم az extension remove --name azure-cli-iot-ext لإزالة الإصدار القديم من الملحق.

استخدم az extension add --name azure-iot لإضافة الإصدار الجديد من الملحق.

لمعرفة الملحقات المثبتة حاليا، استخدم az extension list.

إنشاء مركز IoT

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

إذا كان لديك بالفعل IoT Hub في اشتراكك في Azure، يمكنك تخطي هذا القسم.

لإنشاء مركز IoT ومجموعة موارد:

  1. قم بتشغيل تطبيق CLI الخاص بك. لتشغيل أوامر CLI في بقية هذه المقالة، انسخ بناء جملة الأمر، والصقه في تطبيق CLI، وقم بتحرير قيم المتغيرات، واضغط Enterعلى .

    • إذا كنت تستخدم Cloud Shell، فحدد الزر Try It في أوامر CLI لتشغيل Cloud Shell في نافذة مستعرض منقسمة. أو يمكنك فتح Cloud Shell في علامة تبويب مستعرض منفصلة.
    • إذا كنت تستخدم Azure CLI داخليًا، فابدأ تشغيل تطبيق وحدة تحكم CLI الخاص بك، ثم قم بتسجيل الدخول إلى Azure CLI.
  2. قم بتشغيل «az extension add» لتثبيت أو ترقية ملحق azure-iot إلى الإصدار الحالي.

    az extension add --upgrade --name azure-iot
    
  3. في تطبيق CLI، قم بتشغيل الأمر az group create لإنشاء مجموعة موارد. يقوم الأمر التالي بإنشاء مجموعة موارد تسمى MyResourceGroup في موقعeastus.

    ملاحظة

    اختيارياً، يمكنك تعيين موقع مختلف. لمشاهدة المواقع المتوفرة، قم بتشغيل az account list-locations. يستخدم هذا التشغيل السريع eastus كما هو موضح في مثال الأمر.

    az group create --name MyResourceGroup --location eastus
    
  4. قم بتشغيل الأمر «az iot hub create» لإنشاء مركز IoT. قد يستغرق إنشاء مركز IoT بضع دقائق.

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

    az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName}
    

تسجيل جهاز

يجب أن يكون الجهاز مسجلاً في مركز إنترنت الأشياء الخاص بك قبل أن يتمكن من الاتصال. في هذا القسم، تستخدم Azure CLI لإنشاء معرّف الجهاز.

إذا كان لديك بالفعل جهاز مسجل في IoT Hub الخاص بك، يمكنك تخطي هذا القسم.

لإنشاء هوية الجهاز:

  1. قم بتشغيل الأمر az iot hub device-identity create في غلاف CLI الخاص بك. يقوم هذا الأمر بإنشاء هوية الجهاز.

    YourIoTHubName. استبدل هذا العنصر النائب والأقواس المحيطة في الأمر التالي، باستخدام الاسم الذي اخترته لمركز IoT. يجب أن يكون اسم مركز IoT فريدًا بشكل عمومي في Azure.

    myDevice. يمكنك استخدام هذا الاسم لمعرف الجهاز خلال هذه المقالة، أو توفير اسم جهاز مختلف.

    az iot hub device-identity create --device-id myDevice --hub-name {YourIoTHubName}
    
  2. قم بتشغيل الأمر az iot hub device-identity connection-string show.

    az iot hub device-identity connection-string show --device-id myDevice --hub-name {YourIoTHubName}
    

    إخراج سلسلة الاتصال بالتنسيق التالي:

    HostName=<your IoT Hub name>.azure-devices.net;DeviceId=<your device id>;SharedAccessKey=<some value>
    
  3. احفظ سلسلة الاتصال في موقع آمن.

ملاحظة

احتفظ بتطبيق CLI الخاص بك مفتوحاً. يمكنك استخدامه في خطوات لاحقة.

استرداد سلسلة اتصال الخدمة

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

YourIoTHubName: استبدل هذا العنصر النائب في الأمر التالي بالاسم الذي اخترته لمركز IoT الخاص بك.

az iot hub connection-string show --policy-name service --hub-name {YourIoTHubName} --output table

دون ملاحظة عن سلسلة اتصال الخدمة، والتي تبدو كما يلي:

HostName={YourIoTHubName}.azure-devices.net;SharedAccessKeyName=service;SharedAccessKey={YourSharedAccessKey}

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

محاكاة جهاز

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

  1. في نافذة المحطة الطرفية المحلية، انتقل إلى المجلد الجذر لمشروع Java النموذجي. ثم انتقل إلى مجلد iot-hub\Quickstarts\simulated-device-2 .

  2. افتح ملف src/main/java/com/microsoft/docs/iothub/samples/SimulatedDevice.java في محرر نصوص من اختيارك.

    استبدل قيمة المتغير connString بسلسلة اتصال الجهاز التي قمت بتدوين ملاحظات عنها سابقا. ثم احفظ التغييرات في SimulatedDevice.java.

  3. في نافذة المحطة الطرفية المحلية، قم بتشغيل الأوامر التالية لتثبيت المكتبات المطلوبة وإنشاء تطبيق الجهاز المحاكي:

    mvn clean package
    
  4. في نافذة المحطة الطرفية المحلية، قم بتشغيل الأوامر التالية لتشغيل تطبيق الجهاز المحاكي:

    java -jar target/simulated-device-2-1.0.0-with-deps.jar
    

    تعرض لقطة الشاشة التالية الإخراج حيث يرسل تطبيق جهاز المحاكاة بيانات تتبع الاستخدام إلى مركز IoT:

    لقطة شاشة لنافذة المحطة الطرفية التي تعرض إخراج تطبيق الجهاز المحاكي.

استدعاء الأسلوب المباشر

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

  1. في نافذة محطة طرفية محلية أخرى، انتقل إلى المجلد الجذر لمشروع Java النموذجي. ثم انتقل إلى مجلد iot-hub\Quickstarts\back-end-application .

  2. افتح ملف src/main/java/com/microsoft/docs/iothub/samples/BackEndApplication.java في محرر نصوص من اختيارك.

    استبدل قيمة المتغير iotHubConnectionString بسلسلة اتصال الخدمة التي قمت بتدوينها سابقا. ثم احفظ التغييرات في BackEndApplication.java.

  3. في نافذة المحطة الطرفية المحلية، قم بتشغيل الأوامر التالية لتثبيت المكتبات المطلوبة وإنشاء التطبيق الخلفي:

    mvn clean package
    
  4. في نافذة المحطة الطرفية المحلية، قم بتشغيل الأوامر التالية لتشغيل التطبيق الخلفي:

    java -jar target/back-end-application-1.0.0-with-deps.jar
    

    تظهر لقطة الشاشة التالية الإخراج حيث يقوم التطبيق بإجراء استدعاء أسلوب مباشر للجهاز ويتلقى إقرارا:

    لقطة شاشة لنافذة طرفية تعرض نتيجة استدعاء الأسلوب المباشر من تطبيق الخدمة.

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

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

يستخدم هذا التشغيل السريع تطبيقين Node.js:

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

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

ملاحظة

تستخدم هذه المقالة أحدث إصدار من ملحق Azure IoT، ويطلق عليه azure-iot. يسمى azure-cli-iot-extالإصدار القديم . يجب أن يكون لديك نسخة واحدة فقط مثبتة في كل مرة. يمكنك استخدام الأمر az extension list للتحقق من صحة الملحقات المثبتة حالياً.

استخدم az extension remove --name azure-cli-iot-ext لإزالة الإصدار القديم من الملحق.

استخدم az extension add --name azure-iot لإضافة الإصدار الجديد من الملحق.

لمعرفة الملحقات المثبتة حاليا، استخدم az extension list.

إنشاء مركز IoT

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

إذا كان لديك بالفعل IoT Hub في اشتراكك في Azure، يمكنك تخطي هذا القسم.

لإنشاء مركز IoT ومجموعة موارد:

  1. قم بتشغيل تطبيق CLI الخاص بك. لتشغيل أوامر CLI في بقية هذه المقالة، انسخ بناء جملة الأمر، والصقه في تطبيق CLI، وقم بتحرير قيم المتغيرات، واضغط Enterعلى .

    • إذا كنت تستخدم Cloud Shell، فحدد الزر Try It في أوامر CLI لتشغيل Cloud Shell في نافذة مستعرض منقسمة. أو يمكنك فتح Cloud Shell في علامة تبويب مستعرض منفصلة.
    • إذا كنت تستخدم Azure CLI داخليًا، فابدأ تشغيل تطبيق وحدة تحكم CLI الخاص بك، ثم قم بتسجيل الدخول إلى Azure CLI.
  2. قم بتشغيل «az extension add» لتثبيت أو ترقية ملحق azure-iot إلى الإصدار الحالي.

    az extension add --upgrade --name azure-iot
    
  3. في تطبيق CLI، قم بتشغيل الأمر az group create لإنشاء مجموعة موارد. يقوم الأمر التالي بإنشاء مجموعة موارد تسمى MyResourceGroup في موقعeastus.

    ملاحظة

    اختيارياً، يمكنك تعيين موقع مختلف. لمشاهدة المواقع المتوفرة، قم بتشغيل az account list-locations. يستخدم هذا التشغيل السريع eastus كما هو موضح في مثال الأمر.

    az group create --name MyResourceGroup --location eastus
    
  4. قم بتشغيل الأمر «az iot hub create» لإنشاء مركز IoT. قد يستغرق إنشاء مركز IoT بضع دقائق.

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

    az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName}
    

تسجيل جهاز

يجب أن يكون الجهاز مسجلاً في مركز إنترنت الأشياء الخاص بك قبل أن يتمكن من الاتصال. في هذا القسم، تستخدم Azure CLI لإنشاء معرّف الجهاز.

إذا كان لديك بالفعل جهاز مسجل في IoT Hub الخاص بك، يمكنك تخطي هذا القسم.

لإنشاء هوية الجهاز:

  1. قم بتشغيل الأمر az iot hub device-identity create في غلاف CLI الخاص بك. يقوم هذا الأمر بإنشاء هوية الجهاز.

    YourIoTHubName. استبدل هذا العنصر النائب والأقواس المحيطة في الأمر التالي، باستخدام الاسم الذي اخترته لمركز IoT. يجب أن يكون اسم مركز IoT فريدًا بشكل عمومي في Azure.

    myDevice. يمكنك استخدام هذا الاسم لمعرف الجهاز خلال هذه المقالة، أو توفير اسم جهاز مختلف.

    az iot hub device-identity create --device-id myDevice --hub-name {YourIoTHubName}
    
  2. قم بتشغيل الأمر az iot hub device-identity connection-string show.

    az iot hub device-identity connection-string show --device-id myDevice --hub-name {YourIoTHubName}
    

    إخراج سلسلة الاتصال بالتنسيق التالي:

    HostName=<your IoT Hub name>.azure-devices.net;DeviceId=<your device id>;SharedAccessKey=<some value>
    
  3. احفظ سلسلة الاتصال في موقع آمن.

ملاحظة

احتفظ بتطبيق CLI الخاص بك مفتوحاً. يمكنك استخدامه في خطوات لاحقة.

استرداد سلسلة اتصال الخدمة

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

YourIoTHubName: استبدل هذا العنصر النائب في الأمر التالي بالاسم الذي اخترته لمركز IoT الخاص بك.

az iot hub connection-string show \
  --policy-name service --hub-name {YourIoTHubName} --output table

دون ملاحظة عن سلسلة اتصال الخدمة، والتي تبدو كما يلي:

HostName={YourIoTHubName}.azure-devices.net;SharedAccessKeyName=service;SharedAccessKey={YourSharedAccessKey}

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

محاكاة جهاز

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

  1. في نافذة المحطة الطرفية المحلية، انتقل إلى المجلد الجذر لنموذج مشروع Node.js. ثم انتقل إلى مجلد iot-hub\Quickstarts\simulated-device-2 .

  2. افتح ملف SimulatedDevice.js في محرر نصوص من اختيارك.

    استبدل قيمة المتغير connectionString بسلسلة اتصال الجهاز التي قمت بتدوين ملاحظات عنها سابقا. ثم احفظ التغييرات إلى SimulatedDevice.js.

  3. في نافذة المحطة الطرفية المحلية، قم بتشغيل الأوامر التالية لتثبيت المكتبات المطلوبة وتشغيل تطبيق الجهاز المحاكي:

    npm install
    node SimulatedDevice.js
    

    تعرض لقطة الشاشة التالية الإخراج حيث يرسل تطبيق جهاز المحاكاة بيانات تتبع الاستخدام إلى مركز IoT:

    لقطة شاشة لنافذة المحطة الطرفية التي تعرض إخراج تطبيق الجهاز المحاكي.

استدعاء الأسلوب المباشر

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

  1. في نافذة محطة طرفية محلية أخرى، انتقل إلى المجلد الجذر لنموذج مشروع Node.js. ثم انتقل إلى مجلد iot-hub\Quickstarts\back-end-application .

  2. افتح ملف BackEndApplication.js في محرر نصوص من اختيارك.

    استبدل قيمة المتغير connectionString بسلسلة اتصال الخدمة التي قمت بتدوينها سابقا. ثم احفظ التغييرات إلى BackEndApplication.js.

  3. في نافذة المحطة الطرفية المحلية، قم بتشغيل الأوامر التالية لتثبيت المكتبات المطلوبة وتشغيل التطبيق الخلفي:

    npm install
    node BackEndApplication.js
    

    تظهر لقطة الشاشة التالية الإخراج حيث يقوم التطبيق بإجراء استدعاء أسلوب مباشر للجهاز ويتلقى إقرارا:

    لقطة شاشة لنافذة طرفية تعرض نتيجة استدعاء الأسلوب المباشر من تطبيق الخدمة.

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

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

يستخدم هذا التشغيل السريع تطبيقين Python:

  • تطبيق جهاز محاكاة يستجيب للأساليب المباشرة التي يتم استدعاؤها من تطبيق خلفي.
  • تطبيق خلفي يستدعي الأساليب المباشرة على الجهاز المحاكي.

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

ملاحظة

تستخدم هذه المقالة أحدث إصدار من ملحق Azure IoT، ويطلق عليه azure-iot. يسمى azure-cli-iot-extالإصدار القديم . يجب أن يكون لديك نسخة واحدة فقط مثبتة في كل مرة. يمكنك استخدام الأمر az extension list للتحقق من صحة الملحقات المثبتة حالياً.

استخدم az extension remove --name azure-cli-iot-ext لإزالة الإصدار القديم من الملحق.

استخدم az extension add --name azure-iot لإضافة الإصدار الجديد من الملحق.

لمعرفة الملحقات المثبتة حاليا، استخدم az extension list.

إنشاء مركز IoT

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

إذا كان لديك بالفعل IoT Hub في اشتراكك في Azure، يمكنك تخطي هذا القسم.

لإنشاء مركز IoT ومجموعة موارد:

  1. قم بتشغيل تطبيق CLI الخاص بك. لتشغيل أوامر CLI في بقية هذه المقالة، انسخ بناء جملة الأمر، والصقه في تطبيق CLI، وقم بتحرير قيم المتغيرات، واضغط Enterعلى .

    • إذا كنت تستخدم Cloud Shell، فحدد الزر Try It في أوامر CLI لتشغيل Cloud Shell في نافذة مستعرض منقسمة. أو يمكنك فتح Cloud Shell في علامة تبويب مستعرض منفصلة.
    • إذا كنت تستخدم Azure CLI داخليًا، فابدأ تشغيل تطبيق وحدة تحكم CLI الخاص بك، ثم قم بتسجيل الدخول إلى Azure CLI.
  2. قم بتشغيل «az extension add» لتثبيت أو ترقية ملحق azure-iot إلى الإصدار الحالي.

    az extension add --upgrade --name azure-iot
    
  3. في تطبيق CLI، قم بتشغيل الأمر az group create لإنشاء مجموعة موارد. يقوم الأمر التالي بإنشاء مجموعة موارد تسمى MyResourceGroup في موقعeastus.

    ملاحظة

    اختيارياً، يمكنك تعيين موقع مختلف. لمشاهدة المواقع المتوفرة، قم بتشغيل az account list-locations. يستخدم هذا التشغيل السريع eastus كما هو موضح في مثال الأمر.

    az group create --name MyResourceGroup --location eastus
    
  4. قم بتشغيل الأمر «az iot hub create» لإنشاء مركز IoT. قد يستغرق إنشاء مركز IoT بضع دقائق.

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

    az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName}
    

تسجيل جهاز

يجب أن يكون الجهاز مسجلاً في مركز إنترنت الأشياء الخاص بك قبل أن يتمكن من الاتصال. في هذا القسم، تستخدم Azure CLI لإنشاء معرّف الجهاز.

إذا كان لديك بالفعل جهاز مسجل في IoT Hub الخاص بك، يمكنك تخطي هذا القسم.

لإنشاء هوية الجهاز:

  1. قم بتشغيل الأمر az iot hub device-identity create في غلاف CLI الخاص بك. يقوم هذا الأمر بإنشاء هوية الجهاز.

    YourIoTHubName. استبدل هذا العنصر النائب والأقواس المحيطة في الأمر التالي، باستخدام الاسم الذي اخترته لمركز IoT. يجب أن يكون اسم مركز IoT فريدًا بشكل عمومي في Azure.

    myDevice. يمكنك استخدام هذا الاسم لمعرف الجهاز خلال هذه المقالة، أو توفير اسم جهاز مختلف.

    az iot hub device-identity create --device-id myDevice --hub-name {YourIoTHubName}
    
  2. قم بتشغيل الأمر az iot hub device-identity connection-string show.

    az iot hub device-identity connection-string show --device-id myDevice --hub-name {YourIoTHubName}
    

    إخراج سلسلة الاتصال بالتنسيق التالي:

    HostName=<your IoT Hub name>.azure-devices.net;DeviceId=<your device id>;SharedAccessKey=<some value>
    
  3. احفظ سلسلة الاتصال في موقع آمن.

ملاحظة

احتفظ بتطبيق CLI الخاص بك مفتوحاً. يمكنك استخدامه في خطوات لاحقة.

استرداد سلسلة اتصال الخدمة

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

YourIoTHubName: استبدل هذا العنصر النائب في الأمر التالي بالاسم الذي تختاره لمركز IoT.

az iot hub connection-string show \
  --policy-name service \
  --hub-name {YourIoTHubName} \
  --output table

دون ملاحظة عن سلسلة اتصال الخدمة، والتي تبدو كما يلي:

HostName={YourIoTHubName}.azure-devices.net;SharedAccessKeyName=service;SharedAccessKey={YourSharedAccessKey}

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

محاكاة جهاز

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

  1. في نافذة المحطة الطرفية المحلية، انتقل إلى المجلد الجذر لمشروع Python النموذجي. ثم انتقل إلى مجلد iot-hub\Quickstarts\simulated-device-2 .

  2. افتح ملف SimulatedDeviceSync.py في محرر نصوص من اختيارك.

    استبدل قيمة المتغير CONNECTION_STRING بسلسلة اتصال الجهاز التي قمت بتدوين ملاحظات عنها سابقا. ثم احفظ التغييرات في SimulatedDeviceSync.py.

  3. في نافذة المحطة الطرفية المحلية، قم بتشغيل الأوامر التالية لتثبيت المكتبات المطلوبة لتطبيق الجهاز المحاكي:

    pip install azure-iot-device
    
  4. في نافذة المحطة الطرفية المحلية، قم بتشغيل الأوامر التالية لتشغيل تطبيق الجهاز المحاكي:

    python SimulatedDeviceSync.py
    

    تعرض لقطة الشاشة التالية الإخراج حيث يرسل تطبيق جهاز المحاكاة بيانات تتبع الاستخدام إلى مركز IoT:

    لقطة شاشة لنافذة المحطة الطرفية التي تعرض إخراج تطبيق الجهاز المحاكي.

استدعاء الأسلوب المباشر

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

  1. في نافذة طرفية محلية أخرى، انتقل إلى المجلد الجذر لمشروع Python النموذجي. ثم انتقل إلى مجلد iot-hub\Quickstarts\back-end-application .

  2. افتح ملف BackEndApplication.py في محرر نصوص من اختيارك.

    استبدل قيمة المتغير CONNECTION_STRING بسلسلة اتصال الخدمة التي قمت بتدوينها سابقا. ثم احفظ التغييرات في BackEndApplication.py.

  3. في نافذة المحطة الطرفية المحلية، قم بتشغيل الأوامر التالية لتثبيت المكتبات المطلوبة لتطبيق الجهاز المحاكي:

    pip install azure-iot-hub
    
  4. في نافذة المحطة الطرفية المحلية، قم بتشغيل الأوامر التالية لتشغيل التطبيق الخلفي:

    python BackEndApplication.py
    

    تظهر لقطة الشاشة التالية الإخراج حيث يقوم التطبيق بإجراء استدعاء أسلوب مباشر للجهاز ويتلقى إقرارا:

    لقطة شاشة لنافذة طرفية تعرض نتيجة استدعاء الأسلوب المباشر من تطبيق الخدمة.

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

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

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

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

وإلا، يمكنك حذف موارد Azure التي تم إنشاؤها في هذه المقالة لتجنب الرسوم.

هام

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

لحذف مجموعة موارد حسب الاسم:

  1. سجل الدخول إلىمدخل Azureوحددمجموعات الموارد.

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

  3. في قائمة النتائج، حدد مجموعة الموارد التي تحتوي على مركز IoT.

  4. في جزء العمل لمجموعة الموارد، حدد حذف مجموعة الموارد من شريط الأوامر.

    لقطة شاشة تعرض جزء العمل لمجموعة موارد في مدخل Microsoft Azure، مع تمييز الأمر حذف مجموعة الموارد في شريط الأوامر.

  5. يُطلب منك تأكيد حذف مجموعة الموارد. اكتب اسم مجموعة الموارد مرة أخرى لتأكيده، واختر Delete. بعد لحظات قليلة، يتم حذف مجموعة الموارد وكافة الموارد المضمنة.

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

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

لمعرفة كيفية توجيه الرسائل من جهاز إلى سحابة إلى وجهات مختلفة في السحابة، تابع البرنامج التعليمي التالي.