برد Esp32 میکروپایتون Micropython

راه‌اندازی قابلیت WiFi Manager در برد ESP32 با میکروپایتون micropython

setup-wifi-manager-in-esp32-with-micropython-and-upycraft-digispark
نوشته شده توسط CiferTech

در پروژه اینترنت اشیا که نیاز به اتصال و شبکه وای‌فای دارند و همچنین در مواردی ممکن است با تغییر مکان دستگاه نیاز به پروگرام کردن مجدد کد داریم تا مقادیر اطلاعات شبکه قبل را به اطلاعات جدید تغییر دهیم، wifi manager به ما این امکان را می‌دهد تا در هر زمان قابلیت تغییر این مقادری را بدون نیاز به آپلود مجدد کد داشته باشیم. در ادامه پروژه WiFi Manager با مرجع تخصصی میکروپایتون به زبان فارسی، دیجی اسپارک همراه باشید.

 


WiFi Manager


با اضافه شدن کتابخانه مدیریت Wi-Fi در MicroPython، دیگر لازم نیست SSID و رمز عبور شبکه محلی را جداگانه در برنامه اضافه کنیم. و هیچ کدنویسی مجددی مورد نیاز نخواهد بود. ما قادر خواهیم بود از طریق ساخت شبکه Access Points با بردهای ESP32 خود به طور خودکار و بدون هیچ مشکلی برای وارد کردن دستی اطلاعات شبکه در هر بار متصل شویم. اتصالات چندگانه SSID و همچنین متغیرهای سفارشی اضافی نیز می توانند از این طریق پیاده سازی شوند.

 


تراشه ESP32 وای فای بلوتوث


تراشه قدرتمند ESP32 می تواند به عنوان یک سیستم کامل مستقل یا به عنوان یک دستگاه MCU عمل کند و بار اضافی ارتباطات را در پردازنده اصلی برنامه کاهش دهد. ESP32 می تواند با سیستم های دیگر ارتباط برقرار کند تا از طریق SPI عملکرد Wi-Fi و بلوتوث را ارائه دهد. ESP32 با سوئیچ های آنتن داخلی، RF balun، تقویت کننده قدرت، تقویت کننده دریافت، فیلترها و ماژول های مدیریت توان یکپارچه شده است. ESP32 با حداقل الزامات برد مدار چاپی (PCB) ، عملکرد و تطبیق پذیری بی نظیری را به برنامه های شما اضافه می کند. برد ESP32 نسل پیشرفته ESP8266 است. یکی از تفاوت‌های آن بلوتوث داخلی‌اش می‌باشد. همچنین دارای هسته وایفای ۲,۴ گیگا هرتزی و بلوتوث داخلی تولید شده با تکنولوژی ۴۰ نانومتری شرکت TSMC می‌باشد. این ماژول دارای بهترین پرفورمنس در مصرف انرژی می‌باشد یعنی با کمترین مصرف انرژی بهترین نتیجه را برای ما به همراه دارد. اگر بخواهیم دقیق‌تر به این برد نگاه کنیم باید بگوییم که این یک chip است که پلتفرم NodeMCU در اون پیاده سازی شده که به این نوع چیپ ها System on a chip microcontrollers هم گفته می‌شود.

 


شرح کار پروژه میکروپایتون


در اولین قدم پس از آپلود کدهای پروژه WiFi Manager در برد ESP32 با دنبال کردن دستور عمل پایین و کد های زیر به آن خواهید رسید، یک اکسس پوینت برای شما ایجاد خواهد شد با نامی که انتخاب کرده که بطور پیشفرض با نام wifi manager خواهد بود، کلیک کرده پسووردی که از قبل در کد مشخص کرده اید را وارد کنید، سپس پنجره پایین را مشاهده خواهید کرد، البته ip آدرس این صفحه وب در ترمینال upycraft نمایش داده خواهد شد.

پروژه WiFi Manager با میکروپایتون - دیجی اسپارک

 

  • این آدرس ip را در مرورگر سرچ کنید دقت کنید که به اکسس پوینت ایجاد شده متصل باشید.

