
У каждого из нас в кармане лежит коробочка, которая умеет почти все, и примерно раз в год мы меняем ее на новую (почти такую же). Если закрыть глаза и попросить вас показать, где на такой коробочке находятся камера, кнопки громкости и блокировки, вы точно справитесь. К смартфонам мы давно привыкли, и сегодня они уже превратились в обычные расходники.
Меня зовут Виталий Митрофанов, я пресейл-аналитик в ДАРе («КОРУС Консалтинг»). В этой статье я расскажу о том, как собрал три устройства, которые не пытаются заменить все сразу, а делают что-то одно и при этом не скрывают, как именно они устроены.
Когда устройства были живыми
Раньше для каждого действия существовал отдельный предмет: плеер — чтобы слушать музыку, часы — чтобы узнавать время, а термометр за окном — чтобы понять, в чем сегодня выйти на улицу и не замерзнуть. У каждой такой вещи была своя форма, звук, место, а потом появился смартфон и заменил все и сразу. С одной стороны, это удобно, спорить тут не с чем. Но вместе с удобством мы кое-что потеряли: перестали радоваться новым устройствам. Теперь они меняются почти незаметно — камера становится на 0,5% быстрее, экран на 0,2 мм шире, а затем все это повторяется через год снова.
Мне захотелось сделать что-то другое — такое, на что человек посмотрит и скажет: «Вау! А что это? Покажи». Хотелось устройства, которое было бы прозрачным и в прямом, и в переносном смысле: чтобы через корпус можно было увидеть внутренности, понять принцип работы и поставить его на стол просто для того, чтобы рассматривать.
В основу я положил три принципа: понятность, простоту и открытость. Весь код выложен на GitHub: его можно повторить, доработать и использовать как основу для собственной версии. Каждое устройство решает одну задачу и делает это хорошо, без лишней магии и черных ящиков.
БИБС: маленький робот из будущего, который заботится о тебе
БИБС — это не просто гаджет, а маленький друг, с которым действительно хочется разговаривать. Он здесь, чтобы помочь тебе не выгореть за рабочим столом: напоминает сделать перерыв, немного прогуляться и выпить воды.

С ним можно разговаривать почти как с обычным собеседником: говоришь — он отвечает, ищет информацию в интернете, запоминает факты и показывает свой статус на маленьком экране. Стоит поставить БИБСа на рабочий стол, как мимо уже никто не проходит: коллеги подходят, трогают его, задают вопросы и удивляются.
Работает он без подписок и расхода токенов, поэтому здесь не появится сообщение вроде «купите премиум, чтобы задать еще один вопрос». К Wi-Fi устройство подключается один раз, после чего о настройках можно забыть. А еще устройство можно подключить к мобильной раздаче интернета и спокойно брать с собой на улицу (запоминает до 10 сетей). Голос выбирается из нескольких мужских и женских вариантов, а роль можно настроить самостоятельно — например, прописать собственного персонажа.
БИБС размером 41 на 41 миллиметр легко помещается в ладони, а наполовину прозрачный корпус нужен не только ради внешнего вида. Это своего рода заявление: вот как выглядит ИИ, когда он становится физическим, когда его можно взять в руку и рассмотреть со всех сторон.
Что внутри
Внутри находится плата XH-S3E-AI на базе ESP32-S3 с 16 мегабайтами флеш-памяти и встроенным аудиоусилителем. Информацию БИБС выводит на OLED-дисплей диагональю 0,96 дюйма с разрешением 128 на 64 пикселя.
Доработки во второй версии
Готовая плата работала хорошо, но была крупновата для компактного корпуса, а её возможности — встроенный усилитель, лишние контакты — оставались невостребованными. Поэтому я решил попробовать собрать устройство на базе ESP32-S3 Zero.
Стоковая прошивка рассчитана на 16 мегабайт флеш-памяти, тогда как у ESP32-S3 Zero их только 8, поэтому пришлось переписать конфигурацию, перенастроить таблицу разделов и убрать все лишнее. В результате прошивка стала занимать около 2 мегабайт, а значит, теоретически БИБС можно собрать даже на ESP32-S3 с 4 мегабайтами памяти — на ещё более простом чипе.

В корпусе появился емкостный сенсор TTP223, реагирующий на прикосновение прямо через пластик: касаешься стенки — БИБС начинает слушать и отвечать, касаешься еще раз — прекращает.

Кроме того, я добавил конденсатор на 100 микрофарад, после чего динамик стал звучать еще лучше. Казалось бы, мелочь, но на слух разница получилась огромной.
И, конечно, все собрал вручную. Просто, надежно и по-настоящему.

