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/wio-terminal.md

17 KiB

ویو ترمینال

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

یک ویو ترمینال از Seeed Studios

راه‌اندازی

برای استفاده از ویو ترمینال، باید نرم‌افزارهای رایگانی را روی کامپیوتر خود نصب کنید. همچنین باید قبل از اتصال به WiFi، فریمور ویو ترمینال را به‌روزرسانی کنید.

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

نرم‌افزارهای موردنیاز را نصب کرده و فریمور را به‌روزرسانی کنید.

  1. ویژوال استودیو کد (VS Code) را نصب کنید. این ویرایشگری است که برای نوشتن کد دستگاه خود به زبان C/C++ از آن استفاده خواهید کرد. برای دستورالعمل‌های نصب ویژوال استودیو کد به مستندات VS Code مراجعه کنید.

    💁 یک IDE محبوب دیگر برای توسعه آردوینو Arduino IDE است. اگر قبلاً با این ابزار آشنا هستید، می‌توانید به جای VS Code و PlatformIO از آن استفاده کنید، اما درس‌ها بر اساس استفاده از VS Code توضیح داده خواهند شد.

  2. افزونه PlatformIO را برای VS Code نصب کنید. این افزونه از برنامه‌نویسی میکروکنترلرها به زبان C/C++ پشتیبانی می‌کند. برای دستورالعمل‌های نصب این افزونه در VS Code به مستندات افزونه PlatformIO مراجعه کنید. این افزونه به افزونه Microsoft C/C++ وابسته است که به‌طور خودکار هنگام نصب PlatformIO نصب می‌شود.

  3. ویو ترمینال خود را به کامپیوتر متصل کنید. ویو ترمینال دارای یک پورت USB-C در قسمت پایین است که باید به یک پورت USB روی کامپیوتر شما متصل شود. ویو ترمینال با یک کابل USB-C به USB-A ارائه می‌شود، اما اگر کامپیوتر شما فقط پورت USB-C دارد، به یک کابل USB-C یا یک مبدل USB-A به USB-C نیاز خواهید داشت.

  4. دستورالعمل‌های موجود در مستندات WiFi Overview ویکی ویو ترمینال را دنبال کنید تا ویو ترمینال خود را راه‌اندازی کرده و فریمور را به‌روزرسانی کنید.

سلام دنیا

به‌طور سنتی، هنگام شروع کار با یک زبان برنامه‌نویسی یا فناوری جدید، یک برنامه کوچک به نام 'سلام دنیا' ایجاد می‌شود که متنی مانند "Hello World" را نمایش می‌دهد تا نشان دهد همه ابزارها به‌درستی پیکربندی شده‌اند.

برنامه سلام دنیا برای ویو ترمینال اطمینان می‌دهد که ویژوال استودیو کد با PlatformIO به‌درستی نصب شده و برای توسعه میکروکنترلر آماده است.

ایجاد یک پروژه PlatformIO

اولین گام، ایجاد یک پروژه جدید با استفاده از PlatformIO است که برای ویو ترمینال پیکربندی شده باشد.

وظیفه - ایجاد یک پروژه PlatformIO

پروژه PlatformIO را ایجاد کنید.

  1. ویو ترمینال را به کامپیوتر خود متصل کنید.

  2. ویژوال استودیو کد را باز کنید.

  3. آیکون PlatformIO در نوار منوی کناری قرار دارد:

    گزینه منوی Platform IO

    این گزینه را انتخاب کنید، سپس PIO Home -> Open را انتخاب کنید.

    گزینه باز کردن Platform IO

  4. از صفحه خوش‌آمدگویی، دکمه + New Project را انتخاب کنید.

    دکمه پروژه جدید

  5. پروژه را در Project Wizard پیکربندی کنید:

    1. نام پروژه خود را nightlight بگذارید.

    2. از منوی کشویی Board، WIO را تایپ کنید تا بردها فیلتر شوند و Seeeduino Wio Terminal را انتخاب کنید.

    3. Framework را روی Arduino بگذارید.

    4. گزینه Use default location را تیک‌دار بگذارید یا آن را بردارید و مکان پروژه خود را انتخاب کنید.

    5. دکمه Finish را انتخاب کنید.

    وارد کردن اطلاعات در Project Wizard

    PlatformIO اجزای موردنیاز برای کامپایل کد برای ویو ترمینال را دانلود کرده و پروژه شما را ایجاد می‌کند. این فرآیند ممکن است چند دقیقه طول بکشد.