اتصال به WiFi Manager در تنظیمات مودم با میکروپایتون - دیجی اسپارک

  • در این صفحه وب شبکه وای فای مورد نظر را انتخاب و پسوورد شبکه را در محل مشخص شده وارد کنید و روی submit کلیک کنید.

  • اگر تمام موارد به درستی انجام شده باشد با این پیام در صفحه وب روبرو خواهید شد.

برنامه نویسی میکروپایتون در راه اندازی WiFi Manager - دیجی اسپارک

 

  • در نهایت در ترمینال upycraft یک آدرس ip جدید برای شما نمایش داده خواهد شده که با اتصال به شبکه وای‌فای اصلی به شما امکان اتصال به وب سرور کدنویسی شده را خواهد داد.

 


شرح پروژه WiFi Manager


با اضافه شدن کتابخانه Wi-Fi Manager در میکروپایتون MicroPython، دیگر لازم نیست SSID و رمز عبور شبکه محلی را جداگانه ارائه کنیم. هیچ کدنویسی مورد نیاز نخواهد بود. ما قادر خواهیم بود از طریق شبکه های دیگر یعنی Access Points به برد ESP32 خود متصل شویم. در این پروژه قصد داریم قابلیت WiFi Manager را به پروژه های خود اضافه کنیم، البته پروژ هایی که در آن ها قابلیت اتصالات وای‌فای وجود دارد و نیاز به تغییر اطلاعات شبکه در هر لحظه وجود دارد، به شدت نیازمند چنین قابلیتی هستند.

 

 


کتابخانه Wi-Fi Manager


میکروپایتون MicroPython حاوی کتابخانه مدیریت وای فای نیست، بنابراین باید خود این کتابخانه را آپلود کنیم. ابتدا فایلی در برنامه upycarft با نام wifimgr.py ایجاد می‌کنیم که حاوی کد های زیر است. چنانچه با برنامه Upycraft آشنایی ندارید. به آموزش بخش دوم آموزش میکروپایتون با ESP32 مراجعه کنید. در ادامه کد ها داخل برد ESP32 ما آپلود خواهند شد، که این مورد در کد اصلی به ما این امکان را می دهد تا از این کتابخانه و قابلیت های آن استفاده کنیم.

 


کد های پروژه WiFi Manager


در این مرحله نوبت به فایل اصلی پروژه WiFi Manager با میکروپایتون که قصد اجرای سناریو مدیریت شبکه های وای‌فای را داریم می‌رسد. دراین کد یک وب سرور ساده با قابلیت کنترل یک GPIO در برد ESP32 است، با اضافه کردن قابلیت WiFi Manager به این کد می‌توانیم در هر لحظه شبکه وای‌فای متصل شده به این برد را تغییر دهیم. در مرحله اول در نرم‌افزار upycraft یک فایل جدید با نام Main.py بسازید، این فایل در کنار فایل کتابخانه اجرا خواهد شد.

 


وسایل مورد نیاز


برد ESP32

 


کلام آخر با سایفر


در این آموزش یاد گرفتیم تا از کتابخانه WiFi Manager استفاده کنیم، با استفاده از کتابخانه WiFi Manager، ما مجبور نیستیم اعتبار شبکه خود را در اسکریپت MicroPython خود از اول و در زمانی که نیاز به تغییر است کدنویسی کنیم. این کتابخانه ESP32 را در حالت نقطه دسترسی تنظیم می کند و اتصالات شبکه موجود را در یک صفحه وب نمایش می دهد. این به شما امکان می دهد شبکه خود را انتخاب کرده و با استفاده از نام و رمز عبور به آن متصل شوید. هنگامی که برد ESP شما به شبکه متصل شد، به طور خودکار در حالت Station کار می کند.

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

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

 

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

CiferTech

فقط 10 نوع آدم در این دنیا وجود داره، اونی که باینری میفهمه و اونی که باینری نمیفهمه! ^-^

~ اینستاگرام: CiferTech

تبادل نظر و رفع عیب با ثبت دیدگاه

۲ دیدگاه

  • سلام برنامه این ارور رو میده
    os.listdir(‘.’)
    Traceback (most recent call last):
    File “”, line 1, in
    NameError: name ‘os’ isn’t defined

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