- ما هو Microsoft Azure IoT Hub؟
- إنشاء Azure IoT Hub
- المكونات المطلوبة لبناء دائرة الاختبار الخاصة بنا لـ Azure IoT باستخدام Raspberry Pi
- Azure IoT مع Raspberry Pi - تخطيطي للأجهزة
- برمجة Raspberry Pi لنشر البيانات على Azure IoT Hub
- نشر البيانات على Azure IoT Hub - الاختبار
Azure IoT Hub ، خدمة الحوسبة السحابية التي تقدمها Microsoft تتيح للمطورين توصيل ومراقبة وإدارة مليارات من أجهزة إنترنت الأشياء على نظام أساسي واحد. يتم استخدامه بالفعل في العديد من تطبيقات إنترنت الأشياء مثل أنظمة التشغيل الآلي للمنزل والأمن والمراقبة وأنظمة المراقبة. لإثبات قدرات مركز Azure IoT ، سنقوم ببناء دائرة صغيرة باستخدام Raspberry Pi ومستشعر درجة الحرارة DHT11 ومستشعر الرطوبة ، من أجل معالجة بيانات المستشعر بها. أخيرًا ، سننشر بيانات المستشعر إلى خادم Azure IoT باستخدام بروتوكول MQTT. في هذا البرنامج التعليمي ، سوف نتعلم كيفية إعداد وتكوين خادم Azure وإرسال البيانات باستخدام Raspberry Pi.
ما هو Microsoft Azure IoT Hub؟
Azure IoT Hub عبارة عن مجموعة من الخدمات المدارة التي يمكنها توصيل أجهزة إنترنت الأشياء ومراقبتها والتحكم فيها. ويشمل أيضًا الاتصال الآمن للأجهزة ، مع تصور البيانات والتحليلات التي تساعد الشركات المصنعة للأجهزة على إنشاء تطبيقات إنترنت الأشياء ونشرها وإدارتها بمساعدة Azure cloud. تتيح لنا بيانات القياس عن بُعد من جهاز إلى قرص مضغوط في Azure IoT Hub معرفة حالة أجهزة إنترنت الأشياء المتصلة ، وتمكننا رسائل Cloud-to-Device من إرسال الأوامر والإشعارات إلى الأجهزة المتصلة. على سبيل المثال ، باستخدام نظام أتمتة المنزل الذكي ، يمكننا جمع بيانات المستشعر المختلفة وإرسالها إلى Azure IoT Hub لتصورها وتخزينها وإدارتها. يمكننا أيضًا التحكم في أجهزة الإخراج من واجهة Azure IoT Hub.
يدعم المحور المركزي للاتصال ثنائي الاتجاه لتطبيق IoT والأجهزة كل من اتصال الجهاز السحابي والجهاز السحابي ، كما أنه يدعم أنماط المراسلة المتعددة مثل جهاز القياس عن بُعد السحابي ، وتحميل الملفات من الأجهزة ، وطرق الطلب والرد ، وأخيرًا ، يمكننا استخدام طريقة المصادقة لكل جهاز التي تمكن كل جهاز من الاتصال بأمان بمركز إنترنت الأشياء. الآن ، كما فهمت أساسيات Azure IoT Hub ، دعنا ننتقل إلى إعداد النظام.
إنشاء Azure IoT Hub
نحن على استعداد للقيام بجميع الإعدادات الضرورية المطلوبة لإعداد خدمات Microsoft Azure ولكن قبل ذلك ، تأكد من أن لديك حساب Microsoft. إذا لم يكن لديك ذلك ، يمكنك ببساطة التسجيل. بعد ذلك ، انتقل إلى مدخل Azure باستخدام portal.azure.com وقم بتسجيل الدخول.
بمجرد تسجيل الدخول ، انتقل إلى صفحة Azure الرئيسية ، وحدد زر إنشاء مورد ، ثم ابحث عن IoT Hub في حقل البحث في السوق. حدد IoT Hub من نتائج البحث ، ثم حدد إنشاء. ستمنحك الصور أدناه فكرة أفضل عن العملية.
املأ التفاصيل الضرورية لإنشاء مركز إنترنت الأشياء.
في قسم الاشتراك ، تحتاج إلى تحديد الاشتراك لاستخدامه في المحور الخاص بك. في حالتنا ، نختار حسابًا تجريبيًا واخترنا "إصدار تجريبي مجاني" .
بعد ذلك ، في قسم مجموعة الموارد ، حدد مجموعة الموارد الخاصة بك . إذا لم يكن لديك واحد ، فأنت بحاجة إلى إنشاء واحد جديد بالنقر فوق إنشاء جديد وإدخال اسم المورد.
في قسم المنطقة ، يمكنك استخدام القائمة المنسدلة لتحديد منطقتك المفضلة.
في القسم اسم محور تقنيات عمليات، تحتاج إلى البريد nter اسما لوحة الوصل. يجب أن يكون هذا فريدًا. ستحدث جميع الاتصالات اللازمة بهذا الاسم.
ضمن علامة التبويب "الحجم والمقياس" ، حدد " الطبقة المجانية " وانقر فوق التالي. ثم انقر فوق "مراجعة + إنشاء". سيستغرق إنشاء IoT Hub بضع دقائق. انقر فوق اسم IoT Hub الذي أنشأته. قم بتدوين اسم المضيف من النافذة كما هو موضح في الصورة أدناه. ثم انقر فوق سياسات الوصول المشترك في الإعدادات. تم تمييز سياسات الوصول المشترك في الصورة أدناه. انقر فوق خيار iothubowner ضمن السياسة. ملاحظة أسفل المفتاح الأساسي و اتصال مفتاح سلسلة الأولية للإشارات المستقبل. الآن ، لتسجيل جهاز جديد ضمن IoT Hub ، انقر فوق أجهزة IoT. في جزء مستكشف الأجهزة ، انقر فوق إضافة لإضافة جهاز إلى لوحة الوصل.
املأ المعلومات التالية في علامة تبويب الأجهزة الجديدة.
- معرف الجهاز: أدخل معرف الجهاز. يجب أن تكون معرّفات الجهاز فريدة.
- نوع المصادقة: حدد مفتاحًا متماثلًا.
- إنشاء المفاتيح تلقائيًا: حدد خانة الاختيار هذه.
- توصيل الجهاز بـ IoT Hub: انقر فوق تمكين.
بمجرد إنشاء الجهاز ، يمكنك العثور على جهازك الذي تم إنشاؤه حديثًا في قسم مستكشف الأجهزة. اضغط على اسم الجهاز. سيظهر تفاصيل الجهاز. ملاحظة أسفل المفتاح الأساسي و المفتاح اتصال سلسلة الأولية للجهاز. هذا مهم لأننا نحتاجه للتواصل.
الآن ، عندما يتم ذلك ، يمكننا الانتقال إلى جانب الأجهزة للأشياء.
المكونات المطلوبة لبناء دائرة الاختبار الخاصة بنا لـ Azure IoT باستخدام Raspberry Pi
نظرًا لأن جزء الأجهزة في هذه الدائرة بسيط جدًا ، فإن متطلبات المكون بسيطة جدًا أيضًا. قائمة المكونات المطلوبة موضحة أدناه.
- Raspberry Pi 3B (يمكننا أيضًا استخدام أي طرازات أخرى من Pi)
- بطاقة Micro SD - 16 جيجا بايت
- مستشعر DHT11
- مايكرو يو اس بي 5 فولت ، 2.4 امبير
Azure IoT مع Raspberry Pi - تخطيطي للأجهزة
يظهر الرسم التخطيطي الكامل للدائرة لمشروع Azure IoT مع Raspberry Pi أدناه ، وقد تم إنشاؤه باستخدام التعرق. اتبع مخطط الدائرة والوصلات لجعل الدائرة بنفسك.
ترسل الدائرة أعلاه بيانات درجة الحرارة والرطوبة إلى Microsoft IoT Hub. في هذه الدائرة ، استخدمنا مستشعر DHT11 لجمع بيانات درجة الحرارة والرطوبة ونستخدم Raspberry Pi 3B كجهاز لمعالجة البيانات. يحتوي مستشعر DHT11 على ثلاثة دبابيس. يتم استخدام دبابيس VCC و GND لإمداد المستشعر بجهد 5 فولت ، ويتم توصيل دبوس إخراج البيانات لـ DHT11 بـ GPIO4 الخاص بـ Raspberry Pi. إذا كنت تريد معرفة كيفية التعامل مع مستشعر درجة الحرارة والرطوبة DHT11 مع Raspberry Pi ، فيمكنك التحقق من مقالتنا السابقة حول هذا الموضوع. لقد استخدمنا أيضًا هذا المستشعر لبناء محطة طقس IoT Raspberry Pi.
برمجة Raspberry Pi لنشر البيانات على Azure IoT Hub
قبل بدء الترميز لهذا المشروع ، نحتاج إلى إنشاء قشرة سحابة Azure (CLI) في بوابة Azure. سيكون هذا مفيدًا بعدة طرق. لذلك ، انقر فوق زر Azure cloud shell في البوابة كما هو موضح أدناه. ثم انقر فوق خيار إنشاء التخزين المميز باللون الأحمر.
وبمجرد القيام به، يمكنك فتح CLI، وتشغيل الأوامر التالية لتثبيت أزور إضافة على " الصورة التي سيتم استخدامها لعرض بيانات الاستشعار.
إضافة ملحق - اسم azure-cli-iot-ext
بمجرد الانتهاء من ذلك ، نحتاج إلى تثبيت التبعيات على Raspberry Pi للتواصل مع مستشعر DHT11 ولجعل عملية الاتصال سهلة لخدمات Azure IoT. لذلك ، افتح Raspberry Pi Terminal لتثبيت الحزم التابعة المستخدمة في المشروع.
أولاً ، نحتاج إلى تنزيل مكتبة DHT لـ Raspberry Pi ، ثم استخراجه من المجلد الجذر وتشغيل الأمر التالي لتثبيته.
sudo python setup.py install
بعد التثبيت الناجح ، قم بتشغيل الأوامر التالية لتثبيت جميع الحزم التابعة على Azure IoT Hub.
sudo pip3 تثبيت azure-iot-device sudo pip3 تثبيت azure-iot-hub sudo pip3 تثبيت azure-iothub-service-client sudo pip3 تثبيت azure-iothub-device-client
بمجرد الانتهاء من تثبيت جميع المتطلبات الأساسية ، حان الوقت لكتابة الكود في Python. للقيام بذلك ، قم أولاً باستيراد جميع المكتبات:
استيراد عشوائي استيراد Adafruit_DHT وقت الاستيراد من azure.iot.device import IoTHubDeviceClient ، رسالة
في هذا المشروع ، نستخدم الدبوس 4 من Raspberry Pi لمعالجة البيانات من بيانات DHT11 ، لذلك يجب الإعلان عنها كما هو موضح.
جهاز استشعار = Adafruit_DHT.DHT11 pin = 4
بعد ذلك ، نحدد سلسلة اتصال الكود. استبدلها بسلسلة الاتصال الأساسية للجهاز التي حفظناها مسبقًا.
CONNECTION_STRING = "HostName = sensordata.azure-devices.net ؛ DeviceId = ZZZZZ ؛ SharedAccessKey = ZZZZZZZZZZZZZZZZ"
بعد ذلك ، نقوم بإنشاء مصفوفة سيتم استخدامها لإرسال البيانات إلى Azure IoT Hub. يمكن أن يتم ذلك كما هو موضح أدناه.
MSG_SND = '{{"temperature": {temperature}، "humidity": {humidity}}}'
بعد ذلك ، حددنا حلقة while ، في حلقة while ، تتم معالجة بيانات كل من الرطوبة ودرجة الحرارة باستخدام وظيفة Adafruit_DHT.read_retry . علاوة على ذلك ، نحدد متغيرين خاصين ونخصص بيانات الإخراج لتلك المتغيرات.
بينما صحيح: الرطوبة ، درجة الحرارة = Adafruit_DHT.read_retry (المستشعر ، الدبوس)
بعد ذلك ، تتم كتابة وظيفة لتوصيل IoT Hub باستخدام معلمات الاتصال التي حددناها مسبقًا.
def iothub_client_init (): العميل = IoTHubDeviceClient.create_from_connection_string (CONNECTION_STRING) إرجاع العميل
أخيرًا ، في الخطوة التالية ، يتم إرسال بيانات درجة الحرارة والرطوبة إلى Azure Hub ، باستخدام التنسيق كما هو موضح في الكود أدناه. أيضًا ، استخدمنا طريقة try and catch لتحديد ما إذا كان هناك أي خطأ في الكود.
def iothub_client_telemetry_sample_run (): جرب: client = iothub_client_init () print ("إرسال البيانات إلى IoT Hub ، اضغط على Ctrl-C للخروج") بينما True: msg_txt_formatted = MSG_SND.format (درجة الحرارة = درجة الحرارة ، الرطوبة = الرطوبة) الرسالة = رسالة (msg_txt_formatted) طباعة ("إرسال الرسالة: {}". تنسيق (رسالة)) client.send_message (رسالة) طباعة ("تم إرسال الرسالة بنجاح") time.sleep (3)
نشر البيانات على Azure IoT Hub - الاختبار
بعد كتابة الكود بنجاح ، قم بتجميعه وتحقق من وجود أي أخطاء. إذا تم تجميع كتلة التعليمات البرمجية بنجاح ، فقم بتشغيل الكود. في نافذة Terminal ، سترى الرسالة التي تقول "تم إرسال الرسالة بنجاح". تظهر لقطة الشاشة للنافذة أدناه:
الآن ، لمشاهدة البيانات في Azure IoT Hub ، انتقل إلى البوابة وانقر فوق CLI Terminal وقم بتشغيل الأوامر التالية لتحل محل بيانات الاعتماد الخاصة بك فيها.
رصد الأحداث محور iot az - اسم الفرع XYZ - معرف الجهاز XYZ
ملحوظة:
استبدل XYZ باسم Hub ومعرف الجهاز.
بعد تشغيل الأمر أعلاه ، يجب أن تحصل على البيانات كما هو موضح أدناه على الشاشة. هذه هي نفس البيانات التي تم إرسالها من Raspberry Pi.
يمثل هذا نهاية هذا البرنامج التعليمي ، وآمل أن تكون قد أحببت المقالة وتعلمت شيئًا جديدًا. إذا كانت لديك أي أسئلة بخصوص المقالة ، فيمكنك تركها في قسم التعليقات أدناه. أو يمكنك استخدام منتدى الإلكترونيات الخاص بنا للحصول على استجابة أسرع وأفضل.