برد Esp32

راه اندازی و کار با برد ESP32 بخش اول: شناخت برد و انواع آن

esp32-tutorial-step-one-introduce-digispark
نوشته شده توسط معین صابری

ESP32، یک میکروکنترلر قدرتمند است که توسط شرکت Espressif Systems تولید می‌شود. این میکروکنترلر بر پایه معماری Xtensa قرار دارد و با استفاده از فرکانس پردازشی بالا و منابع قدرتمند، قادر به اجرای برنامه‌های پیچیده و کاربردهای متنوعی است.ESP32 دارای پردازنده دو هسته‌ای است که هر کدام با سرعت ۲۴۰ مگاهرتز کار می‌کنند. ESP32 دارای ارتباطات بی‌سیم چندگانه است که شامل Wi-Fi و بلوتوث است. این ویژگی‌ها امکان اتصال به شبکه‌های Wi-Fi و برقراری ارتباط را می‌دهند. همچنین، ESP32 دارای قابلیت بلوتوث Low Energy (BLE) است که شما را قادر می‌سازد با دستگاه‌های از راه دور کم مصرف ارتباط برقرار کنید.ESP32 دارای حافظه برنامه و حافظه دسترسی تصادفی (RAM) است. همچنین، این میکروکنترلر دارای حافظه فلش داخلی است که می‌توانید برنامه‌های خود را در آن ذخیره کنید. در ادامه آموزش راه اندازی esp32 با مرجع تخصصی ESP32 به زبان فارسی، دیجی اسپارک همراه باشید.

 


معرفی ESP32


ESP32 یکی از میکروکنترلرهای قدرتمند و محبوب است که توسط شرکت Espressif Systems توسعه داده شده است. این میکروکنترلر بر پایه معماری Xtensa LX6 قرار دارد و دارای دو هسته پردازشی است که هر کدام با فرکانس ۲۴۰ مگاهرتز کار می‌کنند. ESP32 به عنوان یک سیستم در چیپ (SoC) عمل می‌کند و از برد های توسعه مختلفی استفاده می‌شود.ESP32 دارای دو هسته پردازشی Tensilica Xtensa LX6 است که با سرعت ۲۴۰ مگاهرتز کار می‌کنند.  ESP32 از استاندارد Wi-Fi 802.11b/g/n و Bluetooth 4.2 پشتیبانی می‌کند. این اتصالات بی سیم به برنامه نویسان امکان ارتباط با شبکه های بی سیم و دستگاه های دیگر را می‌دهد. ESP32 دارای حافظه فلش داخلی با ظرفیت ۴ مگابایت است که برای ذخیره برنامه‌ها و داده‌های کاربردی استفاده می‌شود. همچنین، با اتصال یک کارت MicroSD، می‌توان حافظه را به طور قابل توجهی افزایش داد. ESP32 دارای پورت‌های دیجیتال و آنالوگ برای اتصال به سنسورها، عملکردهای کنترلی و سایر اجزای خارجی است. ESP32 از پروتکل‌های UART، I2C و SPI برای اتصال به دستگاه‌ها استفاده می‌کند.

ESP32 دارای واحد هش (Hash) برای محاسبه مقادیر هش و واحد رمزنگاری (Encryption) برای رمزگذاری و رمزگشایی اطلاعات است. این قابلیت‌ها مناسب برای امنیت داده‌ها و ارتباطات بین دستگاه‌ها هستند. ESP32 امکان بروزرسانی برنامه‌ها و فریمورها را از طریق شبکه بی سیم به صورت OTA فراهم می‌کند. برای توسعه برنامه‌ها بر روی ESP32، شرکت Espressif Systems ابزارها و برنامه‌های توسعه را فراهم کرده است. این ابزارها شامل ESP-IDF (ESP32 IoT Development Framework) و ESP32 Arduino Core است که قابلیت‌ها و امکانات گسترده‌ای برای توسعه برنامه‌ها ارائه می‌دهد.

FreeRTOS قابلیت اجرای سیستم‌عامل FreeRTOS را دارد. با استفاده از فناوری‌های مدیریت انرژی پیشرفته، ESP32 مصرف انرژی کمی دارد. این ویژگی مناسب برای برنامه‌های قابل حمل و بازدهی بالا است. ESP32 دارای واحد ADC (تبدیل آنالوگ به دیجیتال) است که به برنامه نویسان امکان می‌دهد با سنسورهای محیطی مختلف مانند سنسورهای دما، رطوبت، فشار و حرکت ارتباط برقرار کنند. با توجه به ویژگی‌های بی‌سیم، حافظه قابل توسعه، امنیت داده و ارتباطات، ESP32 مناسب برای توسعه برنامه‌های اینترنت اشیا (IoT) است. این میکروکنترلر قابلیت اتصال و کنترل دستگاه‌ها و سنسورهای مختلف را به راحتی فراهم می‌کند. ESP32 با ترکیب قدرت پردازشی، اتصالات بی سیم و قابلیت‌های متنوع، یکی از میکروکنترلرهای محبوب برای پروژه‌های الکترونیکی و اینترنت اشیا است. این میکروکنترلر برای توسعه‌دهندگان بازدهی بالا، امنیت داده و امکانات گسترده را فراهم می‌کند.

 

 


مشخصات فنی ESP32


یکی از مهمترین ویژگی‌های ESP32، اتصالات بی‌سیم است. با پشتیبانی از Wi-Fi 802.11b/g/n و Bluetooth 4.2، ESP32 امکان اتصال به شبکه‌های بی‌سیم و ارتباط با دستگاه‌ را فراهم می‌کند. این ویژگی اجازه می‌دهد برنامه‌ها و داده‌ها را به صورت بی‌سیم انتقال داده و با دستگاه‌های دیگر در شبکه ارتباط برقرار کند. با این قابلیت، ESP32 به عنوان یک پلتفرم مناسب برای پروژه‌های اینترنت اشیا (IoT) شناخته می‌شود.علاوه بر اتصالات بی‌سیم، دو هسته پردازشی قدرتمند Xtensa LX6 و فرکانس پردازش تا ۲۴۰ مگاهرتز از ویژگی‌های دیگر ESP32 هستند. همچنین، ESP32 دارای حافظه فلش داخلی و حافظه رم قابل توسعه است .قابلیت پشتیبانی از OTA (بروزرسانی از طریق هوا) نیز یکی از ویژگی‌های مهم ESP32 است. با استفاده از OTA، برنامه‌ها و فریمورها می‌توانند به راحتی از طریق شبکه بی‌سیم بدون نیاز به اتصال مستقیم به دستگاه بروزرسانی شوند.

 

  • معماری: Xtensa LX6 دو هسته‌ ای
  • فرکانس پردازش: تا ۲۴۰ مگاهرتز
  • حافظه فلش داخلی: ۴ مگابایت
  • حافظه رم: ۵۲۰ کیلوبایت
  • واحد ADC (تبدیل آنالوگ به دیجیتال): ۱۲ بیت
  • Wi-Fi: 802.11 b/g/n
  • Bluetooth: Bluetooth 4.2 و پشتیبانی از BLE (Bluetooth Low Energy)
  • GPIO (General Purpose Input/Output): تعداد قابل تنظیم
  • پورت‌های دیجیتال: تا ۳۴ عدد
  • پورت‌های آنالوگ: تا ۱۸ عدد
  • UART
  • I2C
  • SPI
  • واحد هش: SHA-256
  • واحد رمزنگاری: AES، RSA، ECC، SHA-2/3
  • پشتیبانی از OTA (بروزرسانی از طریق هوا): بله
  • سیستم‌عامل: FreeRTOS
  • ابزارهای توسعه: ESP-IDF (ESP32 IoT Development Framework)، ESP32 Arduino Core
  • منابع تغذیه: ولتاژ ورودی ۲٫۲ تا ۳٫۶ ولت

 


بررسی پایه های ESP32


ESP32 دارای ۳۸ پایه (Pin) است که امکان اتصال به ماژول و سنسور را می‌دهد. این پایه‌ها به عنوان ورودی/خروجی دیجیتال (GPIO) عمل می‌کنند، اما برخی از آن‌ها وظایف خاص دارند. پایه‌های ESP32 در واقع پایه‌های ورودی/خروجی دیجیتال (GPIO) هستند. با استفاده از این پایه‌ها، می‌توانید به عناصری مانند سنسورها، انواع ماژول‌ها، کامپوننت‌های الکترونیکی و دیگر قطعات متصل شوید و کنترل کنید. هر پایه GPIO به صورت دیجیتال عمل می‌کند، به این معنی که می‌توانید آن را به یکی از دو حالت ۰ (صفر) و ۱ (یک) تنظیم کنید. برنامه‌نویسی پایه‌ها از طریق زبان برنامه‌نویسی که استفاده می‌کنید (مثل C/C++ یا Arduino IDE) امکان‌پذیر است.