بررسی پروژه PlatformIO

اکسپلورر ویژوال استودیو کد تعدادی فایل و پوشه را که توسط ویزارد PlatformIO ایجاد شده‌اند، نشان می‌دهد.

پوشه‌ها

  • .pio - این پوشه شامل داده‌های موقتی است که توسط PlatformIO مانند کتابخانه‌ها یا کد کامپایل‌شده استفاده می‌شود. اگر حذف شود، به‌طور خودکار بازسازی می‌شود و نیازی نیست این پوشه را در کنترل نسخه (مانند GitHub) اضافه کنید.
  • .vscode - این پوشه شامل پیکربندی‌های مورد استفاده توسط PlatformIO و ویژوال استودیو کد است. اگر حذف شود، به‌طور خودکار بازسازی می‌شود و نیازی نیست این پوشه را در کنترل نسخه اضافه کنید.
  • include - این پوشه برای فایل‌های هدر خارجی است که هنگام افزودن کتابخانه‌های اضافی به کد خود نیاز دارید. در این درس‌ها از این پوشه استفاده نخواهید کرد.
  • lib - این پوشه برای کتابخانه‌های خارجی است که می‌خواهید از کد خود فراخوانی کنید. در این درس‌ها از این پوشه استفاده نخواهید کرد.
  • src - این پوشه شامل کد منبع اصلی برنامه شما است. در ابتدا، فقط یک فایل به نام main.cpp در آن وجود دارد.
  • test - این پوشه جایی است که می‌توانید تست‌های واحد برای کد خود قرار دهید.

فایل‌ها

  • main.cpp - این فایل در پوشه src نقطه ورود برنامه شما را شامل می‌شود. این فایل را باز کنید و کد زیر را مشاهده خواهید کرد:

    #include <Arduino.h>
    
    void setup() {
      // put your setup code here, to run once:
    }
    
    void loop() {
      // put your main code here, to run repeatedly:
    }
    

    وقتی دستگاه روشن می‌شود، فریمورک آردوینو ابتدا تابع setup را یک بار اجرا می‌کند، سپس تابع loop را به‌طور مکرر اجرا می‌کند تا زمانی که دستگاه خاموش شود.

  • .gitignore - این فایل لیستی از فایل‌ها و دایرکتوری‌هایی را که باید هنگام افزودن کد به کنترل نسخه (مانند آپلود در یک مخزن GitHub) نادیده گرفته شوند، شامل می‌شود.

  • platformio.ini - این فایل شامل پیکربندی دستگاه و برنامه شما است. این فایل را باز کنید و کد زیر را مشاهده خواهید کرد:

    [env:seeed_wio_terminal]
    platform = atmelsam
    board = seeed_wio_terminal
    framework = arduino
    

    بخش [env:seeed_wio_terminal] شامل پیکربندی برای ویو ترمینال است. می‌توانید چندین بخش env داشته باشید تا کد شما برای چندین برد کامپایل شود.

    مقادیر دیگر با پیکربندی از ویزارد پروژه مطابقت دارند:

    • platform = atmelsam سخت‌افزاری را که ویو ترمینال استفاده می‌کند (یک میکروکنترلر مبتنی بر ATSAMD51) تعریف می‌کند.
    • board = seeed_wio_terminal نوع برد میکروکنترلر (ویو ترمینال) را تعریف می‌کند.
    • framework = arduino نشان می‌دهد که این پروژه از فریمورک آردوینو استفاده می‌کند.

نوشتن برنامه سلام دنیا

اکنون آماده نوشتن برنامه سلام دنیا هستید.

وظیفه - نوشتن برنامه سلام دنیا

