جدول المحتويات:

NodeMCU - مثال أساسي MQTT: 4 خطوات
NodeMCU - مثال أساسي MQTT: 4 خطوات

فيديو: NodeMCU - مثال أساسي MQTT: 4 خطوات

فيديو: NodeMCU - مثال أساسي MQTT: 4 خطوات
فيديو: [Arabic] Internet of Things - Online Study Jam (Aya Sayed) 2024, يوليو
Anonim
Image
Image

سيوضح هذا الدرس استخدام بروتوكول MQTT الأساسي على لوحة NodeMCU ، ونستخدم MQTTBox كعميل MQTT هنا ، وسنستخدم NodeMCU لإكمال العمليات التالية:

انشر "hello world" في موضوع "outTopic" كل ثانيتين ، واشترك في الموضوع "inTopic" واطبع أي رسائل مستلمة ، وتفترض أن الحمولات المستلمة هي سلاسل وليست ثنائيات ، وإذا كانت الرسالة المشتركة "1" ، فاضغط على LED onboards. قم بإيقاف تشغيل مؤشر LED الموجود على اللوحة إذا كانت رسالة الاشتراك "0".

التحضير: Osoyoo NodeMCU x1

كبل USB x1

كمبيوتر x1

Arduino IDE (الإصدار 1.6.4+)

قم بتوصيل NodeMCU بجهاز الكمبيوتر عبر كابل USB.

الخطوة 1: تثبيت المكتبة

تركيب المكتبة
تركيب المكتبة
تركيب المكتبة
تركيب المكتبة

قم بتثبيت PubSubClientlibrary

نحتاج إلى تثبيت مكتبة نقطة النهاية MQTT (PubSubClient) للتواصل مع وسيط MQTT ، يرجى تنزيل المكتبة من الرابط التالي: https://osoyoo.com/wp-content/uploads/samplecode/pu …

قم بفك ضغط الملف أعلاه ، وانقل المجلد الذي تم فك ضغطه إلى مجلد مكتبة Arduino IDE.

افتح Arduino IED ، يمكنك العثور على "pubsubclient" في عمود "أمثلة".

تثبيت عميل MQTT:

سوف نستخدم MQTTBox كعميل MQTT. يرجى التنزيل من: https://workswithweb.com/html/mqttbox/installing_ap …

الخطوة 2: الكود

الشفرة
الشفرة
الشفرة
الشفرة

افتح Arduino IDE–> File–> Example–> pubsubclient–> mqtt esp8266 ، ستحصل على نموذج التعليمات البرمجية.

قم بتحرير الكود ليناسب إعدادات WiFi و MQTT الخاصة بك على النحو التالي: 1) Hotspot Configration: ابحث عن سطر الكود أدناه ، ضع ssid وكلمة المرور الخاصة بك هناك.

const char * ssid = "your_hotspot_ssid" ؛ const char * password = "your_hotspot_password" ؛

2) إعداد عنوان خادم MQTT ، هنا نستخدم وسيط MQTT المجاني "broker.mqtt-dashboard.com". يمكنك استخدام عنوان URL الخاص بوسيط MQTT أو عنوان IP الخاص بك لتعيين قيمة mqtt_server أعلاه. يمكنك أيضًا استخدام بعض خوادم MQTT المجانية الشهيرة لاختبار المشروع مثل "broker.mqtt-dashboard.com" و "iot.eclipse.org" وما إلى ذلك.

const char * mqtt_server = “broker.mqtt-dashboard.com” ؛

3) إعدادات عميل MQTT إذا كان وسيط MQTT يتطلب مصادقة معرّف العميل واسم المستخدم وكلمة المرور ، فأنت بحاجة إلى

يتغيرون

إذا (client.connect (clientId.c_str ()))

إلى

if (client.connect (clientId، userName، passWord)) // ضع clientId / userName / passWord هنا

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

  • اللوحة: "NodeMCU 0.9 (وحدة ESP-12)"
  • تردد وحدة المعالجة المركزية: "80 ميجا هرتز" حجم الفلاش: "4 ميجا (3 ميجا SPIFFS)"
  • سرعة الرفع: 115200
  • المنفذ: اختر المنفذ التسلسلي الخاص بك لـ NodeMCU

الخطوة 3: تكوين عميل MQTT (MQTTBOX)

تكوين عميل MQTT (MQTTBOX)
تكوين عميل MQTT (MQTTBOX)
تكوين عميل MQTT (MQTTBOX)
تكوين عميل MQTT (MQTTBOX)
تكوين عميل MQTT (MQTTBOX)
تكوين عميل MQTT (MQTTBOX)
تكوين عميل MQTT (MQTTBOX)
تكوين عميل MQTT (MQTTBOX)

في هذه الخطوة ، سنوضح كيفية إنشاء عميل MQTT على MQTTBox.

افتح MQTTBox الخاص بك وانقر فوق الزر الأزرق لإضافة عميل MQTT جديد.

قم بتكوين إعدادات العميل MQTT على النحو التالي:

  • MQTT Client Name - اختر أي اسم تريده
  • البروتوكول - اختر "mqtt / tcp"
  • المضيف - اكتب "mqtt_server" في هذا العمود ، وتأكد من أنه مطابق للرسم. (نستخدم "broker.mqtt-dashboard.com" هنا)
  • احتفظ بالإعدادات الأخرى كإعدادات افتراضية
  • انقر لحفظ التغييرات الخاصة بك.

بعد ذلك ، ستدخل الصفحة الجديدة تلقائيًا. إذا كان كل التكوين أعلاه صحيحًا ، فسيتغير "غير متصل" إلى "متصل" ، وسيتم عرض اسم عميل MQTT واسم المضيف أعلى هذه الصفحة.

إعداد الموضوع: تأكد من أن موضوع نشر عميل MQTT الخاص بك هو نفس موضوع الاشتراك في رسم Arduino الخاص بك (inTopic هنا). تأكد من أن موضوع اشتراك عميل MQTT الخاص بك هو نفسه موضوع نشر رسم Arduino الخاص بك (خارج الموضوع هنا).

الخطوة 4: نتيجة تشغيل البرنامج

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

بمجرد الانتهاء من التحميل ، إذا كان اسم نقطة اتصال wifi وإعداد كلمة المرور على ما يرام ، وكان وسيط MQTT متصلاً ، فافتح Serial Monitor ، وسترى رسالة النشر "hello world" على الشاشة التسلسلية.

ثم افتح عميل MQTT وانشر الحمولة "1" للموضوع ، وستتلقى NodeMCU هذه الرسائل من خلال الاشتراك في "inTopic" ، وسيضيء مؤشر LED.

نشر الحمولة "0" لهذا الموضوع ، سيتم إيقاف تشغيل NodeMCU LED.

موصى به: