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

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

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

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

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

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

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

📝 ملخص الصفحة

📚 تمارين برمجة تطبيقات الويب

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

برمجة تطبيقات الويب: (الغرض منها مذكور في سؤال التمرين الأول).

واجهة برمجة تطبيقات الويب (Web API): (أهمية اسم المستخدم وكلمة المرور للاتصال بها مذكورة في سؤال التمرين الثاني).

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

```markmap

تطوير وبرمجة الأردوينو

مشروع الحديقة الذكية بالأردوينو

المكونات المطلوبة

  • مستشعر الحرارة (Temperature Sensor)

توصيل المكونات

#### توصيل مستشعر درجة الحرارة

  • توصيل طرف Power (الطاقة) للمستشعر بالعمود الموجب في لوحة التوصيل (سلك أحمر).
  • توصيل طرف Vout (الجهد) للمستشعر بالطرف التناظري A2 في الأردوينو (سلك أخضر).
  • توصيل طرف GND (الأرضي) للمستشعر بالعمود السالب في لوحة التوصيل (سلك أسود).
  • #### توصيل مستشعر رطوبة التربة

  • توصيل طرف Power (الطاقة) للمستشعر بالعمود الموجب في لوحة التوصيل (سلك أحمر).
  • توصيل طرف GND (الأرضي) للمستشعر بالعمود السالب في لوحة التوصيل (سلك أسود).
  • توصيل طرف Signal (الإشارة) للمستشعر بالطرف التناظري A4 في الأردوينو (سلك أخضر).
  • #### الدائرة بصورتها النهائية

    • توصيل الأطراف بالمكونات
    • المكونات المتصلة:
    - مستشعر رطوبة التربة (Soil Moisture Sensor)

    - ترانزستور (TMP)

    - محرك (Motor)

    #### الدائرة المادية (Physical Circuit)

    • صورة الدائرة بمكوناتها المادية
    • المكونات الظاهرة:
    - مستشعر رطوبة التربة (Capacitive Soil Moisture Sensor v1.2)

    - لوحة الأردوينو (Arduino Uno R3)

    - لوحة التوصيل (Breadboard)

    - محرك التيار المستمر (DC Motor)

    برمجة المكونات

    #### الخطوات البرمجية

  • استدعاء المكتبات المطلوبة (pyfirmata, time)
  • تكوين منفذ الاتصال والأطراف (COM4، محرك DC، مستشعر درجة الحرارة، مستشعر الرطوبة)
  • إعداد الاتصال بين PyFirmata ولوحة الأردوينو
  • تنفيذ دالة التحكم في محرك التيار المستمر (water_plant)
  • #### استكشاف الأخطاء وإصلاحها

    ##### التحقق من صحة بيانات المستشعر

    • استخدام حلقة تكرار لا نهائية (`while True`)
    • قراءة القيم غير المعالجة من الأطراف التناظرية
    • إضافة شرط `if` للتحقق من أن القيم ليست `None`
    ##### معالجة وتحويل البيانات

    • تحويل قيمة درجة الحرارة إلى درجات مئوية
    • تحويل مستوى الرطوبة إلى نسبة مئوية
    ##### إدخال شروط الري

    • كتابة شرط التحكم في الري:
    - إذا كانت `(temperature >= 24.0) and (moisture <= 40.0)`

    - استدعاء دالة `water_plant(dc_motor_pin)`

    ##### عرض التقارير

    • طباعة تقرير درجة الحرارة: `"Temperature : " + str(temperature) + " C"`
    • طباعة تقرير الرطوبة: `"Moisture : " + str(round(moisture, 2)) + "%"`
    • إضافة `time.sleep(10)` في نهاية الحلقة

    التفاعل مع خدمات الويب السحابية

    #### تطوير المشروع

    • إرسال البيانات عبر خدمة الويب السحابية من منصة Binary IoT Cloud
    #### عرض البيانات على المنصة

    • عرض البيانات البيئية المجمعة بواسطة الأردوينو
    • مثال: جدول ورسوم بيانية لقراءات درجة الحرارة والرطوبة
    ##### بيانات مثال من المنصة

    • درجة الحرارة: تتراوح بين 25.36°C و 25.43°C
    • الرطوبة: تتراوح بين 39.39% و 42.84%
    #### التسجيل في المنصة السحابية

    ##### خطوات التسجيل

  • الانتقال إلى موقع المنصة: https://ksa-iot.azurewebsites.net/Login.aspx
  • الضغط على "تسجيل" من صفحة الترحيب.
  • تعبئة بيانات الحساب:
  • - اسم المستخدم (Username)

    - كلمة المرور (Password)

    - رقم التعريف الشخصي (PIN): 174563

  • الضغط على زر "Register" (تسجيل).
  • ##### واجهة التسجيل (شكل 4.26)

    • تحتوي على رمز QR للوصول.
    • نموذج يحتوي على حقول:
    - Username

    - Password

    - Confirm Password

    - Pin

    - زر Register

    • أرقام مرقمة (1-5) تشير إلى تسلسل الإجراءات.
    #### استدعاء واجهة برمجة تطبيقات الويب (Web API) باستخدام البايثون

    ##### مفهوم Web API و JSON

    • Web API: نقطة وصل للتواصل بين برنامج وخادم على الإنترنت.
    • JSON: تنسيق مفتوح لنقل البيانات (مفتاح - قيمة).
    ##### خطوات البرمجة

  • تثبيت حزمة `requests`:
  • ```

    pip install requests

    ```

  • استيراد المكتبة: `import requests`
  • إرسال طلب GET إلى رابط API مع اسم المستخدم وكلمة المرور.
  • طباعة الاستجابة.
  • #### تمارين

    ##### التمرين 1

    • ما الغرض من استخدام برمجة تطبيقات الويب؟
    ##### التمرين 2

    • لماذا يُعد اسم المستخدم وكلمة المرور ضروريتين للاتصال بواجهة برمجة تطبيقات الويب؟ اذكر سببين لذلك.
    ```

    نقاط مهمة

    • تحتوي هذه الصفحة على تمرينين قصيرين حول برمجة تطبيقات الويب.
    • التمرين الأول يسأل عن الغرض من استخدام برمجة تطبيقات الويب.
    • التمرين الثاني يسأل عن سببين لضرورة اسم المستخدم وكلمة المرور للاتصال بواجهة برمجة تطبيقات الويب (Web API).

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

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

    1

    نوع: QUESTION_HOMEWORK

    ما الغرض من استخدام برمجة تطبيقات الويب؟

    2

    نوع: QUESTION_HOMEWORK

    لماذا يُعد اسم المستخدم وكلمة المرور ضروريتين للاتصال بواجهة برمجة تطبيقات الويب؟ اذكر سببين لذلك.

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

    --- SECTION: 1 --- ما الغرض من استخدام برمجة تطبيقات الويب؟ --- SECTION: 2 --- لماذا يُعد اسم المستخدم وكلمة المرور ضروريتين للاتصال بواجهة برمجة تطبيقات الويب؟ اذكر سببين لذلك.

    ✅ حلول أسئلة الكتاب الرسمية

    عدد الأسئلة: 3

    سؤال س1:: ما الغرض من استخدام واجهة برمجة تطبيقات الويب؟

    الإجابة: س1: تمكين التطبيقات/الأجهزة من التواصل مع خدمات الويب عبر الإنترنت لإرسال الطلبات واستقبال البيانات (مثل JSON) واستخدام وظائف وخدمات النظام بشكل منظم.

    خطوات الحل:

    1. **الشرح:** لنفهم هذا السؤال، واجهة برمجة تطبيقات الويب (Web API) هي وسيلة تسمح لبرنامج أو تطبيق ما بالتواصل مع تطبيق آخر عبر الإنترنت. الفكرة هنا هي أن هذه الواجهة توفر قواعد وطرقاً محددة لهذا التواصل. عندما نستخدم هذه الواجهة، فإن الغرض الرئيسي هو أن نتمكن من جعل تطبيقنا (مثل تطبيق على الهاتف أو موقع ويب) يطلب معلومات أو يرسل بيانات إلى خدمة ويب موجودة على خادم بعيد. على سبيل المثال، قد يطلب تطبيق الطقس بيانات درجة الحرارة من خدمة الطقس عبر الإنترنت. هذا التواصل يتم بطريقة منظمة وآمنة، حيث تُرسل الطلبات وتُستقبل الردود عادةً بتنسيقات قياسية مثل JSON، مما يسهل على التطبيقات المختلفة فهم البيانات وتبادلها. لذلك، الإجابة هي: **تمكين التطبيقات/الأجهزة من التواصل مع خدمات الويب عبر الإنترنت لإرسال الطلبات واستقبال البيانات (مثل JSON) واستخدام وظائف وخدمات النظام بشكل منظم.**

    سؤال س2: 1): لماذا يُعدُّ اسم المستخدم وكلمة المرور ضروريان للاتصال بواجهة برمجة تطبيقات الويب؟ اذكر سببين لذلك.

    الإجابة: س2: 1) للتحقق من هوية المستخدم/التطبيق (المصادقة Authentication).

    خطوات الحل:

    1. **الشرح:** في هذا السؤال، نبحث عن سببين لضرورة اسم المستخدم وكلمة المرور عند الاتصال بواجهة برمجة تطبيقات الويب. الفكرة هنا هي أن هذه الواجهات غالباً ما تتعامل مع بيانات حساسة أو خدمات محدودة، لذا تحتاج إلى آليات أمان. السبب الأول هو التحقق من الهوية، أي التأكد من أن الشخص أو التطبيق الذي يحاول الاتصال هو من يدعي أنه. هذا يُسمى المصادقة (Authentication). بدون اسم المستخدم وكلمة المرور، قد يحاول أي شخص الوصول إلى الخدمة، مما يشكل خطراً على الأمان. لذلك، الإجابة هي: **للتحقق من هوية المستخدم/التطبيق (المصادقة Authentication).**

    سؤال س2: 2): لماذا يُعدُّ اسم المستخدم وكلمة المرور ضروريان للاتصال بواجهة برمجة تطبيقات الويب؟ اذكر سببين لذلك.

    الإجابة: س2: 2) لتحديد الصلاحيات وحماية البيانات ومنع الوصول غير المصرّح به (التفويض والأمان Authorization/Security).

    خطوات الحل:

    1. **الشرح:** بعد أن ناقشنا السبب الأول في الجزء السابق، ننتقل إلى السبب الثاني. الفكرة هنا هي أن التحقق من الهوية وحده لا يكفي؛ نحتاج أيضاً إلى تحديد ما يمكن للمستخدم أو التطبيق فعله بعد المصادقة. اسم المستخدم وكلمة المرور يساعدان في تحديد الصلاحيات، أي التفويض (Authorization)، حيث يمكن للخدمة التحكم في الوصول إلى بيانات أو وظائف معينة بناءً على هوية المستخدم. هذا يحمي البيانات من الوصول غير المصرح به ويعزز الأمان العام للنظام. لذلك، الإجابة هي: **لتحديد الصلاحيات وحماية البيانات ومنع الوصول غير المصرّح به (التفويض والأمان Authorization/Security).**

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

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

    ما الغرض الأساسي من استخدام واجهة برمجة تطبيقات الويب (Web API)؟

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

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

    الإجابة: تمكين التطبيقات والأجهزة من التواصل مع خدمات الويب عبر الإنترنت لإرسال الطلبات واستقبال البيانات واستخدام وظائف النظام بشكل منظم.

    الشرح: 1. واجهة برمجة تطبيقات الويب (Web API) هي مجموعة من القواعد والبروتوكولات. 2. تسمح هذه الواجهة لتطبيق أو جهاز (مثل تطبيق الهاتف) بالتواصل مع خدمة ويب موجودة على خادم بعيد عبر الإنترنت. 3. الغرض الرئيسي هو إرسال طلبات (Requests) للحصول على بيانات أو خدمات محددة، واستقبال الردود (غالباً بتنسيق JSON) من الخادم. 4. هذا يُمكّن من استخدام وظائف النظام أو الخدمات عن بُعد بطريقة منظمة وآمنة.

    تلميح: فكر في الوسيط الذي يسمح لبرنامجين مختلفين بالتواصل وتبادل المعلومات.

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

    ما أحد الأسباب الرئيسية لضرورة استخدام اسم المستخدم وكلمة المرور عند الاتصال بواجهة برمجة تطبيقات الويب؟

    • أ) لزيادة سرعة نقل البيانات عبر الشبكة.
    • ب) للتحقق من هوية المستخدم أو التطبيق (المصادقة - Authentication).
    • ج) لتقليل حجم البيانات المرسلة في كل طلب.
    • د) لتحويل تنسيق البيانات تلقائياً من JSON إلى XML.

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

    الإجابة: للتحقق من هوية المستخدم أو التطبيق (المصادقة - Authentication).

    الشرح: 1. واجهات برمجة تطبيقات الويب غالباً ما تتيح الوصول إلى بيانات أو خدمات حساسة أو محدودة. 2. اسم المستخدم وكلمة المرور يشكلان آلية أمان أساسية. 3. الغرض الأول هو التحقق من أن الطرف الذي يحاول الاتصال هو من يدعي أنه (مستخدم أو تطبيق مصرح له). 4. هذه العملية تسمى المصادقة (Authentication)، وهي خطوة أولى لمنع الوصول غير المصرح به.

    تلميح: هذا السبب يتعلق بتأكيد هوية من يحاول الوصول إلى الخدمة.

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

    ما السبب الآخر (بعد التحقق من الهوية) لضرورة استخدام اسم المستخدم وكلمة المرور عند الاتصال بواجهة برمجة تطبيقات الويب؟

    • أ) لتحديد صلاحيات المستخدم وحماية البيانات ومنع الوصول غير المصرح به (التفويض والأمان - Authorization/Security).
    • ب) لضمان أن جميع البيانات المرسلة مشفرة بنفس المفتاح.
    • ج) لإنشاء نسخة احتياطية تلقائية من طلبات المستخدم.
    • د) لاختبار سرعة اتصال الشبكة قبل إرسال الطلب الفعلي.

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

    الإجابة: لتحديد صلاحيات المستخدم وحماية البيانات ومنع الوصول غير المصرح به (التفويض والأمان - Authorization/Security).

    الشرح: 1. بعد التحقق من هوية المستخدم (المصادقة)، تأتي الخطوة التالية. 2. اسم المستخدم وكلمة المرور يساعدان النظام في تحديد مستوى الصلاحيات (Permissions) الممنوحة لهذا المستخدم. 3. هذه العملية تسمى التفويض (Authorization)، حيث يتحكم النظام في الوصول إلى بيانات أو وظائف معينة بناءً على الهوية. 4. الهدف النهائي هو حماية البيانات الحساسة وضمان أن كل مستخدم يمكنه فقط الوصول إلى ما هو مصرح له به، مما يعزز الأمان الكلي.

    تلميح: هذا السبب يتعلق بما يمكن للمستخدم فعله بعد أن تثبت هويته.

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