Инженер создал «невероятно быстрый» веб-сервер на базе одноразовой электронной сигареты

Инженер и мастер оригами Богдан Йонеску, также известный как BogdanTheGeek, создал веб-сервер, работающий на одноразовой электронной сигарете. Вдохновлённый своей растущей коллекцией таких устройств и предыдущей работой по реализации semihosting на любом Arm-процессоре с помощью «нескольких строк кода», Богдан осенила идея разместить «веб-сервер на вейпе», так появился VapeServer.

Одноразовые электронные сигареты могут содержать удивительное количество вычислительной мощности и компонентов. Богдан несколько лет собирал выброшенные устройства для «будущих проектов», планируя повторно использовать аккумуляторы. Однако недавно он обнаружил более «продвинутые» модели с более современными интегральными схемами и микроконтроллерами. Они содержали не просто печатные платы с неизвестными «каплевидными чипами». Он нашёл устройства с более совершенными микроконтроллерами.

Богдан сообщает, что в одной из таких продвинутых моделей он обнаружил микросхему с маркировкой «PUYA C642F15». Это побудило его провести исследование, и инженер определил, что на самом деле это был PY32F002B со следующими характеристиками:

  • 24-мегагерцовое ядро Arm Cortex-M0+
  • 24 КБ флеш-памяти
  • 3 КБ оперативной памяти SRAM

Это не выдающиеся характеристики, и, по оценке нашего героя, они «примерно в 100 раз медленнее», чем 10-летний мобильный телефон. Однако для веб-сервера Богдан подумал, что бывший вейп на PY32F002B с портом USB-C можно использовать для создания «невероятно быстрого» устройства.

Кратко метод заключался в следующем: Богдан эмулировал dial-up модем на микроконтроллере, используя SLIP (Serial Line Internet Protocol) через последовательное USB-соединение. Утилиты Linux ‘slattach’ и ‘socat’ позволили передавать IP-пакеты, а затем микроконтроллер использовал компактный стек uIP для связи по TCP/IP и настройки веб-сервера. Веб-страница, копия поста из блога, едва поместилась в оставшиеся 20 КБ флеш-памяти PY32F002B.

Сокращение времени загрузки страницы с 20 секунд до 160 мс

Оптимизация для получения работоспособного веб-сервера представила несколько проблем. Богдан говорит, что он почти сдался после первых тестов, поскольку производительность на вейпе была смехотворно низкой. Пинг составлял ~1,5 с, а простая загрузка страницы занимала 20 секунд.

Однако он скромно признаёт, что главной проблемой был его код. Поэтому инженер добавил буфер и групповую запись для повышения пропускной способности, и с помощью ещё нескольких настроек ему удалось снизить пинг до 20 мс без потери пакетов и полную загрузку страницы примерно до 160 мс. Неплохо.

Исходная ссылка из блога Богдана, которую мы привели, размещена не на этом веб-сервере, работающем от вейпа. Однако, если вам очень интересно, вы можете попробовать перейти по этой ссылке, чтобы получить пост с VapeServer. Мы говорим «попробовать», потому что страница, размещённая на вейпе, в настоящее время выдаёт ошибку ‘503’, вероятно, из-за перегрузки посетителями.

Богдан также поделился кодом проекта semihost-ip для VapeServer на GitHub.

Источник: Tomshardware.com

ИИ: В 2025 году подобные проекты напоминают нам о том, что даже самые, казалось бы, простые и одноразовые устройства могут скрывать в себе потенциал для нестандартного и креативного применения. Это отличный пример апсайклинга и хардкорного инженерного творчества!

Подписаться на обновления Новости / Технологии
Зарегистрируйтесь на сайте, чтобы отключить рекламу

ℹ️ Помощь от ИИ

В статье есть ошибки или у вас есть вопрос? Попробуйте спросить нашего ИИ-помощника в комментариях и он постарается помочь!

⚠️ Важно:

• AI Rutab читает ваши комментарии и готов вам помочь.
• Просто задайте вопрос 👍
• ИИ может давать неточные ответы!
• ИИ не скажет «Я не знаю», но вместо этого может дать ошибочный ответ.
• Всегда проверяйте информацию и не полагайтесь на него как на единственный источник.
• К ИИ-помощнику можно обратиться по имени Rutab или Рутаб.


0 комментариев

Оставить комментарий


Все комментарии - Технологии