کتابخانهٔ کتابهای ممنوعه توی یه لامپ
خلاصهٔ کاملتر
نویسنده تو این پست از یه پروژهٔ سرگرمی-هکی میگه: تبدیل یه لامپ هوشمند وایفای ارزون به یه «انبار مخفی دیجیتال» برای کتابهای ممنوعه. ایده اینه که یه اکسسپوینت باز وایفای و یه وبسرور رو روی خود لامپ اجرا کنی و نسخهٔ دیجیتال کتابها رو روش بذاری؛ بعد لامپ رو یه جایی تو شهر نصب کنی تا هرکی نزدیکش با یه دستگاه وایفایدار بتونه به اون کتابها دسترسی داشته باشه. چون یه لامپه، به چشم نمیاد و ارزون هم هست.
به گفتهٔ نویسنده، این ایده بعد از خوندن داستان کوتاه Library از Ben Brown به ذهنش رسیده. برای سختافزار، سراغ یه لامپ وایفای رفته که فریمور اپنسورس Tasmota از قبل روش نصب بوده و از تراشهٔ ESP32C3 با ۴ مگابایت فلش استفاده میکنه. دلیل انتخابش این بوده که Tasmota آپدیت فریمور از راه دور (OTA) رو پشتیبانی میکنه، پس لازم نیست لامپ رو باز کنه و لحیمکاری کنه.
چالش اصلی همون ۴ مگابایت فلش بوده که باید کل فریمور، وبسایت و کتابها توش جا شن. نویسنده یه لامپ رو باز کرده تا ببینه میشه یه کارتخوان microSD بهش اضافه کرد یا نه، ولی میگه لحیمکاری داخل لامپ عملاً خرابش میکنه و با هدفش (که پروژه برای همه ساده و بدون ابزار خاص باشه) جور درنمیاد، برای همین بیخیال کارت حافظه شده.
بهجای دستکاری Tasmota — که به گفتهٔ نویسنده خیلی سنگین و پر از قابلیتهای اضافه بوده — تصمیم گرفته با Arduino یه فریمور سبک خودش رو بنویسه که یه اکسسپوینت باز و یه وبسرور async راه میندازه و فایلها رو با فایلسیستم LittleFS سرو میکنه.
برای اینکه فضای بیشتری به کتابها برسه، نویسنده جدول پارتیشن ESP32 رو از راه دور ویرایش کرده تا پارتیشن فریمور کوچیکتر و پارتیشن ذخیرهسازی بزرگتر بشه و حدود ۲ مگابایت فضا برای فایلهای وب و کتاب آزاد شه. خودش هم اعتراف میکنه این کار ریسک داره چون اگه جدول پارتیشن خراب شه لامپ دیگه بالا نمیاد، ولی میگه کل پروژه یه هکه و ارزششو داشت. حاصل کار هم پروژهایه به اسم Banned Book Library که سورسش رو منتشر کرده.
نکات کلیدی:
- ایدهٔ پروژه: تبدیل یه لامپ هوشمند وایفای به انبار مخفی وبمحور برای کتابهای ممنوعه
- سختافزار: لامپ ESP32C3 با فریمور Tasmota که آپدیت OTA رو ممکن میکنه
- محدودیت اصلی ۴ مگابایت فلش بود؛ ایدهٔ افزودن microSD بهخاطر لحیمکاری کنار گذاشته شد
- نویسنده بهجای Tasmota یه فریمور سبک با Arduino نوشت (اکسسپوینت باز + وبسرور)
- با ویرایش جدول پارتیشن از راه دور، حدود ۲ مگابایت فضا برای کتابها آزاد شد




