جدول المحتويات:
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-13 06:56
MQTT هو بروتوكول مراسلة قياسي من OASIS لإنترنت الأشياء (IoT). إنه مصمم كوسيلة نقل رسائل نشر / اشتراك خفيفة الوزن للغاية ، وهو مثالي لتوصيل الأجهزة البعيدة ببصمة رمز صغيرة وعرض نطاق ترددي للشبكة ضئيل. تستخدم MQTT اليوم في مجموعة متنوعة من الصناعات ، مثل السيارات والتصنيع والاتصالات والنفط والغاز ، إلخ.
لماذا MQTT: عملاء MQTT صغيرون جدًا ، ويتطلبون الحد الأدنى من الموارد ، لذلك يمكن استخدامها على وحدات التحكم الدقيقة الصغيرة. رؤوس الرسائل MQTT صغيرة لتحسين عرض النطاق الترددي للشبكة.
الاتصال ثنائي الاتجاه: يسمح MQTT بالرسائل بين الجهاز إلى السحابة والسحابة إلى الجهاز. هذا يجعل من السهل إرسال الرسائل إلى مجموعات من الأشياء.
مقياس لملايين الأشياء: يمكن لـ MQTT التوسع للتواصل مع ملايين من أجهزة إنترنت الأشياء.
موثوقية تسليم الرسائل: من المهم للعديد من حالات استخدام إنترنت الأشياء. هذا هو السبب في أن MQTT لديها 3 مستويات جودة خدمة محددة:
- 0 - مرة واحدة على الأكثر ،
- 1- مرة واحدة على الأقل ،
- 2 - مرة واحدة بالضبط
دعم الشبكات غير الموثوق بها: تتصل العديد من أجهزة إنترنت الأشياء عبر شبكات خلوية غير موثوقة. إن دعم MQTT للجلسات المستمرة يقلل من الوقت لإعادة اتصال العميل بالوسيط.
تمكين الأمان: يجعل MQTT من السهل تشفير الرسائل باستخدام TLS ومصادقة العملاء باستخدام بروتوكولات المصادقة الحديثة ، مثل OAuth.
اللوازم
- NodeMCU ESP8266 (أو) أي لوحة ESP8266 عامة أخرى
- تسجيل Ubidots
- دعم مكتبة من جيثب.
- Arduino IDE لتحميل الكود.
الخطوة 1: الإعداد الأولي لـ Arduino IDE
- قم بتنزيل مكتبة UbidotsMQTTESP8266 من مستودع GIT
- افتح Arduino IDE ، وانتقل إلى "التفضيلات" من قائمة "ملف".
- في الحقل النصي "عناوين URL لمدير اللوحات الإضافية" ، الصق ما يلي: https://arduino.esp8266.com/stable/package_esp8266… واضغط على "موافق" للمتابعة.
- انتقل إلى "Add. ZIP Library" من قائمة "Sketch> Include Library" وحدد مسار الملف المضغوط الذي تم تنزيله.
- انتظر ما لم يتلقى IDE رسالة: تمت إضافة المكتبة إلى مكتباتك. تحقق من قائمة "تضمين المكتبة".
- انتقل إلى "Include Library" من "Sketch" وتحقق من "Ubidots MQTT لـ ESP8266"
الخطوة 2: بيانات اعتماد Ubidots API
قم بتسجيل الدخول إلى Ubidots وقم بتدوين بيانات اعتماد API. يرجى ملاحظة أننا سنحتاج فقط إلى قيمة "الرمز الافتراضي".
الخطوة 3: الكود.
# تضمين "UbidotsESPMQTT.h"
#define toKEN "************************************************ *** "// رمز Ubidots الخاص بك
#define WIFINAME "*********" // SSID الخاص بك
#define WIFIPASS "******************" // ممر Wifi الخاص بك
عميل Ubidots (رمز مميز) ؛
رد اتصال باطل (حرف * موضوع ، بايت * حمولة ، طول int غير موقع)
{
Serial.print ("وصلت الرسالة [") ؛
Serial.print (الموضوع) ؛
Serial.print ("]") ؛
لـ (int i = 0 ؛ i <length ؛ i ++)
{
Serial.print ((char) payload ) ؛
}
الإعداد باطل()
{
client.setDebug (صواب) ،
Serial.begin (115200) ؛
client.wifiConnection (WIFINAME ، WIFIPASS) ؛
client.begin (رد الاتصال) ؛
}
حلقة فارغة()
{
إذا (! client.connected ())
{
client.reconnect () ؛
}
تعويم value1 = analogRead (A0) ؛
client.add ("درجة الحرارة" ، القيمة 1) ؛
client.ubidotsPublish ("جهازي الجديد") ؛
client.loop () ؛
}
ملاحظة: يرجى الرجوع إلى لقطات الشاشة للحصول على مسافة بادئة أفضل للخطوط.
الخطوة 4: قم بتوصيل وتجميع وتحميل الكود.
لم يحن الوقت لتوصيل NodeMCU ESP8266 بجهاز الكمبيوتر / الكمبيوتر المحمول الخاص بك ، وتحديد منفذها ، وتجميع الكود وتحميله.
يرجى الحصول على المساعدة اللازمة من لقطات الشاشة المرفقة لفهم العملية بشكل أفضل إذا كنت جديدًا في Arduino IDE.
الخطوة 5: الفحص النهائي.
إذا سارت الأمور على ما يرام ، يجب أن تكون قادرًا على ملاحظة ما يشبه ما تم عرضه في لقطة الشاشة.
هذا السطر في الكود "client.ubidotsPublish (" my-new-device ") ؛" يتم نشره.
ملاحظة: في حالة عدم تمثيل أي شيء في لوحة معلومات Ubodots ، يُقترح فصل NodeMCU وإعادة توصيله.
ترقبوا أنفسكم. أحاول نشر المزيد مع Ubidots & NodeMCU ESP8266.