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

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

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

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

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

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

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

📝 ملخص الصفحة

📚 إنشاء مقطع برمجي في محرر بايثون (CupCarbon)

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

دالة `time.sleep()`: دالة مدمجة في مكتبة `time` في بايثون تستخدم لتأخير تنفيذ البرنامج لعدد محدد من الثواني.

دالة `node.print()`: دالة تستخدم في بيئة CupCarbon لطباعة رسالة نصية في وحدة التحكم (Console) الخاصة بالعقدة.

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

```markmap

تأثير إنترنت الأشياء على الصناعة

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

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

#### خطوات التنزيل والتشغيل

##### 1. التنزيل

  • افتح المتصفح
  • نزّل الملف من الرابط: http://binary-academy.com/dnld/KSA/IOT2/BinaryCupCarbon.zip
##### 2. الاستخراج

  • ابحث عن الملف في مجلد "التنزيلات" (Downloads)
  • اضغط بزر الفأرة الأيمن واختر "استخراج الكل" (Extract All)
  • اختر سطح المكتب كوجهة للاستخراج
##### 3. التشغيل

  • ابحث عن المجلد المستخرج على سطح المكتب وافتحه
  • اضغط ضغطًا مزدوجًا على ملف CupCarbon.jar لتشغيل البرنامج
##### 4. المتطلبات الأساسية

  • تأكد من تثبيت جافا (Java) على جهازك
#### النافذة الرئيسية للبرنامج

##### مكونات الواجهة

  • النافذة الرئيسية (تحتوي على الخريطة ووحدة التحكم)
  • شريط القوائم
  • شريط الأدوات
  • قائمة المتغيرات
  • الخريطة
  • شريط الحالة
  • وحدة التحكم (Console)
#### إنشاء مشروع محاكاة جديد

##### الخطوة 1: بدء مشروع جديد

  • اضغط على أيقونة "New Project" (مشروع جديد) من شريط الأدوات.
##### الخطوة 2: حفظ المشروع

  • اختر الموقع المراد حفظ المشروع فيه.
  • اكتب اسم الملف: "My First CupCarbon Simulation".
##### الخطوة 3: تأكيد الحفظ

  • اضغط على زر "Save" (حفظ).
#### إضافة عقدة إلى المشروع

##### خطوات إضافة العقدة

  • اضغط على IoT Node (عقدة إنترنت أشياء) من شريط الأدوات.
  • اضغط على الخريطة في المكان المطلوب لإضافة العقدة.
  • اضغط على All (الكل) من شريط الأدوات (الحالة).
  • اضغط على Esc في لوحة المفاتيح للخروج من وضع الإضافة.
##### وصف العقدة

  • تُعرض في العقدة المُعرّف الخاص بها.
  • تحتوي على دائرة داخلية لتشغيلها.
  • لها دائرة خارجية تشير إلى نصف قطر المستشعر للكشف.
  • لها دائرة خارجية أخرى للكشف عن الأجهزة اللاسلكية الأخرى.
#### إنشاء المقطع البرمجي للعقدة

##### مثال مقطع برمجي بسيط

  • الغرض: طباعة رسالتين ("hello" و "world") بالتناوب.
  • الكود:
import time

while node.loop():

node.print("hello")

time.sleep(1)

node.print("world")

time.sleep(1)

##### ملاحظة مهمة

  • تأكد من استخدام المسافة البادئة المناسبة داخل التكرار (Loop) حتى يعمل المقطع البرمجي بشكل صحيح.
#### خطوات إنشاء المقطع البرمجي في المحرر

##### 1. فتح محرر البايثون

  • اضغط على Python (البايثون) من شريط الأدوات.
##### 2. كتابة الكود

  • اكتب التعليمات البرمجية بلغة بايثون في المحرر النصي.
##### 3. تسمية الملف

  • اكتب "hello" في حقل File name (اسم الملف).
##### 4. حفظ الملف

  • اضغط على Save (حفظ).
##### 5. إغلاق المحرر

  • أغلق نافذة محرر البايثون.
```