با تنظیم پایه به حالت خروجی، می‌توانید به عنوان خروجی دیجیتال عمل کند و سیگنال را به قطعات دیگر ارسال کنید. با تنظیم پایه به حالت ورودی، می‌توانید وضعیت ورودی سیگنال را مشاهده کنید و بر اساس آن عملیاتی را انجام دهید.علاوه بر عملکرد دیجیتال، برخی از پایه‌ها قابلیت‌های خاصی دارند. به عنوان مثال، برخی از پایه‌ها قابلیت تولید سیگنال PWM (پهنای مدولاسیون عرض پالس) را دارند که به شما اجازه می‌دهد شدت یک سیگنال را کنترل کنید. همچنین، برخی از پایه‌ها امکان اتصال به سازوکارهای ارتباطی مانند UART، I2C و SPI را دارند که شما را قادر می‌سازد با دستگاه‌های دیگر ارتباط برقرار کنید.بر اساس نیازهای پروژه و نوع قطعاتی که می‌خواهید به ESP32 متصل کنید، می‌توانید پایه‌های مناسب را انتخاب کنید.

برای مثال، اگر می‌خواهید با یک سنسور دما و رطوبت I2C ارتباط برقرار کنید، می‌توانید از پایه‌های SDA و SCL برای اتصال به این sensor استفاده کنید. یا اگر می‌خواهید از یک ماژول GPS با رابط UART استفاده کنید، می‌توانید از پایه‌های RX و TX مربوط به UART برای اتصال استفاده کنید.پایه‌های دیجیتال (GPIO) با قابلیت تولید سیگنال PWM (مانند پایه‌های PWM0 تا PWM19) برای کنترل خروجی‌هایی با شدت قابل تنظیم مانند روشنایی LED یا سرعت موتور استفاده می‌شوند.پایه‌های ADC (مانند ADC1 تا ADC18) برای خواندن ورودی‌های آنالوگ مانند سنسورهای نور، سنسورهای دما و سنسورهای فشار استفاده می‌شوند.پایه‌های خاصی نظیر GPIO34 تا GPIO39 قابلیت اتصال به تایمر و وقفه را در حالت خاموشی (Deep Sleep) دارند و برای مصارف پیچیده‌تر مانند زمانبندی دقیق و برنامه‌ریزی محدود در حالت خاموش استفاده می‌شوند.

 

 

پایه‌های تغذیه:

  • ۳V3: ولتاژ تغذیه ۳٫۳ ولت
  • ۵V: ولتاژ تغذیه ۵ ولت (در برخی بردها وجود دارد)

پایه‌های اتصال برد و ریست:

  • EN: پایه فعال‌سازی (Enable) برای روشن و خاموش کردن میکروکنترلر
  • VIN: ولتاژ ورودی تغذیه برای ESP32
  • GND: زمین

پایه‌های UART:

  • RX0: ورودی سریال
  • TX0: خروجی سریال
  • RX1: ورودی سریال (برخی از بردها)
  • TX1: خروجی سریال (برخی از بردها)

پایه‌های SPI:

  • SCK: ساعت (Clock) SPI
  • MISO: ورودی SPI
  • MOSI: خروجی SPI
  • CS: فعال‌سازی روی SPI (برخی از بردها)

پایه‌های I2C:

  • SDA: خط داده I2C
  • SCL: خط ساعت I2C

پایه‌های ADC:

  • ADC1-ADC18: ورودی آنالوگ به دیجیتال (ADC) (برخی از بردها)

پایه‌های PWM:

  • PWM0-PWM19: خروجی پهنای مدولاسیون عرض پالس (PWM)

پایه‌های دیگر:

  • DAC1: خروجی آنالوگ به دیجیتال (DAC)
  • A0-A7: ورودی آنالوگ (برخی از بردها)
  • IO34-IO39: پایه‌های دیجیتال (برخی از بردها)

پایه‌های خروجی دیجیتال:

  • GPIO0-GPIO27: پایه‌های ورودی/خروجی دیجیتال عمومی

پایه‌های وقفه (Interrupt):

  • GPIO0-GPIO31: پایه‌هایی که قابلیت ایجاد وقفه را دارند و می‌توانند واکنشی به تغییرات در ورودی‌های دیجیتال نشان دهند.

