ESP8266IOT

آپدیت فریمور ماژول ESP8266

آپدیت firmware ماژول ESP8266-01

5/5 - (8 امتیاز)

آپدیت فریمور ماژول ESP8266 . در این پروژه به شما نشان خواهیم داد که چگونه Firmware رسمی شرکت سازنده Espressif Systems را برای ماژول ESP8266 را درون حافظه فلش جانبی ماژول ESP8266  پروگرام کنید .

فریمور ESP8266 را می‌توان به دو دلیل بروزرسانی یا پروگرام کرد :

  1. اگر می‌خواهید Firmware ESP8266 را به آخرین نسخه خود به‌روزرسانی کنید.
  2. در صورتی که فریمور به هر دلیلی پاک یا رونویسی شده باشد و بخواهیم فریمور جدید را دوباره به طور کامل نصب کنیم .

تراشه ESP8266

ESP8266 یک ریزتراشه Wi-Fi با پشته کامل TCP/IP یکپارچه ارزان قیمت و قابلیت میکروکنترلر است که توسط Espressif Systems شانگهای چین طراحی و تولید شده است.

چیپ esp8266
چیپ esp8266

تاریخ عرضه اولین تراشه حدود آگوست 2014 بود، جایی که در آن زمان یک سازنده شخص ثالث به نام AI-Thinkerیک سری ماژول با این تراشه و با پیشوند “ESP-xx” ساخته است که در آن ماژول ESP-01 نیز آمده است.
از آن زمان، باید اعتراف کنیم که این دو شرکت قطعا رویکرد پیرامون IOT(اینترنت اشیا) را تغییر دادند.

ESP8266 از یک پردازنده 32 بیتی RISC Tensilica L106 استفاده می کند که مصرف انرژی بسیار پایینی را به همراه دارد و حداکثر سرعت کلاک آن به 160 مگاهرتز (Overclocked) می رسد.

از آنجایی که حافظه فلش قابل برنامه ریزی در این تراشه وجود ندارد، باید یک حافظه فلش خارجی در کنار این تراشه قرار گیرد تا برنامه های ما درون آن پروگرام شود .

بر اساس دیتاشیت تراشه می‌تواند تا 16 مگابایت حافظه خارجی را پشتیبانی کند، اما امروزه معمولاً ماژول‌های ESP8266-01 دارای یک حافظه فلش خارجی (1MByte)8Mbit هستند .

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

ماژول ESP8266

ماژول esp8266 با استفاده از چیپ esp8266 و المانهای جانبی بر روی pcb در انواع مختلفی جهت سهولت استفاده توسعه دهندگان تولید می شود . تصویر زیر انواع مختلفی از ماژول های esp8266 را نمایش می دهد .

انواع ماژول esp8266
انواع ماژول esp8266

از پرکاربردترین ماژول های موجود در بازار مدلهای ESP-01 و ESP-12E/12F  می باشد . در ادامه به بررسی دقیق تر این دو ماژول خواهیم پرداخت .

ماژول ESP8266-01

در زیر سه نسخه از ماژول های ESP8266-01 که توسط شرکت Ai-Thinker ساخته شده اند را مشاهده می کنید.

انواع ماژول ESP-01
انواع ماژول ESP-01

اولین pcb (آبی) منسوخ شده است. این PCB اولین نمونه از این نوع بود و دارای حافظه خارجی 512 کیلوبایتی بود که برای انجام به روز رسانی OTA کافی نبود.

امروزه دو مورد دیگر در فروشگاه‌های الکترونیکی در دسترس هستند و PCB در سمت راست با برچسب “S-Series” جدیدترین و بهبودیافته‌ترین نسخه ماژول ESP-01 است.

به گفته Ai-Thinker، نوع PCB سری S برای پایداری بیشتر و به حداکثر رساندن قدرت آنتن، که به حدود 40 متر می رسد، دوباره طراحی شدند.
PCB جدید همچنین فاقد LED تغذیه است و یک اتصال silkscreen pinout در پشت PCB وجود دارد که می‌تواند  مفید باشد.
در نهایت این دو ماژول  به یک حافظه فلش SPI خارجی 1MB(8Mbit) مجهز شده‌اند که می‌توان حافظه فلش 1 مگابایتی را از بورد جدا کرد و یک حافظه فلش 4MB(32Mbit) بجای آن لحیم کرد(مانند W25Q32 از Winbond).

ارتقا حافظه فلش esp-01
ارتقا حافظه فلش esp-01

 

بورد توسعه NodeMCU

بورد توسعه NodeMCU (Node MicroController Unit) با استفاده از ماژول ESP-12E که خود شامل چیپ ESP8266 است طراحی شده است.

بر روی این بورد یک مبدل usb to serial بکار رفته است و براحتی توسط یک کابل usb به کامپیوتر وصل و برنامه ریزی می شود . تغذیه بورد nodemcu نیز از طریق پورت usb تامین می شود . همچنین پایه های تراشه esp8266 به صورت پین هدر در دسترس می باشد که کار را برای توسعه دهندگان بسیار ساده می کند .

بورد توسعه NodeMCU
بورد توسعه NodeMCU

دانلود درایور مبدل usb to serial node mcu

در هر NodeMCU یک مبدل USB به serial گنجانده شده است. طراحی رسمی بر اساس چیپست CP2102 است و بهترین سازگاری را ارائه می دهد. بردهای اصلی از چیپست CP2102 از جمله ماژول های Amica NodeMCU دارای مجوز رسمی استفاده می کنند. دیگر مبدل USB به سریال رایج مورد استفاده CH340G است که در ماژول های ارزان تر از جمله واحدهای LoLin رایج است. طرح های دیگر ممکن است از درایورهایی از جمله چیپست FTDI استفاده کنند، اما این طرح ها نادر هستند.

بسته به سیستم عاملی(ویندوز،لینوکس،مک) که با NodeMCU استفاده می کنید، درایور مناسب باید نصب شود. به طور کلی، ویندوز 10 بلافاصله چیپست CP2102 را شناسایی می کند در حالی که CH340G ممکن است نیاز به نصب جداگانه درایور داشته باشد.

درایور مبدل سریال CP2102 برای دانلود در بخش پشتیبانی سایت Silicon Labs موجود است که می توانید به این لینک مراجعه کنید . درایورها دائماً تکامل می‌یابند و اطمینان حاصل می‌کنند که جدیدترین نسخه را در محیط توسعه شما نصب و نصب می‌کنند. درایورها برای ویندوز، مک، لینوکس و اندروید در دسترس هستند. همیشه بهتر است از سازنده اصلی بازدید کنید تا مطمئن شوید که جدیدترین نسخه درایور را دریافت می کنید.

درایورهای CH340G  به طور منظم به روز می شوند. نسخه‌های درایور برای ویندوز، مک، لینوکس و اندروید نیز موجود است. از صفحه دانلود درایور آنها دیدن کنید. همیشه بهتر است از سازنده اصلی بازدید کنید تا مطمئن شوید که جدیدترین نسخه درایور را دریافت می کنید.

روش های برنامه ریزی ماژول ESP8266

ماژول های ESP8266 را می توان به دو طریق راه اندازی و استفاده نمود .روش اول استفاده از سیستم عامل ESP-AT که با دستورات AT COMMAND از طریق پورت USART یک میکروکنترلر خارجی مثل AVR راه اندازی می شود .

روش دوم بدون نیاز به میکروکنترلر خارجی می باشد . همانطور که قبلا اشاره کردیم تراشه ESP8266 علاوه بر بخش وای فای ، خود یک پردازنده داخلی دارد که می توان با استفاده از SDK مبتنی بر RTOS ماژول ESP8266 را برنامه ریزی کرد . از ساده ترین و مرسوم ترین روش های برنامه ریزی ماژول های ESP8266 ، استفاده از کتابخانه آردوینو می باشد که بواسطه متن باز بودن آردوینو ، مستندهای زیادی جهت آموزش و یادگیری وجود دارد.

به طور پیش فرض، ماژولهای ESP8266 که از بازار تهیه می کنیم دارای یک فریمور AT Command هستند .

تا اینجا مختصری با  ESP8266 آشنا شدیم حالا میریم سراغ بحث اصلی آموزش یعنی بروزرسانی فریمور AT ماژول ESP8266 .

ماژول NODE MCU  از آنجایی که خود دارای مبدل USB TO SERIAL  است به راحتی به کامپیوتر وصل می شود و بروزرسانی فریمور آن ساده می باشد . بنابراین در ادامه ما بروزرسانی ماژول ESP8266-01 را آموزش می دهیم .

راه اندازی سخت افزار برای به روز رسانی فریمور ESP8266-01

قبل از ادامه فرآیند به روز رسانی فریمور ESP8266 ، مهم است که ماژول WiFi ESP8266 را در حالت دانلود یا حالت بروزرسانی پیکربندی کنید.  پین ​​های GPIO0 و RST ماژول ESP8266 نقش مهمی در پیکربندی آن در حالت بروزرسانی دارند.

پین های ماژول esp8266-01
پین های ماژول esp8266-01

برای بررسی نسخه Firmware و همچنین به روز رسانی Firmware ، باید ابتدا ماژول را از طریق پورت سریال به رایانه متصل کنید .

ماژول را می توان از طریق یک مبدل USB به SERIAL به کامپیوتر یا لپ تاپ متصل کرد.

اتصال از طریق مبدل USB TO SERIAL

مبدل باید منبع تغذیه خروجی 3.3 ولت برای ESP8266 داشته باشد. این خروجی باید جریان لازم حداقل 200 میلی آمپر را فراهم کند.

پین GPIO0 حالت اجرای ماژول ESP8266 را تعیین می کند. هنگامی که این پین به زمین متصل نیست، ماژول در حالت عادی اجرا می شود و برای دستورات AT پاسخ می دهد. هنگامی که این پین به زمین متصل می شود، ماژول به حالت به روز رسانی فریمور اجرا می شود.

اگر زمانی که ماژول روشن و در حال کار است ، اگر پین GPIO0 به زمین متصل شود، ماژول در حالت به روز رسانی سیستم عامل قرار نمی گیرد و باید ماژول RESET شود تا وارد حالت بروزرسانی شود .

بروزرسانی firmware ماژول esp8266 توسط usb to serial
بروزرسانی firmware ماژول esp8266 توسط usb to serial

یادداشت های مهم

  • من پین GPIO0 را مستقیماً به GND وصل کرده ام. و بعد از فلش کردن Firmware، آن را از GND جدا کردم. برای دستیابی به این عمل می توانید از یک سیم معمولی بردبورد نیز استفاده کنید.
  • ESP8266 نمی تواند 5 ولت را تحمل کند. تغذیه ماژول باید به 3.3 ولت وصل شود.
  • منبع تغذیه با حداقل 1 آمپر جریان دهی را برای مدار خود انتخاب کنید.

بررسی نسخه فعلی فریمور ESP8266

قبل از بروزرسانی Firmware، ابتدا فریمور موجود در ماژول ESP8266 را با استفاده از ارتباط سریال بررسی می کنیم. برای این کار باید پین GPIO0 را از GND جدا کنیم.

برای ارسال دستورات AT و مشاهده پاسخ ها باید از نرم افزار مانیتور پورت سریال استفاده کنید. ابزار نرم افزار ترمینال سریال متعددی از جمله نرم افزار Putty , Hrcules و سریال Arduino IDE وجود دارد که بدلخواه می توان از هر کدام آنها استفاده کرد .

