تخطَّ إلى المحتوى
نافيرا تك NAVERA TECH
  1. KFS × Navera
  2. IoT & AI for Smart Agriculture
  3. السيشن 7
07/ 22 الأسبوع 3-4 · شبكات الحساسات اللاسلكية 3 ساعات

بروتوكولات نقل البيانات: MQTT و HTTP APIs

Data Transport Protocols (MQTT & HTTP APIs)

نموذج Publish/Subscribe، الـ Broker، تصميم شجرة المواضيع (Topics)، مستويات QoS، Retained و Last Will — ومقارنته بـ REST/HTTP. نثبت Mosquitto محلياً بمستخدمين وصلاحيات، ونرسل قراءات المزرعة إليه من ESP32.

Overview

نظرة عامة على السيشن

بنهاية السيشن ستكون قادراً على

  • تشرح نموذج Pub/Sub ودور الـ Broker ولماذا يناسب إنترنت الأشياء.
  • تصمم شجرة مواضيع قابلة للتوسع وتستخدم + و # بشكل صحيح.
  • تختار QoS 0/1/2 وتفهم Retained و Last Will (LWT).
  • تقارن MQTT بـ REST/HTTP وتعرف متى تستخدم كلاً منهما.
  • تثبت Mosquitto بأمان (مستخدمين + ACL) وتنشر وتشترك من ESP32 و Python و سطر الأوامر.

التطبيق في مزرعة الكلية

تشغيل Broker محلي (Mosquitto) على لابتوب المزرعة، وإرسال قراءات كل العقد إلى المواضيع kfs/farm/<node>/telemetry ومراقبتها حية بـ MQTT Explorer، مع رسالة Last Will تعلن سقوط أي عقدة.

المُخرج (Deliverable)

تدفق بيانات موثوق من الحقل إلى الـ Broker: شجرة مواضيع موثقة، مستخدمين وصلاحيات ACL، عقدة ESP32 تنشر JSON كل دقيقة وتستقبل أوامر، ولقطة MQTT Explorer للبيانات الحية.

خطة السيشن (180 دقيقة)

  1. 0:00 مراجعة مراجعة: نتائج نشر الشبكة و PDR 10 د
  2. 0:10 شرح Pub/Sub، Broker، Topics، QoS، Retained، LWT، مقارنة REST 30 د
  3. 0:40 محاكاة محاكي المواضيع + تصميم شجرة مواضيع المزرعة 20 د
  4. 1:00 تطبيق Lab: تثبيت Mosquitto بأمان + MQTT Explorer 30 د
  5. 1:30 استراحة استراحة 10 د
  6. 1:40 محاكاة Wokwi: ESP32 ينشر قراءات على Broker حقيقي 30 د
  7. 2:10 ميداني ميداني: كل عقد المزرعة ترسل للـ Broker المحلي 40 د
  8. 2:50 تقييم اختبار سريع + الواجب 10 د

الأدوات والمكونات

Mosquitto 2.xMQTT ExplorerESP32 + DHT22 + Soilمكتبة PubSubClient + ArduinoJsonWokwicurl

قاموس المصطلحات (Glossary)

MQTTبروتوكول رسائل خفيف

Message Queuing Telemetry Transport — مصمم لأجهزة ضعيفة وشبكات غير مستقرة.

Brokerالوسيط

الخادم الذي يستقبل الرسائل ويوزعها على المشتركين (Mosquitto).

Publishنشر

إرسال رسالة إلى موضوع.

Subscribeاشتراك

طلب استلام رسائل موضوع أو مجموعة مواضيع.

Topicالموضوع

عنوان هرمي مثل kfs/farm/field_A/telemetry.

Wildcard + / #محارف البدل

+ مستوى واحد، # كل المستويات التالية.

QoSجودة الخدمة

0: مرة على الأكثر، 1: مرة على الأقل، 2: مرة واحدة بالضبط.

Retained messageرسالة محفوظة

الـ Broker يحفظ آخر رسالة ويعطيها لأي مشترك جديد فوراً.

Last Will (LWT)الوصية الأخيرة

رسالة ينشرها الـ Broker تلقائياً إذا انقطعت العقدة فجأة.

Keep-aliveإبقاء الاتصال

نبضة دورية تثبت أن العميل متصل.

REST APIواجهة HTTP

طلب/استجابة: GET لجلب، POST لإرسال.

ACLقائمة الصلاحيات

من يستطيع النشر/الاشتراك في أي موضوع.