فهرست مطالب:

شروع به کار با پایتون برای ESP8266 و ESP32: 6 مرحله
شروع به کار با پایتون برای ESP8266 و ESP32: 6 مرحله

تصویری: شروع به کار با پایتون برای ESP8266 و ESP32: 6 مرحله

تصویری: شروع به کار با پایتون برای ESP8266 و ESP32: 6 مرحله
تصویری: How to use ESP32 WiFi and Bluetooth with Arduino IDE full details with examples and code 2024, جولای
Anonim
شروع به کار با پایتون برای ESP8266 و ESP32
شروع به کار با پایتون برای ESP8266 و ESP32

پیش زمینه

ESP8266 و برادر بزرگترش ESP32 ریزتراشه های کم هزینه Wi-Fi با پشته کامل TCP/IP و قابلیت کنترل میکرو هستند. تراشه ESP8266 برای اولین بار در سال 2014 مورد توجه جامعه سازندگان قرار گرفت. از آن زمان ، قیمت پایین (کمتر از 5 دلار) ، قابلیت Wi-Fi آن ، حافظه داخلی 1 یا 4 مگابایت ، و انواع توسعه در دسترس بردها ، تراشه ESP را به یکی از محبوب ترین میکروکنترلرها برای پروژه های WiFi و IoT DIY تبدیل کرده است.

MicroPython یک پیاده سازی ساده و کارآمد از زبان برنامه نویسی پایتون است که به طور فزاینده ای محبوب می شود و شامل زیرمجموعه کوچکی از کتابخانه استاندارد پایتون است و برای اجرا بر روی میکروکنترلرها بهینه شده است.

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

پروژه MiPy-ESP

در سال 2015 اولین پروژه های من با ESP8266 با تراشه ESP-01 با استفاده از Arudions برای اجرای دستورات تراشه AT روی اتصال سریال شروع شد. پس از آن ، در سالهای بعد ، هسته Arduino را برای ESP8266 برای برنامه ریزی تراشه ها با زبان C ++ استفاده کردم. این خوب کار می کند ، اما برای علاقه مندان به پایتون ، کشف من در مورد پیاده سازی MicroPython پایتون 3 خبر بسیار خوبی بود.

پروژه MiPy-ESP یک چارچوب انعطاف پذیر است که از MicroPython برای پروژه های IoT پایتون کامل روی میکرو کنترلرهای خانواده ESP استفاده می کند.

این چارچوب توسط تیم توسعه دهنده نرم افزار کمیته فنی LeGarage (LG-TC-SWDT-01) با هدف جایگزینی کد موجود بر اساس C ++ برای برنامه های میکروکنترلر ما توسعه یافته است.

این پروژه ویژگی های اساسی مانند

  • روشهای اتصال به شبکه
  • وب سرور نقطه دسترسی تراشه (برای اتصال wifi و ارائه صفحات وب تراشه برای داده های ورودی/خروجی)
  • قابلیت های MQTT
  • ورود به سیستم/اشکال زدایی
  • زمانبندی رویداد میکروکنترلر
  • روالهای ورودی/خروجی سخت افزار

با یک اسکریپت کد اصلی فشرده (main.py) ، همه با پیکربندی جهانی (config.py).

این کد میکروکنترلر با نگهداری قوی اتصالات تراشه به شبکه WiFi و کارگزاران MQTT اجرا می شود. ماژول های MicroPython موجود برای سخت افزارهای مختلف را می توان به راحتی در سیستم ادغام کرد.

چارچوب MiPy-ESP تبدیل به ستون فقرات همه پروژه های سرگرمی IoT الکترونیکی ما شده است که شامل کنترل کننده های میکرو خانواده ESP می شود. بر روی چندین تخته خانواده ESP مانند بردهای NodeMCU ، Wemos و Lolin آزمایش شده است.

آموزش زیر راهنمای نحوه شروع کار با میکروکنترلرهای خانواده ESP و MicroPython با استفاده از چارچوب MiPy-ESP است.

مرحله 1: برد Wemos D1 Mini ESP8266

برد Wemos D1 Mini ESP8266
برد Wemos D1 Mini ESP8266
برد Wemos D1 Mini ESP8266
برد Wemos D1 Mini ESP8266
برد Wemos D1 Mini ESP8266
برد Wemos D1 Mini ESP8266
برد Wemos D1 Mini ESP8266
برد Wemos D1 Mini ESP8266

چارچوب MiPy-ESP با اکثر میکروکنترلرهای مبتنی بر ESP8266 کار می کند.

مینی برد Wemos D1 مبتنی بر تراشه ESP-8266EX است. در ردپای 2.5 3.5 3.5 سانتی متر ، دارای فلش مموری 4 مگابایتی ، 11 پین ورودی/خروجی دیجیتالی است ، همه پین ها از وقفه پشتیبانی می کنند ، PWM ، I2C ، SPI ، سریال و 1 ورودی آنالوگ با حداکثر ورودی 3.3 ولت ، می تواند با قدرت 5 ولت کار کند ، دارای اتصال USB میکرو و سازگار با breadboard قیمت پایین و اندازه کوچک آن باعث شده است که برد مورد علاقه من ESP باشد.

علاوه بر این ، نسخه D1 mini pro برد دارای گزینه ای برای اتصال یک آنتن خارجی است و دامنه اتصال را به میزان قابل توجهی افزایش می دهد (برد 100+ متر). علاوه بر این ، این تخته همچنین دارای انواع تخته های تخته های اضافی خارج از جعبه با اندازه جمع و جور مشابه است.

مرحله 2: آماده شدن برای MicroPython در تراشه ESP

آماده شدن برای MicroPython در تراشه ESP
آماده شدن برای MicroPython در تراشه ESP

در این گام اول ، این کار را انجام خواهید داد

  • برد ESP را از طریق USB به رایانه خود وصل کنید
  • نرم افزار Esptool را برای چشمک زدن تراشه نصب کنید
  • پاک کردن حافظه تراشه
  • تراشه را با سیستم عامل MicroPython فلش کنید
  • برای فعال کردن تعامل خط فرمان با تراشه خود ، Rshell را نصب کنید
  • نصب mpy-cross (برای جمع آوری فایل های.py به باینری)

اتصال برد به رایانه از طریق USBBoards با پورت سریال USB داخلی ، UART را در دسترس رایانه شما قرار می دهد و ساده ترین گزینه برای شروع است. برای بردهای بدون اتصال USB ، از ماژول FTDI با USB به سریال می توان برای اتصال پین های GPIO برای چشمک زدن متصل به دنیای خارج استفاده کرد ، اما این در این آموزش ذکر نشده است.

برای MicroPython که از کد MiPy-ESP استفاده می کند ، حداقل نیاز به اندازه فلش تراشه 1 مگابایت است. همچنین یک سازه ویژه برای تخته هایی با حجم 512 کیلوبایت وجود دارد ، اما این برنامه از سیستم فایل پشتیبانی نمی کند ، که MiPy-ESP به آن بستگی دارد.

هنگام استفاده از کابل USB ، برد هنگام اتصال به کامپیوتر شما تغذیه می شود. این همچنین امکان برنامه نویسی و اشکال زدایی در اتصال سریال را فراهم می کند. هنگامی که کد پروژه بارگذاری می شود و پروژه شما مستقر می شود ، قدرت خارجی روی پین های منبع تغذیه برد اعمال می شود.

اطلاعات مربوط به نرم افزار Esptool را می توانید در مخزن Esptool GitHub پیدا کنید. اگر می خواهید از Windows/Linux/OSX (MAC) استفاده کنید ، پیوند بالا نیز آن را پوشش می دهد. بسته پایتون را می توان توسط نصب کرد

pip نصب esptool

برای کاربران لینوکس ، بسته های Esptool برای Debian و Ubuntu نگهداری می شوند و همچنین می توانند با

sudo apt install esptool

پاک کردن حافظه فلش ESP با استفاده از Esptool ، سپس حافظه فلش ESP را با دستور پاک می کنید

esptool.py --port /dev /ttyUSB0 erase_flash

سیستم عامل MicroPython در یک فایل.bin قرار دارد که می توانید آن را از وب سایت MicroPython بارگیری کنید.

شاخه اصلی پروژه فعلی repo مورد آزمایش قرار گرفته و با Micropython v.1.12 قابل اجرا است. برای اطمینان از موفقیت در چارچوب MiPY-ESP ، فایل 'esp8266-20191220-v1.12.bin' را از این لینک بارگیری کرده و سیستم عامل را با دستور روی تراشه بنویسید:

esptool.py --port /dev /ttyUSB0 --baud 460800 write_flash --flash_size = تشخیص 0 esp8266-20191220-v1.12.bin

بسته Rshell تعامل خط فرمان را با محیط MicroPython شما که روی تراشه نصب شده است ، فعال می کند. در این پیوند یافت می شود. Rshell یک پوسته ساده است که روی میزبان اجرا می شود و از MicroPython raw-REPL برای ارسال قطعات python به pyboard به منظور دریافت اطلاعات سیستم فایل و کپی فایل ها به و از سیستم فایل MicroPython استفاده می کند. REPL مخفف عبارت Read Evaluate Print Loop است و نامی است که به اعلان تعاملی MicroPython گفته می شود که می توانید در ESP8266 به آن دسترسی پیدا کنید. استفاده از REPL ساده ترین راه برای آزمایش کد و اجرای دستورات است. Rshell را با دستور نصب کنید:

sudo pip نصب rshell

