Creating the JSON Data File - كتاب إنترنت الأشياء - الصف 11 - الفصل 1 - المملكة العربية السعودية

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

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

الدرس: Creating the JSON Data File

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

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

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

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

📝 ملخص الصفحة

📚 إنشاء ملف بيانات JSON

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

ملف JSON: ملف بيانات يستخدم لتخزين المعلومات المنقولة عبر MQTT في صيغة قابلة للقراءة والتحليل بواسطة برامج بايثون.

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

```markmap

7. الرسائل في إنترنت الأشياء

إدارة النفايات الذكية وتحليل البيانات (صفحة 292)

إنشاء برامج تحليل البيانات

#### ملف mqtt_receiver.py

##### الوظيفة: الاشتراك في موضوع MQTT وجمع الرسائل.

##### المخرجات: حفظ البيانات في ملف JSON.

#### ملف data_analysis.ipynb

##### الوظيفة: قراءة البيانات من ملف JSON وتحليلها.

##### العملية: يقرأ البيانات، يكتب النتائج، يجمع المعلومات.

تدفق البيانات في النظام

#### وسيط MQTT: نقطة تمرير الرسائل بين الحاوية وبرامج التحليل.

#### ملف JSON: وسيط تخزين للبيانات المجمعة قبل تحليلها.

إنشاء ملف بيانات جسون (صفحة 293)

خطوات إنشاء الملف

#### 1. إنشاء ملف جديد باسم data.json

##### المحتوى: مصفوفة فارغة [].

#### 2. دور ملف mqtt_receiver.py

##### إلحاق كائنات JSON (التقارير) بالمصفوفة الموجودة في data.json.

#### 3. دور ملف data_analysis.py

##### فتح ملف data.json.

##### قراءة محتويات مصفوفة JSON.

##### إجراء عمليات تحليل البيانات.

برمجة ملف mqtt_receiver.py

#### استيراد الحزم المطلوبة

##### datetime: لإضافة طابع زمني للرسائل.

##### json: للتعامل مع كائنات JSON.

##### paho.mqtt.client: لإنشاء عملاء MQTT.

##### os: للتعامل مع الملفات.

#### إنشاء المتغيرات للتعامل مع ملف JSON

##### data_file: المسار الكامل لملف JSON.

##### data_file_objects: قائمة لتخزين الكائنات من ملف JSON.

```

نقاط مهمة

  • الغرض من ملف `data.json` هو تخزين البيانات التي يجمعها برنامج `mqtt_receiver.py` من وسيط MQTT، ليقوم برنامج `data_analysis.py` بتحليلها لاحقًا.
  • يبدأ ملف `data.json` كمصفوفة فارغة `[]`، ويتم إضافة كائنات JSON إليه مع استقبال كل تقرير جديد.
  • يجب التأكد من كتابة المسار الصحيح لملف `data.json` في متغير `data_file` داخل كود `mqtt_receiver.py`.

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

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

Creating the JSON Data File

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

إنشاء ملف بيانات جسون

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

سيقوم بإنشاء ملف بيانات جسون بواسطة مصفوفة فارغة، وسي يقوم البرنامج mqtt_receiver.py بالحال كل تقرير أنشئ كائن JSON بالمصفوفة، ثم سيفتح ملف data_analysis.py ملف JSON هذا، وسيقرأ محتويات مصفوفة JSON السابقة ويقوم بعمليات تحليل البيانات.

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

افتح PyCharm ثم أنشئ ملفًا جديدًا في مجلدك الخاص باسم data.json. ثم أنشئ كائنًا لمصفوفة فارغة داخل هذا الملف كما هو موضح أدناه. سيُلحق كائنات JSON الخاصة بالتقارير المنشأة بالمصفوفة المعروضة أدناه. احفظ الملف data.json ثم أغلقه.

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

[]

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

قم بإنشاء ملف بايثون جديد باسم mqtt_receiver.py، وفي بداية المقطع البرمجي، قم باستيراد الحزم الآتية:

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

datetime: تُسمّى طابعًا زمنيًا للرسائل المرسلة. json: للتعامل مع كائنات JSON. paho.mqtt.client: لإنشاء عملاء للتواصل مع وسطاء MQTT. os: للتعامل مع الملفات الموجودة على حاسبك الخاص.

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

from datetime import datetime import json import paho.mqtt.client as mq from os import path

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

قم بإنشاء المتغيرات الآتية و التي ستتفاعل مع ملف بيانات JSON

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

data_file = "your_file_path" # Absolute path to the JSON data file data_file_objects = [] # This contains the objects from the JSON data file

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

تأكد من إدخال امتداد ملف البيانات الصحيح.

نوع: METADATA

وزارة التعليم Ministry of Education 293 2025 - 1447

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

