جلسه چهارم:
آشنایی با ساختار کلی برنامه در MicroPython
در جلسات قبلی تمام مثالهای ما از کدهای MicroPython به ترمینال (Shell) مربوط میشد. این روش ساده برای تست کدها قبل از استفاده در پروژه مفید است اما برای انجام پروژه نیاز به ساختار برنامه اصلی است. موضوع این جلسه از آموزش میکروپایتون در مورد ساختار کلی برنامه در سیستم عامل میکروپایتون است. در این جلسه به نحوه عملکرد اسکریپتهای main.py و boot.py میپردازیم و سپس با یک مثال بحث این جلسه را به اتمام میرسانیم. پیش نیاز این جلسه، جلسات قبلی میکروپایتون است.
لینک جلسات قبل(پیش نیاز این جلسه):
ساختار برنامه در MicroPython
وقتی میکروپایتون روی یک برد اجرا میشود مراحل اجرای برنامه به صورت زیر است:
1- بوت شدن سیستم عامل
2- اجرای اسکریپت boot.py
3- اجرای اسکریپت main.py
4- اجرای shell برای کاربر
بوت شدن سیستم عامل
کد این قسمت از برنامه از قبل کامپایل شدهاست و به صورت باینری در حافظه فلش پروگرم شدهاست. تغییر این کدها در مرحله قبل از ساخت سیستم عامل قابل انجام است.
اجرای اسکریپت boot.py
بعد از اتمام عملیات اجرای سیستم عامل، MicroPython به دنبال کد boot.py میگردد تا آن را اجرا کند. این کد در استارت آپ میکروپایتون اجرا میشود و برای انجام تنظیمات قبل از کد برنامه مناسب است. توجه کنید که این کد در هر بار بوت شدن نرم افزاری یا سخت افزاری اجرا میشود و اگر خطایی در آن باشد اصلا میکروپایتون بوت نمیشود و باید دوباره نصب شود پس حتما قبل اضافه کردن کد به آن، کدها را در قسمت های دیگر تست کنید.
اجرای اسکریپت main.py
بعد از اجرای اسکریپت boot.py بدون نیاز به انجام کار خاصی به طور خودکار main.py اجرا میشود. در ابتدا این فایل موجود نیست و شما میتوانید آن را به وجود آورید. اگر برنامه شما نیاز به اجرای دائمی داشت میتوانید در این فایل از حلقه while True استفاده کنید.
اجرای shell برای کاربر
اگر به هر دلیلی برنامه در مراحل قبل به پایان برسد، مثلا حلقه دائم نداشته باشید یا یک exception اتفاق بیافتد برنامه وارد این قسمت میشود. در این مرحله برنامه فقط به صورت دستور مستقیم اجرا میشود. اگر watch dog فعال باشد پس از سرریز شدن آن دستگاه ریبوت میشود.
اجرای برنامه نمونه LED چشمک زن
در این بخش برای درک بهتر موارد ذکر شده یک کد نمونه را مثال میزنیم. در Thonny ide (پس از اتصال به برد) با استفاده از کلید ترکیبی CTRL + O و انتخاب MicroPython Device لیست فایلهای حافظه فلش MicroPython را مشاهده کنید.
در ابتدا لیست فقط یک فایل دارد و آن فایل boot.py است. مثل تصویر زیر:
محتوای اسکریپت boot.py در ابتدا فقط چند دستور است که کامنت شدهاند. شما میتوانید دستورات دلخواه خود را به این فایل اضافه کنید تا بلافاصله بعد از بوت شدن اجرا شوند.
ایجاد فایل main.py
برای ایجاد اسکریپت main.py ابتدا از کلید ترکیبی CTRL+N استفاده کنید. تا یک اسکریپت خالی باز شود. سپس کلید ترکیبی CTRL+S را بزنید و MicroPython Device را انتخاب کنید.
نام فایل را main.py وارد کنید و روی OK کلیک کنید. حالا فایل آماده است شما میتوانید کد مورد نظر خود را وارد کنید. به عنوان مثال در ادامه برنامه led چشمک زن را برای شما آوردهایم.
برنامه led چشمک زن در MicroPython
کد زیر را در اسکریپت main.py وارد کنید و با استفاده از کلید ترکیبی CTRL+S آن را save کنید.
from machine import Pin
from time import sleep
led=Pin(2,Pin.OUT)
while True:
led(not led())
sleep(0.5)
با زدن کلید RESET یا کلید ترکیبی CTRL+D ماژول را ریبوت کنید. میبینید که LED شروع به چشمک زدن میکند.
برای توقف برنامه میتوانید از کلید ترکیبی CTRL+C استفاده کنید.
جمع بندی جلسه دوم آموزش Micropython
در این جلسه با آموزش ساختار کلی برنامه در MicroPython در خدمت شما بودیم. این جلسات پایه و اساس پروژههای پیشرفته تر هستند و برای شروع کار مناسب هستند.
موضوع جلسه بعد در مورد ماژول time و محتوا و کاربرد آن است.