نصب کامپایلر mpy-cross MicroPython می تواند با فایل های ascii.py بارگذاری شده در سیستم فایل تراشه اعمال شود. MicroPython همچنین مفهوم فایل های.mpy را تعریف می کند که یک قالب فایل باینری باینری است که دارای کد از پیش کامپایل شده است و می تواند مانند یک ماژول.py معمولی وارد شود. با گردآوری فایل های.py به.mpy ، حافظه RAM بیشتری برای کد در حال اجرا شما در دسترس خواهد بود - و این به منظور داشتن یک ماژول اصلی عملکردی از چارچوب MiPy -ESP مورد نیاز است.

برای استقرار کد MiPy-ESP ، یک کامپایلر mpy-cross MicroPython cross قبل از بارگذاری تراشه ، اسکریپت های.py را به.mpy کامپایل می کند. بسته دستورالعمل های موجود در این پیوند ، بسته mpy-cross را نصب کنید. اگر می توانید مخزن MicroPython را از GitHub در اینجا کلون کنید ، می توانید دستور mpy-cross را با دستور Python pip نصب کنید یا از مسیر پوشه mpy-cross اجرا کنید.

شما در حال حاضر MicroPython و تمام ابزارهای مورد نیاز برای شروع ساخت اولین پروژه MiPy-ESP خود را نصب کرده اید

مرحله 3: شروع به کار با MiPy-ESP

شروع به کار با MiPy-ESP
شروع به کار با MiPy-ESP

در این مرحله شما این کار را خواهید کرد

چارچوب MyPy-ESP را بارگیری کنید

پروژه MiPy-ESP را می توانید در GitHub در این مخزن کد پیدا کنید. از GitHub می توانید ساختار فایل مخزن را بارگیری کرده یا توسط رایانه خود کلون کنید

git clone

با ذخیره مخزن کد بر روی رایانه شما ، اکنون همه ماژول های کد مورد نیاز برای ایجاد یک پروژه ESP IoT خارج از جعبه را دارید. جزئیات بیشتر در مورد جعبه ابزار در مرحله بعد.

مرحله 4: معماری چارچوب MiPy-ESP

معماری چارچوب MiPy-ESP
معماری چارچوب MiPy-ESP

در این مرحله شما این کار را خواهید کرد

با گردش کار کد MiPy-ESP آشنا شوید

معماری کد MiPy-ESP

همه ماژول های چارچوب پایتون در پوشه /src مخزن کد MiPY-ESP یافت می شوند. پوشه src/core شامل ماژول های اصلی است که در هر پروژه وجود دارد. پوشه src/drivers دارای مجموعه ای از ماژول ها برای سخت افزارهای مختلف است که به تراشه شما متصل می شوند. پوشه src/utilities شامل ماژول های ابزار اختیاری است که باید در پروژه شما گنجانده شود.

فایل های main.py و config.py در پوشه src/ یافت می شوند. اینها فایل های اصلی برای ویرایش برای ساخت پروژه شما هستند:

config.py:

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

main.py:

این اسکریپت اصلی حلقه کد میکرو کنترلر است. این شامل کد مخصوص برنامه در چارچوب است. پس از بوت شدن تراشه ، main.py تمام ماژول های وابسته به پروژه را با ورودی های داده شده از فایل config.py اجرا و وارد می کند. نمودار جریان بالا طرح بندی اسکریپت main.py را نشان می دهد.

شکل بالا گردش کار main.py را شرح می دهد:

  1. پس از راه اندازی ، کد تلاش می کند تا تراشه را به شبکه Wi-Fi متصل کند. شبکه های قبلاً کاربردی و رمزهای عبور آنها (روی تراشه رمزگذاری شده) در حافظه فلش ذخیره می شوند. SSID های شبکه و رمزهای عبور آنها را می توان در فایل wifi.json با فرمت {" SSID1 ":" رمز عبور "،" SSID ":" رمز عبور 2 "}. شبکه های داده شده در این فایل ذخیره می شوند ، گذرواژه ها رمزگذاری می شوند و فایل هنگام بوت شدن حذف می شود.
  2. اگر هیچ شبکه ای از قبل پیدا نشده است ، کد یک سرور وب نقطه دسترسی (AP) ایجاد می کند. SSID سرور تراشه AP و رمز عبور در فایل config.py تنظیم شده است. با ورود به تراشه SSID ، یک صفحه وب برای ورود تراشه به Wi-Fi در 192.168.4.1 ارائه می شود. شبکه های شناسایی شده در یک منو نشان داده می شوند ، یا می توان SSID را به صورت دستی (شبکه های مخفی) همراه با رمز عبور Wi-Fi وارد کرد به پس از اتصال موفقیت آمیز تراشه به Wi-Fi ، سرور AP خاموش می شود و کد main.py به مراحل بعدی خود ادامه می دهد.
  3. در قسمت Setup main.py ،

    • توابع برای مشاغل و فراخوان ها (و غیره فراخوان MQTT) و رویدادهای منظم تعریف شده است.
    • کارهای مختلف زمان بندی شده برای اجرای توابع تنظیم شده است.
    • مشتری کارگزار MQTT تاسیس شده است
  4. سپس کد وارد حلقه اصلی میکرو کنترلر می شود ،

    • بررسی مداوم اتصالات کارگزار شبکه و MQTT ،
    • اشتراک MQTT ،
    • سخت افزار ورودی/خروجی
    • و مشاغل برنامه ریزی شده
    • در صورت از بین رفتن شبکه یا اتصال کارگزار MQTT ، کد سعی می کند دوباره برقرار شود.