Третья версия
В третьей версии я вернулся к плате XH-S3E-AI. Экран стал больше — 1,3 дюйма вместо 0,96, динамик чище и громче, а оба разъёма USB-C заменила магнитная зарядка: достаточно поднести провод — и он примагнитится. Корпус стал тоньше, отверстий меньше — осталось только одно, для динамика.

Дополнительно:
Веб-поиск — API Tavily, выполняет поиск в интернете и отвечает голосом.
OTA — онлайн обновление прошивки, без необходимости подключения кабелей.
Планирую создание четвертой версии устройства. Делюсь процессом создания тут — присоединяйтесь.
Stellar Clock: часы из медной проволоки
Это настольные часы на ESP32-C3 SuperMini с вертикальным OLED-дисплеем размером 128 на 32 пикселя и датчиком BME280. На экране отображаются время, дата, температура, влажность и давление, а при каждом включении часы синхронизируются по NTP, поэтому не отстают.
Но начинка здесь не самое интересное, главное начинается с корпуса.

Корпус, которого нет
Корпус сделан из медной проволоки, а не из акрила или из пластика. Все соединения между компонентами тоже выполнены проволокой, поэтому привычных проводов и изоляции здесь нет: часы словно парят в воздухе и при этом каким-то образом держат сами себя.
Самая большая сложность оказалась связана с формовкой металла. Проволоку нужно сначала идеально выпрямить, и я делаю это следующим образом: один конец привязываю к чему-нибудь устойчивому, а второй зажимаю в шуруповерт. Затем натягиваю проволоку и раскручиваю ее — она растягивается и становится ровной. После этого остается нарезать заготовки, плоскогубцами загнуть их под нужными углами и все спаять.
Когда каждый провод находится на виду, случайно замкнуть плюс с минусом очень легко, зато и любая ошибка сразу бросается в глаза. Прозрачность здесь работает в обе стороны: она подчеркивает красоту конструкции, но одновременно не позволяет спрятать огрехи.
Кассета-плеер: ноль кода, чистая магия
Снаружи это настоящая аудиокассета из восьмидесятых, внутри которой находится цифровой плеер. Вставляешь карту памяти, включаешь тумблер, подключаешь наушники, и можно слушать музыку, как будто перед тобой обычная кассета. Только без самой пленки.

Внутри находятся DFPlayer Mini — MP3-декодер с поддержкой MicroSD, аккумулятор с зарядкой через USB, разъем 3,5 мм и тумблер питания. Вся конструкция держится на десяти проводках и трех кнопках, причем здесь нет ни микроконтроллера, ни кода, ни Wi-Fi с Bluetooth, ни обновлений прошивки.

Разумеется, можно было поставить ESP32 и написать собственную прошивку, но зачем усложнять проект, если DFPlayer Mini и так делает все необходимое? Иногда элегантность как раз и заключается в том, чтобы не добавлять в устройство ничего лишнего.
Это мое самое «честное» устройство: здесь нечему ломаться, нечему обновляться и нечему подключаться к облаку. Корпусом служит обычная аудиокассета со своими наклейками и вкладышами, поэтому каждый экземпляр получается уникальным.

Зачем все это
Я не против смартфонов и сам пользуюсь ими каждый день, но когда весь цифровой мир помещается в одной коробочке в кармане, иногда хочется достать что-нибудь другое — вещь, которая делает одну задачу и делает ее хорошо, а заодно не скрывает, как именно она устроена.
Часы показывают время, кассета воспроизводит музыку, а ассистент слушает и отвечает. Никаких подписок, уведомлений и бесконечных предложений «обновить до последней версии» — только понятные устройства, у каждого из которых есть собственный характер.
Все проекты open-source:
Neon Cassette — MP3-плеер в кассете
Stellar Clock — автономные часы
vbifkol
Прям красивое. Снимаю шляпу.
Забавно, у меня мысли примерно в ту же сторону ходят - прям сейчас в разработке похожее. Ну или нет, потому что в процессе создания персональной умной колонки (думал туда клода засунуть) на базе ESP32S3 я нашел кучу бесполезной комплектухи и проект начал рассыпаться и собираться непредсказуемым образом. Так, уже живут и работают часы-информер на выпавшей на меня из шкафа панели 32*16 пикселей, зачем-то достан OPi PC1.2 и засунут на него vosk+piper, наконец реверс-инженернут экран от вейпа 2,2". Короче, творчество из желудей и спичек.
vitaly120 Автор
Понимаю вас - начинаешь один проект, в процессе рождается еще несколько идей. Этот процесс бесконечен как фрактал ) У самурая нет готового устройства - есть только путь к нему