Инженер преобразовал одноразовый вейп в веб-сервер

Инженер Богдан Йонеску удивил общественность, превратив одноразовый вейп в полноценный веб-сервер. Внутри устройства он обнаружил микроконтроллер 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, проект не предназначен для стабильного масштабирования в интернете. Это скорее экспериментальная демонстрация возможностей, чем готовое для продакшн-использования решение.

Вам также может понравиться...