Почти одноплатник за 400 рублей: как применить дешёвый ТВ-стик 10-летней давности?

в 13:30, , рубрики: android, diy или сделай сам, ITGLOBAL, itglobal_статьи, Orange Pi, Raspberry Pi, tv box, tv стик, Блог компании ГК ITGLOBAL.COM, гаджеты, Медиаплееры, мини-пк, миниПК, недорогие покупки, одноплатники, одноплатные компьютеры, Разработка под android, тв бокс, тв-стики

image

Официальная цена на последнюю модель Raspberry Pi составляет около 40$ за штучку. Однако купить её за такую цену невозможно, перекупы накручивают огромные ценники за одноплатники, основным преимуществом которых должна быть цена. И даже альтернативы от китайских друзей в виде Orange Pi или Banana Pi стоят как минимум 3-4 тысячи рублей, что по карману может быть не каждому. Но сейчас на барахолках можно найти старые и дешевые ТВ-стики по совершенно смешным ценам: 2-4$ за штучку, иногда даже с пультом и всеми кабелями. Почему бы не попробовать использовать их в качестве доступных одноплатников? Предлагаю попробовать.

Железный вопрос

Дисклеймер: Хотя такой стик вполне можно считать одноплатником, но прямым конкурентом RPi он не является — нет GPIO. Спасибо за понимание :)

image

Ещё в нулевых люди интересующиеся embedded и разработкой собственных устройств осваивали такие микроконтроллеры, как AVR и PIC32. Но область применений микроконтроллеров довольно узкая, если речь заходит о каких-то серьёзных применениях по типу быстрой обработки показаний с датчиков или реализации собственных компьтеров/игровых консолей. Конечно на рынке уже были DSP — цифровые сигнальные процессоры, которые были во много раз быстрее обычных микроконтроллеров и использовали все преимущества концепции VLIW (которая, кстати, применяется в отечественных процессорах Эльбрус), но раздобыть девкит, а тем более распаять его самому было настоящей проблемой для одиночек или даже небольших предприятий.

image

Поэтому с появлением одноплатных компьютеров всё стало гораздо проще: мы получаем вычислительные мощности среднего планшета/медиаплеера, но при этом, выполнено это всё в форм-факторе одной небольшой платы, где уже есть всё необходимое: подведено питание ко всем необходимым модулям, разведен USB-хаб, есть выходы на дисплей/телевизор и иногда на звук. Другим серьёзным преимуществом является открытость системы: в подобных платформах обычно используется Linux в том или ином виде (Android, десктопных Linux) или другие операционные системы. Производитель обычно предоставляет всё что нужно для разработки своих приложений и устройств на подобных платформах, в том числе исходники загрузчиков, device tree, исходный код ядра, а также полную схему устройства — это называется Open Source Hardware.

image

Я и сам давно интересовался одноплатниками, но, к сожалению, цены на них мягко скажем кусаются. Если искать какие-то старые и слабые модели по типу Raspberry Pi Zero, то даже на них цены конские (от 2.500 рублей на момент написания статьи). Приятный сюрприз сделали Orange Pi, выпустив в своё время 2G IoT с чипсетом RDA8810 за ~700 рублей, но его производство было прекращено около года назад. В один день, я смотрел объявления на авито/юле и приметил интересный девайс, коим оказался NoName ТВ-стик на чипе Rockchip RK3028A. Цена была указана более чем демократичная, всего 400 рублей. Не раздумывая, я забрал его для дальнейших экспериментов.

image

Характеристики

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

image

Перед нами открывается вид платы, которую можно легко вытащить.

image

image

