Várias telas de exibição

16

Quero construir um mini sistema multimídia baseado no raspberry pi B +, que possui 2 telas:

  1. A tela principal (como uma TV LED de 42 "), que reproduz o vídeo principal em Full HD.
    • HDMI
    • RCA / AV / Composto
  2. A tela de toque de controle (como um TFT / LCD de 3 a 8 "/ ...), que exibe a lista de vídeos disponíveis, detalhes do vídeo atualmente sendo reproduzido na tela principal e algumas opções e ícones gráficos para escolher qual vídeo você deseja ser reproduzido na tela principal da TV.

    • HDMI
    • RCA / AV / Composto
    • USB
    • GPIO (paralelo ou serial)
    • DSI
    • . . . .

    Eu pesquisei bastante sobre isso em vários fóruns diferentes; observou-se frequentemente que, quando o HDMI é conectado, o RCA é desligado ou vice-versa (é verdade?). Supondo que isso esteja correto, as únicas opções de protocolo para a tela de controle são USB, GPIO e DSI.

Agora minhas perguntas são as seguintes:

  1. É possível ter 2 conteúdos de exibição diferentes usando apenas 1 raspberry pi B +?
  2. Se sim, qual protocolo é melhor para a tela de toque de controle? (HDMI / RCA / USB / GPIO / DSI / ...).

    E como devo lidar com esses conteúdos de exibição simultâneos?

  3. Se não, o que você sugere que eu faça?

    Existem outras opções além de usar duas placas raspberry pi B +?

Muito obrigado pelo seu tempo e ajuda. É muito apreciado.

Omid1989
fonte
2
Como você deduziu, se anexar a segunda tela a algo diferente de HDMI ou RCA, poderá usar as duas. Isso é confirmado pelo raspberrypi.org usando um adaptador VGA complementar para os modelos de 40 pinos +.
goldilocks
Obrigado @goldilocks pelo seu comentário. Eu vi sobre o adaptador Gert VGA e coisas relacionadas. Mas minha principal preocupação é a seguinte: como posso lidar com essas duas telas para exibir conteúdos diferentes? Por onde devo começar? Desculpe fazer perguntas simples, mas sou completamente novo no pi e no linux!
precisa saber é o seguinte
2
Você não poderá iniciar até tomar uma decisão e ter as duas telas. Depois disso, deve ser bem simples, mas qualquer dúvida sobre o Linux é geral e pertence ao Exchange Unix e Linux . Se você procurar "monitores duplos linux X", encontrará coisas. Por padrão, o que provavelmente acontecerá é que você terá a mesma coisa nas duas telas, mas o X pode ser configurado para tratá-las de maneira diferente. Eles podem ou não ter buffers individuais (que podem ou não ser importantes, dependendo do que você deseja fazer).
goldilocks
Mais uma vez obrigado @goldilocks pelo seu comentário útil. Você poderia fazer uma breve descrição do que são "framebuffer" e "X"? Eu já procurei sobre eles, mas fiquei confuso!
precisa saber é o seguinte
2
A Wikipedia geralmente faz um trabalho decente com esse tipo de coisa. X, mais apropriadamente, o servidor Xorg é a camada base da área de trabalho da GUI normal ( lxdeé executada em cima disso). O framebuffer pode ser usado para fazer coisas gráficas fora do X (por exemplo, no pi, omxplayerusa-o). Se você quer apenas um desktop de duas cabeças normal, não precisa se preocupar com isso.
goldilocks

Respostas:

8

A Raspberry Pi Foundation afirma inequivocamente que um adaptador VGA no cabeçalho GPIO "significa que você pode usá-lo como um monitor secundário ao lado de HDMI" ( daqui ). Você certamente deve conseguir fazer isso via USB; para obter evidências da execução múltipla do pi, consulte os comentários abaixo. A exceção, é claro, está tentando usar o vídeo HDMI e RCA simultaneamente. Eu acho que essa limitação tem a ver com a GPU apenas poder lidar com uma saída. O vídeo USB não pode usar a GPU também é uma suposição, mas tenho certeza; o piTFT e outras telas sensíveis ao toque baseadas em GPIO também não podem usá-lo diretamente. Isso é realmente bom se você quiser cabeças duplas, porque significa que deve haver dois sistemas de vídeo completamente separados e o Linux o leva a partir daí.

Se você executar dois monitores no X, eles provavelmente serão espelhados por padrão, mas outras disposições poderão ser configuradas facilmente. Não tenho certeza sobre a possibilidade de executar o X em um monitor e o buffer de quadros do outro, ou de executar dois buffer de quadros. Embora o último seja possível, pode não ser aplicável a todas as configurações.

Cachinhos Dourados
fonte
Obrigado @goldilocks pela sua resposta. Na verdade, eu já encontrei a resposta para minha pergunta no fórum oficial do raspberry Pi. Alguém já fez isso antes, mesmo em 3 monitores, editando primeiro o kernel e depois criando 3 framebuffers. Mais informações podem ser encontradas aqui: raspberrypi.org/forums/viewtopic.php?p=661085#p661085
Omid1989
1
Graças a você - eu poderia ser capaz de usar isso para confirmar alguns dos meus outros pressupostos acima. Eu adicionei isso parcialmente porque alguém acabou de fazer uma pergunta semelhante a essa que eu redirecionei aqui, pois, pela filosofia da SE, não queremos 15 threads de perguntas e respostas diferentes sobre mais ou menos a mesma coisa ("Posso executar vários monitores? "). Você também pode responder sua própria pergunta em detalhes, se quiser / quando conseguir isso.
goldilocks
Embora eu tenha lido esse tópico no fórum oficial do raspberry pi, não consegui entender a resposta completamente, porque não estou muito familiarizado com termos como kernel, framebuffer etc. Então, ficaria agradecido se você resumisse essa resposta e publicasse uma resposta. tutorial passo a passo aqui; para que eu possa escolher como a melhor resposta aqui. Agradecemos um bilhão pelo seu tempo e ajudem @goldilocks. Eu realmente aprecio isso.
precisa saber é o seguinte
@goldilocks E como posso mudar da tela de lcd para hdmi (não é obrigatório executar ao mesmo tempo)? Eu fiz uma pergunta aqui .
Ionică Bizău
Caro @goldilocks, agora que a fundação RaspberryPi finalmente lançou sua tela oficial, talvez possamos providenciar uma resposta melhor para essa pergunta popular. Pode muito bem ajudar muitos entusiastas. Estou ansioso para ouvir de você.
Omid1989 #
0

O OP não forneceu informações suficientes sobre o software usado para selecionar vídeos etc. Por isso, suspeito que o desejo é ter o X sendo executado em duas telas ao mesmo tempo, com uma controlando a outra. Nesse caso, a resposta é não, tanto quanto eu posso determinar

Para outras funções de tela múltipla, aqui está um rápido resumo do que eu fiz:

1) No primeiro Rpi com a tela sensível ao toque de 3,5 polegadas, posso conectar uma tela HDMI e usá-la como um terminal baseado em caracteres pressionando Ctrl-Alt-F2. A tela de 3,5 "congela e você pode executar todos os comandos desejados no HDMI usando o mesmo teclado e mouse. Para retornar à tela de 3,5", pressione Ctrl-Alt-F7

2) No meu outro Rpi, eu o inicializo no HDMI no X. Em seguida, usando PuTTY (personagem) ou Área de trabalho remota (Gráfico) ou TightVNC (Gráfico), posso ter uma segunda tela em funcionamento invisível na tela. HDMI. O teclado e o mouse normais continuam trabalhando no HDMI. Eu uso o Bluetooth para obter som, pois meu monitor é somente tela.

