ماژول ESP8266 وای فای با خروجی سریال ESP8266-03
ارتباطات بی سیم یکی از مهم ترین و پرکاربردترین نوع تبادل داده در صنایع و پروژه های مختلف به شمار می رود. از بین روش های مختلف تبادل بی سیم داده، فناوری وای فای یکی از محبوب ترین و پرکاربردترین روش های ارسال و دریافت داده به شمار می رود. از طرفی، ماژول های وای فای ESP یکی از پرکاربردترین و مقرون به صرفه ترین ماژول های وای فای بازار هستند. از آنجاییکه این ماژول ها قابلیت اتصال به مودم ها را دارند، بنابراین می توانید با اتصال میکروکنترلر خود به اینترنت، داده ها را در بستر شبکه جهانی وب ارسال و دریافت نمایید. در کنار این، این ماژول قابلیت برنامه نویسی را به کمک دستورات آردوینو در خود جای داده است. بدین ترتیب شما می توانید بدون نیاز به میکروکنترلر اضافی و صرفا به کمک ماژول وای فای ESP8266، پروژه های IOT خود را در کم هزینه ترین حالت ممکن، به اجرا درآورید. ماژول ESP8266 وای فای با خروجی سریال ESP8266-03، یک ماژول وای فای پرکاربرد از سری ماژول های وای فای ESP است. این ماژول که قابلیت اتصال به اینترنت، قرار گیری در حالت AP و... در خود جای داده است، قادر به اجرای برنامه های آردوینو است. این ماژول نسبت به مدل ESP01 از تعداد پایه های GPIO بیشتری برخوردار است. همچنین این ماژول دارای پایه ADC جهت دریافت سیگنال های آنالوگ است. این ماژول ها در حالت عادی دارای فرامین AT هستند که می توانید با میکروکنترلرهایی همچون ARM آن ها را راه اندازی کنید.
مشخصات فنی ماژول ESP8266 وای فای با خروجی سریال ESP8266-03
- دارای پایه جهت اتصال آنتن
-
دارای ولتاژ کاری 2.56 الی 3.6 ولت
-
قابلیت پروگرام و اجرای برنامه های آردوینو
-
قابلیت تعریف و قرارگیری در مد های کم مصرف
-
دارای فرامین AT کامند جهت اجرای دستورات کاربر
-
دارای حافظه فلش 4 مگابیتی(512کیلوبایتی) جهت اجرای برنامه ها
-
دارای تعداد پایه های GPIO بیشتر نسبت به سری نسبت به سری 01
-
دارای پروتکل ارتباطی سریال UART جهت ارتباط با میکروکنترلرها و رایانه ها
-
قابلیت قرارگیری در مد STATION جهت اتصال به مودم ها و هات اسپات تلفن همراه
-
دارای وب سرور داخلی جهت قرارگیری در مد سرور و اجرای درخواست های کلاینت
-
قابلیت قرارگیری در مد نقطه دسترسی(Access Point) جهت اتصال سایر ماژول ها و یا تلفن های همراه
کاربردهای ماژول ESP8266 وای فای با خروجی سریال ESP8266-03
- طراحی و پیاده سازی خانه های هوشمند
- طراحی و پیاده سازی گجت های هوشمند
- طراحی و پیاده سازی سیستم های امنیتی
- طراحی و پیاده سازی پروژه های ارسال بی سیم داده ها
- استفاده به عنوان یک پردازنده قدرتمند در پروژه های مختلف
راه اندازی و کار با ESP8266، بخش اول: شناخت برد
یکی از ابزارهای بسیار مهم جهت ورود به پروژه های اینترنت اشیا، ماژول های وای فای سری ESP هستند. به کمک این ماژول ها می توانید پروژه های هوشمند سازی بسیاری را با هزینه کم! انجام دهید. احتمال بسیار تاکنون نام این ماژول را شنیده و پروژه های مختلف آن را مشاهده کرده اید، اما وجود منابع مختلف و غیر منسجم شما را در یادگیری این ماژول کاربردی مایوس نموده است. در سلسله آموزش های ماژول ESP8266، از پایه ای ترین موارد تا حرفه ای ترین آن ها به بررسی راه اندازی و کار با ماژول ESP8266 می پردازیم. در آموزش نخست، به معرفی این چیپ کاربردی و امکانات آن می پردازیم. سپس در قسمت های بعدی، قدم به قدم امکانات مختلف و نحوه کار با این ماژول را مورد بررسی قرار خواهیم داد.
راه اندازی و کار با ماژول ESP8266، بخش دوم: نصب هسته و راه اندازی اولیه
در سلسله آموزش های ماژول ESP8266، به نصب هسته این برد در نرم افزار آردوینو و چگونگی پروگرام کردن این ماژول می پردازیم. ماژول ESP8266 یک ماژول فوق العاده کاربردی جهت اجرای پروژه های اینترنت اشیاست. این ماژول که مبتنی بر فناوری وای فای به تبادل داده می پردازد، می تواند به مودم های خانگی متصل شده و داده ها را در بستر اینترنت ارسال و دریافت کند. از طرف دیگر این ماژول می تواند در مد نقطه دسترسی جهت اتصال سایر دستگاه ها نظیر تلفن همراه، قرار گیرد. از دیگر قابلیت های کلیدی این ماژول علاوه بر امکانات وای فای آن، امکان برنامه نویسی آن همانند یک برد آردوینوست. به عبارت دیگر این ماژول می تواند بدون نیاز به هیچ میکروکنترلر اضافی، برنامه ها به زبان آردوینو را اجرا کند. در این قسمت به آماده سازی اولیه برد ESP جهت برنامه نویسی با آردوینو می پردازیم.
راه اندازی و کار با ESP8266، بخش سوم: معرفی پایه ها و بررسی سخت افزاری
در سلسله آموزش های ماژول ESP8266، در قسمت سوم به معرفی و بررسی پایه های GPIO می پردازیم. در قسمت اول به معرفی کلی این ماژول و امکانات آن پرداختیم. در قسمت دوم نصب هسته نرم افزاری و پروگرام کردن ماژول با دستورات آردوینو را مشاهده نمودیم. در این قسمت، به معرفی پایه های GPIO ،کاربرد و کارکرد هر یک می پردازیم.
راه اندازی و کار با ماژول ESP8266، بخش چهارم: مد STA و دریافت IP
در سلسله آموزش های مقدماتی ماژول ESP8266، در قسمت چهارم وارد مباحث شبکه ای ماژول و دستورات آردوینو برای مد STA و دریافت IP می پردازیم. همانطور که اطلاع دارید، اصلی ترین کاربرد این ماژول در پروژه های مبتنی بر وای فای جهت تبادیل داده به صورت بی سیم، در حالت LOCAL و یا در بستر اینترنت است. در این آموزش نحوه اتصال ماژول به یک مودم، دریافت آی پی و نمایش آی پی را مورد بررسی قرار می دهیم.
راه اندازی و کار با ماژول ESP8266، بخش پنجم: مد نقطه دسترسی AP
در سلسله آموزش های ماژول ESP8266، در بخش پنجم به قابلیت نقطه دسترسی(Access Point) ماژول می پردازیم. در قسمت های پیشین به معرفی و شرح ویژگی ها، نحوه پروگرام با آردوینو و مد Station ماژول پرداختیم. در این قسمت به قابلیت کلیدی این ماژول، مد نقطه دسترسی AP، می پردازیم. در این مد ماژول همانند یک مودم، می تواند به دستگاه های مختلف نظیر لپ تاپ، تلفن همراه و سایر ماژول های ESP آی پی تخصیص داده و برقراری اتصال آن به خود را بپذیرد.
راه اندازی و کار با ماژول ESP8266 بخش ششم مد سرور
در سلسله آموزش های ماژول ESP8266، در قسمت ششم به یکی از مهم ترین و کلیدی ترین ویژگی های ماژول ESP8266، مد سرور، می پردازیم. ماژول ESP8266 قادر است تا با تبدیل به یک سرور، درخواست های کلاینت ها را مدیریت کرده و پاسخ مناسب را برای آن ها بفرستد. بدین ترتیب می توان بدون نیاز به سرور اضافه، درخواست ها را بر روی ماژول ESP8266 اجرا نمود. در این قسمت به نحوه قرار گیری ماژول ESP در مد سرور و اجرای درخواست های کلاینت می پردازیم.
راه اندازی و کار با ESP8266، بخش هفتم: ارتباط موبایل و ESP از طریق مودم
در سلسله آموزش های ماژول ESP8266، در بخش هفتم به بررسی یکی از قابلیت های کلیدی و کاربردی شبکه می پردازیم. در قسمت هفتم ارتباط موبایل و ESP از طریق مودم با اتصال ماژول ESP به یک مودم و اتصال یک تلفن همراه، لپ تاپ و یا یک ESP دیگر به همان مودم، به تبادل داده خواهیم پرداخت. در این روش جهت ارسال فرمان از یک تلفن همراه(یا سایر دستگاه ها) به یک ESP، نیازی به تبدیل ESP گیرنده به نقطه دسترسی نداشته و داده های خود را از طریق مودم برای ماژول ESP ارسال خواهیم نمود. بدین ترتیب شما بدون نیاز به تغییر نقطه دسترسی و صرفا با همان مودمی که تلفن شما به آن متصل است، می توانید داده و یا فرامین مختلف نظیر روشن و خاموش شدن رله را به ماژول ESP ارسال کنید. این مورد در ارتباطات شبکه ای تحت نوان لایه انتقال(Transparent) شناخته شده که در این آموزش به شرح کامل آن می پردازیم.
راه اندازی و کار با ماژول ESP8266، بخش هشتم: شناخت و راه اندازی MDNS
در سلسله آموزش های ماژول ESP8266، در قسمت هشتم یکی از قابلیت های کلیدی و کاربردی این ماژول، MDNS، را مورد بحث و بررسی قرار می دهیم. در قسمت قبلی در رابطه با لایه Transparent، امکانات و کاربرد آن صحبت کردیم. همانطور که اطلاع دارید آی پی آدرس ماژول های ESP پس از هر بار اتصال به مودم و قطع شدن از آن، تغییر می یابد. این موضوع در سناریو خانه هوشمند که در قسمت قبلی راجع به آن صحبت شد، سبب ایجاد مشکلاتی خواهد شد. در این سناریو شما باید آی پی آدرس هر ماژول را با هربار اتصال بدانید تا بتوانید به آن فرمان دهید. چنین موردی طراحی و پیاده سازی شبکه را بسیار سخت می کند. اما به لطف وجود MDNS، ماژول ها دارای نام دامنه ثابت شده که دیگر نیازی به دانستن آی پی آن ها نیست.
راه اندازی و کار با ماژول ESP8266، بخش نهم: اجرای متد GET
در سلسله آموزش های ماژول ESP8266، در بخش نهم به بررسی متد GET جهت ارسال و دریافت داده می پردازیم. در سلسله آموزش های ماژول ESP8266، مطالب را به صورت پایه ای جهت راه اندازی و کار با این ماژول، به صورت صفر تا صد مورد بحث و بررسی قرار داده ایم. با کلیک بر روی این لینک می توانید این سلسله آموزش را دنبال و مطالعه کنید. در این قسمت به بررسی متد GET جهت ارسال و دریافت داده هم به صورت محلی(LOCAL) و هم به صورت اینترنتی می پردازیم. سپس در قسمت بعدی به متد دیگر جهت تبادل داده، متد POST خواهیم پرداخت. متد GET تحت پروتکل HTTP یکی از پرکاربردترین و اساسی ترین روش های تبادل داده در شبکه است.
مشخصات
- کاربری
- مناسب برای استفاده صنعتی
- نوع ماژول
- مخابراتی
- ابعاد فیبر
- ۱۲/۲ * ۱۷/۴ میلی متر
- تعداد فیبر
- 1 عدد
- سطح تجربه مورد نیاز
- پیشرفته
- ولتاژ مورد نياز
- ۳/۳ ولت
- توان
- ۱۹/۵ دسی بل
- چاپ مس
- دارای چاپ آبی
- اقلام همراه محصول
- ندارد
- کشور سازنده
- چین
- وزن
- 7 گرم
- فرکانس
- ۲/۴ گیگاهرتز
- حافظه Flash
- 512 کیلوبایت
- جریان مصرفی درحالت خواب
- ۱۰ میکروآمپر
- ارتباط UART
- دارد
- فرکانس آی سی
- 80 و یا 160 مگاهرتز
- میکروپایتون: از زبان برنامه نویسی پایتون استفاده می کند که خواندن و نوشتن آن آسان است و برای مبتدیان مناسب تر است.
- آردوینو: از زبان برنامه نویسی مبتنی بر C++ استفاده می کند که پیچیده تر است و به دانش برنامه نویسی بیشتری نیاز دارد.
- میکروپایتون: می تواند بر روی بردهای مختلف میکروکنترلر، از جمله ESP8266، ESP32 و Raspberry Pi Pico اجرا شود.
- آردوینو: پلتفرمی با مجموعه ای از بردهای توسعه خود است که هر کدام ویژگی ها و قابلیت های خاص خود را دارند.
- میکروپایتون: به طور پیش فرض از بسیاری از کتابخانه های مفید مانند GPIO، ADC، PWM، I2C، SPI و Wi-Fi پشتیبانی می کند.
- آردوینو: برای استفاده از بسیاری از این کتابخانه ها، نیاز به نصب کتابخانه های خارجی دارید.
- میکروپایتون: جامعه ای رو به رشد دارد، اما به اندازه جامعه آردوینو بزرگ نیست.
- آردوینو: جامعه ای بزرگ و فعال با پشتیبانی گسترده و منابع آموزشی فراوان دارد.
- میکروپایتون: به طور کلی سریعتر از آردوینو است.
- آردوینو: برای پروژه های مبتنی بر الکترونیک و سخت افزار مناسب تر است.
- سطح تجربه شما در برنامه نویسی: اگر مبتدی هستید، میکروپایتون انتخاب آسان تری است.
- نوع پروژه ای که می خواهید انجام دهید: اگر به دنبال پروژه ای مبتنی بر الکترونیک هستید، آردوینو انتخاب مناسب تری است.
- برد ESP8266 یا ESP32: مانند NodeMCU, WeMos D1 Mini, ESP32 DevKitC
- کابل USB: برای اتصال برد ESP به کامپیوتر
- IDE برنامه نویسی: مانند Thonny, MicroPython IDE, Visual Studio Code
- نصب فریمور میکروپایتون: بر روی برد ESP
- ESP8266: محبوب ترین برد ESP برای میکروپایتون است. این برد ارزان قیمت، کم مصرف و دارای Wi-Fi داخلی است.
- ESP32: قدرتمندتر از ESP8266 است و دارای دو هسته CPU، Wi-Fi، بلوتوث و BLE است.
- ESP-WROOM-02: یک ماژول ESP8266 با Wi-Fi داخلی است که می توان از آن به عنوان یک برد توسعه برای میکروپایتون استفاده کرد.
- ESP-WROOM-03: مشابه ESP-WROOM-02 است، اما دارای بلوتوث و BLE نیز می باشد.
- NodeMCU: یک برد توسعه محبوب برای ESP8266 است که دارای GPIO، ADC، PWM، I2C، SPI و Wi-Fi است.
- WeMos D1 Mini: یک برد توسعه محبوب دیگر برای ESP8266 است که دارای GPIO، ADC، PWM، I2C، SPI و Wi-Fi است.
- Adafruit Feather HUZZAH ESP8266: یک برد توسعه با ESP8266، Wi-Fi و USB است که می توان از آن به عنوان یک برد توسعه برای میکروپایتون استفاده کرد.
- SparkFun Thing Plus: یک برد توسعه با ESP8266، Wi-Fi و USB است که می توان از آن به عنوان یک برد توسعه برای میکروپایتون استفاده کرد.
- ESP32 دارای دو هسته پردازنده 32 بیتی Xtensa LX106 با فرکانس 240 مگاهرتز است.
- ESP8266 دارای یک هسته پردازنده 32 بیتی Tensilica Xtensa LX106 با فرکانس 80 مگاهرتز است.
- ESP32 در مدلهای مختلف با حافظههای رم 4، 8 و 16 مگابایت و حافظه فلش 4، 8، 16 و 32 مگابایت ارائه میشود.
- ESP8266 در مدلهای مختلف با حافظههای رم 80، 128 و 256 کیلوبایت و حافظه فلش 4 مگابایت ارائه میشود.
- ESP32 دارای بلوتوث داخلی، 10 پین ADC، 2 پین DAC، 4 پین SPI، 2 پین I2C، 1 پین UART و 1 پین USB است.
- ESP8266 فاقد بلوتوث داخلی است و فقط دارای 1 پین ADC، 1 پین DAC، 1 پین SPI، 1 پین I2C و 1 پین UART است.
- ورودی دیجیتال: میتوان از پینهای GPIO برای خواندن ولتاژ دیجیتال از یک سنسور یا دکمه استفاده کرد.
- خروجی دیجیتال: میتوان از پینهای GPIO برای کنترل ولتاژ دیجیتال یک LED یا موتور استفاده کرد.
- PWM (مدولاسیون پهنای پالس): میتوان از برخی از پینهای GPIO برای تولید سیگنال PWM برای کنترل سرعت موتور یا روشنایی LED استفاده کرد.
- ADC (مبدل آنالوگ به دیجیتال): میتوان از برخی از پینهای GPIO برای تبدیل سیگنالهای آنالوگ به دیجیتال استفاده کرد.
- SPI (رابط سریال محیطی): میتوان از برخی از پینهای GPIO برای ارتباط با دستگاههای SPI مانند کارت حافظه SD استفاده کرد.
- I2C (مدار مجتمع بین-تراشهای): میتوان از برخی از پینهای GPIO برای ارتباط با دستگاههای I2C مانند سنسورها استفاده کرد.
- پرکاربردترین پروتکل برای اتصال ESP32 به اینترنت است.
- به ESP32 اجازه می دهد به روتر Wi-Fi موجود متصل شود.
- از نظر سرعت و برد مناسب است.
- برای پروژه های IoT که نیاز به اتصال دائمی به اینترنت دارند، مانند خانه های هوشمند، ایده آل است.
- برای اتصال ESP32 به دستگاه های دیگر مانند گوشی های هوشمند، تبلت ها و سایر دستگاه های BLE استفاده می شود.
- مصرف انرژی پایینی دارد.
- برای پروژه های IoT که نیاز به تبادل داده با دستگاه های دیگر در محدوده کوتاه دارند، مانند پوشیدنی ها، ایده آل است.
- برای ارسال و دریافت داده ها بین ESP32 و سرور IoT استفاده می شود.
- از نظر وزن سبک و کارآمد است.
- برای پروژه های IoT که نیاز به ارسال و دریافت داده های حسگر به صورت بلادرنگ دارند، مانند سیستم های مانیتورینگ، ایده آل است.
- برای ارسال و دریافت داده ها بین ESP32 و سرور وب استفاده می شود.
- پروتکلی شناخته شده و汎用ی است.
- برای پروژه های IoT که نیاز به تبادل داده با صفحات وب دارند، مانند سیستم های کنترل، ایده آل است.
- برای اتصال ESP32 به شبکه های LoRaWAN استفاده می شود.
- برد و نفوذپذیری بالایی دارد.
- برای پروژه های IoT که نیاز به اتصال در مناطق دور افتاده یا با موانع دارند، مانند کشاورزی هوشمند، ایده آل است.
- در برنامه ESP32 خود، کتابخانه OTA را اضافه کنید.
- تابع ArduinoOTA.begin() را با اطلاعات مربوط به سرور OTA خود پیکربندی کنید.
- تابع ArduinoOTA.setPort() را برای تنظیم پورت OTA (به طور پیش فرض 8266) استفاده کنید.
- تابع ArduinoOTA.setPassword() را برای تنظیم رمز عبور OTA (اختیاری) استفاده کنید.
- برنامه ESP32 خود را با فعال بودن OTA آپلود کنید.
- پس از آپلود، ESP32 شما به طور خودکار به دنبال آپدیت در سرور OTA خواهد بود.
- برنامه آپدیت شده ESP32 خود را به عنوان یک فایل bin. کامپایل کنید.
- فایل bin. را به سرور OTA خود آپلود کنید.
- ESP32 شما به طور خودکار آپدیت را در سرور OTA شناسایی می کند.
- برای نصب آپدیت، دکمه "Update" را در رابط کاربری OTA فشار دهید.
- قبل از استفاده از OTA، باید یک سرور OTA را پیکربندی کنید.
- می توانید از سرور OTA خودتان یا از یک سرویس OTA شخص ثالث استفاده کنید.
- برای امنیت بیشتر، می توانید از رمز عبور برای OTA استفاده کنید.
- هنگام آپدیت برنامه ESP32 خود، از قطع شدن برق یا اتصال WiFi خودداری کنید.
اتصالات باتریها را بررسی کنید. همگی از یک نمونه باشند و اتصالات کامل و استاندارد باشند.
آردوینو یک پلتفرم توسعه است که شامل یک IDE (محیط توسعه یکپارچه) و یک زبان برنامه نویسی مبتنی بر C++ است. میکروپایتون یک زبان برنامه نویسی است که می تواند بر روی بردهای آردوینو با تراشه ESP, RP2040 و همچنین سایر میکروکنترلرها مثل ESP, STM استفاده شود.
تفاوت های کلیدی بین میکروپایتون و آردوینو:
زبان برنامه نویسی:
سخت افزار:
قابلیت ها:
جامعه:
موارد دیگر:
انتخاب بین میکروپایتون و آردوینو به عوامل مختلفی بستگی دارد:
بردهای ESP تا به امروز در دو مدل ESP8266 و ESP32 طراحی و تولید شدهاند. این دو مدل تراشه دارای وای فای هستند و در عین حال قابلیتهای یک میکروکنترلر را هم دارند. تراشههای ESP32 نسخهی به روز رسانی شده و دارای بلوتوث هم هستند. موارد اصلی مصرف بردهای ESP در پروژه های اینترنت اشیا هستند. با توجه به ابعاد کوچک، مصرف انرژی کم، قیمت اقتصادی و دارای بودن میکروکنترلر داخلی امکان بهره برداری از آن در پروژه های مختلفی فراهم است.
به طور کلی در هر پروژهای که نیازمندی به ارتباط بیسیم وای فای و یا بلوتوث نیاز است، میتوان از تراشه های esp استفاده کرد.
توسط همین ماژول هم میتوانید اقدام به اجرای درخواستتان کنید. البته اگر فقط بخواهید یک سلول باتری لیتیومی را مدیریت شارژ کنید، همان گزینه ماژول TP4056 مناسب خواهد بود.
برد ESP8266 NodeMCU دارای تعداد محدودی پین دیجیتال و آنالوگ است و تعداد این پینها از پیش تعیین شده است.
استفاده از ماژولهای I2C (I2C Expanders):
میتوانید از ماژولهای I2C مانند MCP23017 یا PCF8574 استفاده کنید تا تعداد پورتهای دیجیتال اضافی را به NodeMCU اضافه کنید. این ماژولها به وسیله اتصال به پورت I2C برد NodeMCU و افزودن پورتهای دیجیتال ورودی و خروجی امکانپذیر میشوند.
استفاده از شیلدهای آماده:
برای افزایش تعداد پورتهای ورودی و خروجی میتوانید از شیلدهای آماده برای NodeMCU استفاده کنید. این شیلدها به طور معمول پورتهای ورودی و خروجی اضافی، مانند شیلدهای Relay، شیلدهای GPIO اضافی و غیره را ارائه میدهند.
استفاده از اتصالات Serial (UART):
میتوانید از پورتهای UART برای ارتباط با دیگر دستگاهها و میکروکنترلرها استفاده کنید. با این روش، میتوانید دستگاههای جانبی را به NodeMCU متصل کرده و از آنها به عنوان پورتهای ورودی و خروجی استفاده کنید.
برای اتصال به شبکه وای فای دستورات زیر را وارد کنید.
import network
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect("نام_شبکه_Wi-Fi", "رمز_عبور")
while not wlan.isconnected():
pass
برای کنترل یک پایه GPIO، ابتدا یک شیء از کلاس Pin بسازید و به عنوان ورودی شماره پایه GPIO را بدهید. به عنوان مثال برای پایه GPIO 5:
from machine import Pin
gpio_pin = Pin(5, Pin.OUT) # شماره پایه و حالت خروجی (OUT) را تعیین کنید
gpio_pin.value(1) # تنظیم پایه به حالت HIGH (برق)
gpio_pin.value(0) # تنظیم پایه به حالت LOW (عدم برق)
current_state = gpio_pin.value() # دریافت وضعیت فعلی پایه
print(current_state)
MicroPython برای اجرا بر روی میکروکنترلرهای مختلف از جمله ESP8266، ESP32، STM32 و غیره طراحی شده است. وبسایت رسمی MicroPython یک لیست از پلتفرمهای پشتیبانیشده را ارائه میدهد.
برای تعریف یک تابع در MicroPython، از کلیدواژه def استفاده کنید. به عنوان مثال:
def greet(name):
print("Hello, " + name + "!")
بله، MicroPython از توابع با تعداد متغیرهای از آرگومانها پشتیبانی میکند. شما میتوانید تعداد دلخواهی از آرگومانها به یک تابع ارسال کنید
بله، MicroPython از توابع داخلی معمول Python مانند print(), len(), و range() پشتیبانی میکند. این توابع به صورت پیشفرض در MicroPython فراهم شدهاند.
میتوانید یک فایل متنی جدید ایجاد کرده و توابع را در آنجا تعریف کنید. سپس با استفاده از دستور import، آن فایل را به کد اصلیتان وارد کنید.
برای صدا زدن یک تابع از یک ماژول دیگر در MicroPython، ابتدا ماژول را با استفاده از دستور import وارد کنید، سپس نام تابع را با نام ماژول مرتبط فراخوانی کنید.
# در فایل ماژول مثلاً به نام mymodule.py
def my_function():
print("Hello from my_module!")
# در فایل اصلی
import mymodule
mymodule.my_function()
برای فراخوانی یک تابع یک تابع از یک کلاس در MicroPython، ابتدا یک نمونه از کلاس بسازید و سپس تابع را از طریق آن نمونه فراخوانی کنید.
class MyClass:
def my_method(self):
print("Hello from my method!")
my_instance = MyClass()
my_instance.my_method()
بله، MicroPython از برخی از ماژولهای تصویری پشتیبانی میکند. برای استفاده از دوربینها یا ماژولهای تصویری دیگر، شما نیاز به فلش کردن کتابخانهها و ماژولهای مربوطه دارید.
برای اتصال به اینترنت با برد میکروکنترلر ESP32، میتوانید از کتابخانه WiFi.h استفاده کنید. این کتابخانه شامل توابعی برای اتصال به شبکههای Wi-Fi و ارسال و دریافت دادهها از طریق Wi-Fi است.
برای ساخت یک سیستم کنترل دما با برد میکروکنترلر ESP32، به موارد زیر نیاز دارید:
یک برد میکروکنترلر ESP32
یک سنسور دما مثل DHT DS18B20
یک المان سرد کننده
با استفاده از کتابخانه DHT.h، میتوانید از سنسور دما برای خواندن دمای محیط استفاده کنید. سپس، میتوانید از این دما برای کنترل المان گرمایشی یا سرمایشی استفاده کنید.
در خصوص برنامه نویسی از کتابخانه DHT و در صورت نیاز کتابخانه وای فای برای ارسال دادهها به پلتفرم IoT باید استفاده کنید.
میکروپایتون یک زیر مجموعه از زبان برنامه نویسی پایتون است که برای میکروکنترلرها مانند ESP8266 و ESP32 بهینه شده است. این زبان به شما امکان می دهد تا برنامه های پیچیده را با استفاده از دستورات ساده و خوانا پیاده سازی کنید. تفاوت اصلی میکروپایتون با پایتون در این است که برای اجرا بر روی سخت افزارهای کم مصرف مانند میکروکنترلرها طراحی شده است.
سادگی: میکروپایتون از نحو ساده و خوانایی مشابه پایتون استفاده میکند که یادگیری و استفاده از آن را آسان میکند.
قدرت: میکروپایتون از کتابخانه های قدرتمندی برای انجام وظایف مختلف مانند کنترل GPIO، شبکه، و سنسورها پشتیبانی میکند.
انعطاف پذیری: میکروپایتون میتواند برای طیف وسیعی از پروژه ها از جمله اینترنت اشیا، رباتیک، و اتوماسیون خانگی استفاده شود.
جامعه کاربری فعال: میکروپایتون از جامعه ی بزرگی از کاربران و توسعه دهندگان فعال پشتیبانی میکند که میتوانند در حل مشکلات و ارائهی راهنمایی به شما کمک کنند.
برای شروع برنامه نویسی میکروپایتون با ESP8266 و ESP32، به موارد زیر نیاز دارید:
سپس برای شروع برنامه نویسی از آموزشهای میکروپایتون در دیجیاسپارک میتوانید استفاده کنید.
برای دسترسی به پین های GPIO در میکروپایتون، می توانید از ماژول machine استفاده کنید. این ماژول شامل توابعی برای تنظیم پین ها به عنوان ورودی یا خروجی، خواندن و نوشتن مقادیر دیجیتال، و فعال کردن وقفه ها است. نمونه:
from machine import Pin
led = Pin(25, Pin.OUT)
برای کنترل موتورها در میکروپایتون، میتوانید از ماژول machine و پینهای PWM استفاده کنید. ماژول machine شامل توابعی برای تولید سیگنالهای PWM است که می تواند برای کنترل سرعت و جهت موتورها استفاده شود.
بردهای ESP سازگار با میکروپایتون:
ESP32 از دو هسته پردازنده Xtensa LX106 با فرکانس حداکثر 240 مگاهرتز استفاده میکند.
ESP32 در مدل های مختلف با حافظه های مختلف ارائه میشود، به طور مثال مدل ESP32-WROOM-02 دارای 4 مگابایت حافظه رم و 32 مگابایت حافظه فلش داخلی است.
ESP32 از Wi-Fi 802.11 b/g/n و بلوتوث 4.2 BLE پشتیبانی می کند
ESP32 از نظر قدرت پردازش، حافظه و امکانات جانبی مانند بلوتوث، قویتر از ESP8266 است.
پردازنده:
حافظه:
امکانات جانبی:
ESP32 در مدلهای مختلف با حافظههای رم 4، 8 و 16 مگابایت و حافظه فلش 4، 8، 16 و 32 مگابایت ارائه میشود.
پینهای GPIO در ESP32:
ESP32 دارای 32 پین GPIO (ورودی/خروجی دیجیتال) است که میتوان از آنها به عنوان ورودی یا خروجی دیجیتال استفاده کرد. این پینها با نامهای GPIO0 تا GPIO39 شناخته میشوند.
توابع پینهای GPIO:
پروتکل های رایج برای اتصال ESP32 به اینترنت در IoT:
1. Wi-Fi:
2. BLE (Bluetooth Low Energy):
3. MQTT (Message Queuing Telemetry Transport):
4. HTTP (Hypertext Transfer Protocol):
5. LoRaWAN (Long Range Wide Area Network):
آپدیت برنامه ESP32 با استفاده از OTA (Over-the-Air):
OTA (Over-the-Air) روشی برای آپدیت برنامه ESP32 بدون نیاز به اتصال فیزیکی به دستگاه است. این کار از طریق WiFi انجام می شود و می تواند برای آپدیت برنامه، رفع اشکال و اضافه کردن ویژگی های جدید به ESP32 شما مفید باشد.
مراحل آپدیت برنامه ESP32 با استفاده از OTA:
1. فعال کردن OTA:
2. آپلود برنامه:
3. ارسال آپدیت:
4. نصب آپدیت:
نکاتی در مورد OTA:
از کتابخانه OTA برای آپدیت برنامه ESP32 از طریق WiFi استفاده کنید. قبل از استفاده از OTA، باید سرور OTA را پیکربندی کنید.
اگر نسخه 4 از Thonny IDE بر روی ویندوز 7 برای شما مشکلساز است و به دنبال جایگزینی مناسب برای توسعه میکروپایتون هستید، میتوانید از محیطهای توسعه دیگری استفاده کنید.
Mu: Mu یک محیط توسعه سبک و کم حجم برای میکروپایتون است. این نرمافزار بر روی ویندوز 7 نصب و اجرا میشود و ویژگیهای ساده و کاربرپسندی دارد.
IDLE (Integrated Development and Learning Environment): IDLE یک IDE رسمی برای میکروپایتون است و به صورت پیشفرض در همراه با نصب پایتون نصب میشود. این IDE از ورژنهای مختلف میکروپایتون پشتیبانی میکند.
Visual Studio Code (VS Code): اگر از یک IDE قدرتمند و انعطافپذیر برای توسعه میکروپایتون بهره میبرید، میتوانید از VS Code با استفاده از افزونههای مرتبط با میکروپایتون استفاده کنید. این IDE روی ویندوز 7 نیز عملکرد مناسبی دارد.
PyCharm Community Edition: اگر به دنبال یک IDE حرفهای برای توسعه پروژههای میکروپایتون هستید، میتوانید از نسخه رایگان PyCharm Community Edition استفاده کنید. این IDE ویژگیهای بسیار زیادی دارد و بر روی ویندوز 7 نیز قابل نصب است.
ارور "MPY: soft reboot" در میکروپایتون (MicroPython) به مشکلات مربوط به کد یا اشتباهات در اجرای برنامه اشاره دارد. همچنین، ارور "ImportError: can't import name pin" نیز به نشانه این است که درخواست به ایمپورت ماژول pin ناموفق بوده است.
ابتدا باید کدی که اجرا میشود را بررسی کنید. ممکن است در کد خود از ماژول pin به نادرستی استفاده کرده باشید یا اینکه این ماژول در محیط میکروپایتون مورد تعریف نشده باشد.اطمینان حاصل کنید که ماژول pin در میکروپایتون به درستی تعریف شده و موجود است. در برخی از نسخههای میکروپایتون، این ماژول ممکن است به نام machine تعریف شده باشد. بنابراین، باید از machine به جای pin استفاده کنید.
اگر از میکروکنترلر مخصوصی مثل ESP8266 یا ESP32 استفاده میکنید،در نرم افزار Thonny، برو به منو "View" و "Python Shell" را انتخاب کنید.
پس از باز شدن پنجره Python Shell، شما میتوانید کدهای میکروپایتون خود را در اینجا وارد کنید. از منوی "Device" در پنجره Python Shell، پورت میکروکنترلر خود را انتخاب کنید. معمولاً این پورتها با "/dev/ttyUSB0" یا "/COMx" برای ویندوز نشان داده میشوند.سرعت انتقال (Baud Rate) را به مقدار معمولی 115200 تنظیم کنید. این تنظیمات به کنترل ارتباط بین کامپیوتر و میکروکنترلر کمک میکند. کدهای میکروپایتون خود را در پنجره Python Shell وارد کرده یا از یک فایل Python با پسوند ".py" بارگذاری کنید.برای اجرای کد، میتوانید دکمه "Run" در پنجره Python Shell را کلیک کنید. کد شما در میکروکنترلر اجرا میشود و نتایج به پنجره Python Shell باز میگردند.