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

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

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

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

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

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

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

📝 ملخص الصفحة

📚 تشغيل محاكاة إنترنت الأشياء

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

تشغيل المحاكاة: الضغط على زر "Run IoT Simulation" من شريط الأدوات لبدء محاكاة سيناريو إنترنت الأشياء بعد إعداد المقاطع البرمجية.

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

```markmap

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

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

مشروع محاكاة: نظام تخزين مصنع آلي (تابع)

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

##### المكتبات والتهيئة

  • استيراد مكتبة `time`.
  • طباعة نص فارغ `node.print("")` لمسح النصوص السابقة.
##### برمجة حاويات المواد القابلة للتلف

  • بث رسالة تحتوي على:
- المحتويات: "CONSUMABLES".

- معرف الحاوية (ID) بعد تحويله إلى نص.

- فصل المعلومات بمسافة.

  • استخدام دالة `node.send()` للإرسال.
##### استقبال الأوامر والاستجابة

  • قراءة الرسالة الواردة `node.read()`.
  • إذا كانت الرسالة "1": طباعة "PICK" (الالتقاط).
  • إذا كانت الرسالة "2": طباعة "DO NOT PICK" (لا تلتقط).
  • السكون لمدة ثانية `time.sleep(1)`.
##### برمجة حاويات المواد طويلة الأمد

  • بث رسالة تحتوي على:
- المحتويات: "NONCONSUMABLES".

- معرف الحاوية (ID) بعد تحويله إلى نص.

- فصل المعلومات بمسافة.

  • استخدام دالة `node.send()` للإرسال.
##### استقبال الأوامر والاستجابة

  • قراءة الرسالة الواردة `node.read()`.
  • إذا كانت الرسالة "1": طباعة "PICK" (الالتقاط).
  • إذا كانت الرسالة "2": طباعة "DO NOT PICK" (لا تلتقط).
  • السكون لمدة ثانية `time.sleep(1)`.
##### برمجة مركبة التفتيش

###### تهيئة وإدارة البطارية

  • `node.battery.setEMax(100.0)`: ضبط أقصى طاقة.
  • `node.battery.init()`: شحن البطارية إلى الحد الأقصى.
  • `node.battery.consume(1.0)`: محاكاة استهلاك الطاقة.
###### اكتشاف محطات الشحن

  • `node.isSensorDetecting()`: التحقق من وجود محطة شحن في النطاق.
  • عند الاكتشاف: استخدام `node.battery.init()` لإعادة الشحن.
###### معالجة رسائل الحاويات والرد

  • قراءة جميع الرسائل في المخزن المؤقت: `for n in range(node.bufferSize())`.
  • فصل نص الرسالة: `recvMsg.split()`.
  • الرد على الحاوية المرسلة:
- إذا كان المحتوى "CONSUMABLES": إرسال النص "1".

- إذا كان المحتوى "NONCONSUMABLES": إرسال النص "2".

  • `time.sleep(0.2)`: السكون لمدة 200 مللي ثانية لتحقيق استجابة أفضل.
###### المقطع البرمجي النهائي

  • يدمج المقطع الكود الخاص بإدارة البطارية واكتشاف الشحن ومعالجة الرسائل في حلقة `while` رئيسية.
  • يتم وضع كود الرد على الرسائل (`if/elif`) داخل الحلقة الرئيسية بعد قراءة كل رسالة.
###### خطوات حفظ المقطع البرمجي

  • فتح محرر بايثون (Python Editor).
  • كتابة التعليمات البرمجية في الحقل النصي.
  • حفظ الملف باسم `inspector.py`.
  • إغلاق نافذة المحرر.
#### إدراج المقطع البرمجي في العقدة

##### الوصول إلى معاملات الجهاز

  • الضغط على علامة تبويب Device Parameters (معاملات الجهاز) في قائمة Parameters (المعاملات).
##### تحديد ملف المقطع البرمجي

  • الضغط على صندوق Script file (ملف المقطع البرمجي).
##### اختيار الملف وإدراجه

  • من القائمة المنسدلة، اختيار Inspector.py.
  • الضغط على الزر الموجود على اليمين لإدراج المقطع البرمجي في العقدة.
##### عرض معلومات الشبكة

  • الضغط على Display > Display/Hide Battery/Buffer levels (عرض / إخفاء مستويات البطارية / المخزن المؤقت).
##### حفظ المشروع

  • الضغط على Save Project (حفظ المشروع) من Toolbar (شريط الأدوات).
#### تطبيق المقاطع البرمجية على جميع العقود الحاوية

  • إنشاء المقاطع البرمجية بنفس الطريقة.
  • تطبيق المقطع البرمجي الأول على بعض العقود الحاوية.
  • تطبيق المقطع البرمجي الثاني على بقية العقود الحاوية.
  • التأكد من احتواء جميع عقود الحاوية على أحد هذين المقطعين البرمجيين.
#### تشغيل المحاكاة

  • عند الانتهاء من إعداد المقاطع البرمجية، الضغط على زر Run IoT Simulation (تشغيل محاكاة إنترنت الأشياء) من شريط الأدوات لبدء المحاكاة.
##### شكل 8.28: تشغيل المحاكاة

  • رسم تخطيطي لمحاكاة الشبكة يوضح:
- عقدة المفتش (Inspector IOT1) مع بيانات البطارية (100) والمخزن المؤقت (0102400).

- عقد متعددة تمثل مواد قابلة للتلف (consumables) ومواد طويلة الأمد (nonconsumables) تحمل أرقام IOT2 إلى IOT9.

- نطاقات دائرية تشير إلى مناطق التغطية أو الاتصال.

- خطوط منقطة تصل بين العقد، تمثل مسارات أو اتصالات.

- عرضان متميزان للمحاكاة (واحد فوق الآخر) يوضحان حركة أو حالة العناصر.

```