O teclado e o mouse do PC funcionam no programa de acesso remoto. De longe, o meu favorito é a Área de Trabalho Remota, mas o TightVNC facilita a transferência de arquivos.
Em todos os casos, é provável que você também deseje ter o FileZilla em execução para transferências, especialmente se o seu PC de controle for o próprio monitor duplo.

Mais relacionado à pergunta do OP, a única maneira que encontrei para controlar a inicialização HDMI dos programas de acesso remoto é através das funções da câmera. Mas há uma ressalva.

AQUI ESTÁ O RUB: Sempre que você usa as funções da câmera, como raspivid, raspistill, etc., SEMPRE é exibido na saída HDMI. E nem é educado o suficiente para ir para tela cheia, o que significa que você ainda pode ver a área de trabalho do X por trás dela. Parece caber na tela de cima para baixo; quando as funções da câmera terminarem, o HDMI voltará para a área de trabalho ou ficará preto se você excedeu o tempo de inatividade normal que apaga a tela.

3) Também iniciei meu outro Rpi em uma tela de 60 polegadas para mostrar alguns truques para a família e simplesmente aceitei o fato de que eles podiam me ver invocar as funções. Eu apenas mantenho uma pequena janela de terminal aberta (no centro da tela para que os vídeos se sobreponham) até onde eu tenho alguns scripts BASH para emitir os comandos que eu precisar (como mostrar a eles o último intervalo de tempo ou as O sensor de movimento da câmera NoIR ficou preso no quintal à noite) e a parte de comando passou por cima de suas cabeças. Eles apenas assistiram os vídeos.

Se você estiver usando uma interface gráfica no seu programa de seleção de músicas, tanto melhor, porque eles verão o que você está fazendo. Então eles podem falar sobre como você pode fazer um computador tão pequeno fazer tudo isso, gênio que você é.

Mas para um resultado final em relação à pergunta, sinto que o OP está pensando mais ao longo das linhas de um ambiente de apresentação de negócios. Eu afirmo que, nesse caso, não há substituto real para um notebook pequeno que possa lidar com monitores duplos.

SDsolar
fonte
0

Acabei de encontrar um pequeno vídeo que mostra como esse cara conseguiu suportar dois monitores alterando as coisas no Kernel. Não posso comentar sobre isso além de simplesmente listar o link:

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

SDsolar
fonte
Bem-vindo ao Raspberry Pi! Embora isso possa teoricamente responder à pergunta, seria preferível incluir aqui as partes essenciais da resposta e fornecer o link para referência.
Steve Robillard
Entendido. Estava além do meu nível de conhecimento. No entanto, era pertinente ao OP.
SDSolar 21/09/16
Ou melhor, colamos um comentário sobre a pergunta do OP.
Piotr Kula
0

Existe uma maneira, mas você precisa fazer um pouco de trabalho manual para isso. Foi declarado no site oficial da fundação pi que o omxplayer é adequado para saída de áudio dupla, mas você deve fazer isso na linha de comando. Basta digitar o seguinte comando: omxplayer --display = 5 [FILE PATHNAME]

Este comando permite reproduzir vídeos na saída HDMI usando simultaneamente a tela sensível ao toque.

Mayank sinha
fonte
0

Isso é possível se você usar a estrutura Kivy. Você poderá codificar sua interface do usuário em python (para a tela sensível ao toque) e reproduzir vídeos de forma independente por meio da saída HDMI.

Para um exemplo básico da estrutura de código em um RPi3 com a tela de toque oficial de 7 ", acesse aqui .

Neex
fonte