برنامه سلام دنیا را بنویسید.

  1. فایل main.cpp را در ویژوال استودیو کد باز کنید.

  2. کد را به کد زیر تغییر دهید:

    #include <Arduino.h>
    
    void setup()
    {
        Serial.begin(9600);
    
        while (!Serial)
            ; // Wait for Serial to be ready
    
        delay(1000);
    }
    
    void loop()
    {
        Serial.println("Hello World");
        delay(5000);
    }
    

    تابع setup یک اتصال به پورت سریال (در اینجا، پورت USB که برای اتصال ویو ترمینال به کامپیوتر استفاده می‌شود) را مقداردهی اولیه می‌کند. پارامتر 9600 نرخ baud (یا نرخ سمبل) است، یعنی سرعت ارسال داده‌ها از طریق پورت سریال به بیت در ثانیه. این تنظیم به معنای ارسال ۹۶۰۰ بیت داده در هر ثانیه است. سپس منتظر می‌ماند تا پورت سریال آماده شود.

    تابع loop خط Hello World! را به پورت سریال ارسال می‌کند، بنابراین کاراکترهای Hello World! همراه با یک کاراکتر خط جدید ارسال می‌شوند. سپس به مدت ۵۰۰۰ میلی‌ثانیه یا ۵ ثانیه متوقف می‌شود. پس از پایان loop، دوباره اجرا می‌شود و این روند تا زمانی که میکروکنترلر روشن باشد ادامه دارد.

  3. ویو ترمینال خود را در حالت آپلود قرار دهید. هر بار که کد جدیدی را به دستگاه آپلود می‌کنید، باید این کار را انجام دهید:

    1. دو بار سریع کلید پاور را به پایین بکشید - کلید به حالت روشن بازمی‌گردد.

    2. چراغ آبی وضعیت در سمت راست پورت USB را بررسی کنید. باید به‌صورت پالس روشن شود.

    ویدئویی که نشان می‌دهد چگونه ویو ترمینال را در حالت آپلود قرار دهید

    برای مشاهده ویدئو، روی تصویر بالا کلیک کنید.

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

    1. پالت دستورات ویژوال استودیو کد را باز کنید.

    2. عبارت PlatformIO Upload را تایپ کنید تا گزینه آپلود جستجو شود و PlatformIO: Upload را انتخاب کنید.

      گزینه آپلود PlatformIO در پالت دستورات

      PlatformIO در صورت نیاز کد را به‌طور خودکار قبل از آپلود کامپایل می‌کند.

    3. کد کامپایل شده و به ویو ترمینال آپلود می‌شود.

      💁 اگر از macOS استفاده می‌کنید، یک اعلان درباره DISK NOT EJECTED PROPERLY ظاهر می‌شود. این به این دلیل است که ویو ترمینال به‌عنوان یک درایو در فرآیند فلش کردن متصل می‌شود و هنگام نوشتن کد کامپایل‌شده به دستگاه، قطع می‌شود. می‌توانید این اعلان را نادیده بگیرید.

    ⚠️ اگر خطاهایی درباره در دسترس نبودن پورت آپلود دریافت کردید، ابتدا مطمئن شوید که ویو ترمینال به کامپیوتر شما متصل است، با کلید سمت چپ صفحه روشن شده و در حالت آپلود قرار دارد. چراغ سبز در پایین باید روشن باشد و چراغ آبی باید به‌صورت پالس روشن شود. اگر همچنان خطا دریافت می‌کنید، کلید روشن/خاموش را دوباره دو بار سریع به پایین بکشید تا ویو ترمینال را به حالت آپلود مجبور کنید و دوباره آپلود را امتحان کنید.

PlatformIO دارای یک مانیتور سریال است که می‌تواند داده‌های ارسال‌شده از طریق کابل USB از ویو ترمینال را نظارت کند. این امکان را به شما می‌دهد تا داده‌های ارسال‌شده توسط دستور Serial.println("Hello World"); را مشاهده کنید.

  1. پالت دستورات ویژوال استودیو کد را باز کنید.

  2. عبارت PlatformIO Serial را تایپ کنید تا گزینه مانیتور سریال جستجو شود و PlatformIO: Serial Monitor را انتخاب کنید.

    گزینه مانیتور سریال PlatformIO در پالت دستورات

    یک ترمینال جدید باز می‌شود و داده‌های ارسال‌شده از طریق پورت سریال به این ترمینال جریان می‌یابد:

    > Executing task: platformio device monitor <
    
    --- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time
    --- More details at http://bit.ly/pio-monitor-filters
    --- Miniterm on /dev/cu.usbmodem101  9600,8,N,1 ---
    --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
    Hello World
    Hello World
    

    عبارت Hello World هر ۵ ثانیه یک بار در مانیتور سریال چاپ می‌شود.

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

😀 برنامه 'سلام دنیا' شما با موفقیت اجرا شد!

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