Несколько экранов

16

Я хочу создать мини-мультимедийную систему на базе Raspberry Pi B +, которая имеет 2 экрана:

  1. Основной экран (как у 42 "светодиодного телевизора), который воспроизводит основное видео в формате Full HD.
    • HDMI
    • RCA / AV / композитный
  2. Сенсорный экран управления (например, 3 ~ 8 "TFT / LCD / ...), который отображает список доступных видео, подробности текущего воспроизводимого видео на главном экране, а также некоторые параметры и графические значки, чтобы выбрать, какое видео вы хочу играть на главном экране телевизора.

    • HDMI
    • RCA / AV / композитный
    • USB
    • GPIO (параллельный или последовательный)
    • DSI
    • , , , ,

    Я искал много на этом на нескольких разных форумах; часто отмечалось, что после подключения HDMI RCA отключается, или наоборот (это правда?). Если предположить, что это правильно, то единственными параметрами протокола для экрана управления являются USB, GPIO и DSI.

Теперь мои вопросы таковы:

  1. Можно ли иметь 2 разных содержимого дисплея, используя только 1 Raspberry Pi B +?
  2. Если да, какой протокол лучше всего подходит для сенсорного экрана управления? (HDMI / RCA / USB / GPIO / DSI / ...).

    И как мне справиться с этим одновременным отображением содержимого?

  3. Если нет, что вы предлагаете мне сделать?

    Есть ли другие варианты, кроме как использовать 2 платы Raspberry Pi B +?

Большое спасибо за ваше время и помощь. Это высоко ценится.

Omid1989
источник
2
Как вы уже поняли, если вы подключите второй экран к чему-то другому, кроме HDMI или RCA, вы сможете использовать оба. Это подтверждается raspberrypi.org с использованием дополнительного адаптера VGA для моделей с 40 контактами +.
Златовласка
Спасибо @goldilocks за ваш комментарий. Я видел про VGA-адаптер Gert и другие подобные вещи. Но моя главная проблема заключается в следующем: как я могу управлять этими двумя экранами для отображения различного содержимого? С чего мне начать? Извините, что задаю простые вопросы, но я совершенно новичок в pi и linux!
Omid1989
2
Вы не сможете начать, пока не примете решение и не получите два экрана. После этого все должно быть довольно просто, но любые вопросы по этому поводу являются общими для Linux и относятся к Unix & Linux Exchange . Если вы будете искать "Linux X Dual Monitor", вы найдете вещи. По умолчанию, вероятно, вы получите одно и то же на обоих экранах, но X можно настроить так, чтобы они обрабатывались по-разному. Они могут иметь или не иметь отдельные кадровые буферы (что может иметь или не иметь значения, в зависимости от того, что вы хотите сделать).
Златовласка
Еще раз спасибо @goldilocks за ваш полезный комментарий. Не могли бы вы дать краткое описание того, что такое "framebuffer" и "X"? Я уже искал о них, но просто запутался!
Omid1989
2
Википедия обычно неплохо справляется с подобными вещами. X, точнее, сервер Xorg является базовым уровнем обычного рабочего стола с графическим интерфейсом ( lxdeработает поверх этого). Фреймбуфера могут быть использованы для выполнения графических вещей вне X (например , на пи, omxplayerиспользует его). Если вам нужен обычный двуглавый рабочий стол, вам не нужно об этом беспокоиться.
Златовласка

Ответы:

8

Raspberry Pi Foundation недвусмысленно заявляет, что адаптер VGA на разъеме GPIO «означает, что вы можете использовать его в качестве дополнительного монитора наряду с HDMI» ( отсюда ). Вы наверняка должны быть в состоянии сделать это через USB; для доказательства того, что пи работает многоголовым, см. комментарии ниже. Исключением, конечно, является попытка использовать видео HDMI и RCA одновременно. Я предполагаю, что это ограничение связано с тем, что графический процессор может обрабатывать только один выход. То, что USB-видео не может использовать графический процессор, также является предположением, но я вполне уверен в этом; PiTFT и другие сенсорные экраны на базе GPIO также не могут использовать его напрямую. Это на самом деле хорошо, если вам нужны двойные головки, потому что это означает, что должно быть две совершенно разные видеосистемы, и Linux берет их оттуда.

Если вы запускаете два дисплея под X, они, вероятно, будут зеркально отражены по умолчанию, но другие схемы могут быть легко настроены. Я не уверен в возможности запуска X на одном мониторе и консольного кадрового буфера на другом или двух кадровых буферов. Хотя последнее возможно, оно может быть неприменимо ко всем настройкам.

Златовласка
источник
Спасибо @goldilocks за ваш ответ. На самом деле, я уже нашел ответ на свой вопрос на официальном форуме Raspberry Pi. Кто-то делал это раньше, даже на 3 мониторах, сначала отредактировав ядро, а затем создав 3 кадровых буфера. Дополнительную информацию можно найти здесь: raspberrypi.org/forums/viewtopic.php?p=661085#p661085
Omid1989,
1
Спасибо вам , - я мог бы использовать это , чтобы подтвердить некоторые из моих предположений выше. Я добавил это частично, потому что кто-то только что задал вопрос, похожий на тот, который я здесь перенаправил, так как по философии SE мы не хотим, чтобы 15 различных потоков вопросов и ответов были более или менее одинаковыми («Могу ли я запустить несколько дисплеев? «). Вы также можете подробно ответить на свой вопрос, если вам нравится / когда это работает.
Златовласка
Хотя я читал эту тему на официальном форуме Raspberry Pi, я не мог полностью понять ответ, потому что я не очень хорошо знаком с такими терминами, как ядро, фреймбуфер и т. Д. Поэтому я был бы благодарен, если вы обобщите этот ответ и опубликуете пошаговое руководство здесь; так что я могу выбрать его как лучший ответ здесь. Спасибо за миллиард за ваше время и помощь @goldilocks. Я действительно ценю это.
Omid1989
@goldilocks А как я могу переключиться с ЖК-экрана на экран HDMI (не обязательно запускать в то же время)? Я задал вопрос здесь .
Ионика Бизэу
Уважаемые @goldilocks, теперь, когда фонд RaspberryPi наконец выпустил свой официальный экран, возможно, мы сможем найти лучший ответ на этот популярный вопрос. Это может помочь многим энтузиастам. С нетерпением жду Вашего ответа.
Omid1989
0

OP не предоставил достаточно информации о программном обеспечении, используемом для выбора видео и т. Д. Поэтому я подозреваю, что желательно, чтобы X работал одновременно на двух экранах, один из которых контролировал другой. В этом случае ответ "нет", насколько я могу определить

Для других многоэкранных функций, вот краткое изложение того, что я сделал:

1) На первом Rpi с 3,5-дюймовым сенсорным экраном я могу подключить экран HDMI и использовать его в качестве символьного терминала, нажав Ctrl-Alt-F2. 3,5-дюймовый экран зависает, и вы можете выполнять все необходимые команды на HDMI, используя ту же клавиатуру и мышь. Чтобы вернуться к 3,5-дюймовому экрану, нажмите Ctrl-Alt-F7.

2) На моем другом Rpi он загружается с HDMI в X. Затем, используя PuTTY (символ) или Remote Desktop (Graphic) или TightVNC (Graphic), я могу запустить и запустить второй экран, который невидим на HDMI. Обычная клавиатура и мышь продолжают работать на HDMI. Я использую Bluetooth для получения звука, так как мой монитор только для экрана.

