التشغيل السريع: إرسال بيانات تتبع الاستخدام من جهاز إلى Azure IoT Hub

⁩ينطبق على⁧⁩:⁧⁩مطوري تطبيقات الأجهزة⁧

Browse code

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

تلميح

بصفتك مطورا، لديك بعض الخيارات حول كيفية توصيل الأجهزة ب Azure IoT. للتعرف على خيارات الاتصال، راجع نظرة عامة: خيارات الاتصال لمطوري أجهزة Azure IoT.

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

تعمل هذه البداية السريعة على كل من Windows، Linux, Raspberry Pi. تم اختباره على إصدارات الجهاز ونظام التشغيل التالية:

  • Windows 10
  • نظام التشغيل Ubuntu 20.04 LTS
  • Raspberry Pi OS (Raspbian) الإصدار 10 ، الذي يعمل على Raspberry Pi 3 Model B +

قم بتثبيت المتطلبات المتبقية لنظام التشغيل الخاص بك.

Linux أو Raspberry Pi OS

لإكمال هذه البداية السريعة على نظام التشغيل Linux و Raspberry Pi، قم بتثبيت البرنامج التالي:

قم بتثبيت ⁧⁩ سحابة القطاع الحكومي⁧⁩ و ⁧⁩ Git ⁧⁩ و ⁧⁩ cmake ⁧⁩، والتبعيات المطلوبة باستخدام الأمر ⁧apt-get⁩:

sudo apt-get update
sudo apt-get install -y git cmake build-essential curl libcurl4-openssl-dev libssl-dev uuid-dev

تحقق من أن إصدار ⁧cmake⁩ أعلى من ⁧⁩2.8.12⁧⁩، وإصدار ⁧⁩سحابة القطاع الحكومي⁧⁩ أعلى من ⁧⁩4.4.7⁧⁩.

cmake --version
gcc --version

Windows

لإكمال هذا التشغيل السريع على Windows، قم بتثبيت Visual Studio 2019، وإضافة المكونات المطلوبة لتطوير C وC++.

  1. للمستخدمين الجدد، قم بتثبيت ⁧⁩Visual Studio (Community, Professional, or Enterprise) 2019 ⁧⁩. قم بتنزيل الإصدار الذي تريد تثبيته، وابدأ تشغيل المثبت.

    ملاحظة

    بالنسبة لمستخدمي Visual Studio 2019 الحاليين، حدد النافذة ⁧⁩ Start ⁧⁩، واكتب⁧⁩ Visual Studio Installer ⁧⁩، وابدأ المثبت.

  2. في علامة التبويب⁧⁩Workloads⁧⁩ المثبت، حدد حمل العمل ⁧⁩Desktop Development with C++⁧⁩.
  3. في علامة التبويب ⁧⁩Individual components⁧⁩ المثبت، حدد ⁧⁩ Git for Windows.⁧
  4. شغّل التثبيت.

إنشاء تطبيق

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

اتبع الخطوات التالية لإنشاء تطبيق جديد:

  1. تصفح للوصول إلى Azure IoT Centralوسجل دخول باستخدام حساب Microsoft الشخصي أو العمل أو المدرسة.

  2. انتقل إلى إنشاء وحدد تطبيقات مخصصة. IoT Central start page

  3. أدخل اسماً مميزاً في اسم التطبيق أو استخدم الاسم المُنشأ.

  4. أدخل في "URL" بادئة عنوان "URL" الخاصة بالتطبيق والتي يمكن تذكرها، أو استخدم بادئة عنوان "URL" المُنشأة.

  5. اترك نموذج التطبيق معيّناً على تطبيق مخصص.

  6. حدد خيار خطة التسعير.

    • حدد مجاني لاستخدام التطبيق مجاناً لمدة سبعة أيام. يمكن تحويل التطبيق المجاني إلى التسعير القياسي قبل انتهاء الصلاحية.
    • يمكن تحديد خطة تسعير قياسية بشكل اختياري. إذا حددت التسعير القياسي، فستظهر المزيد من الخيارات وستحتاج إلى تعيين دليل و اشتراك Azure و موقع. راجع تسعير Azure IoT Central لمعرفة المزيد حول التسعير.
      • الدليل هو Azure Active Directory الذي تنشئ فيه التطبيق. يحتوي Azure Active Directory على هويات المستخدمين وبيانات الاعتماد والمعلومات التنظيمية الأخرى. إذا لم يكن لديك Azure Active Directory، فسيُنشأ واحد عند إنشاء اشتراك Azure.
      • يمكّن اشتراك Azure من إنشاء مثيلات خدمات Azure. يوفر IoT Central الموارد في الاشتراك. إذا لم تكن تمتلك اشتراكاً، فيمكن إنشاء اشتراك مجاناً . إذا كنت تحظى باشتراك، فيمكن تحديده من القائمة المنسدلة.
      • الموقع هو Azure geography التي تنشئ فيها تطبيقاً. حدد أقرب موقع مادي إلى الأجهزة للحصول على الأداء الأمثل. لا يمكن نقل التطبيق إلى موقع مختلف بعد اختيار الموقع.

    IoT Central new application dialog

  7. حدد Create.

    بعد أن يقوم IoT Central بإنشاء التطبيق، فإنه يعيد التوجيه إلى لوحة معلومات التطبيق. IoT Central new application dashboard

أضف جهاز

تقوم بإضافة جهاز جديد إلى تطبيق IoT Central في هذا المقطع. الجهاز هو مثيل لقالب الجهاز الذي يمثل الجهاز الذي ستقوم بتوصيله بالتطبيق.

اتبع الخطوات التالية لإنشاء جهاز جديد:

  1. حدد في الجزء الأيمن الأجهزة ثم حدد + جديد.

  2. اترك نموذج الجهاز معيّناً على غير معيّن وهل تريد محاكاة هذا الجهاز؟ معيّناً على لا.

  3. عيِّن اسم جهاز مألوف و معرف الجهاز. استخدم القيم المُنشأة بشكل اختياري. IoT Central new device dialog

  4. حدد Create.

    يظهر الجهاز المُنشأ في قائمة جميع الأجهزة. IoT Central all devices list

اتبع الخطوات التالية للحصول على تفاصيل الاتصال للجهاز الجديد:

  1. حدد اسم الجهاز المرتبط لعرض التفاصيل من قائمة جميع الأجهزة.

  2. في القائمة العلوية، اختر ⁧⁩الاتصال⁧⁩.

    يعرض مربع الحوار " اتصال الجهاز" تفاصيل الاتصال: IoT Central device connection details

  3. انسخ القيم التالية من مربع حوار اتصال الجهاز إلى مكان آمن. ستستخدم هذه القيم لتوصيل الجهاز بـ IoT Central.

    • ID scope
    • Device ID
    • Primary key

قم بتشغيل نموذج الجهاز

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

