به کمک نیاز دارید؟
سوالات متداول در مورد محصول
بردهای ESP
اغلب مردم تصور میکنند تراشههای ESP8266 فقط وای فای هستند. تراشههای ESP8266 و ESP32 فقط وای فای نیستند. قابلیت برنامه نویسی به صورت MCU را دارند. در این متن سعی کردهایم به تمامی سوالات شما پاسخ دهیم، تیترها را دنبال کنید.
پیش از هر چیزی بایستی تراشههای ESP را بشناسیم. لزوم استفاده از آن چیست و همچنین لزوم یادگیری روش راه اندازی و کار کردن با آنها را بدانیم. در ادامه این متن تمامی سوالات اساسی در خصوص بردها و تراشههای ESP را پاسخ خواهیم داد.
شناخت تراشههای خانواده ESP
دنیای میکروکنترلرها از خانوادههای مختلف با کاربریهای مختلف تشکیل شده است. تراشههای خانواده ESP در حقیقت نوعی میکروکنترلر با قابلیت برنامه ریزی هستند که در کنار این ویژگی، توانایی اتصال به شبکه وای فای را هم دارند. در نسخههای جدیدتر خانواده ESP که به اسم ESP32 تجاری سازی شدهاند، علاوه بر دو قابلیت برنامه ریزی میکروکننترلر و اتصال به وای فای، به بلوتوث داخلی هم مجهز شدهاند. تراشههای خانواده ESP در بردهای مختلفی استفاده شدهاند و امروزه کاربرد بسیار بسیار بسیار گستردهای را پیدا کردهاند. این پیشرفت به قدری بوده است که در هر سناریو یا پروژه اینترنت اشیا، حداقل از چند مورد ESP استفاده میشود. یکی از پرمصرفترین بردها با این تراشه برد Nodemcu است. برای اطلاع از قیمت Nodemcu و یا خرید آن میتوانید اطلاعات این صفحه را بررسی کنید.
از خانواده ESP امکان تهیه تراشهها و یا بردهای مبتنی بر آنها فراهم است. نکتهی حائز اهمیت در این خانواده قیمت بسیار اقتصادی و فراوانی انواع آن در بازار ایران است. دانشجو کیت به عنوان یکی از فروشگاههای کهنه کار در این حوزه انواع اورجینال و غیر اصل از بردهای و تراشههای ESP را در بازار ایران تامین میکند.
پایههای PinOut در ESP8266
تراشه ESP8266 از پرمصرفترین اعضای این خانواده است. در پاسخ به سوال ESP8266 چیست و یا ESP8266 PinOut بایستی دقت داشت که این برد دارای نسخههای مختلفی است. از ESP8266-01 تا ESP8266-12 تنوع دارند و هر کدام PinOut مختص خودشان را دارند. این تراشهها به علت کوچک بودن و قیمت اقتصادی در پروژههای بسیاری از جمله خانه هوشمند و یا هوشمند سازی صنعتی کاربرد دارند. تراشههای ESP8266-07 و ESP8266-12 از جمله پرمصرفترینها هستند. در دانشجو کیت میتوانید انواع مختلف از این دو نوع تراشه را بررسی و خرید کنید. نسخههای اورجینال از ESP8266 تا نسخههای مختلف غیر اصل و چینی با قیمت خیلی کمتر قابل تهیه هستند. تفاوت این مدلها را در ادامه توضیح خواهیم داد. معمولترین روش برای شناخت پایههای GPIO برد ESP8266 مراجعه به دیتاشیت تراشه و یا تصاویر شماتیک آن است. این موضوع کاملا فنی مهندسی است و برای راه اندازی تراشه و یا طراحی مدار کاربردی است.
زبان برنامه نویسی تراشه ESP
تراشههای خانواده ESP قابلیت برنامه نویسی به زبان C را دارند. همچنین امکان تغییر فریمور ESP8266 و استفاده از زبا برنامه نویسی میکروپایتون هم فراهم است. لزوم شناخت این دو زبان برنامه نویسی در دنیای میکروکنترلرها، نیاز اساسی و اصلی هر مهندسی است. زبان برنامه نویسی میکروپایتون منحصرا برای میکروکنترلرها ایجاد شده است و بسیار کاربردی است. سرعت توسعه پروژهها و حجم برنامه نویسی بسیار متفاوت از دیگر زبانها خواهد بود. برای برنامه نویسی تراشههای خانواده ESP به زبان MicroPython بایستی فریمور ESP آپدیت شده و به میکروپایتون تغییر کند. در حالت عادی از زبان برنامه نویسی C میتوانید برای این تراشههای قدرتمند استفاده کنید. در کل برای برنامه نویسی esp بایستی آنرا به روش اعلام شده به کامپیوتر متصل کرده و پس از اینکه برنامه نویسی esp را انجام دادیم. آنرا به زبان میکروکنترلر تبدیل کرده و روی برد آپلود کنیم. در این خصوص آموزشهای تخصصی و کاملی برای برنامه نویسی esp به زبان C و برنامه نویسی esp به زبان میکروپایتون در سایت همکار دانشجو کیت، یعنی دیجی اسپارک منتشر شده است.
روش پروگرام کردن ESP
بردها و تراشههای ESP توسط ارتباط سریال یا همان UART قابلیت اتصال به کامپیوتر را دارند. بنابراین برای پروگرام کردن آنها بایستی یک مدل USB به سریال داشته باشیم. به همین سادگی است. در مدلهایی از ESP که صرفا تراشه نیستند و روی برد خاصی قرار گرفتهاند. از جمله بردهای Nodemcu این قابلیت در برد فراهم شده است. کافیست از درگاه USB روی برد استفاده کرده و به کامپیوتر اتصال دهید. اگر هم از این تراشه در بردهای خاص خودتان استفاده میکنید، کافیست که از تراشههای ارتباط سریال با USB استفاده کنید. نرم افزارهای مناسب برای پروگرام کردن این تراشه، متنوع هستند. ولی اگر با زبان C کار میکنید، متداولترین گزینه برای پروگرام کردن ESP8266 و یا پروگرام کردن ESP32 نرم افزار Arduino IDE است. اگر هم با زبان میکروپایتون تمایل به پروگرام کردن ESP دارید، گزینههای متنوعی در دسترس است. از جمله موارد انتخابی تیم دیجی اسپارک میتوانیم به Thonny IDE و یا upycraft اشاره کنیم. البته گزینههای متنوع دیگری هم در دسترس هستند که امکان برنامه نویسی به زبان میکروپایتون را دارا هستند.
برنامه نویسی ESP826 و راه اندازی ESP با آردوینو
بردهای آردوینو کاربردهای بسیار زیادی دارند، همچنین امکان راه اندازی بردهای و تراشههای خانواده ESP با این گروه از بردها فراهم است. همانطور که پیشتر اشاره شد برای پروگرام کردن ESP بایستی از طریق ارتباط سریال اقدام کرد. بردهای آردوینو همگی دارای ارتباط UART هستند. به همین دلیل برای راه اندازی ESP8266 با آردوینو یا راه اندازی ESP32 با آردوینو، کافیست ارتباط سریال با این بردها را برقرار کرده و توسط Arduino IDE اقدام به پروگرام کردن و یا راه اندازی ESP با آردوینو کنیم. تراشههای ESP به دو روش قابل برنامه نویسی هستند. یکی استفاده از کتابخانههای توسعه داده شده است و دیگری استفاده از دستورات AT Command است. این دو مورد برای شرط گذاری و برنامه نویسی تراشههای ESP قابل انتخاب هستند. برای راه اندازی ESP با آردوینو از هر دو روش میتوانید استفاده کنید. روش استفاده از AT Command گزینهای حرفهتر و تخصصیتر است. برای سهولت در راه اندازی ESP میتوانید از انواع کتابخانههایی که به صورت رایگان توسط جامعه کاربری توسعه داده شدهاند، استفاده کنید.
کنترل ESP با اینترنت
سوالی که برای بسیاری از کاربران بوجود آمده، این است که تراشههای ESP قابلیت اتصال به وای را دارند. حال این امکان وجود دارد که در بستر اینترنت و از مکانی دیگر اقدام به کنترل ESP بکنیم؟ پاسخ به این سوال، بله است. به کمک تراشههای ESP امکان کنترل کردن هر دستگاهی که به آن متصل شده باشد با اینترنت فراهم است. برای کنترل ESP8266 با اینترنت و یا کنترل ESP32 با اینترنت باید چه کار کنیم؟ به صورت پیشفرض امکان کنترل در بستر اینترنت فراهم نیست. برای این منظور بایستی اطلاعات از برد ESP در بستر اینترنت به یک سرور ارسال شود. سپس از سرور مربوطه هر اقدامی که بخواهید انجام دهید، فراهم میشود. به عنوان مثال میتوانید از طریق همان سرور مربوطه به برد ESP فرمان خاصی را ارسال کنید. ارسال فرمان به بردهای ESP در بستر اینترنت از این طریق فراهم میشود. البته کل ماجرا به همین سادگی هم نیست و در این بین مواردی از جمله پروتکلهای ارسال و دریافت و همچنین حجم دادهها ملاک نظر خواهند بود. اما در حال کلی پاسخ به سوال روش کنترل ESP با اینترنت، استفاده از یک سرور خواهد بود. به سادگی میتوانید از هر مکانی به بردهای ESP در بستر اینترنت فرمان ارسال کنید.
نصب کتابخانه ESP در آردوینو چگونه است؟
همانطور که پیشتر توضیح داده شد، بردهای ESP توسط کتابخانه هم قابل راه اندازی هستند. برای برنامه نویسی و راه اندازی این بردهای توسط کتابخانه بایستی ابتدا نسبت به نصب کتابخانه در نرم افزار آردوینو اقدام کنید. در نرم افزار آردوینو برای نصب کتابخانه دو روش وجود دارد. روش متداول آن نصب از طریق منوهای نرم افزار است که به صورت آنلاین از مخازن آردوینو نسبت به دانلود کتابخانه اقدام میکند. برای درک بهتر تصویر زیر را بررسی کنید.
به همین سادگی امکان افزودن و نصب کتابخانه ESP در آردوینو فراهم است. البته بردهای خانواده ESP دارای کتابخانههای مختلفی است. برای هر کاربرد خاص نیازمند کتابخانهی مرتبط با همان موضوع هستیم. برد ESP8266 و برد ESP32 کتابخانههای منحصر به خودشان را دارند. در پست «بررسی 25 کتابخانه مهم و کاربردی بردهای ESP در ARDUINO IDE» میتوانید نسبت به کتابخانههای کاربردی برای بردهای ESP اطلاعات بیشتری کسب کنید.
دستورات AT برای بردهای ESP
بردهای ESP توسط AT Command قابلیت کنترل دارند. کنترل بردهای ESP توسط دستورهای خاص خودش صورت میگیرد. مدهای کاری تراشه وای فای و اقداماتی که نیازمند انجامشان هستید، توسط دستورات AT قابل اجرا هستند. در ادامه چند نمونه از دستورات مهم بردهای خانواده ESP را بررسی کنید.
- دستور AT شروع کار با دستورات AT
- دستور AT+RST ریست کردن ماژول ESP
- دستور AT+GMR چک کردن ورژن تراشه ESP
- دستور AT+CMD اعلام کلیه دستورات قابل ارسال با فریمور ماژول مورد استفاده
- دستور AT+GSLP ورود به حالت خواب عمیق Deep Sleep
- دستور ATE تنظیمات حالت Echo
- دستور AT+RESTORE بازگشت تراشه ESP به تنظیمات کارخانه
- دستور AT+UART_CUR معرفی تنظیمات UART در تراشه ESP و ذخیره نشده در حافظه فلش
- دستور AT+UART_DEF معرفی تنظیمات UART در تراشه ESP و ذخیره شده در حافظه فلش
- دستور AT+SLEEP ورود به تنظیمات خواب یا همان Sleep برای کاهش مصرف انرژی
- دستور ......
روش نصب درایور ESP8266
در نرم افزار آردوینو IDE امکان افزودن انواع مختلفی از بردهای میکروکنترلر فراهم است. بردهای خانواده ESP هم این امکان را دارند. برای نصب درایور ESP8266 در نرم افزار آردوینو بایستی دو مرحله را انجام دهیم. مرحله اول ورود به بخش Board Manager که مطابق تصویر زیر بایستی اقدام کنید.
در ادامه بایستی در فرمی که باز میشود، عبارت ESP8266 را تایپ کنید. سپس نسخهی مورد نظر را نصب کنید. پس از انجام این مراحل در لیست بردهای نرم افزار Arduino IDE نام بردهای مبتنی بر ESP8266 را مشاهده خواهید کرد. به تصویر زیر دقت کنید.
آیا ESP32 دارای حافظه داخلی است؟
بله، ESP32 دارای حافظه داخلی است. حافظه داخلی ESP32 شامل حافظه فلش برای ذخیره کد و حافظه رم برای اجرای کد و ذخیره دادههای موقت است. حافظه فلش ESP32 با ظرفیت 4MB به همراه SPI Flash ارائه میشود و میتوان برای ذخیره برنامههای کاربردی و دادهها استفاده کرد. همچنین ESP32 دارای پورت microSD برای افزایش حافظه خارجی نیز میباشد.
آیا میتوان کدهای ESP8266 را بر روی ESP32 اجرا کرد؟
بله، بسیاری از کدهای ESP8266 می توانند بر روی ESP32 نیز اجرا شوند. اما برای اجرای کدها در ESP32، باید کتابخانه های ESP32 را به کد اضافه کنید و کدها را برای پلتفرم ESP32 تغییر دهید. همچنین، باید توجه داشت که پایندهایی که در ESP8266 وجود دارند در ESP32 وجود ندارند و ممکن است کدها با مشکل مواجه شوند. بهتر است همیشه کدهای خود را برای پلتفرم مورد نظر نوشته و به آن پلتفرم اختصاصی بدهید.
بردهای ESP دارای وای فای Wifi
بردهای ESP انواع مختلفی دارند، تراشه ESP دارای وای فای است. علاوه براینکه قابلیت برنامه نویسی و پروگرام شدن دارد، دارای wifi داخلی هم هستند. تراشه جدیدتر و حرفهای تر آن ESP32 است. که دارای وای فای و بلوتوث داخلی است. ظرفیت داخلی تمامی بردهای ESP به نسبت دیگر تراشه های هم رده بسیار زیادتر است. برد Nodemcu 1.0 یکی از پرمصرف ترین بردهای امبدد در زمینه اینترنت اشیاء IOT است. هستهی NodeMCU دارای دو نسخهی مختلف است. یکی دارای چیپ ESP8266 ورژن ESP12 و دیگری دارای چیپ ESP32 است. به وسیلهی آن میتوان به شبکهی وای فای متصل شد و اطلاعات را میان اینترنت یا سایر دستگاهها جابهجا نمود. برای برنامه نویسی و پروگرام کردن بردهای ESP از طریق کامپایلر آردوینو امکان پذیر است. به عبارتی توسط زبان برنامه نویسی C++ میتوانیم روی بردهای ESP برنامه نویسی کنیم. علاوه بر آن یکی از زبانهای برنامهنویسی برد Nodemcu لوا Lua است. ولی از امکانات بسیار عالی دیگر Nodemcu 1.0 و ورژنهای بالاتر این است که میتوان با استفاده از IDE آردوینو و با استفاده از دستوارات آردوینو بر روی آن به سادگی برنامه نویسی کرد. تمای بردهای ESP هم ESP8266 و هم ESP32 قابلیت نصب و برنامه نویسی از طریق کامپایلر آردوینو را دارند. به لینکهای زیر میتوانید مراجعه کنید و آموزشهای فارسی را مشاهده کنید. مجموعه آموزش کامل ESP8266 توسط تیم محتوایی دانشجو کیت و دیجی اسپارک تهیه شده است. کافیست لینکهای زیر را بررسی کنید.
لینک پروژهها و آموزشهای فارسی برد Nodemcu
لینک پروژهها و آموزشهای فارسی برد ESP8266
لینک پروژهها و آموزشهای فارسی برد ESP32
تفاوت برد ESP8266 و ESP32
تراشه ESP8266 دارای وای فای و تراشه ESP32 دارای وای فای و بلوتوث است. هر دو قابلیت برنامه نویسی به صورت مستقل را دارند. ویژگیهای بسیار کاربردی در هر دو برد نهفته است و یکی از انتخابهای بسیار مهم در IoT است. بردهای ESP ورژنهای مختلفی دارند. مصرف انرژی ناچیزی دارد، تقریبا در بیشتر شرایط پایدار است. همچنین ابعاد بسیار کوچکی دارد و بدون نیاز به میکروکنترلر هم قابلیت برنامه ریزی دارد. ماژول ESP8266 توانایی راه اندازی یک وب سرور بسیار ساده را دارد. در این خصوص میتوان به آموزش ساخت خانه هوشمند با ماژول ESP8266 وب سرور لوکال گرافیکی اشاره کرد. برد ESP8266 دارای تراشه WIFI کامل به همراه تمام بخشهای نرم افزاری پروتکل داخلی TCP/IP میباشد. برد esp8266 با قیمت اندک انتخاب مناسبی برای کارهای IoT است. میتوان با پروتکل سریال به راحتی با آن ارتباط برقرار نمود و توسط دستورات AT COMMAND آن را کنترل نمود. ماژول ESP8266 و ESP32 در دو حالت قابل استفاده است.