Инженер преобразовал одноразовый вейп в веб-сервер
Инженер Богдан Йонеску удивил общественность, превратив одноразовый вейп в полноценный веб-сервер. Внутри устройства он обнаружил микроконтроллер PY32F002B на базе процессора Arm Cortex-M0+. Этот чип работает на частоте 24 МГц и оснащен 3 килобайтами оперативной памяти и 24 килобайтами флэш-памяти, что позволяет запускать веб-сервер.
Первоначальные тесты показали, что производительность оставляет желать лучшего: задержка при пинге достигала 1,5 секунды, а время загрузки страницы — до 20 секунд. Однако после оптимизации, включающей буферизацию и пакетную запись, время отклика удалось сократить до 20 мс, а загрузка страницы — до 160 мс.
Страница весила около 20 килобайт, что практически использовало всю память устройства. Йонеску запустил свой проект под названием VapeServer в «большом интернете», однако сервер не предназначен для массового использования и сейчас выдает ошибку 503. Исходный код проекта доступен на GitHub.
Вопрос-ответ
Какой микроконтроллер использовал инженер для превращения вейпа в веб-сервер?
Для проекта был использован микроконтроллер PY32F002B на базе Arm Cortex-M0+, работающий на 24 МГц с 3 КБ оперативной памяти и 24 КБ флэш-памяти.
Каковы исходные характеристики производительности устройства до оптимизации?
До оптимизации задержка пинга достигала 1,5 секунды, а время загрузки страницы — около 20 секунд, что делало работу сервера очень медленной и непрактичной.
Что включали оптимизации, и к каким результатам они привели?
Оптимизации включали буферизацию и пакетную запись, после чего время отклика снизилось до 20 мс, а загрузка страницы — до 160 мс. Однако память устройства остается практически полностью занята страницей весом ~20 КБ.
Почему проект VapeServer не подходит для массового использования?
Из-за ограниченных ресурсов микроконтроллера (мало оперативной памяти и флэш-памяти) и ограниченной мощности процессора, а также того факта, что сервер сейчас выдает ошибку 503, проект не предназначен для стабильного масштабирования в интернете. Это скорее экспериментальная демонстрация возможностей, чем готовое для продакшн-использования решение.