پایه‌های کنترل تایمر (Timer):

  • GPIO0-GPIO19: پایه‌های که قابلیت کنترل تایمر را دارند و می‌توانند بر اساس شمارشگر زمان رویدادهای مختلف را تنظیم کنند.

پایه‌های کارت SD:

  • SD2_CMD, SD2_CLK, SD2_DATA0-SD2_DATA3: پایه‌های مربوط به اتصال کارت حافظه SD.

پایه‌های دیگر:

  • RTC_GPIO0-RTC_GPIO11: پایه‌هایی که در وضعیت خاموشی (Deep Sleep) قابلیت ایجاد وقفه را دارند.
  • VSPICS0, VSPIDO, VSPISCK, VSPID1: پایه‌های اتصال به واحد دوربین (Camera Unit).

پایه‌های برداشت صدا:

  • MIC_VP, MIC_VN: پایه‌های ورودی برای برداشت صدا (میکروفن).

پایه‌های LED:

  • GPIO2, GPIO4, GPIO12, GPIO13, GPIO14, GPIO15, GPIO16: پایه‌هایی که می‌توانند به عنوان پایه‌های کنترل LED استفاده شوند.

 

 


قابلیت های ارتباطی برد ESP32


 ESP32 قابلیت اتصال به شبکه‌های Wi-Fi را داراست و امکان ارتباط با اینترنت و شبکه‌های بی‌سیم را می‌دهد. همچنین، این برد دارای بلوتوث است.با دو هسته پردازشی با سرعت ۲۴۰ مگاهرتز، ESP32 قادر به اجرای برنامه‌های پیچیده و کاربردهای متنوع است. این قابلیت به شما امکان مدیریت وظایف مختلف به صورت موازی را می‌دهد.ESP32 دارای حافظه برنامه و حافظه دسترسی تصادفی (RAM) بسیار بزرگی است که به شما امکان ذخیره و اجرای برنامه‌های پیچیده را می‌دهد. همچنین، دارای حافظه فلش داخلی است که برنامه‌های شما را ذخیره می‌کند.

ESP32 دارای پایه‌های ورودی/خروجی دیجیتال (GPIO) است که به شما امکان اتصال به اجزای مختلف مانند سنسورها، درایورها و ماژول‌ها را می‌دهد. این پایه‌ها قابلیت تولید سیگنال PWM را نیز دارند. ESP32 دارای رابط‌های ارتباطی متنوعی است که امکان ارتباط با سایر دستگاه‌ها را فراهم می‌کند. ESP32 دارای رابط‌های سریال UART است که امکان ارتباط با دستگاه‌های خارجی مانند ماژول‌های GPS، ماژول‌های سنسوری و دستگاه‌های جانبی را فراهم می‌کند.دارای رابط‌های I2C و SPI است که امکان ارتباط با دستگاه‌های دیجیتالی مانند سنسورها، نمایشگرها، حافظه‌ها و سایر قطعات الکترونیکی را فراهم می‌کند.ESP32 دارای پایه‌های ADC است که به شما امکان خواندن سیگنال‌های آنالوگ مانند سنسورها، ابزارهای اندازه‌گیری و ورودی‌های آنالوگ را می‌دهد.: ESP32 قابلیت پشتیبانی از پروتکل‌های شبکه مانند TCP/IP را دارد، که به شما امکان برقراری ارتباط با سرویس‌های ابری، ارسال و دریافت داده‌ها و استفاده از اینترنت را می‌دهد.

 


زبان برنامه نویسی ESP32


ESP32 با استفاده از زبان برنامه‌نویسی C++ و محیط‌های توسعه مانند Arduino IDE و PlatformIO قابل برنامه‌نویسی است. با استفاده از این زبان برنامه‌نویسی، می‌توانید برنامه‌هایی با قابلیت‌های پیچیده را برای کنترل و ارتباط با اجزا و دستگاه‌های مختلف بر روی ESP32 ایجاد کنید. علاوه بر زبان C++، ESP32 همچنین قابلیت برنامه‌نویسی با زبان MicroPython را نیز دارا است. MicroPython یک نسخه سبک و کوچک از زبان برنامه‌نویسی Python است که به شما امکان برنامه‌نویسی ESP32 را با یک زبان بسیار قابل فهم و آسان می‌دهد.

 همچنین، برای توسعه برنامه‌های ESP32 می‌توانید از لایبرری‌ها و API‌های مربوطه برای ارتباط با قطعات و ماژول‌های مختلف مانند Wi-Fi، بلوتوث، GPIO و SPI استفاده کنید. این لایبرری‌ها و API‌ها به شما امکان کنترل و استفاده از قابلیت‌های سخت‌افزاری ESP32 را می‌دهند و فرایند توسعه برنامه را آسانتر می‌کنند.بنابراین، با استفاده از زبان برنامه‌نویسی C++ و MicroPython، شما می‌توانید برنامه‌های متنوعی را برای ESP32 بنویسید و آن را برای انجام وظایف مورد نیاز خود در پروژه‌های الکترونیکی و اینترنت اشیاء (IoT) استفاده کنید.

 


