صفحة 331 - كتاب إنترنت الأشياء - الصف 11 - الفصل 1 - المملكة العربية السعودية

الكتاب: كتاب إنترنت الأشياء - الصف 11 - الفصل 1 | المادة: إنترنت الأشياء | المرحلة: الصف 11 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

📚 معلومات الصفحة

الكتاب: كتاب إنترنت الأشياء - الصف 11 - الفصل 1 | المادة: إنترنت الأشياء | المرحلة: الصف 11 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

نوع المحتوى: درس تعليمي

📝 ملخص الصفحة

📚 المقطع البرمجي النهائي (controller.py)

المفاهيم الأساسية

المقطع البرمجي النهائي (controller.py): الكود المكتمل لوحدة التحكم الرئيسية في الشبكة، والذي يستقبل الرسائل ويعرضها.

خريطة المفاهيم

```markmap

أدوات محاكاة إنترنت الأشياء

برنامج كاب كاربون (CupCarbon)

مشروع محاكاة: مراقبة الحريق والتحذيرات

#### إنشاء شبكة العقدة بوحدة التحكم الرئيسية والوسطي

#### تابع إضافة العقد الطرفية

#### إنشاء المقاطع البرمجية

##### منطق المحاكاة (العقد الطرفية)

##### المقطع البرمجي النهائي (edge.py)

##### المقطع البرمجي للعقد الوسطى

##### المقطع البرمجي النهائي (proxy.py)

##### منطق وحدة التحكم (Controller)

###### المقطع البرمجي النهائي (controller.py)

  • while node.loop():
- if node.bufferSize() > 0:

- message = node.read()

- node.print(message)

- time.sleep(2)

- node.print("")

- time.sleep(0.01)

```

نقاط مهمة

  • يحتوي كود وحدة التحكم (`controller.py`) على حلقة رئيسية (`while node.loop():`) لمراقبة المخزن المؤقت باستمرار.
  • الشرط `if node.bufferSize() > 0:` يتحقق من وجود رسائل واردة.
  • تقرأ وحدة التحكم الرسالة (`message = node.read()`) وتطبع محتواها (`node.print(message)`).
  • تنتظر وحدة التحكم لمدة ثانيتين (`time.sleep(2)`) ثم تمسح الرسالة المعروضة (`node.print("")`) قبل تكرار العملية.
  • يوضح الشكل 8.16 الشبكة بشكلها النهائي، موضحاً العلاقة بين المتحكم (Controller) والوسيط (Middleman) والطرفية (Terminal/Endpoint) وعقد المعلومات (`i`) والتنبيه (`!`).

📋 المحتوى المنظم

📖 محتوى تعليمي مفصّل

نوع: محتوى تعليمي

المقطع البرمجي النهائي (controller.py)

نوع: محتوى تعليمي

Complete code (controller.py)

نوع: محتوى تعليمي

import time while node.loop(): if node.bufferSize() > 0: message = node.read() node.print(message) time.sleep(2) node.print("") time.sleep(0.01)

نوع: FIGURE_REFERENCE

شكل 8.16: الشبكة بشكلها النهائي

🔍 عناصر مرئية

A network diagram illustrating a controller managing connections between different nodes. It shows a central controller ('المتحكم') connected to a 'الوسيط' (middleman/intermediary), which in turn connects to a 'الطرفية' (terminal/endpoint) represented by a flame icon. There are also nodes with an information icon ('i') and an alert icon ('!'). The connections are shown with dashed lines and arrows indicating data flow or control signals. Overlapping pink circles suggest communication ranges or influence zones.

📄 النص الكامل للصفحة

المقطع البرمجي النهائي (controller.py) Complete code (controller.py) import time while node.loop(): if node.bufferSize() > 0: message = node.read() node.print(message) time.sleep(2) node.print("") time.sleep(0.01) شكل 8.16: الشبكة بشكلها النهائي --- VISUAL CONTEXT --- **DIAGRAM**: Untitled Description: A network diagram illustrating a controller managing connections between different nodes. It shows a central controller ('المتحكم') connected to a 'الوسيط' (middleman/intermediary), which in turn connects to a 'الطرفية' (terminal/endpoint) represented by a flame icon. There are also nodes with an information icon ('i') and an alert icon ('!'). The connections are shown with dashed lines and arrows indicating data flow or control signals. Overlapping pink circles suggest communication ranges or influence zones. Data: Illustrates a network topology with a central controller, an intermediary, and endpoints, along with nodes indicating information and alerts. Context: This diagram visually represents a network architecture, likely related to control systems or IoT, showing how a central controller communicates with various network components.