مرحله 5: تهیه کد پروژه

تهیه کد پروژه
تهیه کد پروژه
تهیه کد پروژه
تهیه کد پروژه

در این مرحله شما این کار را خواهید کرد

  • با ساختار فایل مخزن MiPy-ESP آشنا شوید
  • کد پروژه خود را برای بارگذاری تراشه آماده کنید

شکل بالا ساختار پوشه مخزن را توصیف می کند و ماژول های فعلی چارچوب را لیست می کند. مراحل پروژه شما در src/ folder است. ماژول های چارچوب اصلی MiPy-ESP در src/core ، ماژول های ابزار اختیاری در src/utilities و ماژول های سخت افزاری در src/drivers قرار دارند.

اکثر کتابخانه های سخت افزاری موجود MicroPython می توانند بدون هیچ گونه تغییری وارد درایورها/ پوشه شوند. همه درایورهای موجود با چارچوب MiPy-ESP آزمایش شده اند. در مورد ماژول های موجود در برنامه های کاربردی/ پوشه ، به محض زنده شدن موارد بیشتری اضافه می شود.

کد پروژه شما باید در src/ folder قرار گیرد. در حال حاضر ، فایلهای main.py و config.py است که می توانید ویرایش کنید. همچنین برنامه های مورد نیاز پروژه را از src/utilities و src/drivers به src/کپی کنید.

در صورت تمایل به ارائه شبکه های Wi-Fi و گذرواژه های شناخته شده به تراشه ، فایل wifi.json را به src/اضافه کنید.

Makefile ارائه شده می تواند برای آماده سازی فایل ها برای انتقال به تراشه با کامپایل فایل های.py در / src ، کامپایل ماژول های اصلی و انتقال فایل های کامپایل شده به پوشه جدیدی به نام build / با فرمان استفاده شود.

ساختن

فایل های ساخته شده آماده بارگذاری در سیستم فایل تراشه هستند. به طور پیش فرض ، main.py و config.py به صورت باینری کامپایل نمی شوند ، تا به راحتی بتوان آنها را برای بازرسی تراشه های مستقر دسترسی پیدا کرد. فرمان:

تمیز کردن

build/ folder و محتویات آن را حذف می کند.

مرحله 6: کامپایل و بارگذاری کد در میکروکنترلر

کامپایل و بارگذاری کد در میکروکنترلر
کامپایل و بارگذاری کد در میکروکنترلر
تدوین و بارگذاری کد در میکروکنترلر
تدوین و بارگذاری کد در میکروکنترلر

در این بخش خواهید کرد

  • فایلهای آماده شده را در قسمت build/ قسمت گذشته بارگذاری کنید
  • شروع و نظارت بر کد در حال اجرا

بارگذاری build/ files با Rshell

همه فایلهای موجود در /build directory را با استفاده از Rshell در تراشه ESP بارگذاری کنید. با اتصال میکروکنترلر به USB ، از قسمت build/ folder Rshell را با دستور شروع کنید

rshell -p /dev /ttyUSB0

سپس فایل های تراشه (در صورت وجود) را توسط

ls /pyboard

همه فایلهای موجود در تراشه را می توان توسط

rm /pyboard/*.*

همه فایلهای پروژه را در build/ to chip کپی کنید:

cp *. * /pyboard

سپس ترمینال تعاملی پایتون را با دستور شروع کنید

جابجایی

اکنون می توانید دستورات پایتون را فراخوانی کرده یا ماژول ها را وارد کرده و خروجی سریال تراشه را از ماژول Logger MiPy-ESP نظارت کنید.

با فشار دادن دکمه تنظیم مجدد یا خط فرمان توسط تراشه ، سیستم را مجدداً راه اندازی کنید

واردات اصلی

یا

دستگاه واردات

و سپس

machine.reset ()

بسته به تنظیمات ورود به سیستم/اشکال زدایی شما در فایل پیکربندی پروژه ، repl اکنون پیام های اشکال زدایی از تراشه ESP را بر روی اتصال سریال نشان می دهد.

امیدوارم این کار شما را آغاز کند.

توصیه شده: