Назад
Бібліотека заборонених книжок усередині Wi-Fi розумної лампочки
SiTech AI Team3 წთ. საკითხავი

Бібліотека заборонених книжок усередині Wi-Fi розумної лампочки

Інженер перетворив дешеву розумну лампочку на ESP32 з відкритою точкою доступу, що роздає заборонені книжки — своєрідний кіберпанковий цифровий «схрон», який можна залишити будь-де в місті.

Wi-Fi розумна лампочка, яка транслює відкриту мережу й роздає заборонені книжки всім поблизу: це Banned Book Library — апаратний проєкт, опублікований цього тижня Ріком Осґудом. Сам автор називає його «кіберпанковим цифровим схроном»: дешевий пристрій, схожий на звичайну лампочку, але всередині — невеликий вебсервер із книжками, забороненими деінде.

Ідея виникла після прочитання оповідання Бена Брауна «Library», герої якого ведуть цифровий архів творів, інструкцій і 3D-моделей. Лампочки недорогі й непомітні, тож розкидати їх містом цілком по кишені.

Tasmota, ESP32 і руйнівне розбирання

Осґуд обговорив ідею на зустрічі місцевого DEFCON, де знайомий із досвідом у домашній автоматизації порадив Tasmota — відкриту прошивку, що відв'язує пристрої від хмарних сервісів і дає локальний контроль. Він знайшов продавця, який постачає лампочки з уже встановленою Tasmota: чіп ESP32C3 із 4 МБ флешпам'яті.

Розтин першої лампочки показав, що материнська плата залита гумоподібною компаундною масою. Витягти її було надзвичайно складно, і пристрій після цього фактично знищується, тож ідею припаяти microSD-читач відкинули: проєкт мав вимагати мінімуму інструментів. Натомість він припаяв дроти для послідовного програмування, злив оригінальну прошивку через esptool і відмовився від ідеї модифікувати Tasmota як надто складну — написав власну прошивку на Arduino.

Проблема пам'яті: 320 КБ на книжки

Із 4 МБ флешпам'яті місця обмаль. Таблиця розділів показала, що для файлів доступний лише розділ SPIFFS — 320 КБ, приблизно одна електронна книжка. Осґуд переписав таблицю розділів: зменшив розділ основної прошивки й збільшив сховище до 2 МБ. Редагування ризиковане, тому він перейшов на фреймворк ESP-IDF із явно дозволеним записом у флеш.

Окремо постало питання безпеки: розділ nvs зберігає назву Wi-Fi-мережі та пароль у відкритому вигляді, тож прошивка його стирає — а це ламає штатну прошивку відновлення Tasmota, яка читає саме ці дані. Тому автор створив власний мінімальний образ safeboot.

Сайт, адмінпанель і captive portal

Вебінтерфейс написано вручну. На головній сторінці — зображення жовтого морського контейнера як відсилання до оповідання Бена Брауна, а в переліку книжок вказано назву, автора й причину, через яку книжку оспорювали чи заборонили. Захищена паролем сторінка /admin керує колірною температурою світлодіода, щоб схрон можна було підлаштувати під лампочку, яку він замінив.

Аби відвідувачі взагалі дісталися сервера, реалізовано captive portal: DNS-сервер відповідає на будь-який запит власною IP-адресою, а службові запити Windows, Android, iOS і Firefox перенаправляються на сторінку бібліотеки.

Обмеження, яке зрештою сподобалось

4 МБ загального сховища вміщають лише кілька книжок — перевірені epub важили близько 350 КБ кожен. Спочатку це засмучувало, але тепер авторові подобається, що вміст схрону відображає вибір його творця і що кілька лампочок у місті можуть мати різні книжки.

SSiTech

SiTech — веброзробка з підтримкою AI

Створюємо швидкі та сучасні сайти й інтегруємо AI у бізнес-процеси. Маєте проєкт чи запитання? Із задоволенням допоможемо.