مانیتور آب و هوا با میکروپایتون و نمایش بر روی وب سرور ESP32
در این پست به بررسی نحوه ساخت یک وب سرور با میکروپایتون بر روی esp32 با استفاده از کتابخانه microdot خواهیم پرداخت.
قطعه کد کامل پروژه را می توانید از لینک زیر به دست آورید:
قبل از هر چیزی می بایست نحوه استفاده از micropython را بر روی بورد مد نظر که برای ما esp32 است بیاموزید و سپس بقیه آموزش را دنبال کنید.
برای راحتی استفاده از ماژول ها و تسریغ توسعه از بورد های ProMake که برای شرکت EasyIOT است استفاده می کنیم.

برای کار کتابخانه های مبتنی بر وب ابتدا می بایست اتصال بورد با شبکه های محلی صورت بگیرد که این ارتباط می تواند از طریق شبکه AP و یا STA باشد. که شبکه AP نوعی از هاتسپات می باشد که شما یک ارتباط WIFI را بر روی بورد خود میسر میسازید و کلاینت ها برای ارتباط با بورد کافیست که مستقیما به آن متصل شوند. نوع دیگری از این ارتباط نیز وجود دارد که STA است و بورد به WIFI ایی که شما برای آن مشخص می کنید متصل می شود و شما می توانید با بودن در شبکه ای مشترک و ارتباط با بورد از طریق IP آن ارتباط لازم را بر قرار نمایید.
قطعه کد زیر نحوه راه اندازی یک ارتباط AP را به شما نمایش می دهد:
import network
ssid = 'MicroPython-AP'
password = '123456789'
ap_wlan = network.WLAN(network.AP_IF)
ap_wlan.active(True)
ap_wlan.config(essid=ssid, password=password)
while ap_wlan.active() == False:
pass
print('Connection successful')
print(ap_wlan.ifconfig())
در ادامه برای راه اندازی وب سرور از کتابخانه MicroDot استفاده خواهیم کرد. که یک کتابخانه کاملا مشابه به fastapi/flask است و می توانید ساختار های متعددی را با آن پیاده سازی نمایید. برای استفاده از این کتابخانه کافیست کد مربوط به آن را در کنار کد اصلی خود قرار داده و آن را مانند یک ماژول مورد استفاده قرار دهید. قطعه کد زیر نحوه راه اندازی یک سرور ساده را با توجه به داکیومنت های خود ماژول به شما نمایش می دهد:
Installation — Microdot documentation
from microdot import Microdot
app = Microdot()
@app.route('/')
def index(request):
return 'Hello, world!'
app.run(port=5000,debug=True)
در نهایت نیاز به خواندن و گرفتن اطلاعات از ماژول های مربوطه که DHT و Photocel است می شود و پس از آن در صورتی که ساختار به خوبی شکل گرفته باشد با تصال به وایفای مربوطه و باز کردن آدرس 192.168.4.1 می توانید صفحه زیر را مشاهده کنید که اطلاعات کافی را به شما نمایش می دهد و هر 5 ثانیه یک بار آپدیت می شود.

ثبت دیدگاه
دیدگاه کاربران (0)
دوره های من در مکتبخونه
مسترکلاس پایتون 2026: پیادهسازی 30+ پروژه کاربردی با پایتون
- سطح: مقدماتی 5
آموزش طراحی سرویس با FastAPI
- سطح: مقدماتی 4.5
آموزش جنگو Django
- سطح: مقدماتی 4.6
آموزش جنگو پیشرفته
- سطح: پیشرفته 4.7
آموزش طراحی فروشگاه با جنگو
- سطح: پیشرفته 4.4
آموزش شیءگرایی در پایتون
- سطح: متوسط 4.2
آموزش میکروپایتون در اینترنت اشیا
- سطح: متوسط 4.4
آموزش ساخت ربات تلگرام با پایتون
- سطح: متوسط 4.3
آخرین پست ها
آفلاین سازی swagger در django و ماژول drf-spectacular
- به صورت پیشفرض برای drf-yasg تمام asset ها بصورت آفلاین بارگزاری می شوند ولی برای drf-spectacular هنوز هم به cdn های خارجی برای این کار احتیاج است. ستاپ اولیه پروژهخوشبختانه…
- django 1404/11/04
ابزار های توسعه در زمان قطعی اینترنت
- در زمانی که در داخل کشور اینترنت به دلایلی قطع میشه می تونین از ابزار های زیر برای رفع نیاز های برنامه نویسی فعلی استفاده کنین: نصب پکیج ها با…
- tech 1404/11/02
آفلاین سازی Swagger در FastAPI به جای CDN
- در زمانی که دسترسی به اینترنت میسر نیست (اینترانت) اگر بخواهید که به صفحه Swagger در fastapi دسترسی پیدا کنین قطعا این راه به راحتی اتفاق نمی افته و به…
- fastapi 1404/10/25
آخرین دوره ها
آموزش Flask
- 0 11 دانشجو
The Twelve-Factor App
- 0 38 دانشجو
آموزش Pydantic پایتون
- 0 73 دانشجو