كوِّن بيئتك

  1. افتح وحدة تحكم لتثبيت SDK لجهاز Azure IoT C، وتشغيل نموذج التعليمات البرمجية. بالنسبة لنظام التشغيل Windows، حدد⁧⁩Start⁧⁩، واكتب ⁧⁩Developer Command Prompt for VS 2019⁧⁩، وافتح وحدة التحكم. لينكس والتوت بي OS، وفتح محطة لأوامر باش.

  2. قم بتعيين متغيرات البيئة التالية باستخدام الأوامر المناسبة لوحدة التحكم الخاصة بك. يستخدم الجهاز هذه القيم للاتصال بـ IoT Central. بالنسبة إلى ⁧IOTHUB_DEVICE_DPS_ID_SCOPE⁩ و⁧IOTHUB_DEVICE_DPS_DEVICE_KEY⁩ و⁧IOTHUB_DEVICE_DPS_DEVICE_ID⁩، استخدم قيم اتصال الجهاز التي قمت بحفظها مسبقًا.

    ⁩CMD⁧

    set IOTHUB_DEVICE_SECURITY_TYPE=DPS
    set IOTHUB_DEVICE_DPS_ID_SCOPE=<application ID scope>
    set IOTHUB_DEVICE_DPS_DEVICE_KEY=<device primary key>
    set IOTHUB_DEVICE_DPS_DEVICE_ID=<your device ID>
    set IOTHUB_DEVICE_DPS_ENDPOINT=global.azure-devices-provisioning.net
    

    ملاحظة

    بالنسبة Windows CMD، لا توجد علامات اقتباس تحيط بالقيم المتغيرة.

    Bash

    export IOTHUB_DEVICE_SECURITY_TYPE='DPS'
    export IOTHUB_DEVICE_DPS_ID_SCOPE='<application ID scope>'
    export IOTHUB_DEVICE_DPS_DEVICE_KEY='<device primary key>'
    export IOTHUB_DEVICE_DPS_DEVICE_ID='<your device ID>'
    export IOTHUB_DEVICE_DPS_ENDPOINT='global.azure-devices-provisioning.net' 
    

تثبيت SDK والنماذج

  1. انتقل إلى مجلد محلي حيث تريد استنساخ نموذج الريبو.

  2. انسخ SDK لجهاز Azure IoT C إلى جهازك المحلي.

    git clone https://github.com/Azure/azure-iot-sdk-c.git
    
  3. انتقل إلى المجلد الجذر لـ SDK، ثم قم بتشغيل الأمر التالي لتحديث التبعيات:

    cd azure-iot-sdk-c
    git submodule update --init
    

    تستغرق هذه العملية بضع دقائق.

  4. لإنشاء SDK والعينات، قم بتشغيل الأوامر التالية:

    cmake -Bcmake -Duse_prov_client=ON -Dhsm_type_symm_key=ON -Drun_e2e_tests=OFF
    cmake --build cmake
    

تشغيل التعليمات البرمجية

  1. تشغيل نموذج التعليمة البرمجية باستخدام الأمر المناسب لوحدة التحكم الخاصة بك:

    ⁩CMD⁧

    cmake\iothub_client\samples\pnp\pnp_temperature_controller\Debug\pnp_temperature_controller.exe
    

    Bash

    cmake/iothub_client/samples/pnp/pnp_temperature_controller/pnp_temperature_controller
    

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

    Info: Initiating DPS client to retrieve IoT Hub connection information
    -> 17:03:08 CONNECT | VER: 4 | KEEPALIVE: 0 | FLAGS: 194 | USERNAME: xxxxxxxxxxxxxxx/registrations/my-sdk-device/api-version=2019-03-31&ClientVersion=1.6.0 | PWD: XXXX | CLEAN: 1
    <- 17:03:09 CONNACK | SESSION_PRESENT: false | RETURN_CODE: 0x0
    -> 17:03:10 SUBSCRIBE | PACKET_ID: 1 | TOPIC_NAME: $dps/registrations/res/# | QOS: 1
    <- 17:03:11 SUBACK | PACKET_ID: 1 | RETURN_CODE: 1
    Info: Provisioning callback indicates success.  iothubUri=iotc-xxxxxxxxxxxx-xxxx-xxxx-xxxxxxxxxxxx.azure-devices.net, deviceId=my-sdk-device
    -> 17:03:27 DISCONNECT
    Info: DPS successfully registered.  Continuing on to creation of IoTHub device client handle.
    Info: Successfully created device client.  Hit Control-C to exit program
    
    Info: Sending serialNumber property to IoTHub
    Info: Sending device information property to IoTHub.  propertyName=swVersion, propertyValue="1.0.0.0"
    Info: Sending device information property to IoTHub.  propertyName=manufacturer, propertyValue="Sample-Manufacturer"
    Info: Sending device information property to IoTHub.  propertyName=model, propertyValue="sample-Model-123"
    Info: Sending device information property to IoTHub.  propertyName=osName, propertyValue="sample-OperatingSystem-name"
    Info: Sending device information property to IoTHub.  propertyName=processorArchitecture, propertyValue="Contoso-Arch-64bit"
    Info: Sending device information property to IoTHub.  propertyName=processorManufacturer, propertyValue="Processor Manufacturer(TM)"
    Info: Sending device information property to IoTHub.  propertyName=totalStorage, propertyValue=10000
    Info: Sending device information property to IoTHub.  propertyName=totalMemory, propertyValue=200
    Info: Sending maximumTemperatureSinceLastReboot property to IoTHub for component=thermostat1
    Info: Sending maximumTemperatureSinceLastReboot property to IoTHub for component=thermostat2
    

Browse code

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

تلميح

بصفتك مطورا، لديك بعض الخيارات حول كيفية توصيل الأجهزة ب Azure IoT. للتعرف على خيارات الاتصال، راجع نظرة عامة: خيارات الاتصال لمطوري أجهزة Azure IoT.

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

تعمل هذه البداية السريعة على كل من Windows، Linux, Raspberry Pi. تم اختباره على إصدارات الجهاز ونظام التشغيل التالية:

  • Windows 10
  • نظام التشغيل Ubuntu 20.04 LTS
  • Raspberry Pi OS (Raspbian) الإصدار 10 ، الذي يعمل على Raspberry Pi 3 Model B +

ثبّت المتطلبات الأساسية التالية على جهاز التطوير لديك:

  • في حال لم يكن لديك اشتراك في Azure، يتعين عليك ⁧⁧⁩⁩إنشاء حساب مجاني⁧⁧⁩⁩ قبل البدء.

  • Git.

  • .NET Core SDK 3.1. تأكد من تثبيت SDK.NET، وليس فقط وقت التشغيل. للتحقق من إصدار .NET SDK ووقت التشغيل المثبت على جهازك، قم بتشغيلdotnet --info.

    • بالنسبة لنظامي التشغيل Windows وLinux (باستثناء Raspberry Pi)، اتبع التعليمات لتثبيت.NET Core SDK 3.1على النظام الأساسي الخاص بك.
    • بالنسبة إلى Raspberry Pi، ستحتاج إلى اتباع التعليمات لتثبيت SDK يدوياً. وهذا لأنه في دبيان، يتم دعم تثبيتات إدارة الحزمة لـ.NET SDK فقط لهندسة x64.

إنشاء تطبيق

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

