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

پروژه ایستگاه هواشناسی با استفاده از BME280 و میکروپایتون در برد ESP32

نوشته شده توسط CiferTech

در پروژه ایستگاه هواشناسی میکروپایتون طراحی وب سرور با استفاده از سنسور BME280 با برد توسعه ESP32 و MicroPython را یاد می گیریم. BME280 برای اندازه گیری دما بر حسب سلسیوس، همچنین بر حسب فارنهایت، رطوبت و فشار استفاده می شود. این وب سرور به عنوان یک ایستگاه هواشناسی عمل می کند زیرا دما، رطوبت و فشار را در صفحه وب با استفاده از MicroPython نشان می دهد. ما از MicroPython برای ساخت یک وب‌سرور EP32 استفاده خواهیم کرد که از طریق هر دستگاهی که دارای مرورگر وب است قابل دسترسی باشد. در این پروژه برای کدنویسی از نرم‌افزار upycraft استفاده خواهیم کرد. در ادامه این آموزش با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.

ایستگاه هواشناسی با bme280 و میکروپایتون - دیجی اسپارک

 


سنسور BME280


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

سنسور bme280 در ساخت ایستگاه هواشناسی - دیجی اسپارک

 


تراشه ESP32


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

 


قطعات مورد نیاز


برد ESp32

سنسور BME280

وسایل لازم برای ساخت ایستگاه هواشناسی میکروپایتون - دیجی اسپارک

 


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


در پروژه ایستگاه هواشناسی میکروپایتون با BME280 و برد ESP32 به عنوان یک Master عمل می کند، و سنسور BME280 به عنوان یک Slave به دلیل اینکه یک دستگاه خارجی است، به عنوان یک Slave عمل می کند. بردهای توسعه ESP با حسگر BME280 از طریق پروتکل I2C برای دما، فشار هوا و رطوبت نسبی ارتباط برقرار می کنند. و در ادامه با راه‌اندازی یک وب سرور مقادیر مورد نظر را در شبکه لوکال نمایش می‌دهیم.

 


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


پایه I2C در ESP32 برای SDA به GPIO21 و برای SCL به GPIO22 متصل می‌شود. اتصال BME280 با بردهای ESP بسیار آسان است. پین VCC را باید با ۳٫۳ ولت، GND را با GND و SCL سنسور را با SCL ماژول و SDA سنسور را با پایه SDA برد های ESP متصل کنیم.
اتصالات پروژه ایستگاه هواشناسی میکروپایتون - دیجی اسپارک

 


کتابخانه BME280 در میکروپایتون


در MicroPython بطور پیفرض کتابخانه BME280 وجود ندارد. اما MicroPyhon I2C API برای ESP32 ارائه می‌شود، که می تواند برای خواندن مقادیر دما، رطوبت و فشار از سنسور BME280 استفاده شود. کد های زیر را برای پیاده سازی پروژه ایستگاه هواشناسی میکروپایتون در نرم‌افزار خود در یک فایل جدید با نام BME280.py کپی کنید، در ادامه این کد ها همراه با با کد اصلی در برد آپلود خواهد شد.
 


کد های پروژه ایستگاه هواشناسی


در این قسمت نحوه نمایش خواندن و نمایش مقادیر بدست آمده از BME280 را در وب سرور یاد خواهیم گرفت. در ادامه نیاز به ساخت فایل دیگری داریم، به همین ترتیب، یک فایل با نام boot.py را نیز آپلود خواهیم کرد. این مورد شامل تمام پیکربندی‌های اصلی مانند راه‌اندازی پین‌ها، I2C GPIO و وارد کردن کتابخانه‌های مرتبط دیگر است. و در نهایت فایل main.py را آپلود می کنیم که حاوی کد نهایی ما برای پیکربندی وب سرور است که بعد از boot.py اجرا می شود.

کد های فایل boot.py

 

  • مقادیری که در این باید تغییر کند میبوط به اطلاعات شبکه وای فای شماست که در بخش کد مدنظر موارد ssid و pass را وارد می‌کنیم.

 

کد های فایل main.py

 


نتیجه نهایی


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

ایستگاه هواشناسی میکروپایتون سنسور bme280 - دیجی اسپارک

 


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


در نهایت پس آپلود تمام کدها اکنون مرورگر وب خود را باز کرده و آدرس IP را که در در ترمینال نرم‌افزار نمایش داده می‌شود، تایپ کنید. در ادامه بعد از اینکه آدرس IP را در مرورگر خود تایپ و سرچ کردید. وب سرور ESP32 یک درخواست HTTP دریافت خواهد کرد. تابع صفحه وب فراخوانی می شود. در نهایت صفحه وب با تمام مقادیر مورد نظر را مشاهده خواهید کرد. از پروژه ایستگاه هواشناسی میکروپایتون میتوان برای سناریو ها و مکان های مختلف به منظور مانیتورینگ استفاده کرد.
ایستگاه هواشناسی میکروپایتون و Nodemcu esp32 - دیجی اسپارک

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

 

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

 

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

CiferTech

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

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

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