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

26 KiB

رزبری پای

رزبری پای یک کامپیوتر تک‌برد است. شما می‌توانید با استفاده از طیف گسترده‌ای از دستگاه‌ها و اکوسیستم‌ها، حسگرها و عملگرها را به آن اضافه کنید. در این درس‌ها از یک اکوسیستم سخت‌افزاری به نام Grove استفاده می‌کنیم. شما با استفاده از زبان پایتون، رزبری پای خود را برنامه‌نویسی کرده و به حسگرهای Grove دسترسی پیدا خواهید کرد.

یک رزبری پای ۴

راه‌اندازی

اگر از رزبری پای به عنوان سخت‌افزار IoT خود استفاده می‌کنید، دو گزینه دارید: می‌توانید تمام این درس‌ها را دنبال کرده و مستقیماً روی رزبری پای کدنویسی کنید، یا می‌توانید به صورت از راه دور به یک رزبری پای بدون رابط کاربری (headless) متصل شده و از کامپیوتر خود کدنویسی کنید.

قبل از شروع، باید کلاهک پایه Grove را به رزبری پای خود متصل کنید.

وظیفه - راه‌اندازی

کلاهک پایه Grove را روی رزبری پای خود نصب کرده و آن را پیکربندی کنید.

  1. کلاهک پایه Grove را به رزبری پای خود متصل کنید. سوکت روی کلاهک به تمام پین‌های GPIO روی رزبری پای متصل می‌شود و به طور کامل روی پین‌ها قرار می‌گیرد. این کلاهک روی رزبری پای قرار می‌گیرد و آن را می‌پوشاند.

    نصب کلاهک Grove

  2. تصمیم بگیرید که چگونه می‌خواهید رزبری پای خود را برنامه‌نویسی کنید و به بخش مربوطه در زیر مراجعه کنید:

مستقیماً روی رزبری پای خود کار کنید

اگر می‌خواهید مستقیماً روی رزبری پای خود کار کنید، می‌توانید از نسخه دسکتاپ سیستم‌عامل Raspberry Pi OS استفاده کرده و تمام ابزارهای مورد نیاز را نصب کنید.

وظیفه - مستقیماً روی رزبری پای خود کار کنید

رزبری پای خود را برای توسعه آماده کنید.

  1. دستورالعمل‌های موجود در راهنمای راه‌اندازی رزبری پای را دنبال کنید تا رزبری پای خود را راه‌اندازی کنید، آن را به کیبورد/ماوس/مانیتور متصل کنید، به شبکه وای‌فای یا اترنت متصل شوید و نرم‌افزار را به‌روزرسانی کنید.

