مهندس موفق الکترونیک

پروگرم کردن آردوینو با استفاده از PlatformIO یا پلتفرمIO

امروز با محیط توسعه «پلتفرمIO» یا PlatformIO برای آردوینو آشنا خواهیم شد. توسعه در آردوینو و آردوینوIDE با رابط کاربری آسانی که دارند، همیشه آسان و سرگرم کننده بوده است. آردوینو IDE متن باز و رایگان است و می تواند از محیط توسعه ای با تمام ویژگی هایی مانند نوشتن، کامپایل و بارگذاری کد در بردهای آردوینو استفاده کند. این برنامه بر پایه جاوا است و در سیستم عامل های اصلی مانند ویندوز، OS X و لینوکس اجرا می شود. اما با تمام سادگی و جامعه بزرگ آن، برخی از ویژگیهایی که یک توسعه دهنده با تجربه لازم دارد تا بتواند برای پیشرفت سریع دوره توسعه را کاهش دهد، ندارد. محیط های توسعه قابل دسترسی برای آردوینو وجود دارند، اما همه آنها، مزایا و معایبی دارند. امروز، ما با محیط توسعه «پلتفرمIO» یا PlatformIO شروع خواهیم کرد که کاربرد آن آسان است و در مقایسه با محیط آردوینو دارای ویژگی های افزون تری میباشد.

پروگرم کردن آردوینو با استفاده از PlatformIO یا پلتفورمIO

پلتفرمIO چیست؟

پلتفرمIO یک اکوسیستم متن باز مبتنی بر پایتون برای توسعه IoT (اینترنت اشیا) و یک پلتفرم IDE متقابل با یک دیباگر یکپارچه است که بر روی ویندوز، مک و لینوکس راه اندازی می شود. پلتفرمIO با مدیریت کتابخانه برای سیستم عامل هایی مانند آردوینو یا پشتیبانی MBED همراه با unit testing (یک مرحله از تست نرم افزار است که در آن بخش های کوچک از یک برنامه (units) یا کامپوننت های مختلف یک نرم افزار تست می شوند.) و بروزرسانی های فریمور سیستم عامل همراه است. پلتفرمIO از تعدادی از پلتفرم ها، فریم ورک ها، برد هایی مثل آردوینو، ESP32 ، ESP8266 پشتیبانی می کند و با تعدادی از نمونه ها و کتابخانه ها همراه است. این مستقل از پلتفورمی است که در آن کار می کند و فقط به پایتون نصب شده روی رایانه احتیاج دارد.

مزایای استفاده از پلتفرمIO

پلتفورمIO دارای ویژگی های توسعه سریع مانند کد های اجرایی ++C / C   و ابزار هوشمند بررسی و آنالیز کد (لاینتر) برای توسعه سریع و حرفه ای، است که در آردوینو IDE وجود ندارد. علاوه بر این، پلتفرمIO پشتیبانی تم را با رنگهای تیره و روشن برای توسعه در هر زمان ارائه می دهد. همچنین مجهز به Smart Code Navigations (موقعیت یابی و پیمایش کد ها) و قالب بندی کد است. ویژگی های اصلی شامل سیستم ساختار چندین پلتفرمی، مدیریت کتابخانه، مانیتور پورت سریال و غیره است.

دیباگر یکپارچه با پشتیبانی از معماری های متعدد و پلتفرم های توسعه اجازه می دهد تا چندین برد امبدد را با تنظیمات صفر دیباگ (رفع عیب) کنید. دیباگر یکپارچه پلتفورمIO دارای ویژگی هایی مانند نقطه وقفه های شرطی، عبارات و واچ پوینت ها، نمایش وضعیت حافظه، شروع مجدد یک مرحله فعال دیباگ، است. هسته پلتفورمIO توسط زبان پایتون، نسخه ی 2.7 نوشته شده است و بر روی ویندوز، مک، لینوکس، FreeBSD و حتی کامپیوتر هایی که اندازه ی آنها در ابعاد کارت اعتباری و براساس ARM کار میکند مانند Raspberry Pi ، BeagleBone ، CubieBoard ، Samsung ARTIK و غیره قابل اجرا است. صرف نظر از این موضوع، پلتفرمIO دارای صفحه مدیریت فایل می باشد که به سازماندهی فایل ها وقتی پروژه به سطح معینی می رسد و سازماندهی لازم می شود، کمک می کند.

