В период, который можно назвать моим самым распущенным временем, моя зависимость от никотина достигла такой степени, что я использовал столько одноразовых вейпов, что это могло вызвать дискомфорт даже у самого стойкого защитника окружающей среды. Представьте мое разочарование, когда я узнал, что все эти маленькие устройства могли бы стать основой для создания веб-сайтов вместо того, чтобы просто выбрасываться.
Не верите? Тогда взгляните на ewaste.fka.wtf. Этот сайт размещен на микроконтроллере одноразового вейпа и работает удивительно быстро. Некоторые одноразовые вейпы содержат в себе достаточное количество технологий, включая экраны и микроконтроллеры.
Как говорит BogdanTheGeek, создатель этого сайта на вейпе: "Я бы не хотел быть тем юристом, который однажды должен будет объяснить, как устройство с USB-C и перезаряжаемой батареей можно классифицировать как 'одноразовое'."
Мощности этих маленьких устройств, возможно, не так уж много, но ее достаточно для размещения полноценного веб-сайта. И да, сейчас мы получаем много ошибок 503, но это происходит из-за большого количества посетителей после того, как люди узнали об этом сайте.
На сайте описывается, как это было реализовано, но подробное руководство можно найти в блоге BogdanTheGeek. Суть в том, что микроконтроллер Arm вейпа питает сайт, а старый протокол инкапсуляции IP через USB передает код и использует виртуальный терминал для взаимодействия с внешним компьютером, чтобы запустить веб-сервер.
Оказывается, "почти все USB-серийные устройства фактически эмулируют [модемы с коммутируемым доступом]", и можно использовать Serial Line Internet Protocol (SLIP) на Linux для отправки и получения IP-пакетов. Этот код SLIP использует полухостинг, который является "по сути системными вызовами для встроенных ARM микроконтроллеров", выполняемыми в обоих направлениях.
После того, как все было настроено и BogdanTheGeek внес некоторые изменения в файловую систему с помощью Perl, сайт заработал.
Изначально он работал медленно, "Загрузка простой страницы занимала более 20 секунд. Это так плохо, что даже смешно, и я даже хотел оставить так."
Можно было бы подумать, что медлительность объясняется аппаратной частью. Но после расследования BogdanTheGeek выяснил, что PUYA ASIC имел 24 КБ флеш-памяти и 3 КБ оперативной памяти: "Дополнительная флеш-память означала, что это скорее всего PY32F002B." ARM Cortex M0+ в этом микроконтроллере работает на частоте всего 24 МГц.
На самом деле, оказалось, что причина медлительности заключалась не в этом, а в том, что "первоначальная реализация читала и записывала по одному символу за раз… данные сериализовались побайтово."
Но "у нас есть целых 3 КБ оперативной памяти, с которыми можно работать, поэтому я добавил кольцевой буфер для кэширования чтения с хоста и подачи их в функцию опроса SLIP. Я также разделил записи на пакеты, чтобы позволить экранирование."
Результат: "Теперь пинги занимают 20 мс, потери пакетов нет, и полная загрузка страницы занимает около 160 мс. Это использовало почти всю оперативную память, но я мог также уменьшить размеры буфера, чтобы иметь достаточно места для выполнения других задач."
Это, безусловно, лучшее использование для устаревших устройств, чем засорение свалок. Так что подумайте, какие маленькие сайты вы хотите разместить? И, пожалуйста, не вейпите!

Вау, это действительно впечатляет! Никогда бы не подумал, что одноразовые вейпы можно использовать таким образом. Это отличный пример того, как можно использовать технологии для минимизации отходов. Надеюсь, что это вдохновит других на подобные проекты!
Интересная статья! Это показывает, что возможности микроконтроллеров часто недооценивают. Жаль, что такие идеи не становятся массовыми, но, возможно, это только вопрос времени. Надеюсь, что в будущем больше людей начнут думать о более экологичных способах использования гаджетов.
Забавно, как одноразовые вейпы нашли новую жизнь в виде веб-сайтов! Хотя сам я против вейпинга, но идея перерабатывать их для других целей кажется мне замечательной. Надеюсь, что это станет новым трендом в мире технологий и экологии!