نرم افزار های مانیتور پورت سریال باید طوری تنظیم شوند که خط فرمان با قرار دادن هر دو کاراکتر  (خط جدید)NL و (اینتر)CR در انتهای هر دستور ارسال شود. نرخ انتقال یا Baudrate پیش فرض بر روی 115200 تنظیم شود . بعد از این کار دکمه RST ESP8266 را برای یک ثانیه فشار دهید و رها کنید. ماژول ESP8266 پس از مقداری داده نامفهوم در مانیتور سریال، تنظیم مجدد می شود و “ready” را نشان می دهد.

بروزرسانی فریمور esp8266
بروزرسانی فریمور esp8266

برای بررسی نسخه فریمور ، باید دستور AT+GMR زیر را تایپ کنید و گزینه send را بزنید. این دستور نسخه فریمور ماژول ESP8266 را برمی گرداند. تمام دستورات AT باید با حروف بزرگ باشد.

دریافت نسخه فریمور esp8266
دریافت نسخه فریمور esp8266

 

فریمور این ماژول متعلق به Ai-Thinker Technology ، سازنده ماژول ESP8266 ESP-01  است و بسیار قدیمی است. نسخه AT Command Set نسخه 0.21.0.0 و نسخه SDK 0.9.5 است.  

من اکنون این فریمور را با فریمور Espressif (سازنده SoC ESP8266) جایگزین می کنم.

توجه : قبل از ادامه، مطمئن شوید که پین ​​GPIO0 به GND متصل باشد.

دانلود آخرین نسخه فریمور ESP8266

دو نوع SDK یا کیت توسعه نرم افزار برای ESP8266 وجود دارد. SDK بدون سیستم عامل Non-OS  و با سیستم عامل RTOS SDK . فایل های فریمور ESP8266 به صورت فایل های باینری یعنی فایل های .bin هستند.

آخرین نسخه از فریمور AT  بدون سیستم عامل Non-OS نسخه 1.7.5 می باشد که به گفته خود سایت Espressif فریمور Non-OS دیگر بروزرسانی نخواهد شد و توصیه کرده است از فریمور SDK با سیستم عامل RTOS با نام (IoT Development Framework)IDF استفاده شود .

در نسخه IDF AT علاوه بر بهبود عملکرد ، قابلیتهایی نظیر MQTT , HTTP , WEB SERVER , SSL به این فریمور اضافه شده است .

فریمور بدون سیستم عامل Non-OS نسخه 1.7.5 را می توانید از اینجا دانلود کنید .

آخرین نسخه فریمور IDF AT را می توانید با مراجه مستقیم به لینک رسمی از اینجا دانلود کنید .

دانلود آخرین نسخه فریمور esp8266
دانلود آخرین نسخه فریمور esp8266

 

توجه : شرکت Espressif نسخه جداگانه ای برای سری ماژول هایی با حافظه کمتر از 2 مگا بایت را منتشر نکرده است . بنابراین فریمور IDF AT برای ماژول ESP8266-01 با حافظه فلش 1 مگابایتی منتشر نشده است.

سایت میکرونیک به صورت اختصاصی فریمور AT COMMAND با SDK دارای سیستم عامل RTOS را کامپایل کرده و قابلیت های MQTT , HTTP , WEB SERVER که در حالت پیش فرض غیرفعال است را برای ماژول ESP8266-01 فعال کرده است و فایلهای باینری آن را در اختیار کاربران سایت میکرونیک قرار می دهد .

جهت دانلود فریمور ESP8266-01 IDF AT به این آدرس Download مراجعه نمایید .

ابزار به روز رسانی فریمور ESP8266

مرحله بعدی دانلود ابزار به روز رسانی فریمور ESP8266 است. Espressif Systems یک نرم افزار کوچک را برای این منظور توسعه داد . نام این نرم افزار ESP Flash Download Tool می باشد .

برای دانلود نرم افزار ESP8266 Firmware Flash Download Tool به این لینک مراجعه کنید .

نرم افزار Flash Download Tools ESP8266
نرم افزار Flash Download Tools ESP8266

 

اکنون که Firmware و Flasher Tool را برای ESP8266 دانلود کردیم، به نصب Firmware در ESP8266 ادامه می دهیم.     

نصب Firmware در ESP8266

برای فلش کردن فریمور در ESP8266، ابتدا Flash Download Tool را باز کنید. سپس گزینه OK انتخاب کنید.

اجرای نرم افزار flash download tool
اجرای نرم افزار flash download tool

پس از باز کردن ESP8266 Flash Download Tool، باید فایل های باینری bin. را که دانلود کرده اید داخل نرم افزار وارد کنید . هر فایل باینری باید در آدرس خاصی از حافظه فلش قرار بگیرد . جهت انتخاب فایل های باینری و آدرس حافظه به شکل تصویر زیر عمل کنید .

  1. سر برگ SPIDownload را انتخاب کنید.
  2. با کلیک بر روی دکمه (…) فایل های باینری را طبق جدول انتخاب کنید.
  3. آدرس های فایل های باینری را طبق جدول وارد کنید.
  4. خانه های خالی(check box) را به حالت انتخاب شده در بیاورید تا به رنگ سبز نمایش داده شوند .
  5. بخش SPIFlashConfig را طبق تصویر تنظیم کنید .
  6. پورت COM صحیح را انتخاب کنید (پورت مبدل USB TO SERIAL)  و نرخ انتقال را روی 115200 تنظیم کنید. مطمئن شوید که تمام ترمینال های سریال بسته هستند.
آپدیت فریمور ماژول ESP8266
آپدیت فریمور ماژول ESP8266
آدرس فایلهای باینری فریمور esp8266-01
آدرس فایلهای باینری فریمور esp8266-01

توجه: این لیست از آدرس ها برای ماژول‌های ESP8266 با حافظه 1 مگابایت فلش است. برای سایر اندازه های فلش، لطفاً به فایل راهنمای شروع یا ESP-AT User Guide قسمت Downloading Guide  مراجعه کنید. این فایل به صورت pdf و همراه فریمور قرار دارد .

قبل از شروع بررسی کنید که GPIO0 به GND متصل است و یک پالس LOW (دکمه Reset را فشار دهید) روی پین RST بدهید.

حالا روی دکمه START کلیک کنید. فلش کردن سیستم عامل در ESP8266 باید شروع شود. اگر در ESP8266 Firmware Flash Tool متوجه شدید، لحظه ای که روی START کلیک می کنید، دو آدرس MAC به عنوان AP و STA و همچنین اطلاعاتی در مورد ماژول در قسمت DETECTED INFO دریافت خواهید کرد.

اگر همه چیز خوب پیش برود، ماژول ESP8266 باید با سیستم عامل جدید به روز شود. در صورت وجود هر خطایی، کابل USB را جدا کرده، یک بار دیگر آن را وصل کرده و پس از کلیک بر روی START، دکمه Reset ESP8266 را فشار دهید.

در انتها یک پیغام FINISH روی نرم افزار دریافت خواهید کرد و بعد از این می توانید نرم افزار را ببندید. GPIO0 را از GND جدا کرده و ماژول ESP8266 را ریست کنید. یک بار دیگر مانیتور سریال را باز کنید و firmware جدید را بررسی کنید. 

توجه : پس از باز کردن مانیتور سریال بر روی دکمه Reset کلیک کنید.

برای بررسی نسخه فریمور AT+GMR را تایپ کرده و send را بزنید. با شماره نسخه AT و شماره نسخه SDK پاسخی دریافت خواهید کرد. در مورد من، نسخه جدید AT version:2.2.1.0 و نسخه SDK version:v3.4 است.

آپدیت firmware ماژول esp8266-01
آپدیت firmware ماژول esp8266-01
مشترک شدن
اطلاع رسانی کن
guest
0 دیدگاه
بازخورد داخلی
مشاهده همه نظرات