آپدیت فرم‌ویر ESP8266

مقدمه:

یکی از ساده‌ترین کاربردهای ماژول ESP8266 استفاده از firmware پیش فرض AT Command می‌باشد که براحتی می‌توان به کمک پورت سریال و یک میکرو یا کامپیوتر به ماژول متصل شد و عملیات مورد نظر مثل اتصال به اینترنت یا غیره را انجام داد. اما متاسفانه برخی از ماژول‌های ESP مثل ماژول ESP8266-01S معمولاً فاقد فرم‌ویر AT Command بوده و در وهله اول با اتصال به پورت سریال و ارسال دستور AT هیچ پاسخی برنمی‌گردد. همچنین ممکن است ماژولی را به آردوینو متصل کرده و در آن برنامه نویسی کرده باشید و بعداً بخواهید که پروژه دیگری با AT Command اجرا کنید. به هر روی برای آپگرید ماژول ESP8266 بهترین روش استفاده از اسکریپت پایتون esptool.py می‌باشد که در ادامه شرح داده می شود.

نکته: نوشتن فرم‌ویر بصورت فریمور اشتباه است و باید از آن پرهیز شود.

نصب پایتون و esptool.py

قبل ازنصب پایتون باید از عدم وجود آن در سیستم خود اطمینان حاصل کنید. برای اینکار روی منوی استارت کلیک کرده و CMD را سرچ کنید و سپس در محیط خط فرمان عبارت زیر را تایپ و اینتر کنید:

python –version

اگر شماره نسخه ای چاپ شود یعنی پایتون نصب است. در غیر این صورت وارد سایت

https://www.python.org

شده و آخرین نسخه را دانلود و نصب کنید.

پس از نصب، مجدداً وارد خط فرمان شده و مطابق دستور زیر نسخه نصب شده را چک کنید:

python –version

حال نوبت نصب esptool.py است. esptool یک برنامه یا اسکریپت پایتون است که برای برنامه ریزی ماژول‌های ESP8266 بکار می‌رود.

برای نصب esptool ابتدا روی منوی start کلیک کرده و CMD را سرچ کنید و سپس در محیط خط فرمان عبارت زیر را تایپ و اینتر کنید:

 python -m pip install esptool

یا

py -m pip install esptool

بعد از نمایش خطوطی esptool نصب می‌شود. برای اطمینان از نصب این اسکریپت در CMD تایپ کنید:

esptool.py version

اگر شماره نسخه نمایش داده شد یعنی این اسکریپت که در واقع برنامه پروگرمر ESP8266 می‌باشد روی سیستم شما نصب شده است.

مرحله بعدی نحوه استفاده از این برنامه است.

 

سخت افزار مورد نیاز برای آپدیت ESP8266

برای برنامه ریزی فلش ESP8266 باید آن را با کمک یک ماژول USB به TTL به کامپیوتر متصل کنیم. نکته مهم این است که اکثر مبدلهای USB به سریال خروجی دیتای 5 ولت دارند ولی منطق ESP8266 کمتر و در محدوده 3.3 ولت است. برای حل این مشکل یا از ماژول با منطق 3.3 ولت استفاده کنید و یا از یک شبکه مقاومتی متشکل از مقاومتهای 2.2 کیلو و 3.3 کیلو بر روی پایه RX ماژول ESP8266 استفاده نمایید. ضمنا تغذیه 3.3 ماژول را نیز با جریان مناسب در حدود 300 میلی آمپر و حتما با خازنهای 100 نانوفاراد و 1000 میکروفاراد موازی کنید تا ماژول در هنگام عملکرد ریست نشود. (خازن 100 نانوفاراد در نزدیکترین حالت ممکن به پایه‌های تغذیه ESP8266 نصب شود و اهمیت این خازن به حدی است که در برخی از موارد با قرار ندادن آن، ماژول درعملکرد خود چه در حالت برنامه ریزی و چه در حالت عملکرد عادی با ریست‌های مداوم مواجه خواهد شد. همچنین خازن 1000 میکروفاراد نیز جریان‌های لحظه‌ای ماژول را تامین می‌کند)