Из того, что мы видим, мы можем сделать следующие выводы:

  • Процессор: Rockchip RK3028A (RK302A) с двумя ядрами Cortex-A9, работающими на частоте 1.2ггц и графическим ускорителем Mali-400.
  • Память: 512 мегабайт, судя по всему, DDR2, одной банкой.
  • ПЗУ: NAND-чип Hynix H27UBG8T2CTR-BC 4гб. Есть место под eMMC, практически готовое к установке чипа (припаяны BGA шары).
  • Вход на питание: 5в, среднее потребление до 0.5А при пиковой нагрузке. Стик способен питаться даже от порта USB на ПК. Выходы на питание OTG и USB-портов тоже 5 вольт, а не 3.3 как на смартфонах.
  • Один полноценный USB 2.0 порт с питанием 5в + дополнительный порт USB-OTG для подключения к ПК или выведения дополнительного USB-хоста (с него тоже можно питать плату)
  • Слот MicroSD для расширения памяти, до 32гб SDHC
  • Что-то похожее на UART для диагностики платы (предположительно, обведено в синий прямоугольник).
  • Ну, и само собой, HDMI для передачи видео (до 1080p 60FPS) и звука

Прошивка

Прошивку пришлось поискать: название устройства я нашёл, это некий MK805II, родной прошивки на который найти не удалось (в том числе, по номеру платы). Но поскольку ромы TV-боксов практически идентичные и в них нет зависимости от тачскринов/дисплеев/расположений GPIO (обычно они построены на базе референсной платы), я принялся искать другие боксы на этом чипе. Попутно найдя даташит, я узнал, что RK3028A — это полный аналог RK3026 (отличие в корпусах — 3026 в LQFP) и BatchTool они определяется как RK301A (родственник RK3066). После недолгих поисков, я нашёл DEXP LD303, который работал на том же чипе и на той же версии Android. Прошивка в формате img скачана, пора прошивать устройство.

image

Но сначала в режим прошивки нужно войти. Для этого у процессоров Rockchip есть два режима: LOADER (стандартный прошивочный режим, который можно активировать зажав кнопку RESET) и MaskedROM (для прошивки новых устройств, только-только сошедших к конвейера и где память пока ещё пуста. Активируется, если загрузчик первого уровня не может найти загрузчик второго уровня). Если кнопки/контакта RESET у нас нет даже на плате, то остаётся только MaskedROM, который активировать очень легко, если у вас NAND память: необходимо просто замкнуть I/O линии иглой. При чтении загрузчика, процессор получит бессвязный набор байтов и сам перейдет в режим MaskedROM, тут то мы и сможем его прошить. I/O линии можно найти в даташите к вашему чипу памяти.

image
Замыкать можно любой из этих 4х пинов между собой.

Замыкаем контакты, подключаем устройство со стороны разъема OTG (на DC IN линии USB не разведены) к компьютеру. Устанавливаем драйвера.

image

И запускаем RkBatchTool.

image

Как только устройство будет обнаружено и драйвер правильно установлен, мы сможем прошить устройство. Жмём кнопку Restore (именно её, а не Upgrade) и ждём, пока программа запишет новый загрузчик, перезагрузит устройство в LOADER-режим, отформатирует память и запишет новый образ системы.

image

Всё, процесс прошивки завершен, бежим втыкать наш одноплатник в HDMI телевизора, подключать питание и ждать загрузки. Заработало! Для первичной настройки понадобится мышь, которую можно подключить в обычный USB-порт.

По итогу мы получили стабильно работающий TV-стик на базе Android 4.2. Не сказать, что система очень свежая, но тоже вполне ничего, на неё всё ещё можно жить. Попробуем найти ему применение. Ниже будут именно фото, а не скриншоты для того, чтобы вы могли увидеть как оно смотрится в действии, ну и потому что нет встроенного скриншоттера.

Тонкий клиент

Применений у такого стика есть масса, и одно из них — тонкий клиент. Помните, были такие машинки раньше? Это небольшие компьютеры, которые обладают минимальными характеристиками (процессоры ARM, Geode, MIPS, небольшой объем ОЗУ, в качестве ОС — Linux/WinCE), предназначенные для подключения к более мощным компьютерам/серверам и работы с них. При этом, тонкий клиент занимается обработкой ввода, выводом картинки, сетью и иногда умеет автономно выполнять часть задач и может комплектоваться жёстким диском.

image