🎴 بطاقات تعليمية للمراجعة

عدد البطاقات: 3 بطاقة لهذه الصفحة

في برمجة المتحكمات (Controllers) ضمن أنظمة إنترنت الأشياء، ما هو الغرض الأساسي من استخدام حلقة `while` مع الشرط `node.loop()` كما في المثال البرمجي؟

  • أ) لتهيئة العقدة (Node) مرة واحدة فقط عند بدء التشغيل.
  • ب) لضمان استمرارية عمل المتحكم ومراقبة البيانات الواردة باستمرار (Continuous Operation).
  • ج) لإرسال أمر إيقاف تشغيل لجميع العقد المتصلة.
  • د) لتنفيذ عملية حسابية معقدة لمرة واحدة.

الإجابة الصحيحة: b

الإجابة: لضمان استمرارية عمل المتحكم ومراقبة البيانات الواردة باستمرار (Continuous Operation).

الشرح: 1. وظيفة المتحكم الأساسية هي المراقبة والتحكم المستمر. 2. الشرط `node.loop()` يُرجع `True` طالما يجب أن يستمر تشغيل المتحكم. 3. حلقة `while` تضمن تكرار تنفيذ الكود داخلها باستمرار. 4. هذا يسمح للمتحكم بقراءة الرسائل من العقد الأخرى ومعالجتها بشكل متكرر.

تلميح: فكر في وظيفة المتحكم الأساسية في النظام. هل يعمل مرة واحدة أم بشكل مستمر؟

التصنيف: مفهوم جوهري | المستوى: متوسط

في سياق برمجة المتحكمات، ما هي الوظيفة المنطقية للشرط `if node.bufferSize() > 0:` داخل الحلقة الرئيسية؟

  • أ) لحساب سعة التخزين الكلية المتاحة للعقدة.
  • ب) لإعادة ضبط مؤشر ذاكرة المخزن المؤقت إلى الصفر.
  • ج) للتحقق مما إذا كانت هناك رسائل أو بيانات جديدة في ذاكرة المخزن المؤقت (Buffer) للعقدة، قبل محاولة قراءتها.
  • د) لمقارنة سرعة إرسال البيانات مع سرعة استقبالها.

الإجابة الصحيحة: c

الإجابة: للتحقق مما إذا كانت هناك رسائل أو بيانات جديدة في ذاكرة المخزن المؤقت (Buffer) للعقدة، قبل محاولة قراءتها.

الشرح: 1. `node.bufferSize()` تُرجع عدد البايتات أو الرسائل الموجودة في ذاكرة المخزن المؤقت (Buffer) للعقدة. 2. الشرط `> 0` يتحقق مما إذا كان هناك أي بيانات جديدة. 3. هذا يمنع محاولة قراءة من مخزن مؤقت فارغ، مما قد يسبب أخطاء أو انتظاراً غير ضروري. 4. يتم تنفيذ كود قراءة ومعالجة الرسالة فقط عند توفر البيانات.

تلميح: ماذا يعني وجود حجم (Size) أكبر من الصفر للمخزن المؤقت؟

التصنيف: مفهوم جوهري | المستوى: سهل

في بنية الشبكة الموضحة (شكل 8.16)، ما هو الدور الذي يلعبه المكون المسمى 'الوسيط'؟

  • أ) هو المتحكم الرئيسي الذي يتخذ جميع القرارات في الشبكة.
  • ب) يعمل كحلقة وصل أو جسر (Bridge) بين المتحكم المركزي والعقد الطرفية، مما قد يسهم في إدارة الاتصالات أو ترجمة البروتوكولات.
  • ج) هو جهاز تخزين لحفظ جميع البيانات التاريخية للشبكة.
  • د) هو واجهة المستخدم الوحيدة للتفاعل مع النظام.

الإجابة الصحيحة: b

الإجابة: يعمل كحلقة وصل أو جسر (Bridge) بين المتحكم المركزي والعقد الطرفية، مما قد يسهم في إدارة الاتصالات أو ترجمة البروتوكولات.

الشرح: 1. يظهر الرسم البياني بنية هرمية أو متعددة الطبقات. 2. 'المتحكم' هو المكون المركزي. 3. 'الوسيط' متصل مباشرة بالمتحكم من جهة وبـ'الطرفية' من جهة أخرى. 4. هذا الموقع يشير إلى دوره كوسيط أو معالج للاتصال، مما يخفف العبء عن المتحكم المركزي أو ينظم تدفق البيانات.

تلميح: انظر إلى موقعه في الرسم البياني. بين ماذا وماذا يتصل؟

التصنيف: مفهوم جوهري | المستوى: متوسط