تنظیم پلتفرمIO برای آردوینو Uno

استفاده از پلتفرمIO بسیار ساده است و برای شروع کار چند مرحله لازم است. پلتفرمIO به پایتون نیاز دارد که بر روی رایانه نصب شود زیرا همانطور که در بالا توضیح داده شد، هسته پلتفرمIO توسط پایتون 2.7 نوشته شده است. توجه داشته باشید که پلتفرمIO از پایتون 3 پشتیبانی نمی کند، بنابراین توصیه می شود نسخه پایتون 2 را نصب کنید و سپس برای راه اندازی پلتفرمIO   اقدام کنید. پلتفرمIO یک IDE همراه با بسته های نرم افزاری ویژه (پلاگین ها، افزونه ها) برای محبوب ترین IDE ها و ویرایشگران متن است.

مطلب پیشنهادی:  رشته‌ ها در برنامه نویسی آردوینو

امروز پلتفرمIO را در ویرایشگر متنی مانند Atom و ویژوال استودیو کد نصب خواهیم کرد. در اسناد رسمی پلتفرم IDE بیان شده است که پلتفرمIO IDE برای کد ویژوال استودیو عملکرد سیستم بهتری را ارائه می دهد و برای استفاده کاربران در شروع کار راحت تر است. بنابراین ما پلتفرمIO را در ویژوال استودیو کد تنظیم خواهیم کرد. ویژوال استودیو کد یک ویرایشگر متن شناخته شده با تعدادی افزونه است که به ما اجازه میدهد در زبان های مختلف برنامه نویسی امکان پیشرفت و توسعه داشته باشیم. برای دانلود نرم‌افزار «ویژوال استادیو‌ کد» روی لینک زیر کلیک کنید. بعد از ورود به لینک با توجه به سیستم عامل خود روی لینک دانلود کلیک کنید.

https://code.visualstudio.com/download

برای کد نویسی در آردوینو UNO، ابتدا باید تنظیمات پلتفرمIO را بدرستی انجام دهیم. همچنین مراحل پیچیده ای وجود دارد که در زیر توضیح داده شده است:

  • ابتدا ویژوال استودیو کد را از وب سایت رسمی آن نصب کنید. مراحل نصب ویژوال استودیو کد در اینجا توضیح داده نمی شود اما می توانید آن را در وب سایت ویژوال استودیو کد پیدا کنید. مراحل کلی نصب این برنامه مانند نصب هر نرم افزار دیگری در سیستم عامل ویندوز وجود دارد.
  • وقتی که نصب با موفقیت انجام شود، ویژوال استودیو کد مانند عکس زیر ظاهر خواهد شد.

پروگرم کردن آردوینو با استفاده از PlatformIO یا پلتفورمIO

  • مرحله بعدی شامل نصب پلتفرمIO با استفاده از افزون های ویژوال استودیو کد است. برای این کار شما به قسمت آیکون های افزودنی در گوشه سمت چپ بالای ویژوال استودیو کد بروید. یک آیکون مربع شکل وجود دارد که پنجمین آیکون در گوشه بالا در سمت چپ است. کافیست بر روی آن کلیک کنید و یک کادر جستجو درست در کنار آن ظاهر خواهد شد که در آن می توانید عبارات زیادی را برای زبان های مختلف برنامه نویسی مانند C / C ++ ، C # ، Python ، PHP ، Go ، JavaScript ، TypeScript و Node.js و غیره پیدا کنید. اگر علاقمند بودید درس های آموزش زبان برنامه نویسی C و آموزش زبان ++C را هم مطالعه کنید.

