قابلیت SPIFFS در مازول های ESP8266 :
در این مقاله قصد داریم به موضوع کمتر شناخته شده ای در باره ESP8266 ها بپردازیم . تراشه های ESP8266 در واقع SoC های قدرتمند و ارزان قیمتی هستند که می توان از آن ها در اجرای پروژه های IoT استفاده کرد . شاید تا به حال به این موضوع فکر کرده باشید بجای وارد کردن کد های HTML به صورت خط به خط در برنامه های ESP8266 ، آن را به صورت یک فایل آپلود و اجرا کنید . این امر با SPIFFS قابل اجرا است . SPIFFS قابلیتی است که امکان استفاده از بخش هایی از حافظه Flash متصل به ESP8266 را به صورت یک حافظه خارجی فراهم می سازد . در واقع در این روش شما می توانید از حجم اختصاص داده شده به SPIFFS جهت ذخیره فایل های مختلف همچون عکس ، فایل های HTML و… استفاده کنید . برای استفاده از SPIFF باید ابتدا حافظه Flash ماژول ESP8266 را پیکر بندی کنید . برای این کار راه های مختلفی وجود دارد . ما در این آموزش از برنامه آردوینو IDE برای این کار استفاده می کنیم . این آموزش با فرض شناخت و آگاهی شما از فرایند پروگرم کردن ماژول های ESP8266 است به همین جهت تنها مراحل پیکربندی SPIFF را آموزش خواهیم داد .
یکی از مهمترین مزیت های SPIFFS قابلیت آپدیت آن از طریق OTA است . در این روش بدون تغییر برنامه اصلی می توانید تنها فایل های قرار گرفته در SPIFFS را تغییر دهید . به طور مثال شما در پروژه خود قصد تغییراتی در رابط کاربری که با Html ساخته اید را دارد. برای تغییر این رابط نیازی به پروگرام مجدد ESP8266 نیست و تنها از طریق OTE می توانید فابل های مربوط به رابط را تغییر دهید .
برای استفاده از SPIFFS در ماژول های ESP8266 باید مراحل زیر را انجام دهید :
1- ایتدا فایل ESP8266 Filesystem Uploader را از لینک زیر دانلود کنید :
https://github.com/esp8266/arduino-esp8266fs-plugin/releases/download/0.5.0/ESP8266FS-0.5.0.zip
2- پس از دانلود فابل فوق به مسیر نصب آردوینو IDE خود رفته و فولد tools را باز کنید .
3-حال فایل zip را که دانلود کرید در پوشه tools اکستراکت کنید . با این کار مسیر ESP8266F/tool در مسیر tools ساخته می شود .
4-برنامه آردوینو IDE خود را به طور کامل ببندید و سپس آن را باز کنید . از قسمت Board بورد ESP8266 را انتخاب کنید . حال اگر گزینه Tools را باز کنید خواهید که گزینه ESP8266 Sketch Data Upload به آن اضافه شده است .
حال با کاماپیل کردن برنامه خود ، در مسیر ذخیره برنامه یک مسیر جدید به اسم Data ساخته می شود . هر فایلی را که در این قسمت کپی کنید می توانید به حافظه SPIFF انتقال دهید . بهتر است قبل از پروگرام کردن برنامه فایل های SPIFFS را آپلود کنید . برای آپلود این فایل ها تنها کافیست گزینه ESP8266 Sketch Data Upload را بزنید (فابل های پوشه Data بر روی ماژول آپلود می شوند ).
در مثال زیر قصد داریم یک فایل متنی را از طریق SPIFF بر روی ماژول آپلود و سپس آن را اجرا اکنیم :
لازم به ذکر است که باید از کتابخانه FS برا کار با فایل ها استفاده کیند .
ابتدا به مسیر پروژه خود رفته و وارد پوشه Data شوید . در ابن فولد یک فایل متنی با نام test.txt بسازید و در داخل آن هر متنی را که می خواهید تایپ کنید .
پس از ساخت فایل متنی ، با استفاده از گزینه ESP8266 Sketch Data Upload فایل .را بر روی ماژول خود آپلود کنید . پس از آپلود فایل کد های زیر را بر روی ماژول خود پروگرام کنید و در آخر محیط Serial Monitor آردوینو IDE را باز کنید :
#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("/test.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(); } void loop() { }