برای ساخت پروگرمر از شکل بالا استفاده کنید. مقاومت‌ها می تواند بین 2.2 تا 10 کیلواهم باشد. در شکل زیر هم نحوه تبدیل منطق ماژول مبدل USB به سریال 5 ولت به 3.3 ولت را مشاهده می‌فرمایید:

 

 

بعد از اتصال ماژول ESP به ماژول سریال و در نهایت اتصال به کامپیوترمطابق نقشه بالا، ابتدا کلید فشاری Prog را نگه داشته و بعد از لحظه کوتاهی کلید Reset را فشار دهید و رها کنید، سپس بعد از یک لحظه کوتاه دست خود را روی کلید Prog بردارید. در واقع مطابق شکل زیر باید پس از ریست شدن ماژول ESP پایه GPIO0  در وضعیت Low منطقی باشد تا وارد مد برنامه ریزی شود.

پنج ثانیه اول فیلم زیر نحوه فشار کلیدها را نشان می دهد. (ضمناً می توانید برد خام (PCB) پروگرمر ESP8266 را از این لینک تهیه کنید)

 

 

پس از این کار برای تست صحت ارتباط عبارت زیر را در CMD وارد کرده و اینتر کنید:

esptool.py chip_id

همچنین برای تشخیص سایز حافشه فلش ESP8266 می توان در cmd دستور زیر را وارد کرد:

esptool.py flash_id

دانلود فرم‌ویر firmware مناسب AT Command برای ESP8266

در این مرحله باید آخرین نسخه از firmware مربوط به AT Command ماژول ESP8266 را دانلود کنید . این فایل از لینک زیر قابل دریافت است:

ESP8266_AT_Firmware_1.7.4.0_avr64.com.zip

 

آپدیت، آپگیرد یا پروگرم کردن ماژول ESP8266

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

esptool.py write_flash –flash_mode dout –flash_size 1MB 0x0 boot_v1.7.bin 0x01000 at/512+512/user1.1024.new.2.bin 0xfb000 blank.bin 0xfc000 esp_init_data_default_v08.bin 0xfe000 blank.bin 0x7e000 blank.bin

 

اما با توجه به اینکه احتمال بروز خطا در تایپ این دستور زیاد است ما این دستور را داخل یک فایل bat  به نام prog.bat نوشته‌ایم و در داخل پوشه firmware  دانلودی قرار داده‌ایم. کافیست روی این فایل دابل کلیک کنید تا محتوای این اسکریپت اجرا شود و ماژول شروع به پروگرم شدن نماید.

 

بررسی نسخه AT Command

بعد از آپدیت ماژول مای فای ESP822 برای بررسی نسخه firmware ابتدا یک بار دکمه Reset را فشار دهید تا ماژول بصورت عادی و در مد آماده به کار روشن شود. سپس یک نرم افزار ترمینال مثل Hype Terminal را باز کرده و روی باودریت 115200 قرار دهید. با ارسال دستور AT+GMR باید شماره نسخه firmware  نمایش داده شود:

منبع:

https://www.esp8266.com/viewtopic.php?f=13&t=21684

بازدیدها: 747

6 دیدگاه دربارهٔ «آپدیت فرم‌ویر ESP8266»

  1. با سلام
    من وقتی دستور esptool.py chip_id رو اجرا میکنم خطای زیر رو نمایش میده:
    C:\Users\Farzad>esptool.py chip_id
    esptool.py v3.3
    Found 1 serial ports
    Serial port COM6
    Connecting………………………………..
    COM6 failed to connect: Failed to connect to Espressif device: Serial data stream stopped: Possible serial noise or corruption.
    For troubleshooting steps visit: https://docs.espressif.com/projects/esptool/en/latest/troubleshooting.html

    A fatal error occurred: Could not connect to an Espressif device on any of the 1 available serial ports.
    ایراد از کجاست؟

  2. دمت گرم عالی بود
    من تبدیل USB رو نداشتم به جاش از اردوینو استفاده کردم خیلی هم قشنگ جواب داد
    دمت گرم

    • سلام اگه کار میکنه نیازی نداره، ولی اگه می خواید بهتر بشه و نسخه فرم‌ویرش که با دستور AT+GMR مشاهده میشه از 2020 کمتره (مثلا 2016 هست) با آپدیت سرعت و کیفیت کارش خیلی بهتر میشه.

دیدگاه‌ها غیرفعالند.