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

بناء لوحة تحكم تفاعلية

Building an Interactive Dashboard

مبادئ تصميم لوحات المراقبة الزراعية: ماذا نعرض ولمن، الرسوم البيانية والمؤشرات (Gauges) والجداول، والتحديث التلقائي بالـ Polling أو لحظياً عبر MQTT over WebSocket — ونطور لوحة KFS Smart Farm لتعرض مناخ المزرعة آخر 7 أيام.

Overview

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

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

  • تطبق مبادئ Dashboard design: الأهم أولاً، ألوان دلالية، لا ازدحام.
  • تختار عنصر العرض المناسب: Graph للاتجاه، Gauge للحالة الآن، Table للمقارنة.
  • تفهم كود لوحة Smart Farm (Fetch + Chart.js + تحديث كل 15 ث) وتعدله.
  • تقارن Polling و WebSocket / MQTT over Web للتحديث اللحظي.
  • تعرف متى تستخدم أداة جاهزة مثل Grafana بدلاً من لوحة مخصصة.

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

لوحة تحكم على شاشة غرفة المزرعة تعرض حالة كل عقدة لحظياً، ومناخ المزرعة آخر 7 أيام (حرارة، رطوبة، رطوبة تربة)، وجدول المتوسطات اليومية — مع اختبار سهولة الاستخدام مع مشرف المزرعة.

المُخرج (Deliverable)

لوحة تحكم مرئية قابلة للمشاركة: بطاقات العقد، رسم 24 ساعة / 7 أيام، جدول يومي، مؤشر Gauge لرطوبة التربة، وتحديث لحظي عبر WebSocket.

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

  1. 0:00 مراجعة مراجعة: الـ API والاستعلامات الزمنية 10 د
  2. 0:10 شرح تصميم لوحات المراقبة الزراعية 25 د
  3. 0:35 تطبيق Lab: لوحة Smart Farm من الداخل + عرض 7 أيام 35 د
  4. 1:10 استراحة استراحة 10 د
  5. 1:20 تطبيق Lab: تحديث لحظي عبر MQTT over WebSocket 30 د
  6. 1:50 مشروع تحدي: Gauge + جدول المتوسطات اليومية 25 د
  7. 2:15 ميداني ميداني: اللوحة في غرفة المزرعة + اختبار مع المشرف 35 د
  8. 2:50 تقييم اختبار سريع + الواجب 10 د

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

منصة Smart Farm (app.py)Chart.js 4mqtt.js (MQTT over WebSocket)Mosquitto مع listener 9001Grafana (اختياري)

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

Dashboardلوحة المراقبة

شاشة واحدة تلخص حالة النظام.

KPIمؤشر أداء

رقم مهم يُتابع: متوسط رطوبة التربة، ساعات الري.

Gaugeعداد

عرض قيمة حالية مقابل نطاق (مثل عداد السرعة).

Time range selectorمحدد المدى الزمني

24 ساعة / 7 أيام / 30 يوماً.

Pollingالاستعلام الدوري

المتصفح يسأل السيرفر كل X ثانية.

WebSocketمقبس الويب

اتصال مفتوح دائماً يدفع البيانات فور حدوثها.

MQTT over WebSocketMQTT عبر الويب

المتصفح نفسه يصبح عميل MQTT (منفذ 9001).

Auto-refreshالتحديث التلقائي

تحديث البيانات بدون تدخل المستخدم.

Semantic colorلون دلالي

أحمر = جاف/خطر، أخضر = مناسب — ثابت في كل اللوحة.

Grafanaجرافانا

أداة لوحات مفتوحة المصدر تتصل بقواعد البيانات.

Aggregationالتجميع

متوسط/أقصى/أدنى لكل ساعة أو يوم.

Sparklineرسم مصغر

خط صغير بجوار الرقم يبين الاتجاه.