بداية سريعة: التحكم في جهاز متصل بلوحة وصل IoT

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

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

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

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

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

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

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

    يمكنك تنزيل حزمة تطوير برامج .NET Core لمنصات متعددة من ⁧⁩.NET⁧⁩.

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

    dotnet --version
    
  • استنساخ أو تنزيل Azure IoT C# SDK من GitHub.

  • تأكد من أن المنفذ 8883 مفتوح في جدار الحماية. يستخدم الجهاز العينة في هذا التشغيل السريع بروتوكول MQTT الذي يتصل عبر المنفذ 8883. قد يتم حظر هذا المنفذ في بعض بيئات شبكات الشركات والتعليمية. لمزيد من المعلومات وطرق التغلب على هذه المشكلة، يرجى مراجعة الاتصال بمركز 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، فحدد الزر ⁧⁩جربه⁧⁩ في أوامر CLI لتشغيل Cloud Shell في نافذة متصفح منقسم. يمكنك أيضاً تشغيل ⁧⁩Cloud Shell⁧⁩ في علامة تبويب متصفح منفصلة.
    • إذا كنت تستخدم Azure CLI داخلياً، فابدأ تشغيل تطبيق وحدة تحكم CLI الخاص بك، ثم قم بتسجيل الدخول إلى Azure CLI.
  2. قم بتشغيل ⁧⁩إضافة ملحق az⁧⁩ لتثبيت أو ترقية ملحق ⁧⁩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⁧⁩ لإنشاء مركز IoT. قد يستغرق إنشاء مركز IoT بضع دقائق.

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

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

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

تحتاج أيضاً إلى سلسلة اتصال خدمة في IoT Hub لتمكين تطبيق الخدمة من الاتصال بالمركز واسترداد الرسائل. سلسلة اتصال الخدمة مخصصة لمركز 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. في نافذة محطة طرفية محلية، انتقل إلى المجلد الجذر للمشروع العينة C#. ثم انتقل إلى المجلد iothub\device\samples\getting started\SimulatedDeviceWithCommand .

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

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

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

    dotnet run -- -c "{DeviceConnectionString}"
    

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

    Run the simulated device

مكالمة أسلوب مباشر

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

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

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

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

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

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

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

    تُظهر لقطة الشاشة التالية الإخراج، حيث يقوم التطبيق بإجراء اتصال مباشر بالطريقة إلى الجهاز ويتلقى إقراراً:

    Run the service application

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

    Change in simulated client

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

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

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

  • حساب Azure باشتراك نشط. إنشاء حساب مجاني.

  • Java SE Development Kit 8. في Java long-term support for Azure and Azure Stack، ضمن Long-term support، حدد Java 8.

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

    java -version
    
  • Apache Maven 3.

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

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

  • تأكد من فتح المنفذ 8883 في جدار الحماية الخاص بك. يستخدم نموذج الجهاز في هذا التشغيل السريع بروتوكول MQTT الذي يتصل عبر المنفذ 8883. قد يتم حظر هذا المنفذ في بعض بيئات شبكات الشركات والتعليمية. لمزيد من المعلومات وطرق التغلب على هذه المشكلة، يرجى مراجعة الاتصال بمركز 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، فحدد الزر ⁧⁩جربه⁧⁩ في أوامر CLI لتشغيل Cloud Shell في نافذة متصفح منقسم. يمكنك أيضاً تشغيل ⁧⁩Cloud Shell⁧⁩ في علامة تبويب متصفح منفصلة.
    • إذا كنت تستخدم Azure CLI داخلياً، فابدأ تشغيل تطبيق وحدة تحكم CLI الخاص بك، ثم قم بتسجيل الدخول إلى Azure CLI.
  2. قم بتشغيل ⁧⁩إضافة ملحق az⁧⁩ لتثبيت أو ترقية ملحق ⁧⁩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⁧⁩ لإنشاء مركز IoT. قد يستغرق إنشاء مركز IoT بضع دقائق.

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

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

تسجيل جهاز

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

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

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

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

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

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

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

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

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

    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\التشغيل السريعs\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
    

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

    Output from the telemetry sent by the device to your IoT hub