پروگرم کردن آردوینو با استفاده از PlatformIO یا پلتفورمIO

  • پلتفورمIO را در کادر جستجوی افزونه ها سرچ کنید و آیکون پلتفورمIO را با نام و توضیحات مشاهده خواهید کرد. کافیست بر روی آن کلیک کرده و آن را نصب کنید. ممکن است مدتی نصب ابزارهای زنجیره ای و سایر مواردی که به آن ها مرتبط هستند، طول بکشد. این موارد شامل محیط ++C / C   است زیرا توسعه آردوینو بیشتر در برنامه ++C / C   انجام می شود.

پروگرم کردن آردوینو با استفاده از PlatformIO یا پلتفورمIO

  • پس از اتمام نصب، رابط زیر را مشاهده خواهید کرد. رابط شامل کلیه ابزار های لازم دسترسی به پروژه ها مانند ایجاد پروژه جدید، وارد کردن پروزه آردوینو، باز کردن یک پروژه، نمونه پروژه ها و غیره است. توصیه می شود بعد از نصب پلتفورمIO، ویرایشگر ویژوال استودیو کد را دوباره راه اندازی کنید.

پروگرم کردن آردوینو با استفاده از PlatformIO یا پلتفورمIO

این مراحل، مراحل پایانی نصب پلتفرمIO است. اکنون پلتفرمIO نصب و آماده استفاده کاربران می باشد. درست مانند آردوینو IDE، ما با برنامه چشمک زدن LED (Blink) شروع خواهیم کرد و سعی خواهیم کرد برنامه Blink را در آردوینو UNO بارگذاری کنیم.

پروگرم کردن آردوینو UNO با استفاده از پلتفرمIO 

رابط پلتفرمIO با پروگرم کردن آردوینو UNO به طور هم زمان توضیح داده خواهد شد. در اینجا ما با استفاده از پلتفرمIO، آردوینو برای چشمک زدن LED پروگرم می کنیم. همین کار را می توان با استفاده از آردوینو IDE انجام داد. برای ایجاد یک پروژه جدید برای چراغ چشمک زن، مراحل زیر را دنبال کنید. همچنین اگر دوست داشتین دیگر پروژه های آردوینو را هم مطالعه کنید.

  • زبانه ” New Project” را از منوی دسترسی سریع(quick access) انتخاب کنید.
مطلب پیشنهادی:  قطعات و اجزای بردهای آردوینو

پروگرم کردن آردوینو UNO با استفاده از پلتفورمIO 

  • در قسمت Name، پروژه را نام گذاری کنید (بطور مثال در اینجا نام پروژه را “Blink” انتخاب می کنیم). در قسمت Board، آردوینو UNO را جستجو و انتخاب کنید. از آنجا که ما در چارچوب آردوینو کار می کنیم، بنابراین فریم ورک انتخاب شده آردوینو خواهد بود. پس از پر کردن تمام جزئیات، فقط بر روی گزینه Finish کلیک کنید.

پروگرم کردن آردوینو UNO با استفاده از پلتفورمIO 

  • پروژه با جمع آوری منابع و سایر توابع مرتبط با آن ایجاد می شود.

پروگرم کردن آردوینو UNO با استفاده از پلتفورمIO 

  • هنگامی که پروژه با موفقیت ایجاد شد، یک پیام سریع به عنوان “Project has been successfully initialized” با تمام جزئیات که در نظر داشتید، دریافت خواهید کرد.