برنامه نویسی برد ESP32 با C++ , MICROPYTHON


می‌توانید برنامه‌نویسی برد ESP32 را با استفاده از زبان C++ یا MicroPython انجام دهید. ESP32 یکی از بردهای محبوب برای توسعه اینترنت اشیا (IoT) است و از طریق زبان‌های برنامه‌نویسی مختلف قابل برنامه‌ریزی است.اگر مایل به استفاده از C++ هستید، می‌توانید با استفاده از Arduino IDE، PlatformIO، یا هر محیط توسعه‌ی دیگری که پشتیبانی ESP32 را داشته باشد، برنامه‌نویسی را انجام دهید. ESP32 دارای کتابخانه‌ برای برنامه‌نویسی با C++ است و می‌توانید از آنها برای کنترل سخت‌افزار و ارتباط استفاده کنید.

 از طرف دیگر، اگر می‌خواهید از MicroPython استفاده کنید، می‌توانید زبان بسیار ساده و قابل فهمی را برای برنامه‌نویسی ESP32 استفاده کنید. MicroPython، یک نسخه کوچک و سبک از زبان برنامه‌نویسی Python است که بر روی میکروکنترلرها اجرا می‌شود. شما می‌توانید کدهای Python را بر روی ESP32 اجرا کنید و از قابلیت‌ها و کتابخانه‌های Python استفاده کنید.هر دو زبان C++ و MicroPython دارای مزایا و محدودیت‌های خود هستند، بنابراین وابسته به نیازها و تجربه شما می‌توانید زبان مناسب برای برنامه‌نویسی برد ESP32 را انتخاب کنید. بطور کلی، استفاده از C++ برای برنامه‌نویسی برد ESP32 به شما امکان می‌دهد به طور مستقیم با سخت‌افزار تعامل کنید و کنترل دقیق‌تری برای عملکرد و بهره‌وری داشته باشید. با استفاده از کتابخانه‌های C++ موجود برای ESP32، می‌توانید از قابلیت‌های پیشرفته مانند بلوتوث، Wi-Fi، سنسورها استفاده کنید.

 استفاده از MicroPython برای برنامه‌نویسی ESP32 سطح آموزشی پایین‌تری را ایجاد می‌کند. MicroPython یک زبان بسیار ساده و قابل فهم است که برای توسعه سریع و آسان برنامه‌ها مناسب است. با استفاده از MicroPython، شما می‌توانید کدهای خود را به سرعت توسعه دهید، دستورات ساده‌تری را برای کنترل سخت‌افزار بکار ببرید و به راحتی با سایر دستگاه ها تعامل کنید.در نهایت، انتخاب بین C++ و MicroPython بستگی به تجربه و نیازهای شما دارد.

 

 


پروژه های اجرا شده با ESP32


سیستم کنترل هوشمند خانه: با استفاده از ESP32 می‌توان یک سیستم کنترل هوشمند برای کنترل روشنایی، دما، سیستم امنیتی و سایر ویژگی‌های خانه ایجاد کرد. ESP32 با قابلیت‌های بی‌سیم و پردازش قدرتمند، امکان اتصال و کنترل اجزای مختلف را به سادگی فراهم می‌کند.

مانیتورینگ محیطی: ESP32 می‌تواند در پروژه‌های مانیتورینگ محیطی مانند اندازه‌گیری دما، رطوبت، کیفیت هوا و سایر پارامترها مورد استفاده قرار بگیرد. با استفاده از سنسوهای مختلف و قابلیت‌های بی‌سیم ESP32، این اطلاعات را می‌توان به یک سرور ارسال کرده و تحلیل کرد.