مكالمة أسلوب مباشر

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

  1. في نافذة محطة طرفية محلية أخرى، انتقل إلى المجلد الجذر لنموذج مشروع Java. ثم انتقل إلى المجلد iot-hub\التشغيل السريعs\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
    

    تُظهر لقطة الشاشة التالية الإخراج، حيث يقوم التطبيق بإجراء اتصال مباشر بالطريقة إلى الجهاز ويتلقى إقراراً:

    Output as the application makes a direct method call through your IoT hub

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

    Console message from device shows the rate at which it changes

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

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

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

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

  • Node.js 12+.

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

    node --version
    
  • قم بنسخ أو تنزيل عينات Azure IoT Node.js من GitHub.

  • تأكد من أن المنفذ 8883 مفتوح في جدار الحماية. يستخدم الجهاز العينة في هذا التشغيل السريع بروتوكول MQTT الذي يتصل عبر المنفذ 8883. قد يتم حظر هذا المنفذ في بعض بيئات شبكات الشركات والتعليمية. لمزيد من المعلومات وطرق التغلب على هذه المشكلة، يرجى مراجعة الاتصال بمركز 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، فحدد الزر ⁧⁩جربه⁧⁩ في أوامر CLI لتشغيل Cloud Shell في نافذة متصفح منقسم. يمكنك أيضاً تشغيل ⁧⁩Cloud Shell⁧⁩ في علامة تبويب متصفح منفصلة.
    • إذا كنت تستخدم Azure CLI داخلياً، فابدأ تشغيل تطبيق وحدة تحكم CLI الخاص بك، ثم قم بتسجيل الدخول إلى Azure CLI.
  2. قم بتشغيل ⁧⁩إضافة ملحق az⁧⁩ لتثبيت أو ترقية ملحق ⁧⁩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⁧⁩ لإنشاء مركز IoT. قد يستغرق إنشاء مركز IoT بضع دقائق.

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

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

تسجيل جهاز

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

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

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

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

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

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

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

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

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

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

ملاحظة

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

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

تحتاج أيضاً إلى سلسلة اتصال خدمة في IoT Hub لتمكين تطبيق الواجهة الخلفية من الاتصال بمركز 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 \ التشغيل السريعs \ simulated-device-2.

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

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

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

    npm install
    node SimulatedDevice.js
    

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

    Run the simulated device

مكالمة أسلوب مباشر

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

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

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

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

  3. في إطار المحطة الطرفية المحلية، قوموا بتشغيل الأوامر التالية لتثبيت المكتبات المطلوبة وتشغيل التطبيق الموجود على الخادم:

    npm install
    node BackEndApplication.js
    

    تظهر لقطة الشاشة التالية الناتج، كما يقوم التطبيق بإجراء استدعاء أسلوب مباشر إلى الجهاز ويتلقى إعلاماً:

    Output when the application makes direct method call to the device

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

    Output when there is a change in the simulated client

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

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

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

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

  • Python 3.7+. للحصول على إصدارات أخرى من Python المدعومة، راجع ميزات جهاز Azure IoT.

  • قم بنسخ أو تنزيل عينات Azure IoT Python من GitHub.

  • تأكد من فتح المنفذ 8883 في جدار الحماية الخاص بك. يستخدم نموذج الجهاز في هذا التشغيل السريع بروتوكول MQTT الذي يتصل عبر المنفذ 8883. قد يتم حظر هذا المنفذ في بعض بيئات شبكات الشركات والتعليمية. لمزيد من المعلومات وطرق التغلب على هذه المشكلة، يرجى مراجعة الاتصال بمركز 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، فحدد الزر ⁧⁩جربه⁧⁩ في أوامر CLI لتشغيل Cloud Shell في نافذة متصفح منقسم. يمكنك أيضاً تشغيل ⁧⁩Cloud Shell⁧⁩ في علامة تبويب متصفح منفصلة.
    • إذا كنت تستخدم Azure CLI داخلياً، فابدأ تشغيل تطبيق وحدة تحكم CLI الخاص بك، ثم قم بتسجيل الدخول إلى Azure CLI.
  2. قم بتشغيل ⁧⁩إضافة ملحق az⁧⁩ لتثبيت أو ترقية ملحق ⁧⁩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⁧⁩ لإنشاء مركز IoT. قد يستغرق إنشاء مركز IoT بضع دقائق.

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

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

تسجيل جهاز

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

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

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

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

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

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

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

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

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

    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 \ التشغيل السريعs \ simulated-device-2.

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

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

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

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

    python SimulatedDeviceSync.py
    

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

    Run the simulated device

مكالمة أسلوب مباشر

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

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

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

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

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

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

    python BackEndApplication.py
    

    تُظهر لقطة الشاشة التالية الإخراج، حيث يقوم التطبيق بإجراء اتصال مباشر بالطريقة إلى الجهاز ويتلقى إقراراً:

    Run the back-end application

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

    Change in simulated client

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

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

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

هام

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

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

  1. سجل الدخول إلى⁧⁩مدخل Azure⁧⁩ وحدد ⁧⁩Resource groups⁧⁩.

  2. في ⁧⁩مربع نص التصفية حسب الاسم⁧⁩، اكتب اسم مجموعة الموارد التي تحتوي على IoT Hub.

  3. إلى يمين مجموعة الموارد في قائمة النتائج، حدد ⁧⁩...⁧⁩ ثم ⁧⁩Delete resource group⁧⁩.

    حذف

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

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

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

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