Клавиатура и мышь ПК работают в программе удаленного доступа. Безусловно, мой любимый - это удаленный рабочий стол, но TightVNC упрощает передачу файлов.
Во всех случаях вам, скорее всего, также понадобится запустить FileZilla для переносов, особенно если ваш управляющий ПК сам по себе является двойным монитором.

Что касается вопроса ОП, то единственный способ управлять загрузочным HDMI из программ удаленного доступа - это функции камеры. Но есть одна оговорка.

ЗДЕСЬ РУБ. Когда вы используете функции камеры, такие как raspivid, raspistill и т. Д., Она ВСЕГДА отображается на выходе HDMI. И это даже не достаточно вежливо, чтобы перейти на полный экран, что означает, что вы все еще можете видеть свой рабочий стол X за ним. Кажется, он подходит к дисплею сверху вниз, а затем, когда функции камеры завершатся, HDMI либо вернется на рабочий стол, либо станет черным, если вы превысили обычное время бездействия, при котором экран не отображается.

3) Я также загрузил свой другой Rpi на 60-дюймовый экран, чтобы показать некоторые трюки семье, и просто принял тот факт, что они могли видеть, как я вызываю функции. Я просто оставляю небольшое окно терминала открытым (в центре экрана, чтобы поверх него накладывались видео), где у меня есть несколько сценариев BASH для выдачи любых необходимых мне команд (например, чтобы показать им мой последний интервал времени или критиков Датчик движения камеры NoIR попал во двор ночью), а командная часть прошла над головой. Они просто смотрели видео.

Если вы используете графический интерфейс в своей программе выбора музыки, тем лучше, потому что тогда они увидят, что вы делаете. Тогда они могут оооооооооооооооооооочень сделать из такого крошечного компьютера все это, гений, какой ты есть.

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

SDsolar
источник
0

Только что нашел короткое видео, которое показывает, как этот парень смог поддерживать два монитора, меняя вещи в ядре. Я не могу комментировать это, кроме как просто перечислить ссылку:

https://www.youtube.com/watch?v=dTcU5YSq-Ww

SDsolar
источник
Добро пожаловать в Raspberry Pi! Хотя это может теоретически ответить на вопрос, было бы предпочтительным включить здесь основные части ответа и предоставить ссылку для справки.
Стив Робиллард
Понял. Это было выше моего уровня знаний. Все же относился к ОП.
SDsolar 21.09.16
Или, скорее, вставил этот комментарий на вопрос ОП.
Петр Кула
0

Есть один способ, но вы должны сделать небольшой ручной труд для этого. На официальном сайте pi Foundation было заявлено, что omxplayer подходит для двойного вывода звука, но вы должны сделать это из командной строки. Просто введите следующую команду: omxplayer --display = 5 [ИМЯ ФАЙЛА]

Эта команда позволит вам воспроизводить видео на выходе HDMI с одновременным использованием сенсорного экрана.

Майянк синха
источник
0

Это возможно, если вы используете фреймворк Kivy. Вы сможете кодировать свой пользовательский интерфейс в python (для сенсорного экрана), а затем воспроизводить видео независимо через выход HDMI.

Базовый пример структуры кода на RPi3 с официальным 7-дюймовым сенсорным экраном можно найти здесь .

Neex
источник