نقاط مهمة

  • يجب تضمين مكتبة `time` لاستخدام دالة التأخير `sleep`.
  • يوضع الكود داخل حلقة `while node.loop():` لتنفيذه بشكل متكرر.
  • تأخذ دالة `print` الرسالة النصية كمعامل، مثل `node.print("hello")`.
  • تأخذ دالة `sleep` عدد الثواني (رقم موجب) كمعامل، مثل `time.sleep(1)`.
  • يتم حفظ الملف البرمجي باسم معين (مثل "hello") قبل إغلاق المحرر.

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

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

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

يجب عليك أولاً تضمين مكتبة time في البايثون، ستستخدم دالة sleep المدمجة لتأخير عملية الطباعة. يجب تضمين التعليمات البرمجية للمقعدة داخل الكر (loop). يمكن للمقعدة الطباعة الذاتية باستخدام (node.print)، ويمكنها "السكون" - أي لا تفعل شيئًا - باستخدام (time.sleep) تأخذ دالة (print) كمعامل الرسالة المراد طباعتها على شكل نص، على سبيل المثال "hello world" (node.print). وتأخذ دالة sleep كمعامل عدد موجب يشير لعدد الثواني التي تريدها للمقعدة ليتم التأخير الزمني، على سبيل المثال "world"، وتنتظر مرة أخرى لمدة ثانية واحدة، ثم تبدأ مرة أخرى من البداية بلا توقف ما لم يتم إنهاء المحاكاة.

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

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

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

1. اضغط على Python (البايثون) من شريط الأدوات.

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

2. اكتب التعليمات البرمجية بلغة بايثون في المحرر النصي.

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

3. اكتب "hello" في حقل File name (اسم الملف).

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

4. اضغط على Save (حفظ).

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

5. أغلق نافذة محرر البايثون.

نوع: FIGURE_REFERENCE

شكل 8.9: محرر البايثون

🔍 عناصر مرئية

CupCarbon IoT 5.0 [C:\CupCarbon Projects\My Firs

A software interface window labeled 'CupCarbon IoT 5.0'. It has a menu bar with 'Project', 'Edit', 'Add', 'Display', 'Selection', 'Solver'. Below the menu bar are several icons. A left pane shows a hierarchical tree structure with items like 'Network Information', 'Devices & Objects', 'Device Parameters', 'Radio Parameters', 'Marker Parameters'. A number '1' is circled in blue next to 'Marker Parameters'.

Python Editor

A software window labeled 'Python Editor'. It contains fields for 'File name' and 'Script List'. The 'File name' field has 'hello' typed into it, with a circled number '3' next to it. A 'Save' button is visible on the right side, with a circled number '4' next to it. The main area is a code editor showing Python code.

The Python code displayed in the editor includes: import time while node.loop(): : node.print ("hello") time.sleep (1) node.print ("world") time.sleep (1) A circled number '2' is placed to the right of the code block.

A button labeled 'Save' with a circled number '4' next to it.

A close button (X icon) with a circled number '5' next to it.

The text 'شكل 8.9: محرر البايثون' which translates to 'Figure 8.9: Python Editor'. Below this is the Ministry of Education logo and text.

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

يجب عليك أولاً تضمين مكتبة time في البايثون، ستستخدم دالة sleep المدمجة لتأخير عملية الطباعة. يجب تضمين التعليمات البرمجية للمقعدة داخل الكر (loop). يمكن للمقعدة الطباعة الذاتية باستخدام (node.print)، ويمكنها "السكون" - أي لا تفعل شيئًا - باستخدام (time.sleep) تأخذ دالة (print) كمعامل الرسالة المراد طباعتها على شكل نص، على سبيل المثال "hello world" (node.print). وتأخذ دالة sleep كمعامل عدد موجب يشير لعدد الثواني التي تريدها للمقعدة ليتم التأخير الزمني، على سبيل المثال "world"، وتنتظر مرة أخرى لمدة ثانية واحدة، ثم تبدأ مرة أخرى من البداية بلا توقف ما لم يتم إنهاء المحاكاة. لإنشاء المقطع البرمجي: 1. اضغط على Python (البايثون) من شريط الأدوات. 2. اكتب التعليمات البرمجية بلغة بايثون في المحرر النصي. 3. اكتب "hello" في حقل File name (اسم الملف). 4. اضغط على Save (حفظ). 5. أغلق نافذة محرر البايثون. شكل 8.9: محرر البايثون --- VISUAL CONTEXT --- **DIAGRAM**: CupCarbon IoT 5.0 [C:\CupCarbon Projects\My Firs Description: A software interface window labeled 'CupCarbon IoT 5.0'. It has a menu bar with 'Project', 'Edit', 'Add', 'Display', 'Selection', 'Solver'. Below the menu bar are several icons. A left pane shows a hierarchical tree structure with items like 'Network Information', 'Devices & Objects', 'Device Parameters', 'Radio Parameters', 'Marker Parameters'. A number '1' is circled in blue next to 'Marker Parameters'. Context: This visual represents the main interface of the CupCarbon IoT software, likely used for setting up or managing devices and parameters. **DIAGRAM**: Python Editor Description: A software window labeled 'Python Editor'. It contains fields for 'File name' and 'Script List'. The 'File name' field has 'hello' typed into it, with a circled number '3' next to it. A 'Save' button is visible on the right side, with a circled number '4' next to it. The main area is a code editor showing Python code. Context: This visual shows the Python editor where code is written. The 'File name' field and 'Save' button are highlighted as steps in the process. **DIAGRAM**: Untitled Description: The Python code displayed in the editor includes: import time while node.loop(): : node.print ("hello") time.sleep (1) node.print ("world") time.sleep (1) A circled number '2' is placed to the right of the code block. Context: This is the actual Python code being written, demonstrating the use of 'time.sleep' for delays within a loop. **DIAGRAM**: Untitled Description: A button labeled 'Save' with a circled number '4' next to it. Context: Highlights the 'Save' button as a step in the process. **DIAGRAM**: Untitled Description: A close button (X icon) with a circled number '5' next to it. Context: Indicates the action to close the editor window. **FIGURE**: Untitled Description: The text 'شكل 8.9: محرر البايثون' which translates to 'Figure 8.9: Python Editor'. Below this is the Ministry of Education logo and text. Context: Caption for the visual elements on the page, identifying it as Figure 8.9 related to the Python Editor.

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

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

ما الغرض الرئيسي من استخدام الدالة `time.sleep()` في برمجة محاكاة إنترنت الأشياء باستخدام CupCarbon؟

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

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

الإجابة: تأخير تنفيذ البرنامج لفترة زمنية محددة (بالثواني) لمحاكاة فترات الانتظار أو التوقيت في أنظمة إنترنت الأشياء.

الشرح: 1. تُستخدم `time.sleep()` في لغة Python. 2. تأخذ معاملًا رقميًا يمثل عدد الثواني. 3. وظيفتها هي إيقاف تنفيذ البرنامج (أو الخيط) مؤقتًا للمدة المحددة. 4. في سياق محاكاة إنترنت الأشياء، تُستخدم لمحاكاة فترات الانتظار بين إرسال البيانات أو استشعار الأحداث.

تلميح: تتعلق هذه الدالة بإدارة الوقت في المحاكاة.

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

ما الوظيفة الأساسية للدالة `node.print()` في برمجة محاكاة إنترنت الأشياء باستخدام CupCarbon؟

  • أ) استقبال البيانات من المستشعرات الخارجية المتصلة بالعقدة.
  • ب) تشغيل وإيقاف الحلقة البرمجية الرئيسية (loop) للعقدة.
  • ج) طباعة رسالة نصية (مخرجات) من العقدة (node) المحاكاة، مثل رسائل التتبع أو بيانات الاستشعار.
  • د) تحديث المعلمات اللاسلكية (Radio Parameters) للعقدة تلقائيًا.

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