برای برنامه‌نویسی رزبری پای با استفاده از حسگرها و عملگرهای Grove، باید یک ویرایشگر برای نوشتن کد دستگاه نصب کنید و همچنین کتابخانه‌ها و ابزارهای مختلفی که با سخت‌افزار Grove تعامل دارند.

  1. پس از راه‌اندازی مجدد رزبری پای، ترمینال را با کلیک روی آیکون Terminal در نوار منوی بالا باز کنید یا از مسیر Menu -> Accessories -> Terminal استفاده کنید.

  2. دستور زیر را اجرا کنید تا سیستم‌عامل و نرم‌افزارهای نصب‌شده به‌روزرسانی شوند:

    sudo apt update && sudo apt full-upgrade --yes
    
  3. دستورات زیر را اجرا کنید تا تمام کتابخانه‌های مورد نیاز برای سخت‌افزار Grove نصب شوند:

    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 است - این بسته‌ها شامل کدهایی هستند که توسط دیگران نوشته شده و در اینترنت منتشر شده‌اند. شما می‌توانید یک بسته Pip را با یک دستور روی کامپیوتر خود نصب کرده و سپس از آن در کد خود استفاده کنید.

    بسته‌های پایتون Grove از منبع نصب می‌شوند. این دستورات مخزن حاوی کد منبع این بسته را کلون کرده و سپس آن را به صورت محلی نصب می‌کنند.

    💁 به طور پیش‌فرض، وقتی یک بسته نصب می‌کنید، در همه جای کامپیوتر شما در دسترس است و این می‌تواند منجر به مشکلاتی با نسخه‌های بسته‌ها شود - مثلاً یک برنامه به یک نسخه خاص از یک بسته وابسته است که با نصب نسخه جدید برای یک برنامه دیگر خراب می‌شود. برای حل این مشکل، می‌توانید از یک محیط مجازی پایتون استفاده کنید، که اساساً یک کپی از پایتون در یک پوشه اختصاصی است و وقتی بسته‌های Pip نصب می‌کنید، فقط در آن پوشه نصب می‌شوند. با این حال، هنگام استفاده از رزبری پای، از محیط‌های مجازی استفاده نخواهید کرد. اسکریپت نصب Grove بسته‌های پایتون Grove را به صورت جهانی نصب می‌کند، بنابراین برای استفاده از محیط مجازی باید ابتدا آن را تنظیم کرده و سپس بسته‌های Grove را به صورت دستی در آن محیط نصب کنید. استفاده از بسته‌های جهانی آسان‌تر است، به خصوص که بسیاری از توسعه‌دهندگان رزبری پای برای هر پروژه یک کارت SD تمیز را دوباره فلش می‌کنند.

    در نهایت، این فرآیند رابط I2C را فعال می‌کند.

  4. رزبری پای را با استفاده از منو یا اجرای دستور زیر در ترمینال راه‌اندازی مجدد کنید:

    sudo reboot
    
  5. پس از راه‌اندازی مجدد رزبری پای، ترمینال را دوباره باز کنید و دستور زیر را برای نصب ویژوال استودیو کد (VS Code) اجرا کنید - این ویرایشگری است که برای نوشتن کد دستگاه خود در پایتون از آن استفاده خواهید کرد.

    sudo apt install code
    

    پس از نصب، VS Code از منوی بالا در دسترس خواهد بود.

    💁 شما آزاد هستید که از هر IDE یا ویرایشگر پایتون دیگری برای این درس‌ها استفاده کنید اگر ابزار خاصی را ترجیح می‌دهید، اما دستورالعمل‌های درس‌ها بر اساس استفاده از VS Code ارائه می‌شوند.

  6. افزونه Pylance را نصب کنید. این افزونه‌ای برای VS Code است که پشتیبانی از زبان پایتون را فراهم می‌کند. به مستندات افزونه Pylance مراجعه کنید تا دستورالعمل‌های نصب این افزونه در VS Code را مشاهده کنید.

دسترسی از راه دور برای کدنویسی رزبری پای

به جای کدنویسی مستقیم روی رزبری پای، می‌توانید آن را به صورت "بدون رابط کاربری" (headless) اجرا کنید، یعنی بدون اتصال به کیبورد/ماوس/مانیتور، و از کامپیوتر خود آن را پیکربندی و کدنویسی کنید، با استفاده از ویژوال استودیو کد.

نصب سیستم‌عامل رزبری پای

برای کدنویسی از راه دور، سیستم‌عامل رزبری پای باید روی یک کارت SD نصب شود.

وظیفه - نصب سیستم‌عامل رزبری پای

سیستم‌عامل رزبری پای بدون رابط کاربری را نصب کنید.

  1. Raspberry Pi Imager را از صفحه نرم‌افزار رزبری پای دانلود کرده و نصب کنید.

  2. یک کارت SD را در کامپیوتر خود قرار دهید، در صورت نیاز از یک آداپتور استفاده کنید.

  3. Raspberry Pi Imager را اجرا کنید.

  4. در Raspberry Pi Imager، دکمه CHOOSE OS را انتخاب کنید، سپس Raspberry Pi OS (Other) و در نهایت Raspberry Pi OS Lite (32-bit) را انتخاب کنید.

    Raspberry Pi Imager با انتخاب Raspberry Pi OS Lite

    💁 Raspberry Pi OS Lite نسخه‌ای از سیستم‌عامل رزبری پای است که رابط کاربری دسکتاپ یا ابزارهای مبتنی بر رابط کاربری را ندارد. این موارد برای یک رزبری پای بدون رابط کاربری لازم نیست و نصب را کوچک‌تر و زمان بوت شدن را سریع‌تر می‌کند.

  5. دکمه CHOOSE STORAGE را انتخاب کنید و کارت SD خود را انتخاب کنید.

  6. Advanced Options را با فشار دادن Ctrl+Shift+X باز کنید. این گزینه‌ها امکان پیش‌پیکربندی سیستم‌عامل رزبری پای را قبل از نوشتن روی کارت SD فراهم می‌کنند.

    1. گزینه Enable SSH را فعال کنید و یک رمز عبور برای کاربر pi تنظیم کنید. این رمز عبوری است که بعداً برای ورود به رزبری پای استفاده خواهید کرد.

    2. اگر قصد دارید از طریق وای‌فای به رزبری پای متصل شوید، گزینه Configure WiFi را فعال کنید و SSID و رمز عبور وای‌فای خود را وارد کنید، همچنین کشور وای‌فای خود را انتخاب کنید. اگر از کابل اترنت استفاده می‌کنید، نیازی به انجام این کار نیست. مطمئن شوید که شبکه‌ای که به آن متصل می‌شوید همان شبکه‌ای است که کامپیوتر شما در آن قرار دارد.

    3. گزینه Set locale settings را فعال کنید و کشور و منطقه زمانی خود را تنظیم کنید.

    4. دکمه SAVE را انتخاب کنید.

  7. دکمه WRITE را انتخاب کنید تا سیستم‌عامل روی کارت SD نوشته شود. اگر از macOS استفاده می‌کنید، از شما خواسته می‌شود رمز عبور خود را وارد کنید زیرا ابزار زیرساختی که تصاویر دیسک را می‌نویسد به دسترسی سطح بالا نیاز دارد.

سیستم‌عامل روی کارت SD نوشته خواهد شد و پس از اتمام، کارت توسط سیستم‌عامل خارج می‌شود و به شما اطلاع داده می‌شود. کارت SD را از کامپیوتر خود خارج کنید، آن را در رزبری پای قرار دهید، رزبری پای را روشن کنید و حدود ۲ دقیقه صبر کنید تا به درستی بوت شود.

اتصال به رزبری پای

مرحله بعدی دسترسی از راه دور به رزبری پای است. شما می‌توانید این کار را با استفاده از ssh انجام دهید که در macOS، لینوکس و نسخه‌های اخیر ویندوز موجود است.

وظیفه - اتصال به رزبری پای

به صورت از راه دور به رزبری پای دسترسی پیدا کنید.

  1. یک ترمینال یا Command Prompt باز کنید و دستور زیر را برای اتصال به رزبری پای وارد کنید:

    ssh pi@raspberrypi.local
    

    اگر از ویندوز با نسخه قدیمی‌تر که ssh نصب نشده استفاده می‌کنید، می‌توانید از OpenSSH استفاده کنید. دستورالعمل‌های نصب را در مستندات نصب OpenSSH پیدا کنید.

  2. این دستور باید شما را به رزبری پای متصل کرده و از شما رمز عبور بخواهد.

    امکان یافتن کامپیوترها در شبکه با استفاده از <hostname>.local یک ویژگی نسبتاً جدید در لینوکس و ویندوز است. اگر از لینوکس یا ویندوز استفاده می‌کنید و خطاهایی در مورد پیدا نشدن نام میزبان دریافت می‌کنید، باید نرم‌افزار اضافی برای فعال کردن شبکه ZeroConf (که توسط اپل به عنوان Bonjour نیز شناخته می‌شود) نصب کنید:

    1. اگر از لینوکس استفاده می‌کنید، Avahi را با دستور زیر نصب کنید:

      sudo apt-get install avahi-daemon
      
    2. اگر از ویندوز استفاده می‌کنید، ساده‌ترین راه برای فعال کردن ZeroConf نصب Bonjour Print Services for Windows است. همچنین می‌توانید iTunes for Windows را نصب کنید تا نسخه جدیدتری از این ابزار را دریافت کنید (که به صورت مستقل در دسترس نیست).

    💁 اگر نمی‌توانید با استفاده از raspberrypi.local متصل شوید، می‌توانید از آدرس IP رزبری پای خود استفاده کنید. به مستندات آدرس IP رزبری پای مراجعه کنید تا دستورالعمل‌های مربوط به روش‌های مختلف برای دریافت آدرس IP را مشاهده کنید.

  3. رمز عبوری که در گزینه‌های پیشرفته Raspberry Pi Imager تنظیم کرده‌اید را وارد کنید.

