دسته محصول : سورس , مقالات
اجرای

زبان برنامه نویسی پایتون

پایتون یک زبان برنامه نویسی سطح بالا است که بدون کامپایل شدن (بدون تبدیل شدن به زبان اسمبلی) مستقیما توسط پلتفرم اجرا میشود مثل زبان جاوااسکریپت.

فرض کنید یه چیزی شبیه دستورات AT Command که ساختار های برنامه نویسی (ساختار حلقه ، دستورات شرطی ، متغییرها ، کتابخانه ها، توابع و …) رو هم داریم . کتابخانه های کار با GPIO ها، کار با فایل ها ، انواع سنسورها و نمایشگرها ، ارتباط SPI ، شبکه و….

در واقع اصلا هم شبیه AT Command نیست پس این فرض رو فراموش کنید.

پس این اسکریپت ها (کد های پایتون) برای اجرا نیاز به پلتفرم دارند. پروژه ی رایگان میکروپایتون یک پروژه توسعه یافته برای این منظور(پلتفرم اجرای پایتون) است که اکثر بردهای توسعه را پشتیبانی میکند.

ما میخواهیم اسکریپت پایتون را روی ماژول ESP8266 اجرا کنیم پس فایل باینری کامپایل شده (فریمور) برای این هسته را دریافت و بر روی ماژول پروگرم میکنیم.

*** توجه داشته باشید که این فریمور حاوی فایل است ، بنابراین برای پروگرم شدن صحیح آن از نرم افزار nodemcu-flasher استفاده کنید.

اگر بخواهید از بردهای دیگری استفاده کنید و یا نسخه های مختلف فریمور را استفاده کنید، میتوانید از این سایت فریمور مربوط به برد موردنظرتان را دانلود کنید.

سورس پروژه نیز رایگان برای استفاده عموم بر روی GitHub قرار دارد.

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

برای ارسال این اسکریپت ها به ESP8266 ساده ترین روش همان پورت سریال ماژول است.

اما میتوانید با  اتصال وای فای به ماژول و استفاده از رابط کاربری webrepl  نیز اقدام به اجرای کدهای پایتون بکنید.

 

مثال روشن و خاموش کردن GPIO

[css]
import machine
pin = machine.Pin(2, machine.Pin.OUT)
pin.on()
pin.off()
[/css]

در سطر اول کتابخانه machine امپورت می شود.

در سطر دوم پایه GPIO2 به عنوان خروجی تعیین میشود.

سطر سوم وضعیت پایه را یک می کند. میتوان اینگونه نیز نوشت:

pin.value(1)

سطر چهارم وضعیت پایه را صفر می کند. میتوان اینگونه نیز نوشت:

pin.value(0)

در سطر دوم یک متغییر با نام pin ایجاد شده که میتوانیم با دستور pin.value() مقدار آن را (وضعیت پایه) بدست آوریم

برای تعریف یک پایه به عنوان ورودی این گونه عمل میکنیم:

pin = machine.Pin(0, machine.Pin.IN, machine.Pin.PULL_UP)

مثال چشمک زن:

[css]

import machine
import time
led = machine.Pin(2, machine.Pin.OUT)
while True:
led.on()
time.sleep(0.5)
led.off()
time.sleep(0.5)

[/css]

ديدگاه شما چيست ؟