الإجابة: طباعة رسالة نصية (مخرجات) من العقدة (node) المحاكاة، مثل رسائل التتبع أو بيانات الاستشعار.

الشرح: 1. الدالة `node.print()` هي دالة مخصصة في بيئة CupCarbon. 2. وظيفتها هي إخراج نص إلى واجهة المحاكاة أو السجل (log). 3. تُستخدم عادةً لعرض رسائل مثل "hello" أو "world" أو قيم البيانات. 4. تساعد في تتبع سلوك العقدة وتصحيح الأخطاء (debugging).

تلميح: تتعلق هذه الدالة بإخراج البيانات من الجهاز المحاكى.

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

ما الهيكل البرمجي الذي يجب تضمين تعليمات `time.sleep()` و `node.print()` داخله لتنفيذها بشكل متكرر في محاكاة CupCarbon؟

  • أ) داخل دالة (function) تُستدعى مرة واحدة فقط عند بدء التشغيل.
  • ب) داخل عبارة شرطية (if statement) للتحقق من حالة البطارية.
  • ج) داخل حلقة (loop) مثل `while node.loop():` لتنفيذ التعليمات بشكل متكرر ما لم يتم إنهاء المحاكاة.
  • د) داخل قسم التعليقات (comments) لتوثيق الكود فقط.

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

الإجابة: داخل حلقة (loop) مثل `while node.loop():` لتنفيذ التعليمات بشكل متكرر ما لم يتم إنهاء المحاكاة.

الشرح: 1. الهيكل المناسب هو الحلقة (loop). 2. في مثال CupCarbon، تُستخدم الحلقة `while node.loop():`. 3. توضع التعليمات المراد تكرارها (مثل `node.print()` و `time.sleep()`) داخل مسافة بادئة (indentation) تحت سطر الحلقة. 4. هذا يضمن استمرار تنفيذ التسلسل (مثل طباعة "hello"، الانتظار، طباعة "world"، الانتظار) إلى ما لا نهاية خلال وقت المحاكاة.

تلميح: يسمح هذا الهيكل بتكرار مجموعة من الأوامر.

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

أي من التسلسلات التالية يمثل الخطوات الصحيحة لإنشاء وحفظ مقطع برمجي في محرر بايثون بـ CupCarbon كما هو موضح؟

  • أ) 1. كتابة الكود. 2. تشغيل المحاكاة. 3. حفظ النتائج. 4. إغلاق البرنامج.
  • ب) 1. الضغط على Save. 2. كتابة الكود. 3. تسمية الملف. 4. فتح محرر Python.
  • ج) 1. الضغط على Python من شريط الأدوات. 2. كتابة الكود في المحرر. 3. كتابة اسم للملف. 4. الضغط على Save. 5. إغلاق نافذة المحرر.
  • د) 1. إغلاق المحرر. 2. فتح مشروع جديد. 3. إضافة عقدة. 4. كتابة الكود.

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

الإجابة: 1. الضغط على Python من شريط الأدوات. 2. كتابة الكود في المحرر. 3. كتابة اسم للملف. 4. الضغط على Save. 5. إغلاق نافذة المحرر.

الشرح: الخطوات المنهجية هي: 1. اختيار لغة البرمجة (Python). 2. كتابة الكود في المحرر النصي المخصص. 3. إعطاء الملف اسماً مميزاً في حقل File name. 4. حفظ الملف باستخدام زر Save. 5. الخروج من نافذة المحرر بعد الانتهاء. هذا التسلسل يضمن حفظ العمل بشكل صحيح.

تلميح: ركز على التسلسل المنطقي: فتح، كتابة، تسمية، حفظ، إغلاق.

التصنيف: صيغة/خطوات | المستوى: متوسط