Содержание статьи
Примерно два года назад на прилавках китайских магазинов и в интернет-каталогах начали появляться устройства совершенно нового типа: так называемые мини-ПК на базе процессоров ARM и операционной системы Android, оснащенные HDMI-выходом. Устройства оказались настолько удачными и популярными, что вскоре клоны начали выпускать чуть ли не в каждом втором китайском подвале, а их продажей занялись даже самые именитые интернет-магазины.
Мини-ПК?
Мини-ПК — это полуофициальное название подобных устройств. Точнее было бы назвать их ТВ-приставками, однако это почему-то не прижилось. Часто используется имя MK802 или MK808, в честь первых моделей таких устройств. В любом случае, каким бы ни было название, речь всегда идет об устройстве размером немногим более флешки, с одной стороны у которого торчит HDMI-выход, а с другой — несколько USB-портов.
Вся соль в том, что, воткнув такую штуку в порт HDMI любого телека, можно тут же без лишних заморочек превратить его в Smart TV, на котором можно смотреть YouTube-ролики через Wi-Fi-сеть, серфить инет и вообще запускать любой Android-софт, в том числе тяжелые игры. И все это за каких-то 2000 рублей, включая HDMI-кабель и пульт дистанционного управления.
Хакер #174. Собираем квадрокоптер
Бэкграунд
Одной из первых таких приставок была модель Rikomagic MK802, построенная на базе уже отжившего свое SoC Allwinner A10 (с процессором на 1 ГГц, 512 Мб оперативки, графическим процессором Mali-400 MP) и оснащенная Android 4.0. Модель поступила в продажу в мае прошлого года и сейчас уже не производится, уступив место моделям MK802 III и MK802 IV на базе гораздо более производительных двухъядерного Rockchip RK3066 и четырехъядерного Rockchip RK3188 с 1 Гб и 2 Гб памяти соответственно. Кроме HDMI-выхода, все модели оснащены двумя портами microUSB 2.0, портом USB 2.0 и слотом microSD, что в совокупности позволяет использовать их в качестве полноценных компов с клавой, мышью, большой картой памяти либо внешним жестким диском.
Со временем эта линейка устройств породила огромное количество клонов, выпускаемых на самых разнообразных китайских фабриках. Наиболее известными из них стали iMito MX1 и MX2 с алюминиевым корпусом, очень хорошо отводящим тепло, а также линейка Minix Neo, модели которой (G4, X5, X5, X3) мало чем отличались от оригинала. Все они полностью совместимы с MK802 III и, по сути, являются его копией в другом корпусе. С выходом модели MK802 IV на свет сразу появились и соответствующие модели iMito QX1 и Minix X7 на базе четырехъядерного Rockchip RK3188 с двумя гигабайтами памяти.
Далее в статье я буду говорить об iMito MX1, который хоть и несколько устарел, но зато успел обрасти большим количеством различных руководств, доработок и прошивок, среди которых есть Ubuntu, да и цена у него на 30 долларов ниже. Если же ты только собрался заказывать устройство, то рекомендую остановиться на iMito QX1 — кроме дополнительных двух ядер и гига памяти, от предыдущей модели он отличается не так уж сильно, и многое будет актуально и для него. Стоит только приготовиться к тому, что никаких альтернативных прошивок, не говоря уже об Ubuntu, для него пока нет.
Покупка и запуск
Купить любое из перечисленных выше устройств можно на одном из трех сайтов:dealextreame.com, tinydeal.com или pandawill.com. Они почти не отличаются ни качеством обслуживания, ни ценами, ни скоростью доставки, так что выбирай любой, вбивай название устройства и нажимай «Buy now». Предварительно, конечно, придется сделать кредитку. Примерно через месяц посылка придет в местное почтовое отделение.
Подробно рассказывать о том, как выглядит это чудо, я не буду. Все понятно и без описаний, скажу лишь, что задний microUSB-порт используется только для питания, поэтому подключать в него что-либо, кроме зарядника, не имеет смысла. Для включения достаточно воткнуть стик одной стороной в HDMI-вход любого телека или монитора (ну или воспользоваться HDMI-удлинителем), а в другую вставить miniUSB-шнур и запитать его любым удобным способом — хоть зарядником, хоть через комп.
Штуковина включается автоматически сразу после подачи питания, и уже через 20 секунд на экране появляется рабочий стол Android. Для удобства управления некоторые производители прикладывают к своим HDMI-стикам специальные пульты (которые можно купить по 10 долларов за штуку на тех же дилэкстримах). Но гораздо удобнее использовать, хотя бы на первых порах, простую беспроводную мышь, она без проблем определяется и работает сразу после подключения. В будущем вместо нее можно использовать софтину DroidMote или официальную RKRemoteControl, которые позволяют рулить устройством со смартфона (и да, это все равно удобнее пульта).
После обзаведения мышкой все остальное становится просто и очевидно: настройка языка, подключение к Wi-Fi, подключение Google-аккаунта, установка софта. Внутри это самый обычный Android, так что никаких проблем с его использованием возникнуть не должно. Если же ты хочешь выжать действительно все из этого устройства и научиться использовать его эффективно, то без некоторых трюков и хаков не обойтись.
Удаленный контроль
Мышка — это хорошо и удобно, да и клавиатура — неплохо, но мы должны позаботиться о более универсальных методах управления. Лучше всего на эту роль подойдет смартфон на том же андроиде, тем более что у любого устройства серии MK802, за исключением первых двух, есть собственная система удаленного управления с помощью смартфона под названием RKRemoteControl.
Система эта хороша тем, что, обладая функциональностью пультов, требующих права root, она уже имеет встроенный сервер и в самом рутинге не нуждается. Единственное, что придется сделать, — это скачать приложение для управления со стороннего сайта (goo.gl/WOrQf) и самостоятельно установить на управляющее устройство (смартфон или планшет).
Пульт включает в себя четыре основные функции: тачпад (удаленная мышь), удаленная клавиатура, управление медиаплеером и навигация (кнопки вверх, вниз, влево, вправо, домой, назад, поиск и так далее). В общем и целом приложение очень неплохое, хотя и уступает DroidMote, которое и работает лучше, и включает в себя джойстик. С другой стороны, за DroidMote придется заплатить, да еще и получить права root перед этим.
Еще один интересный вариант — это использовать различные Bluetooth-мыши, клавиатуры и джойстики. Начиная с MK802 III, устройство поддерживает синий зуб, так что все это будет работать без всяких проблем. Кстати, чтобы при использовании различных USB или любых удаленных клавиатур на экране не появлялась стандартная клава Android, можно установить NULL Keyboard из маркета. Это такая заглушка, встающая на место нормальной клавы. Перед использованием следует активировать через «Настройки -> Язык и ввод -> По умолчанию».
Десять must have софтин для мини-ПК
- Vplayer — один из лучших видеоплееров для Android. Играет все и задействует аппаратное ускорение.
- Tunein Radio — лучшее приложение для прослушивания online-радио. Семь тысяч станций и огромное количество подкастов на любой вкус и цвет. Отлично вписывается в телевизор.
- 500px — один из самых известных файловых обменников для профессиональных и претендующих на это звание фотографов. Огромный склад потрясающих высококачественных фотографий. В случае с ТВ-приставкой приложение интересно в первую очередь возможностью включить слайд-шоу.
- XBMC — не нуждающийся в представлении медиацентр для Linux и Android. Превращает мини-ПК в полноценную мультимедийную станцию для прослушивания музыки, просмотра телепередач и фильмов. Интересен огромным количеством поддерживаемых источников мультимедиаконтента.
- di.fm — известное в кругах любителей электронной музыки интернет-радио с десятками жанровых каналов и эксклюзивными шоу от Маркуса Шульца и других именитых личностей. К сожалению, за качественный звук придется платить 3 доллара в месяц.
- ivi.ru — один из наиболее известных легальных интернет-кинотеатров в России с «оплатой» просмотром рекламы. Имеет подозрительно качественное клиентское приложение, которое просто идеально вписывается в экран телевизора. С другой стороны, выбор фильмов не такой уж большой.
- vkPlayer — плеер медиаконтента из социальной сети «ВКонтакте». Вписывается в экран телевизора гораздо лучше официального клиента.
- DroidMote — лучший пульт управления андроидом с помощью андроида. Минуса два: root и цена 2 доллара за сервер.
- Fpse — лучший эмулятор PlayStation.
- DosBox Turbo — лучшая, но платная версия эмулятора DOSBox для Android. Ностальгирующие могут поиграть, например, в X-COM и Master of Orion 2.
Проводной интернет
В том случае, если по каким-то причинам у тебя нет Wi-Fi (что очень странно в 2013 году), устройство вполне себе можно вывести в интернет, используя переходник USB — RJ45. Приобрести такой можно опять же в любом китайском интернет-магазине за 3–4 доллара (например, тут: goo.gl/tt9cP), ну или в компьютерном магазине, переплатив в три раза.
В любом случае переходник достаточно воткнуть в USB-порт, включить в настройках опцию Ethernet, и, если на другом конце есть DHCP-сервер, уже через несколько секунд система будет в интернете. Если же используется статическая настройка, то в той же опции Ethernet для этого есть пункт «Static IP Settings», где можно самостоятельно прописать IP, адрес шлюза и DNS-сервера.
И снова root
Хотя MK802 можно использовать без root и установки сторонних прошивок, последние открывают гораздо больше интересных возможностей. Так, имея root, можно отключить показ нижней строки управления, которая на телевизоре практически лишена смысла, активировать режим отладки (ADB) по Wi-Fi, позволяющий без лишних усилий перекидывать на устройство файлы, делать резервные копии приложений, синхронизировать данные приложений (что очень удобно использовать для обмена сохранениями в играх), а также много чего другого.
Как и в случае с любым другим Android-девайсом, есть три пути получить root на MK802: это воспользоваться эксплойтом, прошить обновление с рутом либо установить уже рутованную кастомную прошивку. В следующем разделе я расскажу об установке прошивки Finless ROM, а сейчас объясню, как обзавестись рутом на MK802 III.
Самый простой и незамысловатый способ сделать это — установить специальным образом подготовленное обновление, которое добавит в систему команду /system/bin/su и приложение SuperUser, обеспечивающие доступ к полномочиям суперпользователя. Для этого достаточно выполнить три простых шага:
- Скачать файл update.zip (goo.gl/gbbDE) и положить его в корень любой имеющейся карты памяти.
- Воткнуть карту памяти в устройство, после чего на экране должно появиться сообщение об обновлении, за которым последует перезагрузка и установка прошивки.
- После окончания процесса установки карту следует вынуть и удалить с нее файл, иначе после ее повторного втыкания девайс опять попробует обновиться. После перезагрузки прошивка будет рутована, и ты сможешь воспользоваться приложением full!screen для сокрытия строки состояния, WiFi ADB для доступа к ADB через беспроводную сеть, PPP Widget для простого подключения к инету через 3G-модем, а также получишь возможность использовать девайс как сервер (об этом позже).
Прошивки
Система на кристалле RK3066 и ее более поздние модификации, на которых базируется MK802, начиная с версии III, отличается тем, что производитель не открывает SDK на свое железо. Из-за этого процесс портирования других ОС существенно затрудняется, и сборок, например, того же CyanogenMod для устройств на базе RK3066 найти невозможно. Остается довольствоваться модификациями стандартной прошивки от производителя. Наиболее интересной из них я бы назвал прошивку Finless ROM, подходящую для MK802 III и аналогов. От стоковой она отличается следующими возможностями:
- Автосокрытие строки состояния при запуске любого приложения. Очень удобная функция, доступна через меню: «Настройки -> Экран -> Auto Hide System Bar».
- Возможность включения экрана блокировки. Функция полезна тем, что позволяет задать пин-код, чтобы никто, кроме тебя, не смог воспользоваться Smart TV.
- Автоматический уход в сон с гашением экрана. Срабатывает через определенный промежуток времени после прекращения любой сетевой активности. Включается в «Настройки -> Экран -> Спящий режим».
- Поддержка определения местоположения по IP-адресу. Позволяет, например, получать более точные результаты поиска или корректно работать приложениям, отображающим погоду и другие геозависимые данные.
- Фикс проблемы совместимости с играми от Gameloft, от которой страдают почти все девайсы на RK3066.
- Поддержка аппаратного декодирования видео в XBMC.
- Совместимость с джойстиком от Xbox.
Однако самое главное — это полноценная поддержка вывода видео в разрешении 1080p. Дело в том, что, хотя MK802 и поддерживает вывод в этом разрешении, Android так или иначе оперирует картинкой 720p, а при отправке на экран масштабирует ее до 1080p. В результате при близком рассмотрении на Full HD экранах изображение выглядит нечетким, а текст на белом фоне становится трудно читать.
Производитель сделал это намеренно, потому что с работой в режиме 1080p устройство справляется с большим трудом, из-за чего Android начинает притормаживать, игры лагать, а видео в 1080p так нагружает устройство, что оно может просто сгореть. Если тебя это не напрягает, в комплект Finless ROM включено Full HD ядро, которое можно выбрать при загрузке.
Как и все остальные девайсы на RK3066, MK802 III прошивается с помощью фирменной утилиты Rockchip Batch Tool, а сам процесс прошивки напоминает какой-то нелогичный квест из плохой игры. В общем и целом делается это так:
- Подопытный девайс обесточиваем, а кабель питания втыкаем в боковой OTG-разъем вместо заднего. Обратный конец кабеля втыкаем в комп.
- На компе загружаем Windows и скачиваем архив с прошивкой и всеми необходимыми инструментами goo.gl/Df5Ur.
- Архив распаковываем, куда угодно, и запускаем содержащийся в нем файл ROM FLash Tool.exe, который выводит на экран окно, где должна появиться надпись «No Found RKAndroid rock USB».
- В настройках девайса активируем режим доступа к накопителю с помощью «Настройки -> Память -> Меню -> Mass Storage».
- После этого в ROM Flash Tool должна появиться надпись «Found RKAndroid Mass Storage USB». Если это так, нажимаем на кнопку «Reboot to Flash Mode».
- Девайс перезагружается и после этого появляется в диспетчере устройств Windows как неизвестное устройство. Чтобы исправить это, следует перейти в диспетчер устройств, найти устройство с именем типа RK30, помеченное желтым восклицательным знаком, открыть его и нажать кнопку «Обновить драйвер». Далее следует указать для поиска драйвера папку с распакованным Finless ROM, в ней x32 или x64, в зависимости от разрядности ОС, и уже там нужную ОС (Xp, Vista…). Винда установит драйвер и предложит перезагрузиться. Соглашаемся.
- После перезагрузки вновь запускаем ROM FLash Tool.exe, ждем появления надписи «Found RKAndroid Mass Storage USB». Опять жмем «Reboot to Flash Mode», ждем появления той же надписи, после чего жмем «Erase NAND (IDB)», чтобы стереть все, что есть на устройстве.
- (Опциональный шаг) Если требуется Full HD ядро, находим в верхнем списке прошиваемых компонентов kernel720.img и переименовываем в kernel1080.img.
- Жмем «Flash ROM» и ждем окончания прошивки.
- Ждем полной загрузки системы.
Если система не загружается, повторяем последние четыре шага.
WARNING
- При активации спящего режима в Finless ROM не забудь включить в настройках Wi-Fi постоянное подключение к сети, иначе сразу после засыпания устройства ты потеряешь с ним связь.
- В прошивке Finless ROM имя устройства заменено на GT-I9100 (Galaxy S II) для совместимости с большим количеством приложений в маркете. Поэтому не удивляйся, увидев Samsung Galaxy S II вместо привычного MK802 III.
Сервер
Замечательная черта MK802 — подключать HDMI для работы необязательно. Эта особенность, в сочетании с крошечными размерами самого устройства, превращает MK802 в заманчивого кандидата на роль домашнего энергоэффективного и очень неплохого по характеристикам сервера. Остается решить одну проблему — Android непригоден для выполнения подобных задач.
Самый простой способ сделать это — установить приложение Servers Ultimate из маркета. Это ни много ни мало сборник из около 40 различных серверов и 14 сетевых утилит для мониторинга и управления. Приложение позволяет запускать такие серверы, как DHCP, DNS, CVS, FTP, MySQL, HTTP, PHP, X11, SMB и даже Styx. Причем это не просто сборник серверов в красивой графической оболочке, которые можно только запустить и остановить со стандартными настройками. Для каждого сервера реализован графический интерфейс настройки, позволяющий изменить множество опций. Оптимизированный nginx с Ruby on Rails таким образом, конечно, не настроишь, а вот запустить свой собственный FTP- и SMB-сервер для расшаривания файлов с подключенного по USB жесткого диска очень даже можно.
Servers Ultimate полностью интегрируется в Android и позволяет запускать серверы при загрузке либо возникновении событий, просматривать состояние серверов и логи с помощью удобного интерфейса и многое другое. В общем, просто мечта, вот только стоит это все — даже с учетом сезонного снижения цены — 10 долларов. Бесплатная версия позволяет запускать только два сервера одновременно, да и то в течение 14 дней (Trial).
Впрочем, в маркете можно найти и множество других, в основном менее качественных оберток для запуска серверов. Тот же droidsshd для SSH, например. При наличии root также можно воспользоваться инструментами для установки Linux-дистрибутива, такими как Linux Deploy, и устанавливать необходимые серверы уже в него. Еще более интересный вариант — это инструмент BotBrew (botbrew.com), который позволяет устанавливать Linux-софт, в том числе Apache и Samba прямо в Android. Кстати, в следующем выпуске журнала о нем будет отдельная статья, не пропусти. Ну и самый верный вариант — это установить на устройство настоящий дистрибутив Linux.
Ubuntu
Несмотря на отсутствие сколько-нибудь нормально работающих прошивок на базе CyanogenMod, для MK802 III и клонов вполне себе существует качественный и полностью работоспособный порт Ubuntu 12.10, да еще и устанавливаемый как альтернативная ОС рядом с основной code.google.com. Фактически это означает, что MK802 может быть очень неплохим тонким клиентом, сервером или простым ПК для целей типа «зайти проверить почту» или «посмотреть котиков в интернете». Для цены в 60 долларов это очень и очень неплохо.
Сама установка включает в себя два шага: первый — прошивка альтернативного ядра в recovery-раздел устройства и второй — установка самой системы на флешку или SD-карту (понадобится карточка размером не меньше 4 Гб). Для прошивки ядра мы воспользуемся уже знакомым по установке прошивки Finless ROM инструментом ROM FLash Tool.exe. Скачиваем ядро goo.gl/uXQBS, запускаем ROM FLash Tool.exe, но в этот раз в верхней части окна снимаем галочки со всех полей, кроме шестого (recovery), нажимаем на последнее поле и выбираем ранее скачанный файл. Нажимаем «Flash ROM». Это все.
Чтобы установить сам дистрибутив Ubuntu на карту памяти, загружаемся в Linux на настольной машине (без него никак), скачиваем скрипт pre-picuntu.sh goo.gl/RsRlS, запускаем:
bash pre-picuntu.sh
и следуем инструкциям. Как вариант, установку можно выполнить самостоятельно. Для этого нужно создать на карте памяти ext4-раздел с именем linuxroot, а затем распаковать в него архив с системой goo.gl/y0Kq6. Далее вставляем карту памяти в устройство и перезагружаем в режим recovery одним из двух способов на выбор:
- С помощью приложения Reboot в Finless ROM.
- Выполнив команду «su && reboot recovery» в терминале Android (нужен root). После этого система перезагрузится в Ubuntu. Если все OK, появится окно логина, пароль для root — 12qwaszx. Чтобы вернуться обратно в Android, просто перезагружаем устройство любым способом (хоть выдернув кабель питания).
WWW
- Ветка MK802 III на 4pda: goo.gl/LDZAL
- Прошивки для MK802 III и совместимых девайсов: goo.gl/QSCLQ
Выводы
MK802 — прекрасное устройство, которое с лихвой отбивает свою цену. При должном уровне знаний и терпении его можно заставить делать абсолютно все, начиная от проигрывания интернет-радио и заканчивая хостингом файлов. Его можно превратить в тонкий клиент или купить Bluetooth-джойстик и играть в игры. Несмотря на свое китайское происхождение и смешную цену, оно практически не имеет конструктивных проблем и может работать неделями напролет.