نقاط مهمة

  • الخطوة النهائية بعد برمجة جميع العقود الحاوية هي تشغيل المحاكاة بالضغط على الزر المخصص.
  • يوضح الشكل المرافق (8.28) حالة المحاكاة، حيث تظهر العقد (أجهزة الاستشعار/الحاويات) واتصالاتها وحالة البطارية والمخزن المؤقت للمفتش (IOT1).

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

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

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

أنشئ المقاطع البرمجية بنفس الطريقة، وطبق المقطع البرمجي الأول على بعض العقود الحاوية، والتي بقيتها، بحيث تحتوي جميع عقود الحاوية على أحد هذين المقطعين.

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

عند الانتهاء، يمكنك الضغط على زر Run IoT Simulation (تشغيل محاكاة إنترنت الأشياء) من شريط الأدوات لبدء المحاكاة.

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

شكل 8.28 : تشغيل المحاكاة

🔍 عناصر مرئية

شكل 8.28 : تشغيل المحاكاة

A network simulation diagram showing interconnected nodes representing devices and consumables. Two distinct simulation states are depicted, one above the other, illustrating the movement or status of these elements. Roads are indicated by dotted lines with nodes at intervals. Circular shaded areas represent communication or detection ranges. Labels include device types (e.g., 'inspector', 'nonconsumables', 'consumables'), device IDs (e.g., 'IOT1', 'IOT5'), and status indicators (e.g., '[0]', 'DO NOT PICK', 'PICK', 'Battery: 100', 'Buffer: 0102400').

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

أنشئ المقاطع البرمجية بنفس الطريقة، وطبق المقطع البرمجي الأول على بعض العقود الحاوية، والتي بقيتها، بحيث تحتوي جميع عقود الحاوية على أحد هذين المقطعين. عند الانتهاء، يمكنك الضغط على زر Run IoT Simulation (تشغيل محاكاة إنترنت الأشياء) من شريط الأدوات لبدء المحاكاة. شكل 8.28 : تشغيل المحاكاة --- VISUAL CONTEXT --- **DIAGRAM**: شكل 8.28 : تشغيل المحاكاة Description: A network simulation diagram showing interconnected nodes representing devices and consumables. Two distinct simulation states are depicted, one above the other, illustrating the movement or status of these elements. Roads are indicated by dotted lines with nodes at intervals. Circular shaded areas represent communication or detection ranges. Labels include device types (e.g., 'inspector', 'nonconsumables', 'consumables'), device IDs (e.g., 'IOT1', 'IOT5'), and status indicators (e.g., '[0]', 'DO NOT PICK', 'PICK', 'Battery: 100', 'Buffer: 0102400'). Data: Visual representation of an IoT simulation scenario, showing device placement, communication ranges, and potential interaction points. Key Values: IOT1 (inspector), IOT2-IOT9 (devices/consumables), Battery: 100, Buffer: 0102400 Context: Illustrates the setup and operation of an IoT simulation, likely demonstrating device interaction, data flow, or task execution within a simulated environment.