اتبع الخطوات التالية لإنشاء تطبيق جديد:

  1. تصفح للوصول إلى Azure IoT Centralوسجل دخول باستخدام حساب Microsoft الشخصي أو العمل أو المدرسة.

  2. انتقل إلى إنشاء وحدد تطبيقات مخصصة. IoT Central start page

  3. أدخل اسماً مميزاً في اسم التطبيق أو استخدم الاسم المُنشأ.

  4. أدخل في "URL" بادئة عنوان "URL" الخاصة بالتطبيق والتي يمكن تذكرها، أو استخدم بادئة عنوان "URL" المُنشأة.

  5. اترك نموذج التطبيق معيّناً على تطبيق مخصص.

  6. حدد خيار خطة التسعير.

    • حدد مجاني لاستخدام التطبيق مجاناً لمدة سبعة أيام. يمكن تحويل التطبيق المجاني إلى التسعير القياسي قبل انتهاء الصلاحية.
    • يمكن تحديد خطة تسعير قياسية بشكل اختياري. إذا حددت التسعير القياسي، فستظهر المزيد من الخيارات وستحتاج إلى تعيين دليل و اشتراك Azure و موقع. راجع تسعير Azure IoT Central لمعرفة المزيد حول التسعير.
      • الدليل هو Azure Active Directory الذي تنشئ فيه التطبيق. يحتوي Azure Active Directory على هويات المستخدمين وبيانات الاعتماد والمعلومات التنظيمية الأخرى. إذا لم يكن لديك Azure Active Directory، فسيُنشأ واحد عند إنشاء اشتراك Azure.
      • يمكّن اشتراك Azure من إنشاء مثيلات خدمات Azure. يوفر IoT Central الموارد في الاشتراك. إذا لم تكن تمتلك اشتراكاً، فيمكن إنشاء اشتراك مجاناً . إذا كنت تحظى باشتراك، فيمكن تحديده من القائمة المنسدلة.
      • الموقع هو Azure geography التي تنشئ فيها تطبيقاً. حدد أقرب موقع مادي إلى الأجهزة للحصول على الأداء الأمثل. لا يمكن نقل التطبيق إلى موقع مختلف بعد اختيار الموقع.

    IoT Central new application dialog

  7. حدد Create.

    بعد أن يقوم IoT Central بإنشاء التطبيق، فإنه يعيد التوجيه إلى لوحة معلومات التطبيق. IoT Central new application dashboard

أضف جهاز

تقوم بإضافة جهاز جديد إلى تطبيق IoT Central في هذا المقطع. الجهاز هو مثيل لقالب الجهاز الذي يمثل الجهاز الذي ستقوم بتوصيله بالتطبيق.

اتبع الخطوات التالية لإنشاء جهاز جديد:

  1. حدد في الجزء الأيمن الأجهزة ثم حدد + جديد.

  2. اترك نموذج الجهاز معيّناً على غير معيّن وهل تريد محاكاة هذا الجهاز؟ معيّناً على لا.

  3. عيِّن اسم جهاز مألوف و معرف الجهاز. استخدم القيم المُنشأة بشكل اختياري. IoT Central new device dialog

  4. حدد Create.

    يظهر الجهاز المُنشأ في قائمة جميع الأجهزة. IoT Central all devices list

اتبع الخطوات التالية للحصول على تفاصيل الاتصال للجهاز الجديد:

  1. حدد اسم الجهاز المرتبط لعرض التفاصيل من قائمة جميع الأجهزة.

  2. في القائمة العلوية، اختر ⁧⁩الاتصال⁧⁩.

    يعرض مربع الحوار " اتصال الجهاز" تفاصيل الاتصال: IoT Central device connection details

  3. انسخ القيم التالية من مربع حوار اتصال الجهاز إلى مكان آمن. ستستخدم هذه القيم لتوصيل الجهاز بـ IoT Central.

    • ID scope
    • Device ID
    • Primary key

قم بتشغيل نموذج الجهاز

في هذا القسم، يمكنك تكوين البيئة المحلية الخاصة بك، تثبيت نماذج Azure IoT C# وتشغيل نموذج الذي ينشئ وحدة تحكم درجة حرارة.

كوِّن بيئتك

  1. افتح وحدة تحكم مثل Windows CMD أو PowerShell أو Bash.

  2. قم بتعيين متغيرات البيئة التالية باستخدام الأوامر المناسبة لوحدة التحكم الخاصة بك. يستخدم الجهاز هذه القيم للاتصال بـ IoT Central. بالنسبة إلى ⁧IOTHUB_DEVICE_DPS_ID_SCOPE⁩ و⁧IOTHUB_DEVICE_DPS_DEVICE_KEY⁩ و⁧IOTHUB_DEVICE_DPS_DEVICE_ID⁩، استخدم قيم اتصال الجهاز التي قمت بحفظها مسبقًا.

    CMD (Windows)

    set IOTHUB_DEVICE_SECURITY_TYPE=DPS
    set IOTHUB_DEVICE_DPS_ID_SCOPE=<application ID scope>
    set IOTHUB_DEVICE_DPS_DEVICE_KEY=<device primary key>
    set IOTHUB_DEVICE_DPS_DEVICE_ID=<your device ID>
    set IOTHUB_DEVICE_DPS_ENDPOINT=global.azure-devices-provisioning.net
    

    ملاحظة

    بالنسبة Windows CMD، لا توجد علامات اقتباس تحيط بالقيم المتغيرة.

    PowerShell

    $env:IOTHUB_DEVICE_SECURITY_TYPE='DPS'
    $env:IOTHUB_DEVICE_DPS_ID_SCOPE='<application ID scope>'
    $env:IOTHUB_DEVICE_DPS_DEVICE_KEY='<device primary key>'
    $env:IOTHUB_DEVICE_DPS_DEVICE_ID='<your device ID>'
    $env:IOTHUB_DEVICE_DPS_ENDPOINT='global.azure-devices-provisioning.net'
    

    Bash

    export IOTHUB_DEVICE_SECURITY_TYPE='DPS'
    export IOTHUB_DEVICE_DPS_ID_SCOPE='<application ID scope>'
    export IOTHUB_DEVICE_DPS_DEVICE_KEY='<device primary key>'
    export IOTHUB_DEVICE_DPS_DEVICE_ID='<your device ID>'
    export IOTHUB_DEVICE_DPS_ENDPOINT='global.azure-devices-provisioning.net' 
    

تثبيت SDK والنماذج

  1. استنساخ Microsoft Azure IoT Samples for C# (.NET) إلى الجهاز المحلي.

    git clone https://github.com/Azure-Samples/azure-iot-samples-csharp.git
    
  2. انتقل إلى نموذج الدليل.

    Windows

    cd azure-iot-samples-csharp\iot-hub\Samples\device\PnpDeviceSamples\TemperatureController
    

    Linux أو Raspberry Pi OS

    cd azure-iot-samples-csharp/iot-hub/Samples/device/PnpDeviceSamples/TemperatureController
    
  3. تثبيت إنترنت الأشياء Azure C#SDK والتبعيات الضرورية:

    dotnet restore
    

    يقوم هذا الأمر بتثبيت التبعيات المناسبة كما هو محدد في الملف TemperatureController.csproj.

تشغيل التعليمات البرمجية

  1. في وحدة التحكم الخاصة بك، قم بتشغيل نموذج التعليمة البرمجية. يُنشئ النموذج وحدة تحكم في درجة الحرارة باستخدام مستشعرات منظم الحرارة.

    dotnet run
    

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

    [10/09/2021 00:29:18]info: Microsoft.Azure.Devices.Client.Samples.TemperatureControllerSample[0]
          Press Control+C to quit the sample.
    [10/09/2021 00:29:18]dbug: Microsoft.Azure.Devices.Client.Samples.TemperatureControllerSample[0]
          Set up the device client.
    [10/09/2021 00:29:18]dbug: Microsoft.Azure.Devices.Client.Samples.TemperatureControllerSample[0]
          Initializing via DPS
    [10/09/2021 00:29:38]dbug: Microsoft.Azure.Devices.Client.Samples.TemperatureControllerSample[0]
          Set handler for 'reboot' command.
    [10/09/2021 00:29:39]dbug: Microsoft.Azure.Devices.Client.Samples.TemperatureControllerSample[0]
          Connection status change registered - status=Connected, reason=Connection_Ok.
    [10/09/2021 00:29:39]dbug: Microsoft.Azure.Devices.Client.Samples.TemperatureControllerSample[0]
          Set handler for "getMaxMinReport" command.
    [10/09/2021 00:29:39]dbug: Microsoft.Azure.Devices.Client.Samples.TemperatureControllerSample[0]
          Set handler to receive 'targetTemperature' updates.
    [10/09/2021 00:29:39]dbug: Microsoft.Azure.Devices.Client.Samples.TemperatureControllerSample[0]
          Property: Update - component = 'deviceInformation', properties update is complete.
    [10/09/2021 00:29:39]dbug: Microsoft.Azure.Devices.Client.Samples.TemperatureControllerSample[0]
          Property: Update - { "serialNumber": "SR-123456" } is complete.
    [10/09/2021 00:29:40]dbug: Microsoft.Azure.Devices.Client.Samples.TemperatureControllerSample[0]
          Telemetry: Sent - component="thermostat1", { "temperature": 23.7 } in °C.
    [10/09/2021 00:29:40]dbug: Microsoft.Azure.Devices.Client.Samples.TemperatureControllerSample[0]
          Property: Update - component="thermostat1", { "maxTempSinceLastReboot": 23.7 } in °C is complete.
    [10/09/2021 00:29:40]dbug: Microsoft.Azure.Devices.Client.Samples.TemperatureControllerSample[0]
          Telemetry: Sent - component="thermostat2", { "temperature": 25.8 } in °C.
    

Browse code

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

تلميح

بصفتك مطورا، لديك بعض الخيارات حول كيفية توصيل الأجهزة ب Azure IoT. للتعرف على خيارات الاتصال، راجع نظرة عامة: خيارات الاتصال لمطوري أجهزة Azure IoT.

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

تعمل هذه البداية السريعة على كل من Windows، Linux, Raspberry Pi. تم اختباره على إصدارات الجهاز ونظام التشغيل التالية:

  • Windows 10
  • نظام التشغيل Ubuntu 20.04 LTS
  • Raspberry Pi OS (Raspbian) الإصدار 10 ، الذي يعمل على Raspberry Pi 3 Model B +

ثبّت المتطلبات الأساسية التالية على جهاز التطوير لديك:

قم بتثبيت المتطلبات المتبقية لنظام التشغيل الخاص بك.

Windows

لإكمال هذه البداية السريعة على Windows، قم بتثبيت البرنامج التالي:

  • جافا SE التنمية كيت 8 أو في وقت لاحق. يمكنك تنزيل Java 8 (LTS) JDK للأنظمة الأساسية المتعددة من تنزيلZulu Builds of OpenJDK. حدد الخيارإضافة إلى المسار في المثبِّت.

  • الإصدار 3 من Apache Maven. بعد استخراج التنزيل إلى مجلد محلي، أضف المسار الكامل الخاص بمجلد Maven /bin إلى متغير بيئة Windows PATH.

لينكس أو التوت بي OS

لإكمال هذه البداية السريعة على لينكس أو Raspberry Pi OS، قم بتثبيت البرنامج التالي:

ملاحظة

تستند الخطوات الواردة في هذا القسم إلى توزيعات Linux Ubuntu/Debian. (ويستند التوت بي OS على دبيان.) إذا كنت تستخدم توزيعة Linux مختلفة، فستحتاج إلى تعديل الخطوات وفقاً لذلك.

  • OpenJDK (فتح جافا التنمية كيت) 8 أو في وقت لاحق. يمكنك استخدام الأمر java -version للتحقق من إصدار Java المثبت على نظامك. تأكد من تثبيت JDK، وليس فقط وقت تشغيل Java (JRE).

    1. لتثبيت OpenJDK للنظام الخاص بك، أدخل الأوامر التالية:

      لتثبيت الإصدار الافتراضي من OpenJDK لنظامك (OpenJDK 11 لأوبونتو 20.04 وRaspberry Pi OS 10 في وقت كتابة هذا التقرير):

      sudo apt update
      sudo apt install default-jdk
      

      بدلاً من ذلك، يمكنك تحديد إصدار من JDK لتثبيت. على سبيل المثال:

      sudo apt update
      sudo apt install openjdk-8-jdk
      
    2. إذا كان النظام الخاص بك يحتوي على إصدارات متعددة من Java مثبتة، يمكنك استخدام الأوامر التالية لتكوين الإصدارات الافتراضية (التلقائية) من Java وترجمة Java.

      update-java-alternatives --list          #list the Java versions installed
      sudo update-alternatives --config java   #set the default Java version
      sudo  update-alternatives --config javac #set the default Java compiler version
      
    3. قم بتعيين متغير البيئة JAVA_HOME على مسار تثبيت JDK. (هذا بشكل عام دليل فرعي تم إصداره في الدليل /usr/lib/jvm.)

      export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
      

      هام

      يعيّن هذا الأمر المتغير JAVA_HOME في بيئة shell الحالية. نوصي بإضافة الأمر إلى ملفك ~/.bashrc أو /etc/profile لجعله متاحاً عندما تفتح غلافاً جديداً.

    4. تحقق من إصدار Java JDK (وJRE) المثبّت، وأن إصدار المحول البرمجي Java يتطابق مع إصدار JDK، وأن متغير البيئة JAVA_HOME تم تعيينه بشكل صحيح.

      java -version
      javac -version
      echo $JAVA_HOME
      
  • Apache Maven 3. يمكنك استخدام الأمر mvn --version للتحقق من إصدار Maven المثبت على نظامك.

    1. لتثبيت مافن، أدخل الأوامر التالية:

      sudo apt-get update
      sudo apt-get install maven
      
    2. أدخل الأمر التالي للتحقق من التثبيت.

      mvn --version
      

إنشاء تطبيق

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

اتبع الخطوات التالية لإنشاء تطبيق جديد:

  1. تصفح للوصول إلى Azure IoT Centralوسجل دخول باستخدام حساب Microsoft الشخصي أو العمل أو المدرسة.

  2. انتقل إلى إنشاء وحدد تطبيقات مخصصة. IoT Central start page

  3. أدخل اسماً مميزاً في اسم التطبيق أو استخدم الاسم المُنشأ.

  4. أدخل في "URL" بادئة عنوان "URL" الخاصة بالتطبيق والتي يمكن تذكرها، أو استخدم بادئة عنوان "URL" المُنشأة.

  5. اترك نموذج التطبيق معيّناً على تطبيق مخصص.

  6. حدد خيار خطة التسعير.

    • حدد مجاني لاستخدام التطبيق مجاناً لمدة سبعة أيام. يمكن تحويل التطبيق المجاني إلى التسعير القياسي قبل انتهاء الصلاحية.
    • يمكن تحديد خطة تسعير قياسية بشكل اختياري. إذا حددت التسعير القياسي، فستظهر المزيد من الخيارات وستحتاج إلى تعيين دليل و اشتراك Azure و موقع. راجع تسعير Azure IoT Central لمعرفة المزيد حول التسعير.
      • الدليل هو Azure Active Directory الذي تنشئ فيه التطبيق. يحتوي Azure Active Directory على هويات المستخدمين وبيانات الاعتماد والمعلومات التنظيمية الأخرى. إذا لم يكن لديك Azure Active Directory، فسيُنشأ واحد عند إنشاء اشتراك Azure.
      • يمكّن اشتراك Azure من إنشاء مثيلات خدمات Azure. يوفر IoT Central الموارد في الاشتراك. إذا لم تكن تمتلك اشتراكاً، فيمكن إنشاء اشتراك مجاناً . إذا كنت تحظى باشتراك، فيمكن تحديده من القائمة المنسدلة.
      • الموقع هو Azure geography التي تنشئ فيها تطبيقاً. حدد أقرب موقع مادي إلى الأجهزة للحصول على الأداء الأمثل. لا يمكن نقل التطبيق إلى موقع مختلف بعد اختيار الموقع.

    IoT Central new application dialog

  7. حدد Create.

    بعد أن يقوم IoT Central بإنشاء التطبيق، فإنه يعيد التوجيه إلى لوحة معلومات التطبيق. IoT Central new application dashboard

أضف جهاز

تقوم بإضافة جهاز جديد إلى تطبيق IoT Central في هذا المقطع. الجهاز هو مثيل لقالب الجهاز الذي يمثل الجهاز الذي ستقوم بتوصيله بالتطبيق.

اتبع الخطوات التالية لإنشاء جهاز جديد:

  1. حدد في الجزء الأيمن الأجهزة ثم حدد + جديد.

  2. اترك نموذج الجهاز معيّناً على غير معيّن وهل تريد محاكاة هذا الجهاز؟ معيّناً على لا.

  3. عيِّن اسم جهاز مألوف و معرف الجهاز. استخدم القيم المُنشأة بشكل اختياري. IoT Central new device dialog

  4. حدد Create.

    يظهر الجهاز المُنشأ في قائمة جميع الأجهزة. IoT Central all devices list

اتبع الخطوات التالية للحصول على تفاصيل الاتصال للجهاز الجديد:

  1. حدد اسم الجهاز المرتبط لعرض التفاصيل من قائمة جميع الأجهزة.

  2. في القائمة العلوية، اختر ⁧⁩الاتصال⁧⁩.

    يعرض مربع الحوار " اتصال الجهاز" تفاصيل الاتصال: IoT Central device connection details

  3. انسخ القيم التالية من مربع حوار اتصال الجهاز إلى مكان آمن. ستستخدم هذه القيم لتوصيل الجهاز بـ IoT Central.

    • ID scope
    • Device ID
    • Primary key

قم بتشغيل نموذج الجهاز

في هذا القسم، تقوم بتكوين بيئتك المحلية، وتثبيت Azure IoT Java device SDK، وتشغيل عينة تنشئ وحدة تحكم في درجة الحرارة.

كوِّن بيئتك

  1. افتح وحدة تحكم مثل Windows CMD أو Bash.

    Linux وRaspberry Pi OS

    تأكد من تعيين متغير البيئة JAVA_HOME (echo $JAVA_HOME). يجب تعيين متغير البيئة هذا لإنشاء SDK والعينات بنجاح. للحصول على معلومات حول إعداد JAVA_HOME، راجع المتطلبات الأساسية لـ Linux/Raspberry Pi.

  2. قم بتعيين متغيرات البيئة التالية باستخدام الأوامر المناسبة لوحدة التحكم الخاصة بك. يستخدم الجهاز هذه القيم للاتصال بـ IoT Central. بالنسبة إلى ⁧IOTHUB_DEVICE_DPS_ID_SCOPE⁩ و ⁧IOTHUB_DEVICE_DPS_DEVICE_KEY⁩ و ⁧IOTHUB_DEVICE_DPS_DEVICE_ID⁩، استخدم قيم اتصال الجهاز التي قمت بحفظها مسبقًا.

    ⁩Windows CMD⁧

    set IOTHUB_DEVICE_SECURITY_TYPE=DPS
    set IOTHUB_DEVICE_DPS_ID_SCOPE=<application ID scope>
    set IOTHUB_DEVICE_DPS_DEVICE_KEY=<device primary key>
    set IOTHUB_DEVICE_DPS_DEVICE_ID=<your device ID>
    set IOTHUB_DEVICE_DPS_ENDPOINT=global.azure-devices-provisioning.net
    

    ملاحظة

    بالنسبة Windows CMD، لا توجد علامات اقتباس تحيط بالقيم المتغيرة.

    Bash

    export IOTHUB_DEVICE_SECURITY_TYPE='DPS'
    export IOTHUB_DEVICE_DPS_ID_SCOPE='<application ID scope>'
    export IOTHUB_DEVICE_DPS_DEVICE_KEY='<device primary key>'
    export IOTHUB_DEVICE_DPS_DEVICE_ID='<your device ID>'
    export IOTHUB_DEVICE_DPS_ENDPOINT='global.azure-devices-provisioning.net' 
    

إنشاء التعليمات البرمجية وتشغيلها

  1. قم باستنساخ Azure IoT Java device SDK إلى جهازك المحلي.

    git clone https://github.com/Azure/azure-iot-sdk-java.git
    
  2. انتقل إلى المجلد الجذر لـ SDK وقم بتشغيل الأمر التالي لإنشاء SDK وتحديث العينات.

    cd azure-iot-sdk-java
    mvn install -T 2C -DskipTests
    

    تستغرق هذه العملية عدة دقائق.

  3. انتقل إلى دليل العينة.

    Windows

    cd device\iot-device-samples\pnp-device-sample\temperature-controller-device-sample
    

    Linux أو Raspberry Pi OS

    cd device/iot-device-samples/pnp-device-sample/temperature-controller-device-sample
    
  4. قم بتشغيل نموذج التعليمات البرمجية التالي من SDK. يُنشئ النموذج وحدة تحكم في درجة الحرارة باستخدام مستشعرات ترموستات.

    mvn exec:java -Dexec.mainClass="samples.com.microsoft.azure.sdk.iot.device.TemperatureController"
    

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

    2021-05-13 15:39:26.411 DEBUG Mqtt:253 - Sending MQTT SUBSCRIBE packet for topic $iothub/twin/res/#
    2021-05-13 15:39:26.428 INFO  IotHubTransport:540 - Message was queued to be sent later ( Message details: Correlation Id [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx] Message Id [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx] Request Id [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx] Device Operation Type [DEVICE_OPERATION_TWIN_UPDATE_REPORTED_PROPERTIES_REQUEST] )
    2021-05-13 15:39:26.432 DEBUG TemperatureController:427 - Property: Update - component = "deviceInformation" is COMPLETED.
    2021-05-13 15:39:26.436 INFO  IotHubTransport:540 - Message was queued to be sent later ( Message details: Correlation Id [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx] Message Id [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx] )
    2021-05-13 15:39:26.438 DEBUG TemperatureController:438 - Telemetry: Sent - {"workingSet": 1024.0KiB }
    2021-05-13 15:39:26.439 INFO  IotHubTransport:540 - Message was queued to be sent later ( Message details: Correlation Id [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx] Message Id [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx] Request Id [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx] Device Operation Type [DEVICE_OPERATION_TWIN_UPDATE_REPORTED_PROPERTIES_REQUEST] )
    2021-05-13 15:39:26.439 DEBUG TemperatureController:446 - Property: Update - {"serialNumber": SR-123456} is COMPLETED
    2021-05-13 15:39:26.447 INFO  IotHubTransport:540 - Message was queued to be sent later ( Message details: Correlation Id [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx] Message Id [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx] )
    2021-05-13 15:39:26.447 DEBUG TemperatureController:465 - Telemetry: Sent - {"temperature": 44.4░C} with message Id xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
    

Browse code

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

تلميح

بصفتك مطورا، لديك بعض الخيارات حول كيفية توصيل الأجهزة ب Azure IoT. للتعرف على خيارات الاتصال، راجع نظرة عامة: خيارات الاتصال لمطوري أجهزة Azure IoT.

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

تعمل هذه البداية السريعة على كل من Windows، Linux, Raspberry Pi. تم اختباره على إصدارات الجهاز ونظام التشغيل التالية:

  • Windows 10
  • نظام التشغيل Ubuntu 20.04 LTS
  • Raspberry Pi OS (Raspbian) الإصدار 10 ، الذي يعمل على Raspberry Pi 3 Model B +

تثبيت المتطلبات الأساسية التالية على جهاز التطوير:

  • ⁩Node.js⁧⁩ الإصدار 6 أو أحدث. للتحقق من الإصدار الخاص بك، قم بتشغيل ⁧node --version⁩ في تطبيق وحدة التحكم الخاصة بك.
  • Git.

إنشاء تطبيق

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

اتبع الخطوات التالية لإنشاء تطبيق جديد:

  1. تصفح للوصول إلى Azure IoT Centralوسجل دخول باستخدام حساب Microsoft الشخصي أو العمل أو المدرسة.

  2. انتقل إلى إنشاء وحدد تطبيقات مخصصة. IoT Central start page

  3. أدخل اسماً مميزاً في اسم التطبيق أو استخدم الاسم المُنشأ.

  4. أدخل في "URL" بادئة عنوان "URL" الخاصة بالتطبيق والتي يمكن تذكرها، أو استخدم بادئة عنوان "URL" المُنشأة.

  5. اترك نموذج التطبيق معيّناً على تطبيق مخصص.

  6. حدد خيار خطة التسعير.

    • حدد مجاني لاستخدام التطبيق مجاناً لمدة سبعة أيام. يمكن تحويل التطبيق المجاني إلى التسعير القياسي قبل انتهاء الصلاحية.
    • يمكن تحديد خطة تسعير قياسية بشكل اختياري. إذا حددت التسعير القياسي، فستظهر المزيد من الخيارات وستحتاج إلى تعيين دليل و اشتراك Azure و موقع. راجع تسعير Azure IoT Central لمعرفة المزيد حول التسعير.
      • الدليل هو Azure Active Directory الذي تنشئ فيه التطبيق. يحتوي Azure Active Directory على هويات المستخدمين وبيانات الاعتماد والمعلومات التنظيمية الأخرى. إذا لم يكن لديك Azure Active Directory، فسيُنشأ واحد عند إنشاء اشتراك Azure.
      • يمكّن اشتراك Azure من إنشاء مثيلات خدمات Azure. يوفر IoT Central الموارد في الاشتراك. إذا لم تكن تمتلك اشتراكاً، فيمكن إنشاء اشتراك مجاناً . إذا كنت تحظى باشتراك، فيمكن تحديده من القائمة المنسدلة.
      • الموقع هو Azure geography التي تنشئ فيها تطبيقاً. حدد أقرب موقع مادي إلى الأجهزة للحصول على الأداء الأمثل. لا يمكن نقل التطبيق إلى موقع مختلف بعد اختيار الموقع.

    IoT Central new application dialog

  7. حدد Create.

    بعد أن يقوم IoT Central بإنشاء التطبيق، فإنه يعيد التوجيه إلى لوحة معلومات التطبيق. IoT Central new application dashboard

أضف جهاز

تقوم بإضافة جهاز جديد إلى تطبيق IoT Central في هذا المقطع. الجهاز هو مثيل لقالب الجهاز الذي يمثل الجهاز الذي ستقوم بتوصيله بالتطبيق.

اتبع الخطوات التالية لإنشاء جهاز جديد:

  1. حدد في الجزء الأيمن الأجهزة ثم حدد + جديد.

  2. اترك نموذج الجهاز معيّناً على غير معيّن وهل تريد محاكاة هذا الجهاز؟ معيّناً على لا.

  3. عيِّن اسم جهاز مألوف و معرف الجهاز. استخدم القيم المُنشأة بشكل اختياري. IoT Central new device dialog

  4. حدد Create.

    يظهر الجهاز المُنشأ في قائمة جميع الأجهزة. IoT Central all devices list

اتبع الخطوات التالية للحصول على تفاصيل الاتصال للجهاز الجديد:

  1. حدد اسم الجهاز المرتبط لعرض التفاصيل من قائمة جميع الأجهزة.

  2. في القائمة العلوية، اختر ⁧⁩الاتصال⁧⁩.

    يعرض مربع الحوار " اتصال الجهاز" تفاصيل الاتصال: IoT Central device connection details

  3. انسخ القيم التالية من مربع حوار اتصال الجهاز إلى مكان آمن. ستستخدم هذه القيم لتوصيل الجهاز بـ IoT Central.

    • ID scope
    • Device ID
    • Primary key

قم بتشغيل نموذج الجهاز

في هذا القسم، يمكنك تكوين البيئة المحلية تثبيت جهاز Node.js IoT Azure SDK وتشغيل نموذج بإنشاء وحدة تحكم درجة حرارة.

كوِّن بيئتك

  1. افتح وحدة تحكم مثل Windows CMD أو PowerShell أو Bash.

  2. قم بتعيين متغيرات البيئة التالية باستخدام الأوامر المناسبة لوحدة التحكم الخاصة بك. يستخدم الجهاز هذه القيم للاتصال بـ IoT Central. بالنسبة إلى ⁧IOTHUB_DEVICE_DPS_ID_SCOPE⁩ و⁧IOTHUB_DEVICE_DPS_DEVICE_KEY⁩ و⁧IOTHUB_DEVICE_DPS_DEVICE_ID⁩، استخدم قيم اتصال الجهاز التي قمت بحفظها مسبقًا.

    CMD (Windows)

    set IOTHUB_DEVICE_SECURITY_TYPE=DPS
    set IOTHUB_DEVICE_DPS_ID_SCOPE=<application ID scope>
    set IOTHUB_DEVICE_DPS_DEVICE_KEY=<device primary key>
    set IOTHUB_DEVICE_DPS_DEVICE_ID=<your device ID>
    set IOTHUB_DEVICE_DPS_ENDPOINT=global.azure-devices-provisioning.net
    

    ملاحظة

    بالنسبة Windows CMD، لا توجد علامات اقتباس تحيط بالقيم المتغيرة.

    PowerShell

    $env:IOTHUB_DEVICE_SECURITY_TYPE='DPS'
    $env:IOTHUB_DEVICE_DPS_ID_SCOPE='<application ID scope>'
    $env:IOTHUB_DEVICE_DPS_DEVICE_KEY='<device primary key>'
    $env:IOTHUB_DEVICE_DPS_DEVICE_ID='<your device ID>'
    $env:IOTHUB_DEVICE_DPS_ENDPOINT='global.azure-devices-provisioning.net'
    

    Bash

    export IOTHUB_DEVICE_SECURITY_TYPE='DPS'
    export IOTHUB_DEVICE_DPS_ID_SCOPE='<application ID scope>'
    export IOTHUB_DEVICE_DPS_DEVICE_KEY='<device primary key>'
    export IOTHUB_DEVICE_DPS_DEVICE_ID='<your device ID>'
    export IOTHUB_DEVICE_DPS_ENDPOINT='global.azure-devices-provisioning.net' 
    

تثبيت SDK والنماذج

  1. انسخ SDK لجهاز Azure IoT Node.js إلى جهازك المحلي.

    git clone https://github.com/Azure/azure-iot-sdk-node
    
  2. انتقل إلى نموذج الدليل.

    Windows

    cd azure-iot-sdk-node\device\samples\javascript
    

    Linux أو Raspberry Pi OS

    cd azure-iot-sdk-node/device/samples/javascript
    
  3. ثبت برنامج IoT Azure Node.js SDK، والتبعيات الضرورية:

    npm install
    

تشغيل التعليمات البرمجية

  1. في وحدة التحكم الخاصة بك، قم بتشغيل نموذج التعليمات البرمجية التالية من SDK. يُنشئ النموذج وحدة تحكم في درجة الحرارة باستخدام مستشعرات منظم الحرارة.

    node pnp_temperature_controller.js
    

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

    registration succeeded
    assigned hub=iotc-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx.azure-devices.net
    deviceId=my-sdk-device
    payload=undefined
    Connecting using connection string: HostName=iotc-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx.azure-devices.net;DeviceId=my-sdk-device;SharedAccessKey=xxxxxxxxxxxxxxxxxxxxxxxxxxx
    Enabling the commands on the client
    Please enter q or Q to exit sample.
    The following properties will be updated for root interface.
    { serialNumber: 'alwinexlepaho8329' }
    The following properties will be updated for component: thermostat1
    {
      thermostat1: { maxTempSinceLastReboot: 40.53506261527863, __t: 'c' }
    }
    The following properties will be updated for component: thermostat2
    {
      thermostat2: { maxTempSinceLastReboot: 89.55136974144273, __t: 'c' }
    }
    The following properties will be updated for component: deviceInformation
    {
      deviceInformation: {
        manufacturer: 'Contoso Device Corporation',
        model: 'Contoso 47-turbo',
        swVersion: '10.89',
        osName: 'Contoso_OS',
        processorArchitecture: 'Contoso_x86',
        processorManufacturer: 'Contoso Industries',
        totalStorage: 65000,
        totalMemory: 640,
        __t: 'c'
      }
    }
    executed sample
    Received an update for device with value: {"$version":1}
    Properties have been reported for root interface.
    Properties have been reported for component: thermostat1
    Properties have been reported for component: thermostat2
    Properties have been reported for component: deviceInformation
    Sending telemetry message 0 from component: thermostat1
    Sending telemetry message 0 from component: thermostat2
    

Browse code

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

تلميح

بصفتك مطورا، لديك بعض الخيارات حول كيفية توصيل الأجهزة ب Azure IoT. للتعرف على خيارات الاتصال، راجع نظرة عامة: خيارات الاتصال لمطوري أجهزة Azure IoT.

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

تعمل هذه البداية السريعة على كل من Windows، Linux, Raspberry Pi. تم اختباره على إصدارات الجهاز ونظام التشغيل التالية:

  • Windows 10
  • نظام التشغيل Ubuntu 20.04 LTS
  • Raspberry Pi OS (Raspbian) الإصدار 10 ، الذي يعمل على Raspberry Pi 3 Model B +

تثبيت المتطلبات الأساسية التالية على جهاز التطوير:

  • Python إصدار 3.7 أو الأحدث. للتحقق من إصدار Python الخاص بك، قم بتشغيل python3 --version.
  • Git.

إنشاء تطبيق

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

اتبع الخطوات التالية لإنشاء تطبيق جديد:

  1. تصفح للوصول إلى Azure IoT Centralوسجل دخول باستخدام حساب Microsoft الشخصي أو العمل أو المدرسة.

  2. انتقل إلى إنشاء وحدد تطبيقات مخصصة. IoT Central start page

  3. أدخل اسماً مميزاً في اسم التطبيق أو استخدم الاسم المُنشأ.

  4. أدخل في "URL" بادئة عنوان "URL" الخاصة بالتطبيق والتي يمكن تذكرها، أو استخدم بادئة عنوان "URL" المُنشأة.

  5. اترك نموذج التطبيق معيّناً على تطبيق مخصص.

  6. حدد خيار خطة التسعير.

    • حدد مجاني لاستخدام التطبيق مجاناً لمدة سبعة أيام. يمكن تحويل التطبيق المجاني إلى التسعير القياسي قبل انتهاء الصلاحية.
    • يمكن تحديد خطة تسعير قياسية بشكل اختياري. إذا حددت التسعير القياسي، فستظهر المزيد من الخيارات وستحتاج إلى تعيين دليل و اشتراك Azure و موقع. راجع تسعير Azure IoT Central لمعرفة المزيد حول التسعير.
      • الدليل هو Azure Active Directory الذي تنشئ فيه التطبيق. يحتوي Azure Active Directory على هويات المستخدمين وبيانات الاعتماد والمعلومات التنظيمية الأخرى. إذا لم يكن لديك Azure Active Directory، فسيُنشأ واحد عند إنشاء اشتراك Azure.
      • يمكّن اشتراك Azure من إنشاء مثيلات خدمات Azure. يوفر IoT Central الموارد في الاشتراك. إذا لم تكن تمتلك اشتراكاً، فيمكن إنشاء اشتراك مجاناً . إذا كنت تحظى باشتراك، فيمكن تحديده من القائمة المنسدلة.
      • الموقع هو Azure geography التي تنشئ فيها تطبيقاً. حدد أقرب موقع مادي إلى الأجهزة للحصول على الأداء الأمثل. لا يمكن نقل التطبيق إلى موقع مختلف بعد اختيار الموقع.

    IoT Central new application dialog

  7. حدد Create.

    بعد أن يقوم IoT Central بإنشاء التطبيق، فإنه يعيد التوجيه إلى لوحة معلومات التطبيق. IoT Central new application dashboard

أضف جهاز

تقوم بإضافة جهاز جديد إلى تطبيق IoT Central في هذا المقطع. الجهاز هو مثيل لقالب الجهاز الذي يمثل الجهاز الذي ستقوم بتوصيله بالتطبيق.

اتبع الخطوات التالية لإنشاء جهاز جديد:

  1. حدد في الجزء الأيمن الأجهزة ثم حدد + جديد.

  2. اترك نموذج الجهاز معيّناً على غير معيّن وهل تريد محاكاة هذا الجهاز؟ معيّناً على لا.

  3. عيِّن اسم جهاز مألوف و معرف الجهاز. استخدم القيم المُنشأة بشكل اختياري. IoT Central new device dialog

  4. حدد Create.

    يظهر الجهاز المُنشأ في قائمة جميع الأجهزة. IoT Central all devices list

اتبع الخطوات التالية للحصول على تفاصيل الاتصال للجهاز الجديد:

  1. حدد اسم الجهاز المرتبط لعرض التفاصيل من قائمة جميع الأجهزة.

  2. في القائمة العلوية، اختر ⁧⁩الاتصال⁧⁩.

    يعرض مربع الحوار " اتصال الجهاز" تفاصيل الاتصال: IoT Central device connection details

  3. انسخ القيم التالية من مربع حوار اتصال الجهاز إلى مكان آمن. ستستخدم هذه القيم لتوصيل الجهاز بـ IoT Central.

    • ID scope
    • Device ID
    • Primary key

قم بتشغيل نموذج الجهاز

في هذا القسم، يمكنك تكوين البيئة المحلية الخاصة بك، تثبيت Azure IoT Python device SDK وتشغيل نموذج بإنشاء وحدة التحكم في درجة حرارة.

كوِّن بيئتك

  1. افتح وحدة تحكم مثل Windows CMD أو PowerShell أو Bash.

  2. قم بتعيين متغيرات البيئة التالية باستخدام الأوامر المناسبة لوحدة التحكم الخاصة بك. يستخدم الجهاز هذه القيم للاتصال بـ IoT Central. بالنسبة إلى ⁧IOTHUB_DEVICE_DPS_ID_SCOPE⁩ و⁧IOTHUB_DEVICE_DPS_DEVICE_KEY⁩ و⁧IOTHUB_DEVICE_DPS_DEVICE_ID⁩، استخدم قيم اتصال الجهاز التي قمت بحفظها مسبقًا.

    CMD (Windows)

    set IOTHUB_DEVICE_SECURITY_TYPE=DPS
    set IOTHUB_DEVICE_DPS_ID_SCOPE=<application ID scope>
    set IOTHUB_DEVICE_DPS_DEVICE_KEY=<device primary key>
    set IOTHUB_DEVICE_DPS_DEVICE_ID=<your device ID>
    set IOTHUB_DEVICE_DPS_ENDPOINT=global.azure-devices-provisioning.net
    

    ملاحظة

    بالنسبة Windows CMD، لا توجد علامات اقتباس تحيط بالقيم المتغيرة.

    PowerShell

    $env:IOTHUB_DEVICE_SECURITY_TYPE='DPS'
    $env:IOTHUB_DEVICE_DPS_ID_SCOPE='<application ID scope>'
    $env:IOTHUB_DEVICE_DPS_DEVICE_KEY='<device primary key>'
    $env:IOTHUB_DEVICE_DPS_DEVICE_ID='<your device ID>'
    $env:IOTHUB_DEVICE_DPS_ENDPOINT='global.azure-devices-provisioning.net'
    

    Bash

    export IOTHUB_DEVICE_SECURITY_TYPE='DPS'
    export IOTHUB_DEVICE_DPS_ID_SCOPE='<application ID scope>'
    export IOTHUB_DEVICE_DPS_DEVICE_KEY='<device primary key>'
    export IOTHUB_DEVICE_DPS_DEVICE_ID='<your device ID>'
    export IOTHUB_DEVICE_DPS_ENDPOINT='global.azure-devices-provisioning.net' 
    

تثبيت SDK والنماذج

  1. نسخ SDK جهاز Azure IoT Python إلى الجهاز الداخلي.

    git clone https://github.com/Azure/azure-iot-sdk-python
    
  2. انتقل إلى دليل نموذج.

    Windows

    cd azure-iot-sdk-python\azure-iot-device\samples\pnp
    

    Linux or Raspberry Pi OS

    cd azure-iot-sdk-python/azure-iot-device/samples/pnp
    
  3. تثبيت Azure IoT Python SDK.

    pip3 install azure-iot-device
    

تشغيل التعليمات البرمجية

  1. في وحدة التحكم الخاصة بك، قم بتشغيل نموذج التعليمات البرمجية التالية من SDK. يُنشئ النموذج وحدة تحكم في درجة الحرارة باستخدام مستشعرات منظم الحرارة.

    python3 temp_controller_with_thermostats.py
    

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

    Device was assigned
    iotc-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azure-devices.net
    my-sdk-device
    Updating pnp properties for root interface
    {'serialNumber': 'alohomora'}
    Updating pnp properties for thermostat1
    {'thermostat1': {'maxTempSinceLastReboot': 98.34, '__t': 'c'}}
    Updating pnp properties for thermostat2
    {'thermostat2': {'maxTempSinceLastReboot': 48.92, '__t': 'c'}}
    Updating pnp properties for deviceInformation
    {'deviceInformation': {'swVersion': '5.5', 'manufacturer': 'Contoso Device Corporation', 'model': 'Contoso 4762B-turbo', 'osName': 'Mac Os', 'processorArchitecture': 'x86-64', 'processorManufacturer': 'Intel', 'totalStorage': 1024, 'totalMemory': 32, '__t': 'c'}}
    Listening for command requests and property updates
    Press Q to quit
    Sending telemetry from various components
    Sent message
    {"temperature": 33}
    

عرض القياس عن بُعد

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

في IoT Central، حدد الأجهزة، وانقر على اسم جهازك، ثم حدد علامة التبويب نظرة عامة. يعرض هذا العرض رسمًا بيانيًا لدرجات الحرارة من جهازي ترموستات.

IoT Central device telemetry overview

حدد علامة التبويب بيانات أولية. يعرض هذا العرض القياس عن بُعد في كل مرة يتم فيها إرسال قراءة ترموستات.

IoT Central device telemetry raw output

جهازك الآن متصل بشكل آمن ويرسل القياس عن بُعد إلى Azure IoT.

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

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

لإزالة التطبيق نموذج IoT Azure المركزية وكافة الأجهزة والموارد الخاصة به:

  1. حدد إدارة>تطبيقك.
  2. حدد⁧⁩حذف⁧⁩.

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

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

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