رباتیک و کنترل موتور: ESP32 با قابلیت‌های خروجی دیجیتال و PWM، می‌تواند در پروژه‌های رباتیک و کنترل موتور استفاده شود. با استفاده از آن می‌توانید ربات‌های کوچک، خودروهای هوشمند، پهپادها و سایر وسایل حرکتی را کنترل کنید.

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

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

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

ردیابی مکان: ESP32 با قابلیت‌های بی‌سیم مانند وای‌فای و بلوتوث، می‌تواند در پروژه‌های ردیابی مکان استفاده شود. این برد میکروکنترلر قادر است مکان دقیق خود را دریابد و این اطلاعات را ارسال کند. این پروژه می‌تواند برای ردیابی و امنیت اشیاء قابل حمل مانند خودروها، حیوانات خانگی و افراد استفاده شود.

 

در نهایت در سایت دیجی اسپارک آموزش های متنوعی با برد ESP32 ارائه شده است که میتوانید از طریق لینک زیر بررسی کنید.

لینک آموزش های ESP32

 


جمع بندی


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

 

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

 

ادامه مطالب این آموزش

راه اندازی و کار با برد ESP32 بخش دوم: نصب هسته و راه اندازی اولیه

راه اندازی و کار با برد ESP32 بخش سوم: معرفی پایه ها و بررسی سخت افزاری

راه اندازی و کار برد ESP32 قسمت چهارم: مد ایستگاهی STATION دریافت IP

راه اندازی و کار با برد ESP32 بخش پنجم: مد نقطه دسترسی AP

راه اندازی و کار با برد ESP32 بخش ششم: مد سرور Server

راه اندازی و کار با ESP32 بخش هفتم: لایه انتقال و ارتباط با موبایل توسط مودم

راه اندازی و کار با برد ESP32 بخش هشتم: اجرای متد GET

راه اندازی و کار با برد ESP32 قسمت نهم: اجرای متد POST

راه اندازی و کاری با ماژول ESP32 قسمت دهم: شناخت و راه اندازی MDNS

راه اندازی و کار با ماژول ESP32 قسمت یازدهم: ESP-Cam دوربین و کارت SD

راه اندازی و کار با برد ESP32 قسمت دوازدهم: راه اندازی بلوتوث Bluetooth

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

معین صابری

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

مالي که ز تو کس نستاند، علم است
حرزي که تو را به حق رساند، علم است
جز علم طلب مکن تو اندر عالم
چيزي که تو را ز غم رهاند، علم است
(شیخ بهایی)

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