--- SECTION: Creating the JSON Data File --- إنشاء ملف بيانات جسون سيقوم بإنشاء ملف بيانات جسون بواسطة مصفوفة فارغة، وسي يقوم البرنامج mqtt_receiver.py بالحال كل تقرير أنشئ كائن JSON بالمصفوفة، ثم سيفتح ملف data_analysis.py ملف JSON هذا، وسيقرأ محتويات مصفوفة JSON السابقة ويقوم بعمليات تحليل البيانات. افتح PyCharm ثم أنشئ ملفًا جديدًا في مجلدك الخاص باسم data.json. ثم أنشئ كائنًا لمصفوفة فارغة داخل هذا الملف كما هو موضح أدناه. سيُلحق كائنات JSON الخاصة بالتقارير المنشأة بالمصفوفة المعروضة أدناه. احفظ الملف data.json ثم أغلقه. [] قم بإنشاء ملف بايثون جديد باسم mqtt_receiver.py، وفي بداية المقطع البرمجي، قم باستيراد الحزم الآتية: datetime: تُسمّى طابعًا زمنيًا للرسائل المرسلة. json: للتعامل مع كائنات JSON. paho.mqtt.client: لإنشاء عملاء للتواصل مع وسطاء MQTT. os: للتعامل مع الملفات الموجودة على حاسبك الخاص. from datetime import datetime import json import paho.mqtt.client as mq from os import path قم بإنشاء المتغيرات الآتية و التي ستتفاعل مع ملف بيانات JSON data_file = "your_file_path" # Absolute path to the JSON data file data_file_objects = [] # This contains the objects from the JSON data file تأكد من إدخال امتداد ملف البيانات الصحيح. وزارة التعليم Ministry of Education 293 2025 - 1447

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

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

ما الغرض الرئيسي من إنشاء ملف `data.json` في مشروع إنترنت الأشياء الموضح في النص؟

  • أ) لتخزين كود المصدر لبرنامجي `mqtt_receiver.py` و `data_analysis.py` في مكان واحد.
  • ب) لتخزين كائنات JSON الخاصة بتقارير البيانات التي يتم إنشاؤها من قبل برنامج `mqtt_receiver.py` ليقوم برنامج `data_analysis.py` بقراءتها وتحليلها.
  • ج) لتعريف المتغيرات العامة التي سيستخدمها جميع برامج المشروع.
  • د) لحفظ إعدادات اتصال شبكة MQTT فقط.

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

الإجابة: لتخزين كائنات JSON الخاصة بتقارير البيانات التي يتم إنشاؤها من قبل برنامج `mqtt_receiver.py` ليقوم برنامج `data_analysis.py` بقراءتها وتحليلها.

الشرح: 1. يتم إنشاء ملف `data.json` كمصفوفة فارغة في البداية. 2. يقوم برنامج `mqtt_receiver.py` بإلحاق كائنات JSON (التقارير) بهذه المصفوفة. 3. يفتح برنامج `data_analysis.py` هذا الملف لقراءة محتويات المصفوفة. 4. يقوم `data_analysis.py` بإجراء عمليات تحليل البيانات على هذه المحتويات.

تلميح: فكر في تدفق البيانات بين البرامج المختلفة في النظام.

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

ما هي الحزم (Packages) التي يجب استيرادها في بداية برنامج `mqtt_receiver.py` وفقًا للنص؟

  • أ) numpy, pandas, matplotlib, sklearn
  • ب) time, csv, socket, sys
  • ج) datetime, json, paho.mqtt.client, os
  • د) flask, django, requests, beautifulsoup4

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

الإجابة: datetime, json, paho.mqtt.client, os

الشرح: يتم استيراد أربع حزم: 1. `datetime` لإضافة طابع زمني للرسائل. 2. `json` للتعامل مع كائنات JSON. 3. `paho.mqtt.client` لإنشاء عملاء للتواصل مع وسطاء MQTT. 4. `os` للتعامل مع الملفات على الحاسب.

تلميح: اربط كل حزمة بالوظيفة التي تؤديها في البرنامج.

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

ما دور حزمة `datetime` في برنامج `mqtt_receiver.py` كما ورد في النص؟

  • أ) لحساب الفروق الزمنية بين عمليات إرسال البيانات.
  • ب) لتنسيق تاريخ إنشاء ملف `data.json`.
  • ج) إضافة طابع زمني (Timestamp) للرسائل المرسلة.
  • د) لجدولة وقت تشغيل وإيقاف برنامج `data_analysis.py`.

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

الإجابة: إضافة طابع زمني (Timestamp) للرسائل المرسلة.

الشرح: تُستخدم حزمة `datetime` لتحديد وتسجيل الوقت الذي يتم فيه استقبال أو إرسال الرسائل عبر بروتوكول MQTT. هذا الطابع الزمني مهم لتحليل تسلسل الأحداث والبيانات مع مرور الوقت.

تلميح: تتعلق الوظيفة بتسجيل وقت حدوث الأحداث.

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

ما هي الخطوة الأولى لإنشاء ملف بيانات JSON وفقًا للإجراء المذكور في النص؟

  • أ) استيراد حزمة `json` وكتابة دالة لإنشاء الكائنات.
  • ب) إنشاء ملف جديد باسم `data.json` يحتوي على مصفوفة فارغة `[]`.
  • ج) تحديد المسار المطلق للملف في متغير `data_file`.
  • د) كتابة هيكل كامل لكائن JSON يحتوي على جميع الحقول المطلوبة.

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

الإجابة: إنشاء ملف جديد باسم `data.json` يحتوي على مصفوفة فارغة `[]`.

الشرح: 1. افتح بيئة التطوير PyCharm. 2. أنشئ ملفًا جديدًا في المجلد المخصص. 3. سمّ الملف `data.json`. 4. اكتب بداخله مصفوفة فارغة تمثل بـ `[]`. 5. احفظ الملف ثم أغلقه.

تلميح: يبدأ الهيكل الأساسي للملف بتركيب بسيط للغاية.

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