برد ESP8266 دارای یک سیستم رابط فایل به نام SPIFFS می باشد. این نام مخفف شده عبارت Serial Peripheral Interface File System می باشد. این سیستم فایل بسیار سبک بوده و برای میکروکنترلرها با حافظه فلش طراحی شده است. در این پست نحوه آپلود فایل به این سیستم فایل توسط یک پلاگین آردوینو آموزش داده خواهد شد.
آشنایی با SPIFFS
SPIFFS این قابلیت را به شما می دهد تا همانطور که به سیستم فایلی رایانه خود دسترسی دارید به حافظه فلش میکرو کنترلر دسترسی داشته باشید اما با سادگی و محدودیت بیشتر. می توانید فایلها را بخوانید، بنویسید، ببندید و یا پاک کنید. SPIFFS از پوشه ها پشتیبانی نمی کند و کلیه فایلها در کنار هم ذخیره خواهند شد.
در صورتیکه از قابلیت SPIFFS مربوط به برد ESP8266 استفاده می کنید روشهای سودمند ذیل بهره مند شوید:
- استفاده جهت ذخیره فایلهای پیکربندی و تنظیمات.
- دخیره سازی دائمی داده ها.
- در صورت کوچک بودن داده ها شما را از استفاده میکرو SD ها بی نیار خواهد کرد.
- هنگام ایجاد سرور وب می توانید فایلهای html و css صفحات وب را در آن ذخیره کرده و فرخوانی کنید.
- می توانید فایل مربوط به تصاویر، اشکال و ایکن ها را در آن ذخیره کنید.
- و بسیاری قابلیتهای سودمند دیگر …
نصب پلاگین آپلودر
شما می توانید از طریق برنامه نویسی در محسط IDE در SPIFFS فایلها را ایجاد و ذخیره کنید اما این کار اصلا اصولی نیست چون در این صورت مجبور هستید محتویات فایلها را تایپ کنید.
به همین منظور برای IDE یک پلاگین ساخته شده است که این این امکان را به شما می دهد تا فایلها را به حافظه SPIFFS آپلود کنید. بیائید آن را نصب کنیم. قبل از نصب اطمینان حاصل کنید که IDE شما و همچنین کتابخانه مربوط به Esp8266 آخرین نسخه های موجود باشند. اکنون مراحل ذیل را دنبال کنید:
- به صفحه مربوط به پلاگین در سایت گیت هاب به این آدرس بروید و فایل ESP8266FS-X.zip را دانلود کنید.
۲) در سیستم مسیری که در آن IDE آردوینو نصب شده است رفته و شاخته Tools را باز کنید
۳)فایل زیپ را در این شاخه از حالت فشرده خارج کنید. در نهایت فایل دانلود شده به شکل ساختار زیر در سیستم شما قرار می گیرد
۴) در خاتمه محیط IDE را ریستارت کنید. برای اینکه ببینید پلاگین با موفقیت نصب شده است در محیط IDE برد ESP8266 را انتخاب کنید. در منوی Tools باید یک گزینه با عنوان ESP8266 Sketch Data Upload اضافه شده باشد.
آپلود فایل با استفاده از پلاگین نصب شده
برای آپلود فایل به ESP8266 مراحل ذیل را دنبال کنید:
۱ ) یک اسکچ جدید در محیط IDE ایجاد کرده و آن را ذخیره کنید.
۲) به پوشه ای که اسکج را ذخیره کرده اید بروید. می توانید به از منوی Sketch > Show Sketch Folder استفاده کنید
۳) داخل پوشه مربوط به اسکچ یک پوشه به نام data ایجاد کنید.
۴) داخل پوشه data مکانی است که فایلهایی که باید به ESP8266 ارسال شود قرار می گیرند. برای نمونه یک فایل از نوع متنی ایجاد کرده و متنی دلخواه در آن بنویسید.
۵) در محیط IDE و درمنوی Tools بسته به اندازه فایلهای خود مقدار حافظه SPIFFS را انتخاب کنید.
۶) برای ارسال فایل کافیست در محیط IDE بر روی Tools > ESP8266 Sketch Data Upload کلیک کنید.
در صورتیکه همه چیز به درستی انجام داده باشید در پنجره دیباگ پیام The files were successfully uploaded to the ESP8266 file system .
تست صحت عملکرد آپلودر
اکنون برای مشخص شود آیا واقعا فایلها بر روی ESP8266 آپلود شده است کدهای ذیل را در محیط IDE وارد کنید و مثل همیشه بر روی برد پروگرام کنید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
/********* Freeelec.ir *********/ #include "FS.h" void setup() { Serial.begin(115200); if(!SPIFFS.begin()){ Serial.println("An Error has occurred while mounting SPIFFS"); return; } File file = SPIFFS.open("/freeelec.txt", "r"); if(!file){ Serial.println("Failed to open file for reading"); return; } Serial.println(); Serial.println("File Content:"); while(file.available()){ Serial.write(file.read()); } file.close(); /* Uncomment below code if you want to format spiffs memory at the end if the program */ /* Serial.println("Formatting ..."); if(SPIFFS.format())Serial.println("SPIFFS formatted."); */ } void loop() { } |
بعد از پروگرام کردن برد برنامه Serial Monitor را باز کنید و مقدار باود ریت را بر روی ۱۱۵۲۰۰ قرار دهید. دکمه RST مربوط به ESP8266 را فشار دهید. محتویات فایل متنی باید در محیط سریال مونیتور نمایش داده شود.
همانطور که مشاهده میکنید فایل با موفقیت به ESP8266 ارسال شده و محتویات آن نمایش داده شده است.