پیکربندی نرم‌افزار روی رزبری پای

پس از اتصال به رزبری پای، باید اطمینان حاصل کنید که سیستم‌عامل به‌روز است و کتابخانه‌ها و ابزارهای مختلفی که با سخت‌افزار Grove تعامل دارند نصب شده‌اند.

وظیفه - پیکربندی نرم‌افزار روی رزبری پای

نرم‌افزار نصب‌شده روی رزبری پای را پیکربندی کرده و کتابخانه‌های Grove را نصب کنید.

  1. از جلسه ssh خود، دستور زیر را برای به‌روزرسانی و سپس راه‌اندازی مجدد رزبری پای اجرا کنید:

    sudo apt update && sudo apt full-upgrade --yes && sudo reboot
    

    رزبری پای به‌روزرسانی شده و راه‌اندازی مجدد خواهد شد. جلسه ssh هنگام راه‌اندازی مجدد رزبری پای پایان می‌یابد، بنابراین حدود ۳۰ ثانیه صبر کنید و سپس دوباره متصل شوید.

  2. از جلسه ssh دوباره متصل شده، دستورات زیر را برای نصب تمام کتابخانه‌های مورد نیاز برای سخت‌افزار Grove اجرا کنید:

    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 است - این بسته‌ها شامل کدهایی هستند که توسط دیگران نوشته شده و در اینترنت منتشر شده‌اند. شما می‌توانید یک بسته Pip را با یک دستور روی کامپیوتر خود نصب کرده و سپس از آن در کد خود استفاده کنید.

    بسته‌های پایتون Grove از منبع نصب می‌شوند. این دستورات مخزن حاوی کد منبع این بسته را کلون کرده و سپس آن را به صورت محلی نصب می‌کنند.

    💁 به طور پیش‌فرض، وقتی یک بسته نصب می‌کنید، در همه جای کامپیوتر شما در دسترس است و این می‌تواند منجر به مشکلاتی با نسخه‌های بسته‌ها شود - مثلاً یک برنامه به یک نسخه خاص از یک بسته وابسته است که با نصب نسخه جدید برای یک برنامه دیگر خراب می‌شود. برای حل این مشکل، می‌توانید از یک محیط مجازی پایتون استفاده کنید، که اساساً یک کپی از پایتون در یک پوشه اختصاصی است و وقتی بسته‌های Pip نصب می‌کنید، فقط در آن پوشه نصب می‌شوند. با این حال، هنگام استفاده از رزبری پای، از محیط‌های مجازی استفاده نخواهید کرد. اسکریپت نصب Grove بسته‌های پایتون Grove را به صورت جهانی نصب می‌کند، بنابراین برای استفاده از محیط مجازی باید ابتدا آن را تنظیم کرده و سپس بسته‌های Grove را به صورت دستی در آن محیط نصب کنید. استفاده از بسته‌های جهانی آسان‌تر است، به خصوص که بسیاری از توسعه‌دهندگان رزبری پای برای هر پروژه یک کارت SD تمیز را دوباره فلش می‌کنند.

    در نهایت، این فرآیند رابط I2C را فعال می‌کند.

  3. رزبری پای را با اجرای دستور زیر راه‌اندازی مجدد کنید:

    sudo reboot
    

    جلسه ssh هنگام راه‌اندازی مجدد رزبری پای پایان می‌یابد. نیازی به اتصال مجدد نیست.