پروگرم کردن آردوینو UNO با استفاده از پلتفورمIO 

  • برای باز کردن پروژه ایجاد شده، کافیست به منوی اصلی پلتفرمIO بروید و لیست کلیه پروژه هایی که از ابتدا تا به اکنون ایجاد شده اند را مشاهده کنید. در گوشه سمت راست پروژه ایجاد شده روی “Open” کلیک کنید تا پروژه را باز کنید و ویرایش را شروع کنید.

  • زمانی که پروژه باز شد، ابتدا پنهان به نظر می رسد اما نگران نباشید، پلتفرمIO دارای ویژگی مدیریت فایل است که در آن همه فایل های پروژه فعلی پیدا می شوند. کافیست به گوشه بالا، سمت چپ رفته و”(Untitled (Workplace” را باز کنید. با کلیک بر روی آن، تمام فایل ها به صورت منوی کشویی ظاهر می شوند. برای یافتن ویرایشگر متن برای ویرایش کد، ” “scr را انتخاب کرده و “” main.cpp را بازکنید. حالت ویرایشگر متن با باز شدن یک زبانه جدید در صفحه اصلی ظاهر می شود. در اینجا می توانید همه ی کد های مربوط به پروژه ی فعلی را بنویسید.

  • به سادگی کد Blink را برای آردوینوUNO بنویسید. توجه داشته باشید که پلتفورمIO به طور پیش فرض به کتابخانه های آردوینو دسترسی ندارد، بنابراین هر بار که کد را برای آردوینو می نویسید، همیشه کتابخانه آردوینو را وارد کنید، به عبارت دیگر ” <include <Arduino.h# “را در ابتدای برنامه قرار دهید.

  • مرحله بعدی کامپایل کردن و بارگذاری کد است. برای این کار، دستورات ارائه شده توسط پلتفرم IO را بررسی می کنیم. پلتفرمIO به طور پیش فرض پورت COM را انتخاب می کند. اما اگر پورت COM، پورت موردنظر شما نباشد می توانید پورت را تغییر دهید. تغییر پورت COM در این آموزش توضیح داده خواهد شد. پلتفرمIO دارای کارکردهایی مانند ساخت پروژه، بارگذاری، بارگذاری در دیوایس ریموتی، پاکسازی، تست، اجرای کار، مانیتور سریال و ترمینال جدید است. همه این دستورات در گوشه پایین، سمت چپ ویرایشگر مشاهده می شوند. هنگامی که روی آیکون ها حرکت می کنید، دستورات نمایش داده می شوند.

برای ساخت طرح مورد نظر، روی “Build” کلیک کنید و برای بارگذاری طرح روی آیکون“Upload” کلیک کنید. وقتی بارگذاری انجام شد، می توانید زمان بارگذاری شده با سایر جزئیات و پیامی را با عنوان “Success” مشاهده کنید. کد با موفقیت بارگذاری شده است و شما قادر خواهید بود چشمک زن LED را در برد آردوینو مشاهده کنید.

پروگرم کردن آردوینو UNO با استفاده از پلتفورمIO 

پروگرم کردن آردوینو UNO

برای انتخاب یا تغییر هر پورت COM، کافیست به صفحه اصلی پلتفورمIO مراجعه کنید و سپس به قسمت devices بروید، در اینجا شما می توانید تمام دیوایس های متصل موجود را مشاهده کنید. پورت COM مناسب را انتخاب کرده و همین روش را برای بارگذاری طرح مورد نظر دنبال کنید.

مطلب پیشنهادی:  استفاده از زمان در برنامه نویسی آردوینو

پروگرم کردن آردوینو با استفاده از PlatformIO یا پلتفورمIO

پروگرم کردن برد STM32 با استفاده از پلتفرمIO 

پروگرم کردن برد STM32 دقیقاً مراحلی مشابه پروگرم کردن آردوینو UNO که در بالا توضیح داده شد، دارد. تفاوت آن در انتخاب برد خواهد بود در وقتی که شما می خواهید یک پروژه جدید بسازید. نکته خوب در مورد پلتفرمIO این است که نیازی به دانلود جداگانه هیچ گونه بسته خارجی برای هر برد نیست، به طور خودکار تمام بسته ها دانلود می شود و انتخاب برد و رفتن به ویرایشگر را برای ما آسان می کند.

ما برای بارگذاری طرح در STM32 از JLink خارجی/ JTAG/ STLink/Serial Programmer استفاده خواهیم کرد. STM32 را می توان با آردوینو IDE نیز پروگرم کرد. مراحل زیر برای پروگرم کردن با استفاده از پلتفرمIO نشان داده شده است.

  • کافیست پروژه را نام گذاری کنید. (بطور مثال در اینجا ” Blink STM32″). سپس در قسمت Board، “(Generic)BluePill F103C8 ” را انتخاب کنید. سپس در قسمت فریم ورک، آردوینو را انتخاب کنید. بر روی Finish کلیک کرده و مدتی صبر کنید زیرا در ابتدا زمان دانلود بسته ها و توابع مربوطه برد STM32 طول می کشد.

پروگرم کردن آردوینو با استفاده از PlatformIO یا پلتفورمIO

  • پس از راه اندازی، زمان ایجاد پروژه بعدی در مقایسه با پروژه قبلی کمتر خواهد بود. اکنون به سادگی به قسمت Untitled(Workspace) -> src -> main.cpp در سمت چپ file explorer بروید.
  • اکنون مراحل بعدی مهم تر خواهد بود زیرا باید تصمیم بگیریم که برای پروگرم کردن برد STM32 از کدام پروگرامر استفاده کنیم. پروگرامرهای در دسترس بسیاری مانند JTAG ، STLink، JLink ، Serial و غیره موجود هستند. همه این پروگرامر ها عمل خواهند کرد اما نیاز است که شما “پلتفرم IO .ini” را در برد یا فایل پیکربندی مربوطه، پیکر بندی کنید.
  • در این پروژه از Serial Programmer CP210x USB به UART Bridge استفاده می کنیم.
  • در مرحله اول، با استفاده از جدول زیر، پروگرمر سریال را به برد STM32 وصل کرده و آن را به رایانه متصل کنید.

بردSTM32

پروگرمر usb به سریال

5V

5V

Gnd

Gnd

A9

Rx

A10

Tx

  • اکنون به project explorerبروید و صفحه platformio.ini را باز کنید و همانطور که در تصویر نشان داده شده است، دستور را تغییر دهید. upload_protocol می گوید که چه پروگرامری باید استفاده شود (STLink ، JLink، سریال و غیره). upload_port پورت COM را انتخاب می کند. با مراجعه به “Devices” در صفحه اصلی می توانید آن را پیدا کنید. پورت COM را مطابق با پورت COM مورد نظر تغییر دهید.

پروگرم کردن آردوینو با استفاده از PlatformIO یا پلتفورمIO

  • به ” ” main.cpp بروید و برنامه را به برنامه Blink تغییر دهید. اکنون کافیست برنامه را بارگذاری کنید. سپس پیام موفقیت و زمان لازم برای بارگذاری نمایش داده خواهد شد. حال چراغ LED بوسیله پین PC13 متصل شده به برد STM32 شروع به چشمک زدن می کند.

پروگرم کردن آردوینو با استفاده از PlatformIO یا پلتفورمIO

ویدیو

ویدیو  توضیحات کافی و کیفیت بالایی ندارد ولی می‌تواند راهنمای خوبی باشد.

کد

#include <Arduino.h>
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(100); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(100); // wait for a second
}

با این کد آموزش کامل پروگرم کردن آردوینو UNO و همچنین برد STM32 با استفاده از پلتفرمIO را به پایان می رسانیم. اگر هنگام انجام مراحل با مشکلی روبرو شدید، لطفاً در قسمت زیر نظرات خود را با ما در میان بگذارید

اگر این نوشته‌ برایتان مفید بود لطفا کامنت بنویسید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

یک دیدگاه

  1. سلام ممنون از مطلبتون
    یک موضوعی که توی این محیط باید رعایت کنیم اینه که ابتدا حتما باید تابع تعریف بشه بعد مورد استفاده قرار بگیره و اگه خلافش انجام بشه خطا میگیره . در حالی که توی محیط خود اردوینو این موضوع مطرح نیست و هرجا تابع تعریف بشه قابل استفاده هست .
    برای این موضوع راه حلی دارید ؟