Такой стик тоже можно использовать в качестве компактного тонкого клиента, подключив его сзади монитора. Выводим хаб, подключаем периферию и ставим клиент RDP. Я смог без проблем подключится к основному ПК и пользоваться им. Кроме того, Android поддерживает некоторую другую USB-периферию: потенциально, даже внешние Ethernet сетевые адаптеры. К слову, Wi-Fi на стике реализован в виде USB-свистка, припаянного к плате. Выводить такой ТК сможет картинку вплоть до 1080p, чего должно хватать всем.

Игровая приставка

image

2 ядра на частоте 1.2ггц и Malii-400 — весьма неплохие вычислительные ресурсы для игр. О современных Modern Combat и Call Of Duty Mobile можно забыть, но кто сказал, что на таком стике будет не во что играть? Android полностью поддерживает USB-геймпады в любом количестве, так что из устройства выйдет неплохая машинка для игр. А вот для каких?

image

Не так уж и много Android-игр начала десятых поддерживают геймпад. Из некоторых — почти все части Asphalt и другие игры Gameloft, некоторые игры на Unity, GTA (который, к слову, будет тяжеловат для игры даже в 720p на Mali400). Но те, что поддерживают, обычно работают неплохо. Кое где придется повозиться с настройками графики.
И с эмуляторами дела обстоят вполне ничего: денди/сега/PS1 проявляют себя хорошо. Увы, игры с PSP или Ps2 консоль не потянет: смотрите в сторону устройств с Amlogic S905X.

image

Компактный сервер

Да, это не шутка. На устройстве можно развернуть сервер, в том числе и файловый. Или разместить на нём персональную страницу — кто на что горазд. У устройства есть поддержка USB-HDD или флэшек.

image

Серверов различных типов на Android довольно много, поэтому найти применение в таком ключе мы тоже сможем.

Мультимедийная станция

image

Самый очевидный пункт, ведь даже производитель называет это устройство медиаплеером. Впрочем, не для всех могут быть очевидны большинство возможностей данного гаджета. В список того, что сможет такой стик сейчас входит не только проигрывание музыки или видео в качестве до 1080p, но и DLNA-медиасервер и возможность использовать что-то типа Invidous для просмотра YouTube.

image
MP4 h263, 1080p30

Сейчас в магазинах техники до сих пор продаются бюджетные телевизоры без поддержки возможностей Smart-TV, так что если бюджет очень сильно ограничен, а получить смарт-устройство хоть в каком-то виде хотелось бы, то чем не вариант? У некоторых ТВ-боксов (именно боксов), есть и аналоговые выходы, что позволяет подключить их даже к старым ЭЛТ-телевизорам. Наверняка тут есть кто-то, кто до сих пор фанатеет по тем здоровым телевизорам, размером с шкаф и весом в пару сотен килограмм?

image

Подведем итог

Похоже на то, что старенькие ТВ-стики всё ещё могут послужить человеку хорошую службу и остаться полезными даже спустя 9-10 лет после их выпуска. Благодаря копеечной цене, поддержкой вывода изображения в FHD и наличию нескольких USB-хостов, подобные устройства могут оказаться крайне полезными на даче, в гараже или даже в офисе, особенно если есть нужда в тонком клиенте. Теоретически сюда есть возможность установить обычный десктопный linux, даже на отдельную SD-карту, но из-за малого объема ОЗУ и слабого, по меркам десктопного Linux, процессора, работать он будет так себе. Однако на барахолках стремительно дешевеют более мощные устройства на S905X и восьмиядерных, свежих RockChip'ах!

Конечно назвать это устройство полным аналогом RPi нельзя: тут нет гребёнки с GPIO. Но это не значит, что их нельзя реализовать самому: у нас есть потенциальный UART, у нас есть USB-хост, а значит с помощью самодельного GPIO Expander'а, мы сможем рулить пинами условной ардуины так, как нам нужно. Если вас заинтересовало такое устройство — то вперед на барахолки, выбор действительно большой.

Автор: Вадим

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js