Как подключить дисплей от планшета к raspberry pi
Одноплатник Raspberry Pi дружит не только с компьютерными мониторами и телевизорами, но и с более экзотическими девайсами. Рассказываем, какие бывают способы вывести изображение с RPi на внешние устройства.
Способ №1: Порт HDMI
К Raspberry Pi можно подключить любой встраиваемый или портативный экран, оснащённый стандартным портом HDMI. Достаточно воткнуть кабель, и через секунду изображение появится на экране.
В большинстве случаев Linux сам выбирает оптимальный режим, но если понадобится изменить разрешение или частоту обновления экрана — заходите в файл /boot/config.txt , где хранятся детальные настройки вывода изображения. Например, чтобы установить разрешение 1024×600 с частотой 60 герц и отношением сторон 15:9, подойдёт такая конфигурация.
Первая пара настроек говорит о том, что мы хотим выбрать произвольный режим. А вот hdmi_cvt задаёт этот самый режим: ширину, высоту, частоту и отношение сторон (параметр 6 — это пропорция 15:9). На официальном сайте Raspberry Pi выложено подробное описание, какие параметры видео за что отвечают.
Некоторые HDMI-дисплеи оснащаются встроенным тачскрином, сигнал которого передаётся на RPi через отдельный USB-кабель и требует установки драйверов. Процесс несложный — смотрите инструкции с примерами на нашей Вики.
Обладателям Raspberry Pi 4 повезло: она поддерживает разрешения вплоть до 4K (2160p) при 60 Гц в режиме одного монитора. А если подключить к ней второй монитор, то сигнал делится напополам, и малина потянет до 2160p/30 Гц на обоих экранах. Не забудьте обзавестись кабелями Micro-HDMI.
Способ №2: Порты GPIO
Существуют дисплеи для Raspberry Pi в виде шилдов, которые надеваются на плату и общаются с ней по интерфейсу SPI. Они дешевле и мобильнее своих HDMI-собратьев.
Одноплатник здорово сочетается с компактным сенсорным ЖК-дисплеем и мини-клавиатурой: покидали всё в рюкзак — и вот у вас под рукой полноценный портативный компьютер на Linux.
Однако, помимо преимуществ у SPI-дисплеев есть и ряд технических ограничений:
- Дисплей требует обязательной установки драйвера.
- Скорости обновления по SPI не хватает для видео.
- Интерфейс SPI дополнительно нагружает CPU.
Используйте SPI-дисплей для пользовательских интерфейсов, которые по большей части статичны.
Способ №3: Удалённый доступ
А можно обойтись вовсе без дисплеев: достаточно один раз настроить удалённый рабочий стол, чтобы дистанционно подключаться к Raspberry Pi и транслировать изображение по сети. Этот способ пригодится, если плата смонтирована в труднодоступном месте и подключать лишние провода — совсем не вариант.
Как настроить удалённый доступ
- VNC Server входит в ОС Raspbian из коробки. Чтобы разрешить доступ, зайдите в настройки Raspberry Pi:
- Выберите пункт меню «Interfacing Options→VNC» и включите VNC Server кнопкой «Yes».
- Запустите VNC-сервер:
- Запишите IP-адрес и порт для внешнего доступа, которые отобразятся после запуска.
- В случае с Windows у вас уже есть средство для подключения к удалённому рабочему столу. Для других систем рекомендуем установить RealVNC Viewer.
- Запустите VNC-клиент и вбейте в адресной строке IP-адрес, который был выдан при запуске VNC-сервера.
- Укажите логин и пароль для входа в систему Raspberry Pi. По умолчанию это ‘pi’ и ‘raspberry’.
- В клиенте VNC появится рабочий стол. Готово!
Способ №4: Композитный видеовыход
Можете тряхнуть стариной и вспомнить такой олдскульный интерфейс, как композитное видео. Конечно, по качеству изображения он не сможет тягаться с цифровым HDMI, но и у «тюльпана» есть подходящее применение.
Если вы превратите свою Raspberry Pi 4 в ретро-консоль, кинескопный телевизор станет завершающим штрихом, чтобы полностью перенестись в эпоху пиксель-арта. Берите комбинированный кабель 3,5 мм с композитным выходом, чтобы вывести чересстрочное аналоговое изображение 480i с малинки на ЭЛТ-телевизор. Мы так и поступили, когда делали крутой аркадный автомат, который радует вас у входа в московский офис Амперки.
В итоге
Теперь вы точно не пропадёте, если понадобится вывести изображение с малинки куда угодно! Осталось только выбрать, какой вариант удобнее для ваших проектов на RPi.
За $8 можно превратить во вполне рабочую систему на Linux с монитором, клавиатурой и трекпоинтом:
Предыстория
- Мне кажется, это ужасно, когда люди заплатившие немалые деньги за устройство вынуждены использовать эксплоиты чтобы воспользоваться уже имеющимся в нём функционалом. В итоге root я там так и не сделал.
- Через некоторое время начали отваливаться кнопки. Вначале питание. Её я кое-как припаял. Потом регулировки громкости. На них я забил и стал использовать программную регулировку.
- Рамка вокруг экрана. При размере планшета 259*179 мм, экран всего 216*135 мм (мерил линейкой, может быть погрешность в 1-2 мм). Т.е. экран занимает всего 63% поверхности. Наверное, эту рамку сделали, чтобы его удобней было держать не касаясь сенсорного экрана, но лучше было бы решить эту проблему как-то по-другому (не располагать по краям элементы управления или как-то отличать удержание от умышленного касания. ), чтобы не заставлять пользователя таскать такую лопату.
- Весьма неплохой дисплей 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] и убираем оттуда неприемлимые с вашей точки зрения режимы. Я оставил:
На таких режимах без корпуса чип греется не более чем до 55С.
При помощи утилиты fex2bin конвертируем всё это обратно в script.bin, перезагружаемся, радуемся, что нам теперь не нужен вентилятор!
Хорошо бы ещё уменьшить частоту памяти и GPU, но мне пока не удалось этого сделать.
Клавиатура
В комплекте с Lenovo Thinkpad Tablet была вот такая клавиатура-чехол:
Как оказалось, это обычная USB клавиатура и она может работать даже с обычным компом с Windows. Трекпоинт при этом тоже работает. Единственная проблема — вместо клавиш F1 — F12 на ней всякие клавиши регулировки громкости и т.п., и не работают комбинации Alt + Ctrl + <что-то ещё> т.к. Alt и Ctrl представлены разными USB точками. Пришлось переназначить некоторые клавиши.
Как это сделать я узнал отсюда. Получившийся в итоге файл переназначений клавиш:
Подключаем клавиатуру и теперь можно пользоваться комбинациями 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, клавиатура
- Возможности настройки, нет проблем с получением root'a. Изменить частоту/напряжения чипа — пожалуйста, переназначить клавиши — пожалуйста!
- Наличие GPIO (это преимущество не для всех, но меня очень радует).
- Вся система на одной microSD карте! Мы можем забрать крошечную карту и никто не получит доступа к нашим данным! Мы можем иметь несколько карточек с системами под разные задачи! Легко делать резервные копии.
- Гибкость конфигурации: можем выбрать подходящую плату Orange Pi и независимо от этого дисплей.
- В 65536 раз больше ОЗУ;
- 4 шустрых 32-х битных ядра;
- Возможность зайти на устройство по SSH и программировать/компилировать/отлаживать прямо в нём на любимом языке;
- Операционную систему, которая может одновременно выполнять программы написанные на разных языках!
К чему это всё?
А к тому, что если у вас сломается планшет или ещё какой девайс, знайте, что многим его компонентам можно дать вторую жизнь. Давайте пользоваться тем, что наша электроника — это пока не чёрные ящики залитые эпоксидкой (хотя движение в этом направлении есть).
А ещё есть у меня мечта продвинуть идею специализированных свалок/фримаркетов, где можно будет оставить то что тебе уже не нужно, но что кто-нибудь ещё сможет использовать.
Микрокомпьютер Raspberry Pi отличается не только широчайшим спектром применения, но и поддержкой устройств сторонних разработчиков, значительно расширяющих функциональность платы. Сегодня мы рассмотрим простейший способ научить работать Raspberry Pi с сенсорным экраном. А на выходе получим крошечный планшет с настольной операционной системой.
Какие есть экраны для Raspberry Pi
Есть как минимум три возможности подключить экран:
- Display-порт в виде зажимного разъёма на фронтальной поверхности.
- HDMI-разъём.
- Пины GPIO — разъёма универсального ввода-вывода.
Все они позволяют подключать к Raspberry Pi экраны с тачскрином.
Через дисплейный разъём работают некоторые стандартные LCD-панели (для разработчиков и встраиваемых устройств). Есть и оригинальный 7-дюймовый экран, устанавливаемый с обратной стороны Raspberry. К сожалению, этот вариант очень дорогой, зато для его запуска не требуется ничего. Просто скачать систему и вставить флешку с ней. В обычном Raspbian (Debian для Raspberry Pi) обеспечивается нативная поддержка этой железки.
Более доступным вариантом, особенно в странах СНГ, где доставка из Великобритании убивает всю прелесть «Малинки», стали экраны компании WaveShare, работающие через GPIO. Почему? Это позволяет реализовать поддержку экрана в любых вариантах NIX-систем для Raspberry Pi с любыми версиями платы (для Raspberry Pi 2 и 3 используется один дистрибутив, для первой ревизии — отдельный) и упростить настройку и отладку полученной системы. К тому же они всегда есть в наличии и стоят всего 23 доллара.
Как подключить
Нет ничего проще: нужно всё распаковать, а потом подключить экран к GPIO-разъёмам Raspberry Pi. Не потребуется даже считать пины — просто совместите платы так, чтобы экран был ровно над основной платой.
Как настроить
Есть два метода: скачать готовый дистрибутив или настроить систему самостоятельно. Первый потребует перейти на официальную страницу проекта. Затем выбрать подходящий дистрибутив, скачать и записать его на флешку. Вставили, подключили питание — наслаждаемся работой. К сожалению, в данном случае придётся довольствоваться устаревшей версией операционной системы.
Второй способ подойдёт уже знакомым с Linux пользователям и сначала потребует установить в систему драйверы, а затем перевести работу компьютера на резистивный дисплей. С инструкцией можно ознакомиться на официальном сайте. Кстати, по этой же технологии можно подключить аналогичный экран стороннего производителя.
К сожалению, ни тот ни другой способ не заставит работать одновременно и экран, подключённый через GPIO, и HDMI-порт. Реализовать трансляцию на телевизор или монитор можно уже внутри системы, подключая монитор в качестве дополнительного экрана.
Я думаю, у многих валяется без дела старый нерабочий, а может и рабочий планшет, который уже ни на что не годится. Вот у меня такой валялся. Первый планшет, купленный давном давны на Али, который не способен не на что, абсолютно. Да так не способен, что он уже не грузится.
И вот глядя на него в голове моей крутилась мысль. Но ведь дисплей то у него рабочий. Какой-никакой, но всё же. Как же его использовать? Мне бы как раз для домашнего сервера пригодился маленький переносной мониторчик для сервисных работ. И я начал искать. И довольно быстро я наткнулся на тему на 4pda, в которой добрые люди разъясняют матчасть и делятся своими работами в подобном тематике.
Почитав её немного я сверился с типом панели планшета и пришел к выводу, что шансы есть.
Дисплей с 50-пиновым TTL-разъёмом. Для него можно без проблем найти на всё том же Али универсальный контроллер, что я и сделал:
Как видите, у него несколько входов. Можно использовать какой нравится. Внешнее питание 5-12В. К нему ещё нужна платка с кнопками для управления — как кнопки у обычных мониторов. Покупается там же, либо паяется вручную. Я купил готовую.
Когда получил, первый раз попробовал подключить к компу по HDMI.
Не знаю, с чем связано. Но низкий уровень цветности — всего 8 бит. Изображение слегка дрожит. Но всё работает. В том числе встроенная подсветка. Не пришлось запитывать отдельно.
Тяп-ляп прикрутил всё к корпусу от того самого планшета, получив вот такое отвратное зрелище:
Сегодня опробовал при замене диска на домашнем сервере. Всё работает. Подключал по VGA. Правда картинка из BIOS была не в том режиме. Отображалась вертикально и не растягивалась. Но изображение можно повернуть и всё будет нормально. Мне в BIOS делать было нечего, поэтому я не парился.
В целом, я доволен. Этот же "монитор" можно использовать как дополнительный и с компом. Можно выводить на него какую-нибудь доп. инфу типа температуры или ещё чего-нибудь. Вам решать.
Но что, если у вас нет подходящего дисплея? Как вы будете использовать это? Одним из решений является использование планшета Android (или смартфона) в качестве дисплея Raspberry Pi.
Что работает, а что нет
Хотите настроить свое Android-устройство в качестве дисплея для Raspberry Pi? Это проще, чем вы думаете.
Все, что вам нужно, это иметь оба устройства в одной сети, клавиатуру и мышь, подключенные к Raspberry Pi (по кабелю через USB или по беспроводной связи), и подставку для устройства Android, чтобы использовать его в качестве монитора.
К сожалению, не работает прямое подключение дисплея планшета к Raspberry Pi. Ни GPIO, ни порт DSI не совместимы с дисплеями планшета. Это означает, что использование старого экрана планшета для дисплея Raspberry Pi невозможно. Даже если вам удастся подключить устройства, приятных изображений не будет. (Вам также может понадобиться новый Raspberry Pi!)
Давайте придерживаться вариантов, которые работают. Вот что вам нужно:
- Raspberry Pi 3 (старые версии в порядке, но понадобится ключ беспроводной сети)
- Планшет Android
- Подставка для планшета или подходящий чехол
- Клавиатура (вам, вероятно, не понадобится мышь, благодаря сенсорному экрану планшета)
- Доступ к беспроводной сети
Использование планшета Android в качестве экрана для Raspberry Pi
У вас есть два варианта использования планшета или телефона Android в качестве дисплея для вашего Raspberry Pi.
- RDP: протокол удаленного рабочего стола Microsoft
- VNC: виртуальное сетевое соединение
Каждая из этих опций может предоставить полный доступ к вашему Raspberry Pi через Android. К счастью, ни один из них не сложен в настройке. Оба были протестированы с Raspberry Pi 3, но должны работать со старыми версиями, включая Pi Zero.
Чтобы использовать любое из этих решений, вам нужно убедиться, что ваш Raspberry Pi и планшет Android находятся в одной сети. К сожалению, это не сработает, если вы используете устройство Android в качестве беспроводной точки доступа. В этом случае вам понадобятся два устройства Android; один для WAP, а другой для дисплея.
Для обоих вариантов стоит сначала убедиться, что SSH включен на Raspberry Pi. Это упростит настройку «без головы», позволяя настраивать RDP и VNC с вашего ПК. Затем вы можете установить соединение с вашего устройства Android.
Вы можете включить SSH тремя способами:
- Через командную строку: используйте экран raspi-config и выберите Дополнительные параметры> SSH> ОК. Перезагрузка при появлении запроса.
- Через рабочий стол Raspbian: перейдите на Настройки> Конфигурация Raspberry Pi> Интерфейсы и выберите SSH. Нажмите Хорошо подтвердить.
- Когда питание Pi отключено, извлеките SD-карту и откройте ее в файловом браузере настольного компьютера. В загрузочном каталоге создайте новый файл с именем «ssh» без расширения файла. Осторожно извлеките карту и замените ее на свой Raspberry Pi. Когда вы включите его, SSH будет включен.
Вы можете подключиться к Raspberry Pi через SSH с помощью приложения, такого как PuTTY для Windows
, Пользователи Linux и macOS могут устанавливать SSH-соединения через терминал
, Вам нужно знать IP-адрес вашего Raspberry Pi, который вы можете найти, введя
Запишите IP-адрес, так как он понадобится вам позже.
Подключите Android к Raspberry Pi через RDP
Во-первых, давайте попробуем это с RDP. Это лучший вариант, так как вы можете сделать больше с удаленным устройством. Например, графически интенсивные сеансы будут работать по RDP, но могут бороться с VNC. Linux имеет свое собственное программное обеспечение RDP, известное как xrdp.
- Программное обеспечение RDP установлено на вашем Raspberry Pi
- Приложение RDP на вашем устройстве Android
При подключении к Raspberry Pi через SSH введите следующее, чтобы обновить список пакетов и установить xrdp.
Запустите приложение, нажмите + кнопку, выберите рабочий стол, и введите имя ПК вашего Raspberry Pi. Это может быть имя хоста (обычно «raspberrypi») или IP-адрес. В поле Имя пользователя вы можете ввести свои учетные данные при каждом подключении (Введите каждый раз) или создать учетную запись в приложении (Добавить учетную запись пользователя). Некоторые дополнительные опции также доступны, но на этом этапе вам не нужно будет получать к ним доступ.
Нажмите Сохранить Когда вы закончите, добавьте соединение в свою коллекцию. Когда вы будете готовы установить соединение, нажмите на плитку. Вы будете предупреждены, что удаленный компьютер не может быть проверен, но это связано с операционной системой Linux вашего Pi. Вы можете нажать соединять.
Затем вы увидите экран входа в систему для xrdp. Просто введите имя пользователя и пароль своей обычной учетной записи Raspberry Pi (по умолчанию пи: малина, но вы должны изменить это
) и нажмите Хорошо.
Добавить соединение VNC для удаленного доступа
Чтобы это работало, вам понадобится:
- Программное обеспечение VNC-сервера, установленное на Raspberry Pi 3
- Программа просмотра VNC установлена на вашем устройстве Android
Когда вы будете готовы, установите сервер VNC. Хотя операционная система Raspbian Stretch поставляется с установленным RealVNC, она не так надежна, как TightVNC, которую мы здесь используем, и уже давно пользуется популярностью у энтузиастов Pi
, На вашем Pi обновите свои репозитории, затем установите TightVNC Server:
Подождите, пока это не завершится, затем используйте команду
настроить соединение VNC.
Обычно это автоматизировано, хотя вас попросят предоставить пароли; не забудь это! Запишите IP-адрес сеанса.
Затем найдите VNC-клиент для Android. Некоторые доступны, VNC Viewer от RealVNC идеально подходит.
После установки приложения и загрузки Pi откройте VNC Viewer и нажмите + создать новое соединение, используя IP-адрес и номер сеанса. Например, используя конфигурацию сети в предыдущем разделе, вы можете ввести
За IP-адресом следует номер сеанса. Обратите внимание на параметры, которые отображаются справа при нажатии Создайте.
Если вы решите продолжить, вам сообщат, что соединение не зашифровано. Примите соединение (вы должны быть в безопасности в вашей домашней сети), а затем введите пароль. Нажмите Продолжить когда вы будете готовы, и соединение откроется. Когда вы будете готовы завершить соединение, нажмите Икс.
При появлении запроса введите пароль и наслаждайтесь доступом к вашему Raspberry Pi через клавиатуру и планшет на Android в качестве дисплея!
Добавить простой Raspberry Pi Display с Android
Более того, благодаря клавиатуре и мыши, а также удобному зарядному устройству у вас есть возможность сделать Raspberry Pi полностью портативным. Наличие интернет-соединения через Android-соединение 4G также может оказаться бесценным. А сочетание Raspberry Pi с сенсорным экраном планшета обеспечивает еще большую мобильность.
Хотите узнать больше об использовании Raspberry Pi? Смотрите наше неофициальное руководство Raspberry Pi
Читайте также: