التشغيل السريع: إرسال بيانات تتبع الاستخدام من جهاز إلى Azure IoT Hub
ينطبق على:مطوري تطبيقات الأجهزة
في هذا البدء السريع، تتعلم سير عمل تطوير تطبيقات 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++.
- للمستخدمين الجدد، قم بتثبيت Visual Studio (Community, Professional, or Enterprise) 2019 . قم بتنزيل الإصدار الذي تريد تثبيته، وابدأ تشغيل المثبت.
ملاحظة
بالنسبة لمستخدمي Visual Studio 2019 الحاليين، حدد النافذة Start ، واكتب Visual Studio Installer ، وابدأ المثبت.
- في علامة التبويبWorkloads المثبت، حدد حمل العمل Desktop Development with C++.
- في علامة التبويب Individual components المثبت، حدد Git for Windows.
- شغّل التثبيت.
إنشاء تطبيق
هناك عدة طرق لتوصيل الأجهزة بـ Azure IoT. ستتعرف على كيفية توصيل جهاز باستخدام Azure IoT Central في هذا القسم. إن IoT Central منصة لتطبيق IoT والذي يقلل من تكلفة وتعقيد إدارة الأجهزة في حل "إنترنت الأشياء".
اتبع الخطوات التالية لإنشاء تطبيق جديد:
تصفح للوصول إلى Azure IoT Centralوسجل دخول باستخدام حساب Microsoft الشخصي أو العمل أو المدرسة.
انتقل إلى إنشاء وحدد تطبيقات مخصصة.
أدخل اسماً مميزاً في اسم التطبيق أو استخدم الاسم المُنشأ.
أدخل في "URL" بادئة عنوان "URL" الخاصة بالتطبيق والتي يمكن تذكرها، أو استخدم بادئة عنوان "URL" المُنشأة.
اترك نموذج التطبيق معيّناً على تطبيق مخصص.
حدد خيار خطة التسعير.
- حدد مجاني لاستخدام التطبيق مجاناً لمدة سبعة أيام. يمكن تحويل التطبيق المجاني إلى التسعير القياسي قبل انتهاء الصلاحية.
- يمكن تحديد خطة تسعير قياسية بشكل اختياري. إذا حددت التسعير القياسي، فستظهر المزيد من الخيارات وستحتاج إلى تعيين دليل و اشتراك Azure و موقع. راجع تسعير Azure IoT Central لمعرفة المزيد حول التسعير.
- الدليل هو Azure Active Directory الذي تنشئ فيه التطبيق. يحتوي Azure Active Directory على هويات المستخدمين وبيانات الاعتماد والمعلومات التنظيمية الأخرى. إذا لم يكن لديك Azure Active Directory، فسيُنشأ واحد عند إنشاء اشتراك Azure.
- يمكّن اشتراك Azure من إنشاء مثيلات خدمات Azure. يوفر IoT Central الموارد في الاشتراك. إذا لم تكن تمتلك اشتراكاً، فيمكن إنشاء اشتراك مجاناً . إذا كنت تحظى باشتراك، فيمكن تحديده من القائمة المنسدلة.
- الموقع هو Azure geography التي تنشئ فيها تطبيقاً. حدد أقرب موقع مادي إلى الأجهزة للحصول على الأداء الأمثل. لا يمكن نقل التطبيق إلى موقع مختلف بعد اختيار الموقع.
حدد Create.
بعد أن يقوم IoT Central بإنشاء التطبيق، فإنه يعيد التوجيه إلى لوحة معلومات التطبيق.
أضف جهاز
تقوم بإضافة جهاز جديد إلى تطبيق IoT Central في هذا المقطع. الجهاز هو مثيل لقالب الجهاز الذي يمثل الجهاز الذي ستقوم بتوصيله بالتطبيق.
اتبع الخطوات التالية لإنشاء جهاز جديد:
حدد في الجزء الأيمن الأجهزة ثم حدد + جديد.
اترك نموذج الجهاز معيّناً على غير معيّن وهل تريد محاكاة هذا الجهاز؟ معيّناً على لا.
عيِّن اسم جهاز مألوف و معرف الجهاز. استخدم القيم المُنشأة بشكل اختياري.
حدد Create.
يظهر الجهاز المُنشأ في قائمة جميع الأجهزة.
اتبع الخطوات التالية للحصول على تفاصيل الاتصال للجهاز الجديد:
حدد اسم الجهاز المرتبط لعرض التفاصيل من قائمة جميع الأجهزة.
في القائمة العلوية، اختر الاتصال.
يعرض مربع الحوار " اتصال الجهاز" تفاصيل الاتصال:
انسخ القيم التالية من مربع حوار اتصال الجهاز إلى مكان آمن. ستستخدم هذه القيم لتوصيل الجهاز بـ IoT Central.
ID scopeDevice IDPrimary key
قم بتشغيل نموذج الجهاز
في هذا القسم، يمكنك تكوين البيئة المحلية، تثبيت SDK الجهاز IoT C Azure وتشغيل نموذج بإنشاء وحدة تحكم درجة حرارة.
كوِّن بيئتك
افتح وحدة تحكم لتثبيت SDK لجهاز Azure IoT C، وتشغيل نموذج التعليمات البرمجية. بالنسبة لنظام التشغيل Windows، حددStart، واكتب Developer Command Prompt for VS 2019، وافتح وحدة التحكم. لينكس والتوت بي OS، وفتح محطة لأوامر باش.
قم بتعيين متغيرات البيئة التالية باستخدام الأوامر المناسبة لوحدة التحكم الخاصة بك. يستخدم الجهاز هذه القيم للاتصال بـ 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 والنماذج
انتقل إلى مجلد محلي حيث تريد استنساخ نموذج الريبو.
انسخ SDK لجهاز Azure IoT C إلى جهازك المحلي.
git clone https://github.com/Azure/azure-iot-sdk-c.gitانتقل إلى المجلد الجذر لـ SDK، ثم قم بتشغيل الأمر التالي لتحديث التبعيات:
cd azure-iot-sdk-c git submodule update --initتستغرق هذه العملية بضع دقائق.
لإنشاء SDK والعينات، قم بتشغيل الأوامر التالية:
cmake -Bcmake -Duse_prov_client=ON -Dhsm_type_symm_key=ON -Drun_e2e_tests=OFF cmake --build cmake
تشغيل التعليمات البرمجية
تشغيل نموذج التعليمة البرمجية باستخدام الأمر المناسب لوحدة التحكم الخاصة بك:
CMD
cmake\iothub_client\samples\pnp\pnp_temperature_controller\Debug\pnp_temperature_controller.exeBash
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
في هذا البدء السريع، تتعلم سير عمل تطوير تطبيقات 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 والذي يقلل من تكلفة وتعقيد إدارة الأجهزة في حل "إنترنت الأشياء".
اتبع الخطوات التالية لإنشاء تطبيق جديد:
تصفح للوصول إلى Azure IoT Centralوسجل دخول باستخدام حساب Microsoft الشخصي أو العمل أو المدرسة.
انتقل إلى إنشاء وحدد تطبيقات مخصصة.
أدخل اسماً مميزاً في اسم التطبيق أو استخدم الاسم المُنشأ.
أدخل في "URL" بادئة عنوان "URL" الخاصة بالتطبيق والتي يمكن تذكرها، أو استخدم بادئة عنوان "URL" المُنشأة.
اترك نموذج التطبيق معيّناً على تطبيق مخصص.
حدد خيار خطة التسعير.
- حدد مجاني لاستخدام التطبيق مجاناً لمدة سبعة أيام. يمكن تحويل التطبيق المجاني إلى التسعير القياسي قبل انتهاء الصلاحية.
- يمكن تحديد خطة تسعير قياسية بشكل اختياري. إذا حددت التسعير القياسي، فستظهر المزيد من الخيارات وستحتاج إلى تعيين دليل و اشتراك Azure و موقع. راجع تسعير Azure IoT Central لمعرفة المزيد حول التسعير.
- الدليل هو Azure Active Directory الذي تنشئ فيه التطبيق. يحتوي Azure Active Directory على هويات المستخدمين وبيانات الاعتماد والمعلومات التنظيمية الأخرى. إذا لم يكن لديك Azure Active Directory، فسيُنشأ واحد عند إنشاء اشتراك Azure.
- يمكّن اشتراك Azure من إنشاء مثيلات خدمات Azure. يوفر IoT Central الموارد في الاشتراك. إذا لم تكن تمتلك اشتراكاً، فيمكن إنشاء اشتراك مجاناً . إذا كنت تحظى باشتراك، فيمكن تحديده من القائمة المنسدلة.
- الموقع هو Azure geography التي تنشئ فيها تطبيقاً. حدد أقرب موقع مادي إلى الأجهزة للحصول على الأداء الأمثل. لا يمكن نقل التطبيق إلى موقع مختلف بعد اختيار الموقع.
حدد Create.
بعد أن يقوم IoT Central بإنشاء التطبيق، فإنه يعيد التوجيه إلى لوحة معلومات التطبيق.
أضف جهاز
تقوم بإضافة جهاز جديد إلى تطبيق IoT Central في هذا المقطع. الجهاز هو مثيل لقالب الجهاز الذي يمثل الجهاز الذي ستقوم بتوصيله بالتطبيق.
اتبع الخطوات التالية لإنشاء جهاز جديد:
حدد في الجزء الأيمن الأجهزة ثم حدد + جديد.
اترك نموذج الجهاز معيّناً على غير معيّن وهل تريد محاكاة هذا الجهاز؟ معيّناً على لا.
عيِّن اسم جهاز مألوف و معرف الجهاز. استخدم القيم المُنشأة بشكل اختياري.
حدد Create.
يظهر الجهاز المُنشأ في قائمة جميع الأجهزة.
اتبع الخطوات التالية للحصول على تفاصيل الاتصال للجهاز الجديد:
حدد اسم الجهاز المرتبط لعرض التفاصيل من قائمة جميع الأجهزة.
في القائمة العلوية، اختر الاتصال.
يعرض مربع الحوار " اتصال الجهاز" تفاصيل الاتصال:
انسخ القيم التالية من مربع حوار اتصال الجهاز إلى مكان آمن. ستستخدم هذه القيم لتوصيل الجهاز بـ IoT Central.
ID scopeDevice IDPrimary key
قم بتشغيل نموذج الجهاز
في هذا القسم، يمكنك تكوين البيئة المحلية الخاصة بك، تثبيت نماذج Azure IoT C# وتشغيل نموذج الذي ينشئ وحدة تحكم درجة حرارة.
كوِّن بيئتك
افتح وحدة تحكم مثل Windows CMD أو PowerShell أو Bash.
قم بتعيين متغيرات البيئة التالية باستخدام الأوامر المناسبة لوحدة التحكم الخاصة بك. يستخدم الجهاز هذه القيم للاتصال بـ 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 والنماذج
استنساخ Microsoft Azure IoT Samples for C# (.NET) إلى الجهاز المحلي.
git clone https://github.com/Azure-Samples/azure-iot-samples-csharp.gitانتقل إلى نموذج الدليل.
Windows
cd azure-iot-samples-csharp\iot-hub\Samples\device\PnpDeviceSamples\TemperatureControllerLinux أو Raspberry Pi OS
cd azure-iot-samples-csharp/iot-hub/Samples/device/PnpDeviceSamples/TemperatureControllerتثبيت إنترنت الأشياء Azure C#SDK والتبعيات الضرورية:
dotnet restoreيقوم هذا الأمر بتثبيت التبعيات المناسبة كما هو محدد في الملف TemperatureController.csproj.
تشغيل التعليمات البرمجية
في وحدة التحكم الخاصة بك، قم بتشغيل نموذج التعليمة البرمجية. يُنشئ النموذج وحدة تحكم في درجة الحرارة باستخدام مستشعرات منظم الحرارة.
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.
في هذا البدء السريع، تتعلم سير عمل تطوير تطبيقات 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 +
ثبّت المتطلبات الأساسية التالية على جهاز التطوير لديك:
- Git.
قم بتثبيت المتطلبات المتبقية لنظام التشغيل الخاص بك.
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).لتثبيت 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إذا كان النظام الخاص بك يحتوي على إصدارات متعددة من 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قم بتعيين متغير البيئة
JAVA_HOMEعلى مسار تثبيت JDK. (هذا بشكل عام دليل فرعي تم إصداره في الدليل /usr/lib/jvm.)export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")هام
يعيّن هذا الأمر المتغير
JAVA_HOMEفي بيئة shell الحالية. نوصي بإضافة الأمر إلى ملفك~/.bashrcأو/etc/profileلجعله متاحاً عندما تفتح غلافاً جديداً.تحقق من إصدار Java JDK (وJRE) المثبّت، وأن إصدار المحول البرمجي Java يتطابق مع إصدار JDK، وأن متغير البيئة
JAVA_HOMEتم تعيينه بشكل صحيح.java -version javac -version echo $JAVA_HOME
Apache Maven 3. يمكنك استخدام الأمر
mvn --versionللتحقق من إصدار Maven المثبت على نظامك.لتثبيت مافن، أدخل الأوامر التالية:
sudo apt-get update sudo apt-get install mavenأدخل الأمر التالي للتحقق من التثبيت.
mvn --version
إنشاء تطبيق
هناك عدة طرق لتوصيل الأجهزة بـ Azure IoT. ستتعرف على كيفية توصيل جهاز باستخدام Azure IoT Central في هذا القسم. إن IoT Central منصة لتطبيق IoT والذي يقلل من تكلفة وتعقيد إدارة الأجهزة في حل "إنترنت الأشياء".
اتبع الخطوات التالية لإنشاء تطبيق جديد:
تصفح للوصول إلى Azure IoT Centralوسجل دخول باستخدام حساب Microsoft الشخصي أو العمل أو المدرسة.
انتقل إلى إنشاء وحدد تطبيقات مخصصة.
أدخل اسماً مميزاً في اسم التطبيق أو استخدم الاسم المُنشأ.
أدخل في "URL" بادئة عنوان "URL" الخاصة بالتطبيق والتي يمكن تذكرها، أو استخدم بادئة عنوان "URL" المُنشأة.
اترك نموذج التطبيق معيّناً على تطبيق مخصص.
حدد خيار خطة التسعير.
- حدد مجاني لاستخدام التطبيق مجاناً لمدة سبعة أيام. يمكن تحويل التطبيق المجاني إلى التسعير القياسي قبل انتهاء الصلاحية.
- يمكن تحديد خطة تسعير قياسية بشكل اختياري. إذا حددت التسعير القياسي، فستظهر المزيد من الخيارات وستحتاج إلى تعيين دليل و اشتراك Azure و موقع. راجع تسعير Azure IoT Central لمعرفة المزيد حول التسعير.
- الدليل هو Azure Active Directory الذي تنشئ فيه التطبيق. يحتوي Azure Active Directory على هويات المستخدمين وبيانات الاعتماد والمعلومات التنظيمية الأخرى. إذا لم يكن لديك Azure Active Directory، فسيُنشأ واحد عند إنشاء اشتراك Azure.
- يمكّن اشتراك Azure من إنشاء مثيلات خدمات Azure. يوفر IoT Central الموارد في الاشتراك. إذا لم تكن تمتلك اشتراكاً، فيمكن إنشاء اشتراك مجاناً . إذا كنت تحظى باشتراك، فيمكن تحديده من القائمة المنسدلة.
- الموقع هو Azure geography التي تنشئ فيها تطبيقاً. حدد أقرب موقع مادي إلى الأجهزة للحصول على الأداء الأمثل. لا يمكن نقل التطبيق إلى موقع مختلف بعد اختيار الموقع.
حدد Create.
بعد أن يقوم IoT Central بإنشاء التطبيق، فإنه يعيد التوجيه إلى لوحة معلومات التطبيق.
أضف جهاز
تقوم بإضافة جهاز جديد إلى تطبيق IoT Central في هذا المقطع. الجهاز هو مثيل لقالب الجهاز الذي يمثل الجهاز الذي ستقوم بتوصيله بالتطبيق.
اتبع الخطوات التالية لإنشاء جهاز جديد:
حدد في الجزء الأيمن الأجهزة ثم حدد + جديد.
اترك نموذج الجهاز معيّناً على غير معيّن وهل تريد محاكاة هذا الجهاز؟ معيّناً على لا.
عيِّن اسم جهاز مألوف و معرف الجهاز. استخدم القيم المُنشأة بشكل اختياري.
حدد Create.
يظهر الجهاز المُنشأ في قائمة جميع الأجهزة.
اتبع الخطوات التالية للحصول على تفاصيل الاتصال للجهاز الجديد:
حدد اسم الجهاز المرتبط لعرض التفاصيل من قائمة جميع الأجهزة.
في القائمة العلوية، اختر الاتصال.
يعرض مربع الحوار " اتصال الجهاز" تفاصيل الاتصال:
انسخ القيم التالية من مربع حوار اتصال الجهاز إلى مكان آمن. ستستخدم هذه القيم لتوصيل الجهاز بـ IoT Central.
ID scopeDevice IDPrimary key
قم بتشغيل نموذج الجهاز
في هذا القسم، تقوم بتكوين بيئتك المحلية، وتثبيت Azure IoT Java device SDK، وتشغيل عينة تنشئ وحدة تحكم في درجة الحرارة.
كوِّن بيئتك
افتح وحدة تحكم مثل Windows CMD أو Bash.
Linux وRaspberry Pi OS
تأكد من تعيين متغير البيئة JAVA_HOME (
echo $JAVA_HOME). يجب تعيين متغير البيئة هذا لإنشاء SDK والعينات بنجاح. للحصول على معلومات حول إعداد JAVA_HOME، راجع المتطلبات الأساسية لـ Linux/Raspberry Pi.قم بتعيين متغيرات البيئة التالية باستخدام الأوامر المناسبة لوحدة التحكم الخاصة بك. يستخدم الجهاز هذه القيم للاتصال بـ 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'
إنشاء التعليمات البرمجية وتشغيلها
قم باستنساخ Azure IoT Java device SDK إلى جهازك المحلي.
git clone https://github.com/Azure/azure-iot-sdk-java.gitانتقل إلى المجلد الجذر لـ SDK وقم بتشغيل الأمر التالي لإنشاء SDK وتحديث العينات.
cd azure-iot-sdk-java mvn install -T 2C -DskipTestsتستغرق هذه العملية عدة دقائق.
انتقل إلى دليل العينة.
Windows
cd device\iot-device-samples\pnp-device-sample\temperature-controller-device-sampleLinux أو Raspberry Pi OS
cd device/iot-device-samples/pnp-device-sample/temperature-controller-device-sampleقم بتشغيل نموذج التعليمات البرمجية التالي من 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.
في هذا البدء السريع، تتعلم سير عمل تطوير تطبيقات 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 والذي يقلل من تكلفة وتعقيد إدارة الأجهزة في حل "إنترنت الأشياء".
اتبع الخطوات التالية لإنشاء تطبيق جديد:
تصفح للوصول إلى Azure IoT Centralوسجل دخول باستخدام حساب Microsoft الشخصي أو العمل أو المدرسة.
انتقل إلى إنشاء وحدد تطبيقات مخصصة.
أدخل اسماً مميزاً في اسم التطبيق أو استخدم الاسم المُنشأ.
أدخل في "URL" بادئة عنوان "URL" الخاصة بالتطبيق والتي يمكن تذكرها، أو استخدم بادئة عنوان "URL" المُنشأة.
اترك نموذج التطبيق معيّناً على تطبيق مخصص.
حدد خيار خطة التسعير.
- حدد مجاني لاستخدام التطبيق مجاناً لمدة سبعة أيام. يمكن تحويل التطبيق المجاني إلى التسعير القياسي قبل انتهاء الصلاحية.
- يمكن تحديد خطة تسعير قياسية بشكل اختياري. إذا حددت التسعير القياسي، فستظهر المزيد من الخيارات وستحتاج إلى تعيين دليل و اشتراك Azure و موقع. راجع تسعير Azure IoT Central لمعرفة المزيد حول التسعير.
- الدليل هو Azure Active Directory الذي تنشئ فيه التطبيق. يحتوي Azure Active Directory على هويات المستخدمين وبيانات الاعتماد والمعلومات التنظيمية الأخرى. إذا لم يكن لديك Azure Active Directory، فسيُنشأ واحد عند إنشاء اشتراك Azure.
- يمكّن اشتراك Azure من إنشاء مثيلات خدمات Azure. يوفر IoT Central الموارد في الاشتراك. إذا لم تكن تمتلك اشتراكاً، فيمكن إنشاء اشتراك مجاناً . إذا كنت تحظى باشتراك، فيمكن تحديده من القائمة المنسدلة.
- الموقع هو Azure geography التي تنشئ فيها تطبيقاً. حدد أقرب موقع مادي إلى الأجهزة للحصول على الأداء الأمثل. لا يمكن نقل التطبيق إلى موقع مختلف بعد اختيار الموقع.
حدد Create.
بعد أن يقوم IoT Central بإنشاء التطبيق، فإنه يعيد التوجيه إلى لوحة معلومات التطبيق.
أضف جهاز
تقوم بإضافة جهاز جديد إلى تطبيق IoT Central في هذا المقطع. الجهاز هو مثيل لقالب الجهاز الذي يمثل الجهاز الذي ستقوم بتوصيله بالتطبيق.
اتبع الخطوات التالية لإنشاء جهاز جديد:
حدد في الجزء الأيمن الأجهزة ثم حدد + جديد.
اترك نموذج الجهاز معيّناً على غير معيّن وهل تريد محاكاة هذا الجهاز؟ معيّناً على لا.
عيِّن اسم جهاز مألوف و معرف الجهاز. استخدم القيم المُنشأة بشكل اختياري.
حدد Create.
يظهر الجهاز المُنشأ في قائمة جميع الأجهزة.
اتبع الخطوات التالية للحصول على تفاصيل الاتصال للجهاز الجديد:
حدد اسم الجهاز المرتبط لعرض التفاصيل من قائمة جميع الأجهزة.
في القائمة العلوية، اختر الاتصال.
يعرض مربع الحوار " اتصال الجهاز" تفاصيل الاتصال:
انسخ القيم التالية من مربع حوار اتصال الجهاز إلى مكان آمن. ستستخدم هذه القيم لتوصيل الجهاز بـ IoT Central.
ID scopeDevice IDPrimary key
قم بتشغيل نموذج الجهاز
في هذا القسم، يمكنك تكوين البيئة المحلية تثبيت جهاز Node.js IoT Azure SDK وتشغيل نموذج بإنشاء وحدة تحكم درجة حرارة.
كوِّن بيئتك
افتح وحدة تحكم مثل Windows CMD أو PowerShell أو Bash.
قم بتعيين متغيرات البيئة التالية باستخدام الأوامر المناسبة لوحدة التحكم الخاصة بك. يستخدم الجهاز هذه القيم للاتصال بـ 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 والنماذج
انسخ SDK لجهاز Azure IoT Node.js إلى جهازك المحلي.
git clone https://github.com/Azure/azure-iot-sdk-nodeانتقل إلى نموذج الدليل.
Windows
cd azure-iot-sdk-node\device\samples\javascriptLinux أو Raspberry Pi OS
cd azure-iot-sdk-node/device/samples/javascriptثبت برنامج IoT Azure Node.js SDK، والتبعيات الضرورية:
npm install
تشغيل التعليمات البرمجية
في وحدة التحكم الخاصة بك، قم بتشغيل نموذج التعليمات البرمجية التالية من 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
في هذا البدء السريع، تتعلم سير عمل تطوير تطبيقات 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 IoT. ستتعرف على كيفية توصيل جهاز باستخدام Azure IoT Central في هذا القسم. إن IoT Central منصة لتطبيق IoT والذي يقلل من تكلفة وتعقيد إدارة الأجهزة في حل "إنترنت الأشياء".
اتبع الخطوات التالية لإنشاء تطبيق جديد:
تصفح للوصول إلى Azure IoT Centralوسجل دخول باستخدام حساب Microsoft الشخصي أو العمل أو المدرسة.
انتقل إلى إنشاء وحدد تطبيقات مخصصة.
أدخل اسماً مميزاً في اسم التطبيق أو استخدم الاسم المُنشأ.
أدخل في "URL" بادئة عنوان "URL" الخاصة بالتطبيق والتي يمكن تذكرها، أو استخدم بادئة عنوان "URL" المُنشأة.
اترك نموذج التطبيق معيّناً على تطبيق مخصص.
حدد خيار خطة التسعير.
- حدد مجاني لاستخدام التطبيق مجاناً لمدة سبعة أيام. يمكن تحويل التطبيق المجاني إلى التسعير القياسي قبل انتهاء الصلاحية.
- يمكن تحديد خطة تسعير قياسية بشكل اختياري. إذا حددت التسعير القياسي، فستظهر المزيد من الخيارات وستحتاج إلى تعيين دليل و اشتراك Azure و موقع. راجع تسعير Azure IoT Central لمعرفة المزيد حول التسعير.
- الدليل هو Azure Active Directory الذي تنشئ فيه التطبيق. يحتوي Azure Active Directory على هويات المستخدمين وبيانات الاعتماد والمعلومات التنظيمية الأخرى. إذا لم يكن لديك Azure Active Directory، فسيُنشأ واحد عند إنشاء اشتراك Azure.
- يمكّن اشتراك Azure من إنشاء مثيلات خدمات Azure. يوفر IoT Central الموارد في الاشتراك. إذا لم تكن تمتلك اشتراكاً، فيمكن إنشاء اشتراك مجاناً . إذا كنت تحظى باشتراك، فيمكن تحديده من القائمة المنسدلة.
- الموقع هو Azure geography التي تنشئ فيها تطبيقاً. حدد أقرب موقع مادي إلى الأجهزة للحصول على الأداء الأمثل. لا يمكن نقل التطبيق إلى موقع مختلف بعد اختيار الموقع.
حدد Create.
بعد أن يقوم IoT Central بإنشاء التطبيق، فإنه يعيد التوجيه إلى لوحة معلومات التطبيق.
أضف جهاز
تقوم بإضافة جهاز جديد إلى تطبيق IoT Central في هذا المقطع. الجهاز هو مثيل لقالب الجهاز الذي يمثل الجهاز الذي ستقوم بتوصيله بالتطبيق.
اتبع الخطوات التالية لإنشاء جهاز جديد:
حدد في الجزء الأيمن الأجهزة ثم حدد + جديد.
اترك نموذج الجهاز معيّناً على غير معيّن وهل تريد محاكاة هذا الجهاز؟ معيّناً على لا.
عيِّن اسم جهاز مألوف و معرف الجهاز. استخدم القيم المُنشأة بشكل اختياري.
حدد Create.
يظهر الجهاز المُنشأ في قائمة جميع الأجهزة.
اتبع الخطوات التالية للحصول على تفاصيل الاتصال للجهاز الجديد:
حدد اسم الجهاز المرتبط لعرض التفاصيل من قائمة جميع الأجهزة.
في القائمة العلوية، اختر الاتصال.
يعرض مربع الحوار " اتصال الجهاز" تفاصيل الاتصال:
انسخ القيم التالية من مربع حوار اتصال الجهاز إلى مكان آمن. ستستخدم هذه القيم لتوصيل الجهاز بـ IoT Central.
ID scopeDevice IDPrimary key
قم بتشغيل نموذج الجهاز
في هذا القسم، يمكنك تكوين البيئة المحلية الخاصة بك، تثبيت Azure IoT Python device SDK وتشغيل نموذج بإنشاء وحدة التحكم في درجة حرارة.
كوِّن بيئتك
افتح وحدة تحكم مثل Windows CMD أو PowerShell أو Bash.
قم بتعيين متغيرات البيئة التالية باستخدام الأوامر المناسبة لوحدة التحكم الخاصة بك. يستخدم الجهاز هذه القيم للاتصال بـ 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 والنماذج
نسخ SDK جهاز Azure IoT Python إلى الجهاز الداخلي.
git clone https://github.com/Azure/azure-iot-sdk-pythonانتقل إلى دليل نموذج.
Windows
cd azure-iot-sdk-python\azure-iot-device\samples\pnpLinux or Raspberry Pi OS
cd azure-iot-sdk-python/azure-iot-device/samples/pnpتثبيت Azure IoT Python SDK.
pip3 install azure-iot-device
تشغيل التعليمات البرمجية
في وحدة التحكم الخاصة بك، قم بتشغيل نموذج التعليمات البرمجية التالية من 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، حدد الأجهزة، وانقر على اسم جهازك، ثم حدد علامة التبويب نظرة عامة. يعرض هذا العرض رسمًا بيانيًا لدرجات الحرارة من جهازي ترموستات.
حدد علامة التبويب بيانات أولية. يعرض هذا العرض القياس عن بُعد في كل مرة يتم فيها إرسال قراءة ترموستات.
جهازك الآن متصل بشكل آمن ويرسل القياس عن بُعد إلى Azure IoT.
تنظيف الموارد
إذا لم تعد بحاجة إلى موارد IoT المركزية التي تم إنشاؤها في هذه البداية السريعة، يمكنك حذفها. اختياريًا، إذا كنت تخطط لمتابعة اتباع الوثائق في هذا الدليل، يمكنك الاحتفاظ بالتطبيق الذي قمت بإنشائه وإعادة استخدامه لعينات أخرى.
لإزالة التطبيق نموذج IoT Azure المركزية وكافة الأجهزة والموارد الخاصة به:
- حدد إدارة>تطبيقك.
- حددحذف.
الخطوات التالية
في هذا البدء السريع، تعلمت سير عمل تطبيق Azure IoT الأساسي لتوصيل جهاز بالسحابة بشكل آمن وإرسال بيانات تتبع الاستخدام من جهاز إلى سحابة. استخدام Azure IoT المركزية لإنشاء تطبيق ومثيل جهاز. ثم يمكنك استخدام عدة تطوير البرامج لجهاز Azure IoT لإنشاء وحدة تحكم في درجة الحرارة، والاتصال بـ IoT Central، وإرسال القياس عن بُعد. كما استخدمت IoT Central لمراقبة القياس عن بُعد.
كخطوة تالية، استكشف المقالات التالية لمعرفة المزيد حول إنشاء حلول الأجهزة باستخدام Azure IoT.