در این مقاله بهتون نشون میدیم که چجوری میشه حافظه فلش ESP32 رو پاک کنین تا به تنظیمات اولیه برگرده. اگر قصد دارین تغییراتی که در میان افزار یا تنظیمات پیکربندی انجام شده رو حذف کنین؛ اگر سیستم همیشه دچار مشکل می شه و نمیتونین کد جدید رو در اون آپلود کنین؛ یا اگه میخواین دادههایی که دیگه بهشون نیاز ندارین رو حذف کنین و غیره، احتمالاً این روش بهتون کمک میکنه؛ برای انجام این کار از ابزاری به نام esptool.py استفاده میکنیم.
نصب esptool.py
برای اینکه ESP32 رو به تنظیمات کارخونه برگردونیم از ابزار esptool استفاده میکنیم؛ esptool یک ابزار مبتنی بر پایتون، متنباز هست که دارای بستر مستقل هست و میتونه با ROM bootloader تراشههای Espressif ارتباط برقرار کنه.
برای نصب esptool باید Python 3.7 یا نسخههای جدیدتر رو روی سیستمتون نصب کنین. برای دریافت و نصب پایتون روی این لینک کلیک کنین.
دقت داشته باشید که نسخه مناسب سیستم خودتون رو دریافت کنید
بعد از نصب پایتون 3، یک پنجره فرمان باز کنین و جدیدترین esptool.py رو به کمک pip نصب کنین:
pip install esptool
نکته:
اگر نتونستین با اجرای این فرمان پایتون رو نصب کنین و خطا داد، با فرمانهای زیر میتونین esptool.py رو نصب کنین:
pip3 install esptool
python -m pip install esptool
pip2 install esptool
Setuptools یکی از ابزارهای مورد نیاز هست که به صورت پیشفرض روی تمامی سیستمها در دسترس نیست. برای نصب اون میتونین از فرمان زیر استفاده کنین:
pip install setuptools
پس از نصب، esptool.py در پوشه پیشفرض ابزارهای پایتون نصب میشه و میتونین به کمک فرمان esptool اجراش کنین. فرمان زیر رو اجرا کنین:
python -m esptool
اگه به درستی نصب شده باشه، پیامی مثل پیام زیر نشون داده میشه (فرقی هم نمیکنه سیستم عاملتون چی باشه):
پاک کردن حافظه ESP32 / ESP8266
برای پاک کردن حافظه ESP32 طبق مراحل زیر عمل کنید:
- ESP32 رو به کامپیوترتون وصل کنین؛
- یک پنجره فرمان باز کنین؛
- کلید ESP8266 BOOT/FLASH رو نگه دارین؛
- فرمان زیر رو در پنجره فرمان کپی کنین و کلید Enter رو بزنین (کلید FLASH/BOOT رو کماکان نگه دارید)
-
python -m esptool --chip esp32 erase_flash
-
- بعد از اینکه Erasing شروع شد، میتونین دستتون رو از روی کلید Boot/FLASH بردارین. بعد از چند ثانیه، حافظه ESP32 پاک میشه.
اگر بعد از پیام …Connecting بازم وصل نشدین، به این معنیه که برد ESP32 در حالت flashing نیست. باید تمامی مراحلی که قبلاً گفتیم رو تکرار کنین و دوباره کلید BOOT/FLASH رو نگه دارین تا برد در حالت flashing قرار بگیره.
خطا های احتمالی و عیب یابی
اگر وقتی میخواستین فرمان esptool رو اجرا کنین، اجازه دسترسی بهتون ندادن، پنجره فرمان رو به عنوان administrator (یا به عنوان sudo در لینوکس) باز کنین.
جمعبندی
در این مقاله آموزشی، شیوۀ پاک کردن حافظه ESP8266 و ESP32 رو بهتون آموزش دادیم تا بتونین اون رو به تنظیمات کارخانه برگردونین. در صورتی که باز هم در انجام موارد بالا به خطا برخورد کردین در قسمت نظرات بنویسید.