💡 ۳۰ ایده پروژه اینترنت اشیا با ESP32، از مبتدی تا پیشرفته (با قطعهها و نقطهی شروع)
دنبال یک ایده پروژه اینترنت اشیا هستی که هم واقعاً به درد بخورد و هم بشود در چند روز یا چند هفته ساختش؟ این فهرست برای همین نوشته شده است: سی ایده برای ESP32، از سادهترین چراغ وایفای تا خانهی هوشمند چندبردی. برای هر ایده سه چیز گفتهایم: چه قطعههایی لازم داری، با ساختنش چه چیزی یاد میگیری، و از کدام آموزش یا پروژهی آماده شروع کنی. بیشتر این پروژهها را، همانطور که در ووکوی (Wokwi) مرسوم است، میتوانی اول در شبیهساز بسازی و بعد قطعه بخری.
چرا ESP32 برای اینترنت اشیا؟
«اینترنت اشیا» یا IoT یعنی وسیلههایی که خودشان به شبکه وصل میشوند: گلدانی که خبر میدهد تشنه است، دماسنجی که عددش را روی گوشی میبینی، کلیدی که از راه دور روشن میشود. ESP32 برای این کار ساخته شده است: وایفای و بلوتوث داخلی، دو هستهی پردازنده، ADC دوازدهبیتی و تعداد زیادی پایه، با همان زبان آردوینو. اگر هنوز بین بردها مردّدی، مقالهی ESP32 یا آردوینو اونو را بخوان.
این فهرست را چطور بخوانی؟
- سطح مبتدی: یک برد، یک یا دو قطعه، یک صفحهی وب ساده. اگر تازه با ESP32 آشنا شدهای، از اینجا شروع کن.
- سطح متوسط: چند سنسور با هم، صفحهی زنده بدون رفرش، ذخیرهی تنظیمات و منطق کنترلی مثل «اگر رطوبت کم شد پمپ روشن شود».
- سطح پیشرفته: چند برد که با هم حرف میزنند، مصرف باتری، کنترل حلقهبسته، امنیت و طراحی کامل یک محصول. مناسب پروژهی پایانی دانشگاه.
Wokwi-GUEST بدون رمز وصل میشود، وبسرور و WebSocket و MQTT کار میکنند و صفحهی برد در زبانهی «مرورگر» ویرایشگر باز میشود. ولی برد به اینترنت واقعی نمیرسد؛ پس گرفتن ساعت از NTP یا داده از یک API واقعی، دیپ اسلیپ، بلوتوث و FreeRTOS را روی برد واقعی تست کن. توضیح بیشتر در صفحهی وایفای و اینترنت اشیا در شبیهساز است.سطح مبتدی: ده ایده برای شروع
۱. چراغ وایفای: روشن کردن LED از مرورگر
اولین پروژهی هر کسی که با ESP32 کار میکند. برد یک صفحهی وب با دو دکمه میسازد و با زدن هر دکمه چراغ روشن یا خاموش میشود. ساده است، ولی بعداً بهجای LED یک رله میگذاری و همین پروژه یک کلید هوشمند واقعی میشود.
- قطعهها: ESP32، یک LED و یک مقاومت ۲۲۰ اهم.
- یاد میگیری: اتصال به وایفای، گرفتن IP، ساختن وبسرور و تعریف مسیرهایی مثل
/onو/off. - شروع: آموزش وبسرور ESP32 و کنترل LED و پروژهی آمادهی روشن کردن LED از صفحهی وب.
۲. دماسنج وبسایتی
دما و رطوبت اتاق را از روی گوشی ببین. برد عددها را از سنسور میخواند و در یک صفحهی ساده نشان میدهد که هر چند ثانیه تازه میشود. برای اتاق نوزاد، انباری یا اتاق سرور هم کاربرد واقعی دارد.
- قطعهها: ESP32 و یک سنسور DHT11 یا DHT22.
- یاد میگیری: کتابخانهی DHT، کار با عدد اعشاری، تشخیص خطای سنسور با
isnanو ساختن HTML در کد. - شروع: صفحهی وب دما و رطوبت با ESP32 و پروژهی صفحهی وب دماسنج.
۳. چراغ خواب با تنظیم نور از گوشی
بهجای روشن و خاموش، شدت نور را با یک اسلایدر در صفحهی وب کم و زیاد کن و یک حالت «نفسکش» آرام هم برای خواب بچه اضافه کن.
- قطعهها: ESP32، LED یا نوار LED با ترانزیستور، مقاومت.
- یاد میگیری: PWM با
ledc، فرستادن عدد از صفحهی وب به برد با پارامتر آدرس. - شروع: PWM روی ESP32 با ledc و پروژهی وایفای و چراغ نفسکش.
۴. زنگ در که در گوشی خبر میدهد
دکمهی زنگ که فشرده شد، بازر صدا میدهد و همزمان در صفحهی وب پیام «کسی زنگ زد» با ساعتش ظاهر میشود. اگر صفحه باز باشد، پیام بدون رفرش میرسد.
- قطعهها: ESP32، دکمهی فشاری، بازر.
- یاد میگیری: خواندن دکمه با
INPUT_PULLUP، رفع لرزش دکمه و فرستادن رویداد از برد به مرورگر. - شروع: WebSocket روی ESP32 برای بخش وب، و پروژهی زنگ در برای منطق دکمه و بازر.
۵. کلید لمسی وایفای
ESP32 پایههای لمسی دارد؛ یعنی یک تکه فویل یا پیچ فلزی پشت چوب میتواند کلید چراغ باشد. وضعیت چراغ هم در صفحهی وب دیده و عوض میشود.
- قطعهها: ESP32، یک سیم یا صفحهی فلزی، LED یا رله.
- یاد میگیری:
touchRead، انتخاب آستانه و همگام نگه داشتن وضعیت بین کلید و صفحهی وب. - شروع: پین لمسی ESP32. در شبیهساز
touchReadهمیشه «لمس نشده» را میخواند؛ منطق و صفحهی وب را آنجا بنویس و خود لمس را روی برد واقعی امتحان کن.
۶. پریز هوشمند با رله
همان چراغ وایفای، این بار با یک رله که وسیلهی دیگری را قطع و وصل میکند. یک تایمر خاموشی خودکار هم اضافه کن: «بعد از ۳۰ دقیقه خاموش شو».
- قطعهها: ESP32، ماژول رله، یک لامپ یا فن کمولتاژ.
- یاد میگیری: فرق پایههای COM و NO و NC، رلههای «فعال با LOW»، تایمر با
millis. - شروع: ماژول رله با آردوینو و پروژهی رله و چراغ جدا. برق ۲۲۰ ولت را فقط با حضور یک برقکار وارد پروژه کن.
۷. نورسنج اتاق
یک فتوسل (LDR) و یک مقاومت، و صفحهای که میگوید اتاق چند درصد روشن است. برای میز مطالعه یا گلخانه کاربرد دارد.
- قطعهها: ESP32، LDR، مقاومت ۱۰ کیلواهم.
- یاد میگیری: مقسم ولتاژ،
analogReadدوازدهبیتی و اینکه چرا با وایفای روشن باید از پایههای ADC1 استفاده کرد. - شروع: analogRead در ESP32 و سنسور نور LDR.
۸. هشدار باز ماندن در یا یخچال
یک کلید مغناطیسی (رید سوئیچ) روی در و یک آهنربا روی چارچوب. اگر در بیشتر از یک دقیقه باز ماند، صفحهی وب قرمز میشود و بازر بوق میزند.
- قطعهها: ESP32، رید سوئیچ، آهنربا، بازر.
- یاد میگیری: ورودی دیجیتال، شمردن زمان یک وضعیت با
millisو فرستادن هشدار. - شروع: بخش وب را از وبسرور ESP32 بردار و منطق زمان را از پروژهی چراغ یخچال الهام بگیر.
۹. کنترل بدون مودم با Access Point
جایی که مودم نیست، مثل حیاط یا کلاس، خود ESP32 یک شبکهی وایفای میسازد و گوشی مستقیم به آن وصل میشود. برای کنترل ماشین رباتیک یا چراغهای نمایشگاه عالی است.
- قطعهها: فقط ESP32 و هر خروجی که میخواهی.
- یاد میگیری: حالت
softAP، آدرس پیشفرض 192.168.4.1 و فرق آن با حالت ایستگاه. - شروع: ESP32 در حالت Access Point.
۱۰. API کوچک سنسور با JSON
بهجای صفحهی HTML، برد عددها را بهصورت JSON برمیگرداند تا هر برنامهای، از اپ گوشی تا پایتون روی کامپیوتر، بتواند آنها را بخواند. این همان زبان مشترک دستگاههای IoT است.
- قطعهها: ESP32 و یک سنسور دلخواه.
- یاد میگیری: کتابخانهی ArduinoJson، درخواست GET و POST، طراحی آدرسهای API.
- شروع: ساخت API با JSON روی ESP32 و پروژهی API با JSON روی ESP32.
سطح متوسط: ده ایده برای پروژهی جدیتر
۱۱. ایستگاه هواشناسی با نمودار زنده
دما و رطوبت و نور، با نموداری که بدون رفرش صفحه هر ثانیه یک نقطه جلو میرود. کمترین و بیشترین دمای روز را هم نگه دار.
- قطعهها: ESP32، DHT22، LDR.
- یاد میگیری: EventSource (SSE)، کشیدن نمودار با جاوااسکریپت ساده، میانگینگیری برای حذف نویز.
- شروع: نمودار زنده با SSE و پروژهی نمودار زندهی سنسور.
۱۲. گلخانه یا گلدان هوشمند
رطوبت خاک که کم شد پمپ روشن میشود، هوا که گرم شد فن، و همهچیز در یک صفحهی وب با حالت دستی و خودکار دیده میشود. یکی از محبوبترین پروژههای دانشآموزی و دانشجویی.
- قطعهها: ESP32، سنسور رطوبت خاک، DHT22، LDR، دو رله، پمپ کوچک.
- یاد میگیری: کالیبره کردن سنسور، هیسترزیس (روشن و خاموش شدن با دو آستانه) و محدودیت ایمنی برای پمپ.
- شروع: ساخت کامل در گلخانه هوشمند با ESP32 و نسخهی سادهتر در پروژهی آبیاری خودکار.
۱۳. دزدگیر وایفای با سنسور حرکت
سنسور حرکت که چیزی دید، آژیر میزند و یک پیام در داشبورد اینترنت اشیا مینشیند. با یک دکمه در صفحه هم دزدگیر فعال یا غیرفعال میشود.
- قطعهها: ESP32، سنسور حرکت PIR، بازر، LED.
- یاد میگیری: MQTT، موضوع (topic) و پیام، و فرق فرمان دادن با گزارش دادن.
- شروع: سنسور PIR با آردوینو و پروژهی MQTT با ESP32.
۱۴. هشدار نشت گاز و دود
سنسور MQ-2 در آشپزخانه یا موتورخانه، با دو سطح هشدار و اعلان در صفحهی وب. بخش کنترل را با آردوینو در مقالهی اعلام حریق کامل نوشتهایم؛ اینجا فقط وایفای به آن اضافه میشود.
- قطعهها: ESP32، سنسور گاز MQ-2، بازر، LED.
- یاد میگیری: گرم شدن سنسور، کالیبره کردن در هوای تمیز، هشدار «قفلشونده» که با پاک شدن هوا خودبهخود قطع نمیشود.
- شروع: سیستم اعلام حریق با آردوینو و سنسور گاز MQ-2. این پروژه آموزشی است و جای دتکتور استاندارد را نمیگیرد.
۱۵. ساعت اینترنتی با نمایشگر چهاررقمی
ESP32 ساعت دقیق را از اینترنت میگیرد و روی یک نمایشگر TM1637 نشان میدهد؛ بدون باتری ساعت و بدون تنظیم دستی.
- قطعهها: ESP32، نمایشگر TM1637.
- یاد میگیری: NTP، منطقهی زمانی تهران و چشمک زدن دونقطه با
millis. - شروع: ساعت NTP با ESP32 (گرفتن ساعت از اینترنت را روی برد واقعی تست کن) و سونسگمنت TM1637 که نمایشگرش در شبیهساز هم کار میکند.
۱۶. پردهی برقی کنترلشونده با گوشی
یک موتور پلهای پرده را تا درصد دلخواه باز میکند. صبحها هم با زیاد شدن نور خودش باز شود.
- قطعهها: ESP32، موتور پلهای 28BYJ-48 با درایور ULN2003، LDR.
- یاد میگیری: کنترل موقعیت با شمردن پله، حرکت نرم و نگه داشتن موقعیت فعلی.
- شروع: استپر موتور 28BYJ-48 و پروژهی موتور پلهای نرم با AccelStepper.
۱۷. صفحهی تنظیمات ذخیرهشونده
یک صفحهی «تنظیمات» که آستانهها و اسم دستگاه را میگیرد و در حافظهی خود برد ذخیره میکند تا با قطع برق پاک نشوند. هر محصول IoT واقعی این بخش را دارد.
- قطعهها: فقط ESP32.
- یاد میگیری: سیستم فایل SPIFFS یا LittleFS، فرم HTML و ذخیرهی JSON در فایل.
- شروع: صفحهی وب از SPIFFS و پروژهی فایل تنظیمات روی حافظهی ESP32.
۱۸. پارکینگ هوشمند با نمایش جای خالی
دو سنسور فاصله در ورودی و خروجی، یک راهبند سرووموتوری و تعداد جای خالی روی LCD. نسخهی IoT همان عدد را در صفحهی وب هم نشان میدهد.
- قطعهها: دو سنسور اولتراسونیک، سروو، LCD I2C.
- یاد میگیری: ماشین حالت و تشخیص جهت عبور با دو سنسور.
- شروع: ساخت کامل با آردوینو در پارکینگ هوشمند با آردوینو؛ بعد بخش وب را از آموزش وبسرور اضافه کن.
۱۹. نمایشگر آبوهوای شهر از اینترنت
ESP32 هر نیم ساعت از یک سرویس آبوهوا، دمای شهرت را میگیرد و روی نمایشگر OLED نشان میدهد.
- قطعهها: ESP32، OLED SSD1306.
- یاد میگیری: HTTPClient، HTTPS، خواندن JSON بزرگ و مدیریت خطای شبکه.
- شروع: گرفتن JSON از API با ESP32. وصل شدن به سرویس واقعی فقط روی برد واقعی ممکن است؛ بخش OLED و خواندن JSON را میتوانی در شبیهساز تمرین کنی.
۲۰. داشبورد خانه روی گوشی
یک صفحه با چند کارت: دمای اتاق، وضعیت چراغها، کلید پنکه و اسلایدر نور. ظاهری شبیه اپهای خانهی هوشمند، ولی کاملاً ساخت خودت.
- قطعهها: ESP32، چند LED، یک سنسور دما.
- یاد میگیری: طراحی صفحهی موبایل، بهروزرسانی چند مقدار با یک درخواست، نظم دادن به کد.
- شروع: داشبورد خانه با ESP32 و پروژهی داشبورد خانه روی گوشی.
سطح پیشرفته: ده ایده برای پروژهی پایانی و مسابقه
۲۱. خانهی هوشمند چندبردی با MQTT
چند ESP32 در اتاقهای مختلف، هر کدام یک کار: یکی سنسور دما، یکی کلید چراغ، یکی دزدگیر. همه از راه یک بروکر MQTT با هم حرف میزنند و یک داشبورد همه را نشان میدهد.
- قطعهها: دو تا چهار ESP32، سنسورها و رلهها.
- یاد میگیری: معماری انتشار و اشتراک، نامگذاری topicها، پیام «آخرین وصیت» (LWT) برای فهمیدن قطع شدن یک گره.
- شروع: پروژهی MQTT و پروژهی اینترنت اشیاء با MQTT که بروکر و داشبورد ساختگی دارد.
۲۲. ایستگاه هواشناسی باتریخور
یک گره بیرون از خانه که هر ده دقیقه بیدار میشود، اندازه میگیرد، میفرستد و دوباره میخوابد تا ماهها با باتری کار کند. اندازهگیری مصرف جریان، فصل جذاب گزارشت میشود.
- قطعهها: ESP32، DHT22 یا BME280، باتری لیتیومی و رگولاتور کممصرف.
- یاد میگیری: دیپ اسلیپ، بیدار شدن با تایمر، حافظهی
RTC_DATA_ATTRو بودجهی انرژی. - شروع: دیپ اسلیپ ESP32. خواب عمیق در شبیهساز اجرا نمیشود؛ این پروژه را روی برد واقعی بساز.
۲۳. دیتالاگر با کارت SD و ساعت واقعی
هر دقیقه دما و زمان در یک فایل CSV روی کارت SD نوشته میشود و از صفحهی وب برد قابل دانلود است. برای آزمایشهای طولانی آزمایشگاه دانشگاه عالی است.
- قطعهها: ESP32، ماژول کارت SD، ساعت DS3231، سنسور دما.
- یاد میگیری: SPI و I2C روی یک برد، قالب CSV، باز و بسته کردن امن فایل.
- شروع: پروژهی ثبت دما در فایل CSV و ماژول ساعت DS3231.
۲۴. قفل در RFID با گزارش ورود
کارت که نزدیک شد، در باز میشود و ساعت و شمارهی کارت در یک صفحهی وب ثبت میشود. مدیر از همان صفحه کارت جدید اضافه یا کارت گمشده را حذف میکند.
- قطعهها: ESP32، ماژول RFID RC522، سروو یا رلهی قفل.
- یاد میگیری: SPI، فهرست کارتهای مجاز، ذخیره در حافظه و طراحی صفحهی مدیریت.
- شروع: قفل در RFID با آردوینو و پروژهی در هوشمند با RFID.
۲۵. کنترل دما با PID و تنظیم از وب
یک فن یا گرمکن کوچک، دمای یک جعبه را دقیقاً روی عددی که در صفحهی وب تایپ میکنی نگه میدارد و نمودار خطا زنده رسم میشود.
- قطعهها: ESP32، سنسور دما، فن با ترانزیستور یا ماسفت.
- یاد میگیری: کنترل حلقهبسته، ضرایب P و I و D، و تنظیم آنها با نگاه به نمودار.
- شروع: درس کنترل دما با فن (PID) و پروژهی کنترل دما با فن؛ بعد بخش وب را از آموزش WebSocket اضافه کن.
۲۶. سیستم دوهستهای: سنسور روی یک هسته، وب روی دیگری
وقتی پروژه بزرگ میشود، وبسرور نباید خواندن سنسور را کند کند. با FreeRTOS یک وظیفه را روی هستهی صفر و دیگری را روی هستهی یک اجرا کن و داده را با صف (queue) رد و بدل کن.
- قطعهها: ESP32 و هر سنسوری.
- یاد میگیری:
xTaskCreatePinnedToCore، صف و mutex، و فکر کردن به همزمانی. - شروع: FreeRTOS و دو هستهی ESP32. وظیفههای FreeRTOS در شبیهساز اجرا نمیشوند؛ نسخهی
millisرا در شبیهساز و نسخهی چندوظیفهای را روی برد بساز.
۲۷. ردیاب خورشید با گزارش توان
دو سروو پنل خورشیدی کوچک را رو به روشنترین نقطه میچرخانند و ولتاژ پنل در صفحهی وب ثبت میشود تا ثابت و متحرک را مقایسه کنی. نتیجهی عددیاش برای گزارش و جشنواره خیلی قانعکننده است.
- قطعهها: ESP32، چهار LDR، دو سروو، پنل خورشیدی کوچک.
- یاد میگیری: مقایسهی سنسورها، کنترل تناسبی و طراحی آزمایش.
- شروع: پروژهی ردیاب خورشید و درس ردیاب خورشید.
۲۸. شمارندهی مصرف آب یا برق
کنتورهای جدید یک خروجی پالس دارند و فلومترهای آب هم با هر لیتر چند پالس میدهند. ESP32 پالسها را با وقفه میشمارد، مصرف روزانه را حساب میکند و نمودارش را نشان میدهد.
- قطعهها: ESP32، فلومتر YF-S201 یا سنسور پالس کنتور، نمایشگر دلخواه.
- یاد میگیری: وقفهی سختافزاری، متغیرهای
volatile، تبدیل پالس به لیتر و ذخیرهی جمع روزانه. - شروع: درس وقفهها و پروژهی شمارندهی وقفه؛ در شبیهساز پالسها را با دکمه بساز.
۲۹. ماشین رباتیک با جویاستیک روی گوشی
یک جویاستیک لمسی در صفحهی وب، فرمانها را با WebSocket و بدون تأخیر به ماشین میفرستد. با Access Point هم بدون مودم در حیاط کار میکند.
- قطعهها: ESP32، درایور موتور L293D یا L298N، دو موتور گیربکسدار، باتری.
- یاد میگیری: WebSocket دوطرفه، PWM برای سرعت، و ایمنی «اگر ارتباط قطع شد بایست».
- شروع: WebSocket روی ESP32 و پروژهی ماشین رباتیک.
۳۰. شهر یا مزرعهی هوشمند (پروژهی ترکیبی)
چند ایدهی بالا را در یک ماکت جمع کن: چراغ خیابان با LDR، پارکینگ، چراغ راهنمایی، آبیاری و یک داشبورد مرکزی. برای نمایشگاه و پروژهی پایانی تیمی، چیزی چشمگیرتر از این کم پیدا میشود.
- قطعهها: یک یا چند ESP32 و هر چه از ایدههای قبلی ساختهای.
- یاد میگیری: یکپارچه کردن زیرسیستمها، تقسیم کار تیمی و مستندسازی.
- شروع: پروژهی شهر هوشمند و راهنمای پروژه پایانی دانشگاه با میکروکنترلر.
از ایده تا پروژهی تمامشده
- کوچک شروع کن: اول فقط یک سنسور و یک خروجی را در شبیهساز راه بینداز. بعد بخش وب، بعد بخش بعدی.
- هر بخش را جدا تست کن: سنسور را با سریال مانیتور، وب را با یک عدد ساختگی. وقتی هر دو کار کردند، به هم وصلشان کن.
- از
delayطولانی فرار کن: وبسرور باید مدامhandleClientرا صدا بزند. زمانبندی را باmillisانجام بده. - رمز وایفای را در کد منتشرشده نگذار: قبل از گذاشتن کد در گیتهاب یا گزارش، آن را پاک کن.
- بعد قطعه بخر: وقتی مدار و کد در شبیهساز کار کرد، فهرست قطعهها دقیق است و پول اضافه خرج نمیکنی.
باز کردن و خواندن پروژهها و درسهای تینکرکد فارسی رایگان است؛ برای اجرای خود برد ESP32 و ماژولهای حرفهای مثل OLED و RFID و LCD I2C به اشتراک Plus نیاز داری. اگر میخواهی منطق پروژه را بدون اشتراک تمرین کنی، بیشتر این ایدهها با آردوینو اونو هم ساخته میشوند. همهی آموزشهای ESP32 در صفحهی ESP32 و پروژههای آماده در پروژهها و ایدهها جمع شدهاند.
اولین پروژهی IoT را در تینکرکد فارسی شروع کن 🌐سؤالهای رایج
برای اولین پروژهی اینترنت اشیا کدام ایده بهتر است؟
چراغ وایفای (کنترل LED از مرورگر) یا دماسنج وبسایتی. هر دو با سه چهار قطعه ساخته میشوند و پایهی همهی پروژههای بعدی، یعنی وصل شدن به وایفای و ساختن وبسرور، را یادت میدهند.
همهی این پروژهها را میشود در شبیهساز ساخت؟
بیشترشان بله: وایفای با شبکهی مجازی، وبسرور، WebSocket، MQTT و حافظهی فایل در شبیهساز کار میکنند. چیزهایی که به اینترنت واقعی، دیپ اسلیپ، بلوتوث یا FreeRTOS نیاز دارند را باید روی برد واقعی تست کنی؛ کنار هر ایده گفتهایم کدام است.
برای پروژهی دانشجویی یا پایاننامه کدام سطح مناسب است؟
برای کاردانی، ایدههای سطح متوسط کافیاند. برای کارشناسی، یک ایدهی پیشرفته یا ترکیب دو ایدهی متوسط با گزارش و آزمایش دقیق انتخاب کن.