حافظه SPIFFS در ESP8266 چیست و چه کاربردی دارد؟
در واقع حافظه SPIFFS بخشی از حافظه اصلی رو خالی میذاره تا مثلا زمانی که از OTA استفاده می کنید فریم ور جدید رو در این قسمت بارگذاری کنه و سپس جایگزین کنه یا برای راه اندازی یک وب سرویس پویا این امکان رو به شما میده تا فایل های html یا css رو بروز رسانی کنید. در نسخه ی 1.7.0 و بالاتر کتابخانه های ESP8266 مفهوم این دو واژه رو بهتر میشه درک کرد و همچنین مدیریت حافظه های این دو بخش در دسترس قرار گرفته تا کدنویسی حرفه ایی تری انجام دهیم.
حافظه SPIFFS چه کاربردی دارد؟
به عنوان مثال همانطور که در تصویر بالا می بینید در اولین گزینه 512K (64K SPIFFS) از 512 کلیوبایت فضای حافظه فلش 64 کلیوبایت از آخر آن را به حافظه SPIFFS اختصاص داده که می تونید به عنوان حافظه ایی برای ذخیره تنظیمات یا دیگر اطلاعات استفاده کنید ، بدین منظور برای استفاده از این مقدار حافظه می تونید از کتابخانه ArduinoJson استفاده کنید. و در صورتی که دومین گزینه را انتخاب کنید تمام حافظه در اختیار کامپایلر قرار می گیره که می تونید 512 کیلوبایت کد رو در حافظه فلش آپلود کنید.
مفهوم FS یا فایل سیستم و OTA (Over-the-Air) در نسخه های جدیدتر
،همان طور که در تصویر زیر مشاهده می کنید در نسخه های جدیدتر ESP این قابلیت رو به شما داده تا حجم این دو حافظه رو به دلخواه و بر اساس نیاز تغییر دهید ، خوب حالا کاربرد این دو حافظه چیه؟ FS یا فایل سیستم زمانی از این حافظه استفاده می کنید که می خواین یه وب سرویس پویا طراحی کنید که فایل های html و css رو در زمان اجرا بدون برنامه ریزی بروز رسانی کنید و OTA مکانی از حافظه است که در زمان بروزرسانی فایل های html و css در این مکان بارگذاری می شود و بعد از راه اندازی مجدد ماژول به حافظه FS منتقل می شود به جز این مورد برای بروزرسانی فریم ور هم استفاده میشه.
نمونه کاربرد های این قابلیت ها در ماژول ESP8266
بی نهایت این ویژگی کاربرد دارد که خودم در بحث خانه ی هوشمند و IoT استفاده زیادی می کنم و در آینده چندین مورد رو در وبلاگ قرار می دهم مثل چطور ماژول وای فای رو از راه دور به صورت خودکار یا دستی بروزرسانی کنیم و چه تاثیری در بحث تجاری محصولات تولیدی شما می تواند داشته باشد یعنی مثلا محصولی را که فروخته اید و بعد متوجه خطایی در کدنویسی ها خود می شوید و نیاز به بروزرسانی دارد و این ویژگی به راحتی این مورد رو برطرف می کند یا مثلا در تجهیزات من سیستم سخنگو وجود دارد که با همین ویژگی جالب ماژول به صورت پویا صدا رو بر روی ماژول آپلود و بعد بخش می کنم.