۲۴ دیدگاه

  • سلام
    جناب مهندس من یک نمونه کد وب سرور روی DOIT ESP32 DEV KIT v1 آپلود میکنم، وقتی کامل و با موفقیت آپلود میشه، سریال مانیتور رو باز میکنم و یکبار دکمه EN رو از روی ماژول فشار میدم. سریال مانیتور برام دیتاهای زیر رو چاپ میکنه:
    https://s4.uupload.ir/files/1_lg51.jpg
    اما همونطور که ملاحظه میفرمایین، دائما در حالت کانکت به شبکه وای فای که قراره ساخته بشه میمونه و همینجا گیر میکنه. به نظر شما علتش چی میتونه باشه؟ قسمت اولیه کدی که نوشته ام، به صورت زیر است:
    ………………………………………………………………………………….
    #include

    // Replace with your network credentials
    const char* ssid = “Smart_Remote”;
    const char* password = “123456789”;

    // Set web server port number to 80
    WiFiServer server(80);

    // Variable to store the HTTP request
    String header;

    // Auxiliar variables to store the current output state
    String output26State = “off”;
    String output27State = “off”;

    // Assign output variables to GPIO pins
    const int output26 = 26;
    const int output27 = 27;

    // Set your Static IP address
    IPAddress local_IP(192, 168, 1, 184);
    // Set your Gateway IP address
    IPAddress gateway(192, 168, 1, 1);

    IPAddress subnet(255, 255, 0, 0);
    IPAddress primaryDNS(8, 8, 8, 8); //optional
    IPAddress secondaryDNS(8, 8, 4, 4); //optional

    void setup() {
    Serial.begin(115200);
    // Initialize the output variables as outputs
    pinMode(output26, OUTPUT);
    pinMode(output27, OUTPUT);
    // Set outputs to LOW
    digitalWrite(output26, LOW);
    digitalWrite(output27, LOW);

    // Configures static IP address
    if (!WiFi.config(local_IP, gateway, subnet, primaryDNS, secondaryDNS)) {
    Serial.println(“STA Failed to configure”);
    }

    // Connect to Wi-Fi network with SSID and password
    Serial.print(“Connecting to “);
    Serial.println(ssid);
    WiFi.begin(ssid, password);
    while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(“.”);
    }
    // Print local IP address and start web server
    Serial.println(“”);
    Serial.println(“WiFi connected.”);
    Serial.println(“IP address: “);
    Serial.println(WiFi.localIP());
    server.begin();
    }
    ………………………………………………………………………………….
    و بعدشم void loop() شروع میشه و ادامه داستان…
    به خط Serial.print(“.”); که رسید، گیر میکنه و توی سریال مانیتور دائما نقطه چاپ میکنه و به خطوط بعدی نمیره که پیغام WiFi connected. رو نشون بده.

    • سلام
      بررسی کنید ببینید که ایا نام SSID و یا پسورد را به درستی وارد کرده اید؟ کاراکترها را حتما چک کنید. دستور زیر را هم محص اطمینان در ابتدای تابع SETUP قرار دهید:
      WiFi.setmode(WIFI_STA)

  • با سلام و وقت بخیر
    من یک ماژول esp32-wroom-32 دارم
    و با برنامه IDE برنامه نویسیش می کنم
    مشکلی که دارم اینه که این ماژول من هنگام اپلود برنامه حتما باید دکمه boot نگه داشته بشه
    درصورتی که ماژول های قبلم هرگز این چنین نبودند
    و نیازی به نگه داشتن boot نبود

    میخواستم بپرسم آیا دلیل خاصی داره که این ارور موقع اپلود روی esp32 نمایان میشه
    و این که آیا راه حلی براش وجود داره که این باگ حل بشود یا نه
    ممنونم از شما

  • سلام
    درصورتی که ماژولی که میخواهیم به esp32 ( توسعه یافته با طرح برد NODEMCU ) وصل کنیم، به تغذیه ی ۵v نیاز داشته باشد، از کدام پایه باید استفاده کرد؟ چون esp32 مثل اردوینوuno پایه ی ۵v نداره.

  • سلام من کد رو گرفتم و اپلود کردم ولی ارور زیر را دریافت کردم
    In file included from C:\Users\VahidCF\AppData\Local\Temp\.arduinoIDE-unsaved20221023-5772-92aq56.40y8o\sketch_nov23a\sketch_nov23a.ino:5:0:
    c:\Users\VahidCF\Documents\Arduino\libraries\TJpg_Decoder\src/TJpg_Decoder.h:23:26: fatal error: LittleFS.h: No such file or directory
    compilation terminated.

    exit status 1

    Compilation error: exit status 1
    لطفا راهنمایی کنید

  • سلام اگ بخوام کیبرد کامپیوتر با اردوینو و hc05بلوتوثی کنم و خورجی کار رو گوشی که به بلوتوث وصل میشه روی نرم افزار های ترمینال hc05 تایپ ها نشون داده بشه کسی بلده راه نمایی کنه ؟؟؟

    پیشاپیش ممنون

  • با سلام و وقت بخیر
    من یک ماژول esp32-wroom-32 دارم
    و با برنامه IDE برنامه نویسیش می کنم
    مشکلی که دارم اینه که این ماژول من هنگام اپلود برنامه حتما باید دکمه boot نگه داشته بشه
    درصورتی که ماژول های قبلم هرگز این چنین نبودند
    و نیازی به نگه داشتن boot نبود

    میخواستم بپرسم آیا دلیل خاصی داره که این ارور موقع اپلود روی esp32 نمایان میشه
    و این که آیا راه حلی براش وجود داره که این باگ حل بشود یا نه
    ممنونم از شما

    • در این زمینه متاسفانه اطلاعی ندارم چون کلا من همه ماژول ها را با همین روش پروگرام میکنم!

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

  • سلام وقتتون بخیر
    بنده ماژول esp32wroom32 رو خریداری کردم و با برنامه اردوینو قراره برنامه نویسیش کنم اما ویندوز ماژول رو تشخیص نمیده چه درایوی باید نصب کنیم

  • سلام
    میخوام برنامه ای بنویسم که دادهای انالوگ را با سرعت نمونه بردلری ۴۰۰۰۰۰ هرتز در ۱ ثانیه و به صورت ۱۲ بیت در حافظه ذخیره کنه ؟
    میتونید کمک کنید؟؟