You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/ar/1-getting-started/lessons/1-introduction-to-iot/pi.md

286 lines
23 KiB

<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "8ff0d0a1d29832bb896b9c103b69a452",
"translation_date": "2025-08-26T23:39:36+00:00",
"source_file": "1-getting-started/lessons/1-introduction-to-iot/pi.md",
"language_code": "ar"
}
-->
# راسبيري باي
[راسبيري باي](https://raspberrypi.org) هو كمبيوتر صغير على لوحة واحدة. يمكنك إضافة أجهزة استشعار ومحركات باستخدام مجموعة واسعة من الأجهزة والنظم البيئية، وفي هذه الدروس ستستخدم نظامًا بيئيًا للأجهزة يسمى [Grove](https://www.seeedstudio.com/category/Grove-c-1003.html). ستقوم ببرمجة راسبيري باي والوصول إلى أجهزة استشعار Grove باستخدام لغة بايثون.
![راسبيري باي 4](../../../../../translated_images/raspberry-pi-4.fd4590d308c3d456db1327e86b395ddcd735513267aafd4879ea2785f7792eac.ar.jpg)
## الإعداد
إذا كنت تستخدم راسبيري باي كجهاز إنترنت الأشياء الخاص بك، لديك خياران - يمكنك العمل من خلال جميع هذه الدروس والبرمجة مباشرة على راسبيري باي، أو يمكنك الاتصال به عن بُعد كجهاز "بدون شاشة" والبرمجة من جهاز الكمبيوتر الخاص بك.
قبل أن تبدأ، تحتاج أيضًا إلى توصيل قبعة قاعدة Grove إلى راسبيري باي.
### المهمة - الإعداد
قم بتثبيت قبعة قاعدة Grove على راسبيري باي وقم بتكوين الجهاز.
1. قم بتوصيل قبعة قاعدة Grove إلى راسبيري باي. المقبس الموجود على القبعة يتناسب مع جميع دبابيس GPIO على راسبيري باي، وينزلق بالكامل على الدبابيس ليجلس بثبات على القاعدة. يتم تثبيته فوق راسبيري باي، ويغطيه.
![تركيب قبعة Grove](../../../../../images/pi-grove-hat-fitting.gif)
1. قرر كيف تريد برمجة راسبيري باي، وانتقل إلى القسم المناسب أدناه:
* [العمل مباشرة على راسبيري باي](../../../../../1-getting-started/lessons/1-introduction-to-iot)
* [الوصول عن بُعد لبرمجة راسبيري باي](../../../../../1-getting-started/lessons/1-introduction-to-iot)
### العمل مباشرة على راسبيري باي
إذا كنت ترغب في العمل مباشرة على راسبيري باي، يمكنك استخدام النسخة المكتبية من نظام تشغيل راسبيري باي وتثبيت جميع الأدوات التي تحتاجها.
#### المهمة - العمل مباشرة على راسبيري باي
قم بإعداد راسبيري باي للتطوير.
1. اتبع التعليمات في [دليل إعداد راسبيري باي](https://projects.raspberrypi.org/en/projects/raspberry-pi-setting-up) لإعداد راسبيري باي، وتوصيله بلوحة مفاتيح/فأرة/شاشة، وربطه بشبكة WiFi أو شبكة إيثرنت، وتحديث البرامج.
لبرمجة راسبيري باي باستخدام أجهزة استشعار ومحركات Grove، ستحتاج إلى تثبيت محرر يسمح لك بكتابة كود الجهاز، بالإضافة إلى مكتبات وأدوات مختلفة تتفاعل مع أجهزة Grove.
1. بمجرد إعادة تشغيل راسبيري باي، قم بتشغيل الطرفية بالنقر على أيقونة **Terminal** في شريط القائمة العلوي، أو اختر *Menu -> Accessories -> Terminal*
1. قم بتشغيل الأمر التالي لضمان تحديث نظام التشغيل والبرامج المثبتة:
```sh
sudo apt update && sudo apt full-upgrade --yes
```
1. قم بتشغيل الأوامر التالية لتثبيت جميع المكتبات اللازمة لأجهزة Grove:
```sh
sudo apt install git python3-dev python3-pip --yes
git clone https://github.com/Seeed-Studio/grove.py
cd grove.py
sudo pip3 install .
sudo raspi-config nonint do_i2c 0
```
يبدأ ذلك بتثبيت Git، إلى جانب Pip لتثبيت حزم بايثون.
واحدة من الميزات القوية لبايثون هي القدرة على تثبيت [حزم Pip](https://pypi.org) - وهي حزم من الكود مكتوبة من قبل أشخاص آخرين ومنشورة على الإنترنت. يمكنك تثبيت حزمة Pip على جهاز الكمبيوتر الخاص بك بأمر واحد، ثم استخدام تلك الحزمة في الكود الخاص بك.
تحتاج حزم بايثون الخاصة بـ Seeed Grove إلى التثبيت من المصدر. هذه الأوامر ستقوم باستنساخ المستودع الذي يحتوي على الكود المصدري لهذه الحزمة، ثم تثبيته محليًا.
> 💁 بشكل افتراضي، عندما تقوم بتثبيت حزمة، تكون متاحة في كل مكان على جهاز الكمبيوتر الخاص بك، وهذا يمكن أن يؤدي إلى مشاكل في إصدارات الحزم - مثل اعتماد تطبيق واحد على إصدار معين من الحزمة الذي يتعطل عند تثبيت إصدار جديد لتطبيق مختلف. لتجنب هذه المشكلة، يمكنك استخدام [بيئة افتراضية لبايثون](https://docs.python.org/3/library/venv.html)، وهي نسخة من بايثون في مجلد مخصص، وعندما تقوم بتثبيت حزم Pip يتم تثبيتها فقط في ذلك المجلد. لن تستخدم البيئات الافتراضية عند استخدام راسبيري باي. يقوم سكربت تثبيت Grove بتثبيت حزم بايثون الخاصة بـ Grove عالميًا، لذا إذا كنت ترغب في استخدام بيئة افتراضية، ستحتاج إلى إعداد البيئة الافتراضية ثم إعادة تثبيت حزم Grove يدويًا داخل تلك البيئة. من الأسهل استخدام الحزم العالمية، خاصةً لأن العديد من مطوري راسبيري باي يقومون بإعادة تهيئة بطاقة SD نظيفة لكل مشروع.
أخيرًا، يتم تمكين واجهة I<sup>2</sup>C.
1. أعد تشغيل راسبيري باي إما باستخدام القائمة أو تشغيل الأمر التالي في الطرفية:
```sh
sudo reboot
```
1. بمجرد إعادة تشغيل راسبيري باي، أعد تشغيل الطرفية وقم بتشغيل الأمر التالي لتثبيت [Visual Studio Code (VS Code)](https://code.visualstudio.com?WT.mc_id=academic-17441-jabenn) - وهو المحرر الذي ستستخدمه لكتابة كود الجهاز الخاص بك بلغة بايثون.
```sh
sudo apt install code
```
بمجرد تثبيته، سيكون VS Code متاحًا من شريط القائمة العلوي.
> 💁 يمكنك استخدام أي محرر أو بيئة تطوير متكاملة (IDE) لبايثون لهذه الدروس إذا كان لديك أداة مفضلة، ولكن الدروس ستقدم تعليمات بناءً على استخدام VS Code.
1. قم بتثبيت Pylance. هذا هو امتداد لـ VS Code يوفر دعمًا للغة بايثون. راجع [وثائق امتداد Pylance](https://marketplace.visualstudio.com/items?WT.mc_id=academic-17441-jabenn&itemName=ms-python.vscode-pylance) للحصول على تعليمات حول تثبيت هذا الامتداد في VS Code.
### الوصول عن بُعد لبرمجة راسبيري باي
بدلاً من البرمجة مباشرة على راسبيري باي، يمكن تشغيله كجهاز "بدون شاشة"، أي غير متصل بلوحة مفاتيح/فأرة/شاشة، وتكوينه وبرمجته من جهاز الكمبيوتر الخاص بك باستخدام Visual Studio Code.
#### إعداد نظام تشغيل راسبيري باي
لبرمجة الجهاز عن بُعد، يجب تثبيت نظام تشغيل راسبيري باي على بطاقة SD.
##### المهمة - إعداد نظام تشغيل راسبيري باي
قم بإعداد نظام تشغيل راسبيري باي "بدون شاشة".
1. قم بتنزيل **Raspberry Pi Imager** من [صفحة برامج نظام تشغيل راسبيري باي](https://www.raspberrypi.org/software/) وقم بتثبيته.
1. أدخل بطاقة SD في جهاز الكمبيوتر الخاص بك، باستخدام محول إذا لزم الأمر.
1. قم بتشغيل Raspberry Pi Imager.
1. من Raspberry Pi Imager، اختر زر **CHOOSE OS**، ثم اختر *Raspberry Pi OS (Other)*، متبوعًا بـ *Raspberry Pi OS Lite (32-bit)*.
![Raspberry Pi Imager مع اختيار Raspberry Pi OS Lite](../../../../../translated_images/raspberry-pi-imager.24aedeab9e233d841a1504ed7cfeb871b1f8e1134cfcd8370e7f60a092056be2.ar.png)
> 💁 Raspberry Pi OS Lite هو إصدار من نظام تشغيل راسبيري باي لا يحتوي على واجهة المستخدم الرسومية أو الأدوات القائمة على واجهة المستخدم. هذه الأدوات ليست ضرورية لجهاز "بدون شاشة" وتجعل التثبيت أصغر ووقت التشغيل أسرع.
1. اختر زر **CHOOSE STORAGE**، ثم اختر بطاقة SD الخاصة بك.
1. قم بتشغيل **خيارات متقدمة** بالضغط على `Ctrl+Shift+X`. تتيح هذه الخيارات بعض التكوين المسبق لنظام تشغيل راسبيري باي قبل نسخه إلى بطاقة SD.
1. قم بتحديد مربع **Enable SSH**، وقم بتعيين كلمة مرور لمستخدم `pi`. هذه هي كلمة المرور التي ستستخدمها لتسجيل الدخول إلى راسبيري باي لاحقًا.
1. إذا كنت تخطط للاتصال براسبيري باي عبر WiFi، قم بتحديد مربع **Configure WiFi**، وأدخل SSID وكلمة مرور WiFi الخاصة بك، بالإضافة إلى اختيار بلد WiFi الخاص بك. لا تحتاج إلى القيام بذلك إذا كنت ستستخدم كابل إيثرنت. تأكد من أن الشبكة التي تتصل بها هي نفس الشبكة التي يتصل بها جهاز الكمبيوتر الخاص بك.
1. قم بتحديد مربع **Set locale settings**، وقم بتعيين بلدك ومنطقتك الزمنية.
1. اختر زر **SAVE**.
1. اختر زر **WRITE** لكتابة نظام التشغيل إلى بطاقة SD. إذا كنت تستخدم macOS، سيُطلب منك إدخال كلمة المرور الخاصة بك لأن الأداة الأساسية التي تكتب صور الأقراص تحتاج إلى وصول مميز.
سيتم كتابة نظام التشغيل إلى بطاقة SD، وبمجرد الانتهاء سيتم إخراج البطاقة بواسطة نظام التشغيل، وستتلقى إشعارًا. قم بإزالة بطاقة SD من جهاز الكمبيوتر الخاص بك، وأدخلها في راسبيري باي، وقم بتشغيل الجهاز وانتظر حوالي دقيقتين حتى يتم تشغيله بشكل صحيح.
#### الاتصال براسبيري باي
الخطوة التالية هي الوصول إلى راسبيري باي عن بُعد. يمكنك القيام بذلك باستخدام `ssh`، وهو متاح على macOS، Linux والإصدارات الحديثة من Windows.
##### المهمة - الاتصال براسبيري باي
الوصول إلى راسبيري باي عن بُعد.
1. قم بتشغيل الطرفية أو موجه الأوامر، وأدخل الأمر التالي للاتصال براسبيري باي:
```sh
ssh pi@raspberrypi.local
```
إذا كنت تستخدم Windows بإصدار أقدم لا يحتوي على `ssh` مثبت، يمكنك استخدام OpenSSH. يمكنك العثور على تعليمات التثبيت في [وثائق تثبيت OpenSSH](https://docs.microsoft.com//windows-server/administration/openssh/openssh_install_firstuse?WT.mc_id=academic-17441-jabenn).
1. يجب أن يتصل هذا براسبيري باي ويطلب كلمة المرور.
القدرة على العثور على أجهزة الكمبيوتر على شبكتك باستخدام `<hostname>.local` هي إضافة حديثة نسبيًا إلى Linux وWindows. إذا كنت تستخدم Linux أو Windows وواجهت أي أخطاء حول عدم العثور على اسم المضيف، ستحتاج إلى تثبيت برامج إضافية لتمكين الشبكات ZeroConf (المعروفة أيضًا باسم Bonjour من Apple):
1. إذا كنت تستخدم Linux، قم بتثبيت Avahi باستخدام الأمر التالي:
```sh
sudo apt-get install avahi-daemon
```
1. إذا كنت تستخدم Windows، فإن أسهل طريقة لتمكين ZeroConf هي تثبيت [Bonjour Print Services for Windows](http://support.apple.com/kb/DL999). يمكنك أيضًا تثبيت [iTunes for Windows](https://www.apple.com/itunes/download/) للحصول على نسخة أحدث من الأداة (التي ليست متاحة بشكل مستقل).
> 💁 إذا لم تتمكن من الاتصال باستخدام `raspberrypi.local`، يمكنك استخدام عنوان IP الخاص براسبيري باي. راجع [وثائق عنوان IP الخاص براسبيري باي](https://www.raspberrypi.org/documentation/remote-access/ip-address.md) للحصول على تعليمات حول عدد من الطرق للحصول على عنوان IP.
1. أدخل كلمة المرور التي قمت بتعيينها في خيارات Raspberry Pi Imager المتقدمة.
#### تكوين البرامج على راسبيري باي
بمجرد الاتصال براسبيري باي، تحتاج إلى التأكد من تحديث نظام التشغيل، وتثبيت مكتبات وأدوات مختلفة تتفاعل مع أجهزة Grove.
##### المهمة - تكوين البرامج على راسبيري باي
قم بتكوين البرامج المثبتة على راسبيري باي وتثبيت مكتبات Grove.
1. من جلسة `ssh` الخاصة بك، قم بتشغيل الأمر التالي لتحديث ثم إعادة تشغيل راسبيري باي:
```sh
sudo apt update && sudo apt full-upgrade --yes && sudo reboot
```
سيتم تحديث راسبيري باي وإعادة تشغيله. ستنتهي جلسة `ssh` عند إعادة تشغيل راسبيري باي، لذا اتركه لمدة حوالي 30 ثانية ثم أعد الاتصال.
1. من جلسة `ssh` المعاد الاتصال بها، قم بتشغيل الأوامر التالية لتثبيت جميع المكتبات اللازمة لأجهزة Grove:
```sh
sudo apt install git python3-dev python3-pip --yes
git clone https://github.com/Seeed-Studio/grove.py
cd grove.py
sudo pip3 install .
sudo raspi-config nonint do_i2c 0
```
يبدأ ذلك بتثبيت Git، إلى جانب Pip لتثبيت حزم بايثون.
واحدة من الميزات القوية لبايثون هي القدرة على تثبيت [حزم Pip](https://pypi.org) - وهي حزم من الكود مكتوبة من قبل أشخاص آخرين ومنشورة على الإنترنت. يمكنك تثبيت حزمة Pip على جهاز الكمبيوتر الخاص بك بأمر واحد، ثم استخدام تلك الحزمة في الكود الخاص بك.
تحتاج حزم بايثون الخاصة بـ Seeed Grove إلى التثبيت من المصدر. هذه الأوامر ستقوم باستنساخ المستودع الذي يحتوي على الكود المصدري لهذه الحزمة، ثم تثبيته محليًا.
> 💁 بشكل افتراضي، عندما تقوم بتثبيت حزمة، تكون متاحة في كل مكان على جهاز الكمبيوتر الخاص بك، وهذا يمكن أن يؤدي إلى مشاكل في إصدارات الحزم - مثل اعتماد تطبيق واحد على إصدار معين من الحزمة الذي يتعطل عند تثبيت إصدار جديد لتطبيق مختلف. لتجنب هذه المشكلة، يمكنك استخدام [بيئة افتراضية لبايثون](https://docs.python.org/3/library/venv.html)، وهي نسخة من بايثون في مجلد مخصص، وعندما تقوم بتثبيت حزم Pip يتم تثبيتها فقط في ذلك المجلد. لن تستخدم البيئات الافتراضية عند استخدام راسبيري باي. يقوم سكربت تثبيت Grove بتثبيت حزم بايثون الخاصة بـ Grove عالميًا، لذا إذا كنت ترغب في استخدام بيئة افتراضية، ستحتاج إلى إعداد البيئة الافتراضية ثم إعادة تثبيت حزم Grove يدويًا داخل تلك البيئة. من الأسهل استخدام الحزم العالمية، خاصةً لأن العديد من مطوري راسبيري باي يقومون بإعادة تهيئة بطاقة SD نظيفة لكل مشروع.
أخيرًا، يتم تمكين واجهة I<sup>2</sup>C.
1. أعد تشغيل راسبيري باي عن طريق تشغيل الأمر التالي:
```sh
sudo reboot
```
ستنتهي جلسة `ssh` عند إعادة تشغيل راسبيري باي. لا حاجة لإعادة الاتصال.
#### تكوين VS Code للوصول عن بُعد
بمجرد تكوين راسبيري باي، يمكنك الاتصال به باستخدام Visual Studio Code (VS Code) من جهاز الكمبيوتر الخاص بك - وهو محرر نصوص مجاني للمطورين ستستخدمه لكتابة كود الجهاز الخاص بك بلغة بايثون.
##### المهمة - تكوين VS Code للوصول عن بُعد
قم بتثبيت البرامج المطلوبة واتصل براسبيري باي عن بُعد.
1. قم بتثبيت VS Code على جهاز الكمبيوتر الخاص بك باتباع [وثائق VS Code](https://code.visualstudio.com?WT.mc_id=academic-17441-jabenn)
1. اتبع التعليمات في [وثائق تطوير VS Code عن بُعد باستخدام SSH](https://code.visualstudio.com/docs/remote/ssh?WT.mc_id=academic-17441-jabenn) لتثبيت المكونات المطلوبة.
1. باتباع نفس التعليمات، قم بتوصيل VS Code براسبيري باي.
1. بمجرد الاتصال، اتبع [إرشادات إدارة الامتدادات](https://code.visualstudio.com/docs/remote/ssh#_managing-extensions?WT.mc_id=academic-17441-jabenn) لتثبيت امتداد [Pylance](https://marketplace.visualstudio.com/items?WT.mc_id=academic-17441-jabenn&itemName=ms-python.vscode-pylance) عن بُعد على راسبيري باي.
## مرحبًا بالعالم
من التقليدي عند البدء بلغة برمجة جديدة أو تقنية جديدة إنشاء تطبيق "Hello World" - وهو تطبيق صغير يعرض نصًا مثل `"Hello World"` للتأكد من أن جميع الأدوات تم إعدادها بشكل صحيح.
تطبيق Hello World الخاص بـ Pi سيضمن أن لديك Python و Visual Studio Code مثبتين بشكل صحيح.
سيكون هذا التطبيق في مجلد يسمى `nightlight`، وسيتم إعادة استخدامه مع كود مختلف في أجزاء لاحقة من هذا التمرين لبناء تطبيق nightlight.
### المهمة - hello world
قم بإنشاء تطبيق Hello World.
1. قم بتشغيل VS Code، إما مباشرة على Pi، أو على جهاز الكمبيوتر الخاص بك متصلًا بـ Pi باستخدام امتداد Remote SSH.
1. قم بتشغيل Terminal الخاص بـ VS Code عن طريق اختيار *Terminal -> New Terminal* أو الضغط على `` CTRL+` ``. سيتم فتحه في دليل المستخدم `pi`.
1. قم بتشغيل الأوامر التالية لإنشاء دليل للكود الخاص بك، وإنشاء ملف Python يسمى `app.py` داخل هذا الدليل:
```sh
mkdir nightlight
cd nightlight
touch app.py
```
1. افتح هذا المجلد في VS Code عن طريق اختيار *File -> Open...* واختيار مجلد *nightlight*، ثم اختر **OK**.
![نافذة فتح VS Code تعرض مجلد nightlight](../../../../../translated_images/vscode-open-nightlight-remote.d3d2a4011e30d535c4b70084f6e94bf6b5b1327fd8e77affe64465ac151ee766.ar.png)
1. افتح ملف `app.py` من مستكشف VS Code وأضف الكود التالي:
```python
print('Hello World!')
```
وظيفة `print` تقوم بطباعة أي شيء يتم تمريره إليها في وحدة التحكم.
1. من Terminal الخاص بـ VS Code، قم بتشغيل الأمر التالي لتشغيل تطبيق Python الخاص بك:
```sh
python app.py
```
> 💁 قد تحتاج إلى استدعاء `python3` بشكل صريح لتشغيل هذا الكود إذا كان لديك Python 2 مثبتًا بالإضافة إلى Python 3 (الإصدار الأحدث). إذا كان Python 2 مثبتًا، فإن استدعاء `python` سيستخدم Python 2 بدلًا من Python 3. بشكل افتراضي، الإصدارات الأحدث من نظام تشغيل Raspberry Pi تحتوي فقط على Python 3 مثبتًا.
سيظهر الإخراج التالي في وحدة التحكم:
```output
pi@raspberrypi:~/nightlight $ python3 app.py
Hello World!
```
> 💁 يمكنك العثور على هذا الكود في مجلد [code/pi](../../../../../1-getting-started/lessons/1-introduction-to-iot/code/pi).
😀 لقد نجح برنامج "Hello World" الخاص بك!
---
**إخلاء المسؤولية**:
تم ترجمة هذا المستند باستخدام خدمة الترجمة بالذكاء الاصطناعي [Co-op Translator](https://github.com/Azure/co-op-translator). بينما نسعى لتحقيق الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو معلومات غير دقيقة. يجب اعتبار المستند الأصلي بلغته الأصلية المصدر الرسمي. للحصول على معلومات حاسمة، يُوصى بالاستعانة بترجمة بشرية احترافية. نحن غير مسؤولين عن أي سوء فهم أو تفسيرات خاطئة ناتجة عن استخدام هذه الترجمة.