پیکربندی VS Code برای دسترسی از راه دور

پس از پیکربندی رزبری پای، می‌توانید با استفاده از ویژوال استودیو کد (VS Code) از کامپیوتر خود به آن متصل شوید - این یک ویرایشگر متن رایگان برای توسعه‌دهندگان است که برای نوشتن کد دستگاه خود در پایتون از آن استفاده خواهید کرد.

وظیفه - پیکربندی VS Code برای دسترسی از راه دور

نرم‌افزار مورد نیاز را نصب کرده و به صورت از راه دور به رزبری پای خود متصل شوید.

  1. VS Code را روی کامپیوتر خود نصب کنید. دستورالعمل‌ها را در مستندات VS Code دنبال کنید.

  2. دستورالعمل‌های موجود در مستندات توسعه از راه دور VS Code با استفاده از SSH را برای نصب اجزای مورد نیاز دنبال کنید.

  3. با دنبال کردن همان دستورالعمل‌ها، VS Code را به رزبری پای متصل کنید.

  4. پس از اتصال، دستورالعمل‌های مدیریت افزونه‌ها را دنبال کنید تا افزونه 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 متصل شوید.

  2. ترمینال VS Code را با انتخاب Terminal -> New Terminal یا فشار دادن CTRL+` باز کنید. این ترمینال به دایرکتوری خانگی کاربر pi باز خواهد شد.

  3. دستورات زیر را اجرا کنید تا یک دایرکتوری برای کد خود ایجاد کنید و یک فایل Python به نام app.py در داخل آن دایرکتوری بسازید:

    mkdir nightlight
    cd nightlight
    touch app.py
    
  4. این پوشه را در VS Code باز کنید با انتخاب File -> Open... و انتخاب پوشه‌ی nightlight، سپس OK را انتخاب کنید.

    دیالوگ باز کردن VS Code که پوشه‌ی nightlight را نشان می‌دهد

  5. فایل app.py را از بخش اکسپلورر VS Code باز کنید و کد زیر را به آن اضافه کنید:

    print('Hello World!')
    

    تابع print هر چیزی که به آن داده شود را در کنسول چاپ می‌کند.

  6. از ترمینال VS Code، دستورات زیر را اجرا کنید تا برنامه‌ی Python خود را اجرا کنید:

    python app.py
    

    💁 ممکن است نیاز باشد که به طور صریح از python3 برای اجرای این کد استفاده کنید اگر Python 2 نیز در کنار Python 3 (نسخه‌ی جدیدتر) نصب شده باشد. اگر Python 2 نصب شده باشد، اجرای دستور python به جای Python 3، Python 2 را اجرا خواهد کرد. به طور پیش‌فرض، نسخه‌های جدید سیستم‌عامل Raspberry Pi فقط Python 3 را نصب دارند.

    خروجی زیر در ترمینال ظاهر خواهد شد:

    pi@raspberrypi:~/nightlight $ python3 app.py
    Hello World!
    

💁 شما می‌توانید این کد را در پوشه‌ی code/pi پیدا کنید.

😀 برنامه‌ی 'Hello World' شما موفقیت‌آمیز بود!

سلب مسئولیت:
این سند با استفاده از سرویس ترجمه هوش مصنوعی Co-op Translator ترجمه شده است. در حالی که ما تلاش می‌کنیم دقت را حفظ کنیم، لطفاً توجه داشته باشید که ترجمه‌های خودکار ممکن است شامل خطاها یا نادرستی‌ها باشند. سند اصلی به زبان اصلی آن باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حساس، توصیه می‌شود از ترجمه حرفه‌ای انسانی استفاده کنید. ما مسئولیتی در قبال سوء تفاهم‌ها یا تفسیرهای نادرست ناشی از استفاده از این ترجمه نداریم.