У меня был особенный день рождения, и я хотел сделать классный подарок, чтобы отметить это событие. Поскольку получатель интересуется криптовалютами и технологией блокчейна, я подумал, что тикер цен на криптовалюту на столе / полке будет классным подарком. Я нашел пару продуктов в Интернете, но они были либо не очень хорошими, либо непомерно дорогими, поэтому я решил попробовать создать их самостоятельно.

TLDR: Код доступен на Github и попробуйте в браузере.

Концепция

Я подумал, что было бы круто, если бы устройство выглядело как ретро-доска вылетов, периодически перебирая различные курсы криптовалют. Я хотел, чтобы он имел низкое энергопотребление, всегда показывал последние цены, настраиваемый и привлекательный.

Аппаратное обеспечение

Сначала я смотрел на дисплеи с раздельными клапанами, но оказалось, что их трудно найти и они дорогие. Я решил выбрать дисплей eink, который, как я полагал, мог бы выглядеть как дисплей с разделенным клапаном. Я слышал о рутировании Kindles и использовании их в проектах DIY, поэтому я решил пойти по этому пути. Мне удалось купить Kindle Paperwhite 2 на eBay по выгодной цене в 18 фунтов стерлингов. Укоренить Kindle было достаточно просто; подробности о том, как это сделать, выходят за рамки этой статьи, но я уверен, что вы найдете всю необходимую информацию на форуме мобильное чтение. Затем я получил рабочий стол Linux, работающий на Kindle, готовый для запуска моего приложения.

Программное обеспечение

Используя выбранный мной язык (Dart), я решил сделать веб-приложение, которое будет работать в браузере в режиме киоска. Я выбрал браузер Midori, так как у него меньше накладных расходов, чем у Chromium или Firefox. Я разработал пользовательский интерфейс, чтобы он выглядел как дисплей с разделенными клапанами 7x3. Я добавил простой посимвольный переход по мере обновления дисплея, который течет по нему так же, как старые доски отправления. Кроме того, установка каждого символа черным на секунду при его переходе делает прекрасную работу по сбросу eink, чтобы избежать ореолов. В качестве источника данных я использовал Binance API, который был очень прост в использовании. Поскольку у Kindle был сенсорный экран, я сделал так, чтобы нажатие на левую или правую сторону экрана переключало пары криптографических символов. Я также добавил экран конфигурации, к которому вы можете получить доступ, нажав центральную колонку на дисплее. Экран конфигурации позволяет вам выбрать, какие пары символов циклически перебирать, а также продолжительность отдыха для каждой из них. Поскольку это дисплей eink, длительное время между обновлениями приводит к гораздо меньшему энергопотреблению. Я выбрал 60 секунд в качестве времени обновления по умолчанию.

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

Я сделал код открытым, чтобы вы могли получить его на Github. Если вам не нужен код, а вы просто хотите его запустить, есть две размещенные версии: мобильная/настольная версия или версия для выделенного устройства.

Последние штрихи

Поскольку это предназначено для частого просмотра, оно должно хорошо выглядеть. Я заказал лакированную раму из дуба местным плотникам. Я отсоединил переднюю панель Kindle и покрасил ее в белый цвет, чтобы она выглядела как рамка/крепление художественного произведения. Наконец, я сделал несколько покупок на eBay, купил подставку с металлическим каркасом для задней панели и нашел хороший белый кабель питания. Завершает образ небольшая самодельная этикетка с серийным номером 001.

Возможные обновления

  • В какой-то момент я могу портировать код для флаттера и компилировать настольное приложение Linux и посмотреть, как оно работает на Kindle. Я предполагаю, что это даст более четкие переходы между буквами и будет работать с более высокой частотой кадров.
  • Я также недавно играл с языком Rust, и было бы интересно написать версию на Rust. На самом деле это было бы очень хорошо, поскольку Rust может работать на встроенных системах с голым металлом.
  • Было бы здорово купить специальный дисплей eink и управлять им с Raspberry Pi (вероятно, Pi Zero, чтобы он оставался доступным); Вы можете получить одноцветные дисплеи eink (черный, белый + красный/желтый) примерно за 50 фунтов стерлингов, наличие цвета откроет новые возможности с точки зрения пользовательского интерфейса.
  • Я также подумал о покупке отдельных 2-3 дисплеев eink (или 7-сегментных дисплеев) и использовании каждого из них в качестве персонажа. Это было бы очень похоже на один из вдохновителей этого проекта (оригинальные блочные часы). Я мог бы заказать некоторые и поиграть с ними для какого-то будущего проекта!

Последние мысли

Я получил массу удовольствия, создавая этот проект, и я очень доволен тем, как получились Crypto Clock! Уверена, это будет отличный подарок.

Если вы решите сделать крипто часы, пожалуйста, дайте мне знать! Буду рада фото ваших творений! :)