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/fa/1-getting-started/lessons/1-introduction-to-iot/pi.md

284 lines
26 KiB

<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "8ff0d0a1d29832bb896b9c103b69a452",
"translation_date": "2025-08-25T22:16:51+00:00",
"source_file": "1-getting-started/lessons/1-introduction-to-iot/pi.md",
"language_code": "fa"
}
-->
# رزبری پای
[رزبری پای](https://raspberrypi.org) یک کامپیوتر تک‌برد است. شما می‌توانید با استفاده از طیف گسترده‌ای از دستگاه‌ها و اکوسیستم‌ها، حسگرها و عملگرها را به آن اضافه کنید. در این درس‌ها از یک اکوسیستم سخت‌افزاری به نام [Grove](https://www.seeedstudio.com/category/Grove-c-1003.html) استفاده می‌کنیم. شما با استفاده از زبان پایتون، رزبری پای خود را برنامه‌نویسی کرده و به حسگرهای Grove دسترسی پیدا خواهید کرد.
![یک رزبری پای ۴](../../../../../translated_images/raspberry-pi-4.fd4590d308c3d456db1327e86b395ddcd735513267aafd4879ea2785f7792eac.fa.jpg)
## راه‌اندازی
اگر از رزبری پای به عنوان سخت‌افزار IoT خود استفاده می‌کنید، دو گزینه دارید: می‌توانید تمام این درس‌ها را دنبال کرده و مستقیماً روی رزبری پای کدنویسی کنید، یا می‌توانید به صورت از راه دور به یک رزبری پای بدون رابط کاربری (headless) متصل شده و از کامپیوتر خود کدنویسی کنید.
قبل از شروع، باید کلاهک پایه 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)
### مستقیماً روی رزبری پای خود کار کنید
اگر می‌خواهید مستقیماً روی رزبری پای خود کار کنید، می‌توانید از نسخه دسکتاپ سیستم‌عامل Raspberry Pi OS استفاده کرده و تمام ابزارهای مورد نیاز را نصب کنید.
#### وظیفه - مستقیماً روی رزبری پای خود کار کنید
رزبری پای خود را برای توسعه آماده کنید.
1. دستورالعمل‌های موجود در [راهنمای راه‌اندازی رزبری پای](https://projects.raspberrypi.org/en/projects/raspberry-pi-setting-up) را دنبال کنید تا رزبری پای خود را راه‌اندازی کنید، آن را به کیبورد/ماوس/مانیتور متصل کنید، به شبکه وای‌فای یا اترنت متصل شوید و نرم‌افزار را به‌روزرسانی کنید.
برای برنامه‌نویسی رزبری پای با استفاده از حسگرها و عملگرهای 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 را با یک دستور روی کامپیوتر خود نصب کرده و سپس از آن در کد خود استفاده کنید.
بسته‌های پایتون Grove از منبع نصب می‌شوند. این دستورات مخزن حاوی کد منبع این بسته را کلون کرده و سپس آن را به صورت محلی نصب می‌کنند.
> 💁 به طور پیش‌فرض، وقتی یک بسته نصب می‌کنید، در همه جای کامپیوتر شما در دسترس است و این می‌تواند منجر به مشکلاتی با نسخه‌های بسته‌ها شود - مثلاً یک برنامه به یک نسخه خاص از یک بسته وابسته است که با نصب نسخه جدید برای یک برنامه دیگر خراب می‌شود. برای حل این مشکل، می‌توانید از یک [محیط مجازی پایتون](https://docs.python.org/3/library/venv.html) استفاده کنید، که اساساً یک کپی از پایتون در یک پوشه اختصاصی است و وقتی بسته‌های Pip نصب می‌کنید، فقط در آن پوشه نصب می‌شوند. با این حال، هنگام استفاده از رزبری پای، از محیط‌های مجازی استفاده نخواهید کرد. اسکریپت نصب Grove بسته‌های پایتون Grove را به صورت جهانی نصب می‌کند، بنابراین برای استفاده از محیط مجازی باید ابتدا آن را تنظیم کرده و سپس بسته‌های Grove را به صورت دستی در آن محیط نصب کنید. استفاده از بسته‌های جهانی آسان‌تر است، به خصوص که بسیاری از توسعه‌دهندگان رزبری پای برای هر پروژه یک کارت SD تمیز را دوباره فلش می‌کنند.
در نهایت، این فرآیند رابط I<sup>2</sup>C را فعال می‌کند.
1. رزبری پای را با استفاده از منو یا اجرای دستور زیر در ترمینال راه‌اندازی مجدد کنید:
```sh
sudo reboot
```
1. پس از راه‌اندازی مجدد رزبری پای، ترمینال را دوباره باز کنید و دستور زیر را برای نصب [ویژوال استودیو کد (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 را مشاهده کنید.
### دسترسی از راه دور برای کدنویسی رزبری پای
به جای کدنویسی مستقیم روی رزبری پای، می‌توانید آن را به صورت "بدون رابط کاربری" (headless) اجرا کنید، یعنی بدون اتصال به کیبورد/ماوس/مانیتور، و از کامپیوتر خود آن را پیکربندی و کدنویسی کنید، با استفاده از ویژوال استودیو کد.
#### نصب سیستم‌عامل رزبری پای
برای کدنویسی از راه دور، سیستم‌عامل رزبری پای باید روی یک کارت 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.fa.png)
> 💁 Raspberry Pi OS Lite نسخه‌ای از سیستم‌عامل رزبری پای است که رابط کاربری دسکتاپ یا ابزارهای مبتنی بر رابط کاربری را ندارد. این موارد برای یک رزبری پای بدون رابط کاربری لازم نیست و نصب را کوچک‌تر و زمان بوت شدن را سریع‌تر می‌کند.
1. دکمه **CHOOSE STORAGE** را انتخاب کنید و کارت SD خود را انتخاب کنید.
1. **Advanced Options** را با فشار دادن `Ctrl+Shift+X` باز کنید. این گزینه‌ها امکان پیش‌پیکربندی سیستم‌عامل رزبری پای را قبل از نوشتن روی کارت SD فراهم می‌کنند.
1. گزینه **Enable SSH** را فعال کنید و یک رمز عبور برای کاربر `pi` تنظیم کنید. این رمز عبوری است که بعداً برای ورود به رزبری پای استفاده خواهید کرد.
1. اگر قصد دارید از طریق وای‌فای به رزبری پای متصل شوید، گزینه **Configure WiFi** را فعال کنید و SSID و رمز عبور وای‌فای خود را وارد کنید، همچنین کشور وای‌فای خود را انتخاب کنید. اگر از کابل اترنت استفاده می‌کنید، نیازی به انجام این کار نیست. مطمئن شوید که شبکه‌ای که به آن متصل می‌شوید همان شبکه‌ای است که کامپیوتر شما در آن قرار دارد.
1. گزینه **Set locale settings** را فعال کنید و کشور و منطقه زمانی خود را تنظیم کنید.
1. دکمه **SAVE** را انتخاب کنید.
1. دکمه **WRITE** را انتخاب کنید تا سیستم‌عامل روی کارت SD نوشته شود. اگر از macOS استفاده می‌کنید، از شما خواسته می‌شود رمز عبور خود را وارد کنید زیرا ابزار زیرساختی که تصاویر دیسک را می‌نویسد به دسترسی سطح بالا نیاز دارد.
سیستم‌عامل روی کارت SD نوشته خواهد شد و پس از اتمام، کارت توسط سیستم‌عامل خارج می‌شود و به شما اطلاع داده می‌شود. کارت SD را از کامپیوتر خود خارج کنید، آن را در رزبری پای قرار دهید، رزبری پای را روشن کنید و حدود ۲ دقیقه صبر کنید تا به درستی بوت شود.
#### اتصال به رزبری پای
مرحله بعدی دسترسی از راه دور به رزبری پای است. شما می‌توانید این کار را با استفاده از `ssh` انجام دهید که در macOS، لینوکس و نسخه‌های اخیر ویندوز موجود است.
##### وظیفه - اتصال به رزبری پای
به صورت از راه دور به رزبری پای دسترسی پیدا کنید.
1. یک ترمینال یا Command Prompt باز کنید و دستور زیر را برای اتصال به رزبری پای وارد کنید:
```sh
ssh pi@raspberrypi.local
```
اگر از ویندوز با نسخه قدیمی‌تر که `ssh` نصب نشده استفاده می‌کنید، می‌توانید از OpenSSH استفاده کنید. دستورالعمل‌های نصب را در [مستندات نصب OpenSSH](https://docs.microsoft.com//windows-server/administration/openssh/openssh_install_firstuse?WT.mc_id=academic-17441-jabenn) پیدا کنید.
1. این دستور باید شما را به رزبری پای متصل کرده و از شما رمز عبور بخواهد.
امکان یافتن کامپیوترها در شبکه با استفاده از `<hostname>.local` یک ویژگی نسبتاً جدید در لینوکس و ویندوز است. اگر از لینوکس یا ویندوز استفاده می‌کنید و خطاهایی در مورد پیدا نشدن نام میزبان دریافت می‌کنید، باید نرم‌افزار اضافی برای فعال کردن شبکه ZeroConf (که توسط اپل به عنوان Bonjour نیز شناخته می‌شود) نصب کنید:
1. اگر از لینوکس استفاده می‌کنید، Avahi را با دستور زیر نصب کنید:
```sh
sudo apt-get install avahi-daemon
```
1. اگر از ویندوز استفاده می‌کنید، ساده‌ترین راه برای فعال کردن 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` هنگام راه‌اندازی مجدد رزبری پای پایان می‌یابد، بنابراین حدود ۳۰ ثانیه صبر کنید و سپس دوباره متصل شوید.
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 را با یک دستور روی کامپیوتر خود نصب کرده و سپس از آن در کد خود استفاده کنید.
بسته‌های پایتون 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 برای دسترسی از راه دور
پس از پیکربندی رزبری پای، می‌توانید با استفاده از ویژوال استودیو کد (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، یا روی کامپیوتر خود و با استفاده از افزونه Remote SSH به Pi متصل شوید.
1. ترمینال 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.fa.png)
1. فایل `app.py` را از بخش اکسپلورر VS Code باز کنید و کد زیر را به آن اضافه کنید:
```python
print('Hello World!')
```
تابع `print` هر چیزی که به آن داده شود را در کنسول چاپ می‌کند.
1. از ترمینال VS Code، دستورات زیر را اجرا کنید تا برنامه‌ی Python خود را اجرا کنید:
```sh
python app.py
```
> 💁 ممکن است نیاز باشد که به طور صریح از `python3` برای اجرای این کد استفاده کنید اگر Python 2 نیز در کنار Python 3 (نسخه‌ی جدیدتر) نصب شده باشد. اگر Python 2 نصب شده باشد، اجرای دستور `python` به جای Python 3، Python 2 را اجرا خواهد کرد. به طور پیش‌فرض، نسخه‌های جدید سیستم‌عامل 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) ترجمه شده است. در حالی که ما تلاش می‌کنیم دقت را حفظ کنیم، لطفاً توجه داشته باشید که ترجمه‌های خودکار ممکن است شامل خطاها یا نادرستی‌ها باشند. سند اصلی به زبان اصلی آن باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حساس، توصیه می‌شود از ترجمه حرفه‌ای انسانی استفاده کنید. ما مسئولیتی در قبال سوء تفاهم‌ها یا تفسیرهای نادرست ناشی از استفاده از این ترجمه نداریم.