Предыстория
Был когда-то у меня Lenovo Thinkpad Tablet. Аппарат очень не понравился и привёл к разочарованию как в Android так и в Lenovo и надолго отбил желание покупать что-то аналогичное. Не понравился он тем, что:
- Мне кажется, это ужасно, когда люди заплатившие немалые деньги за устройство вынуждены использовать эксплоиты чтобы воспользоваться уже имеющимся в нём функционалом. В итоге root я там так и не сделал.
- Через некоторое время начали отваливаться кнопки. Вначале питание. Её я кое-как припаял. Потом регулировки громкости. На них я забил и стал использовать программную регулировку.
- Рамка вокруг экрана. При размере планшета 259*179 мм, экран всего 216*135 мм (мерил линейкой, может быть погрешность в 1-2 мм). Т.е. экран занимает всего 63% поверхности. Наверное, эту рамку сделали, чтобы его удобней было держать не касаясь сенсорного экрана, но лучше было бы решить эту проблему как-то по-другому (не располагать по краям элементы управления или как-то отличать удержание от умышленного касания…), чтобы не заставлять пользователя таскать такую лопату.
Но однажды при загрузке он показал логотип Lenovo и на этом остановился. Попытка сбросить настройки через загрузочное меню привела к сообщению, что он не может что-то там подмонтировать. В сервис было решено не идти.
После разборки планшета у меня появились:
- Весьма неплохой дисплей LP101WX1-SLN2 с разрешением 1280*800 и диагональю 10.1″;
- USB клавиатура с трекпоинтом;
- Блок питания с USB выходом 5 В 2 А;
- Два ещё живых литий-йонных аккумулятора. Тест показал ёмкость в 3,25 А*ч;
- Wifi + Bluetouth модуль AW-NH931;
- 3G/GPS/HSPA модуль Ericsson F5521gw;
- Микрофон, динамик, вибромотор и прочая мелочь.
Orange Pi PC
Эта штука была куплена для поиграться. Тут про неё уже писали, но вкратце опишу, что я с ней сделал и могу рекомендовать сделать другим.
Охлаждение
Чипы памяти почти не греются. Радиатор нужен только для основного чипа. Я купил вот такие 40x40x11 мм:
Вырезал нужный размер ножовкой и приклеил на Алсил-5. Сам чип 14х14 мм, но радиатор можно сделать чуть больше.
Установка ОС
Рекомендуемый satie образ не поддерживал мой WiFi свисток (RTL8188CUS). Образ взял отсюда — по ссылкам из первого поста только реклама, кое-как удалось скачать по ссылке из второго поста, а чтобы вам было удобней, выложил на гуглодрайв.
Питание
Запитывать через гребёнку GPIO не удобно и опасно — можно ошибиться и что-нибудь сжечь. Я купил вот такой шнур:
Если хотите такой же — вот.
Но оказалось, что провод там настолько тонкий, что при потребляемых в среднем ~250 мА из-за падения напряжения в проводе Orange Pi включаться не хочет. Так что провод пришлось заменить, но покупка не была напрасной — разъёмы я те использовал.
Включаем и фиксим оверклокинг
Для пользователей orangepi и root по умолчанию установлен пароль orangepi. Кроме того, по ssh по умолчанию можно зайти рутом, так что думайте о безопасности!
Если не работает монитор и сеть, можно подключиться терминальной программой через UART.
Теперь про оверклокинг. Есть файл /media/boot/script.bin. В этом файле хранятся настройки чипа. В удобочитаемый вид его можно конвертировать утилитой bin2fex. Так и делаем. В получившемся fex файле ищем секцию [dvfs_table] и убираем оттуда неприемлимые с вашей точки зрения режимы. Я оставил:
[dvfs_table] pmuic_type = 2 pmu_gpio0 = port:PL06<1><1><2><1> pmu_level0 = 11300 pmu_level1 = 576 extremity_freq = 1008000000 max_freq = 1008000000 min_freq = 480000000 LV_count = 3 LV1_freq = 1008000000 LV1_volt = 1120 LV2_freq = 480000000 LV2_volt = 1060 LV3_freq = 0 LV3_volt = 1060
На таких режимах без корпуса чип греется не более чем до 55С.
При помощи утилиты fex2bin конвертируем всё это обратно в script.bin, перезагружаемся, радуемся, что нам теперь не нужен вентилятор!
Хорошо бы ещё уменьшить частоту памяти и GPU, но мне пока не удалось этого сделать.
Клавиатура
В комплекте с Lenovo Thinkpad Tablet была вот такая клавиатура-чехол:
Как оказалось, это обычная USB клавиатура и она может работать даже с обычным компом с Windows. Трекпоинт при этом тоже работает. Единственная проблема — вместо клавиш F1 — F12 на ней всякие клавиши регулировки громкости и т.п., и не работают комбинации Alt + Ctrl + <что-то ещё> т.к. Alt и Ctrl представлены разными USB точками. Пришлось переназначить некоторые клавиши.
Как это сделать я узнал отсюда. Получившийся в итоге файл переназначений клавиш:
keyboard:usb:v*p* KEYBOARD_KEY_c00e2=f1 KEYBOARD_KEY_c00ea=f2 KEYBOARD_KEY_c00e9=f3 KEYBOARD_KEY_c0223=f4 KEYBOARD_KEY_10047=f5 KEYBOARD_KEY_100a2=f6 KEYBOARD_KEY_10081=f7 KEYBOARD_KEY_c022e=f8 KEYBOARD_KEY_c022d=f9 KEYBOARD_KEY_c00b6=f10 KEYBOARD_KEY_c00cd=f11 KEYBOARD_KEY_c00b5=f12 KEYBOARD_KEY_c0040=leftctrl KEYBOARD_KEY_c0221=leftalt
Подключаем клавиатуру и теперь можно пользоваться комбинациями Alt + Ctrl + Fx!
Дисплей
Подключение дисплея было самой интересной задачей. Получится или нет не знал до конца.
У меня уже был вот такой конвертер HDMI -> VGA:
Но дисплей LVDS, поэтому понадобился контроллер LVDS с входом HDMI, DVI или VGA. Самый дешёвый из найденных — MT6820-B oбошёлся в $6.33 вместе с доставкой. Когда приехал, оказалось, что разъём у него не такой же как у дисплея. Хотел было купить подходящий разъём с проводами и колодкой, но цена в $6 меня остановила. Отрезал имеющиеся разъёмы от того, что приехало и от того, что было в планшете, взял распиновку дисплея из даташита и спаял проводки с похожими названиями, благо что на китайском контроллере каждый выход подписан.
Чип контроллера LVDS легко разогревается до 70С. Пока охлаждаю вентилятором, но надо будет тоже приклеить радиаторы к нему и стабилизаторам напряжения.
В итоге получилось:
Внизу контроллер LVDS охлаждаемый вентилятором.
К сожалению, пока не удалось заставить эту связку работать с разрешением 1280х800. Причём, если переходник HDMI -> VGA вставить в HDMI порт компа, то Windows понимает, что он может работать на 1280х800, а вот Orange Pi — нет.
Блок питания, Orange Pi, клавиатура.
Итог
Вряд-ли я всё это буду использовать именно в такой связке. Скорее всего, дисплей с контроллером соберу в отдельный монитор и подключу его к компу с Windows, а Orange Pi с этой клавиатурой будут жить с другим монитором просто потому, что мне так удобней и потому что разрешения 1280х800 в этой связке получить не смог, а при 1280х720 искажаются пропорции, но сама идея кажется интересной, и, не факт, что у вас не получится сделать всё как надо. Для стационарного использования Orange Pi + Linux имеют ряд преимуществ по сравнению с планшетом на Android:
- Возможности настройки, нет проблем с получением root’a. Изменить частоту/напряжения чипа — пожалуйста, переназначить клавиши — пожалуйста!
- Наличие GPIO (это преимущество не для всех, но меня очень радует).
- Вся система на одной microSD карте! Мы можем забрать крошечную карту и никто не получит доступа к нашим данным! Мы можем иметь несколько карточек с системами под разные задачи! Легко делать резервные копии.
- Гибкость конфигурации: можем выбрать подходящую плату Orange Pi и независимо от этого дисплей.
И ещё одно сравнение. Orange Pi One стоит $14 с доставкой + $6.3 за microSD, Arduino Mega — $7. Платя в 3 раза больше мы получаем:
- В 65536 раз больше ОЗУ;
- 4 шустрых 32-х битных ядра;
- Возможность зайти на устройство по SSH и программировать/компилировать/отлаживать прямо в нём на любимом языке;
- Операционную систему, которая может одновременно выполнять программы написанные на разных языках!
Это не значит, что Arduino Mega больше не нужна, но в некоторых проектах можно задумываться об альтернативе.
К чему это всё?
А к тому, что если у вас сломается планшет или ещё какой девайс, знайте, что многим его компонентам можно дать вторую жизнь. Давайте пользоваться тем, что наша электроника — это пока не чёрные ящики залитые эпоксидкой (хотя движение в этом направлении есть).
А ещё есть у меня мечта продвинуть идею специализированных свалок/фримаркетов, где можно будет оставить то что тебе уже не нужно, но что кто-нибудь ещё сможет использовать.