Page 1 sur 1

Multi ecran avec ecran tactile

Posté : lun. 10 avr. 2017 10:02
par blakesnake
Bonjour,

Je viens d'acheter un RBPi 3 avec l'écran tactile officiel afin de réaliser une console de contrôle (usage pro). Toutefois, j'aimerais bénéficier de 2 affichages en même temps: Un affichage de bureau sur un écran branché sur le HDMI, et des boutons de commande ou autre sur l'écran tactile (géré par un prog en Python).

Seulement, je n'arrive pas à afficher les 2 écrans en même temps. Est-ce que l'un d'entre vous a déjà réussi à utiliser ces 2 écrans en même temps. Je ne veux pas un clonage d'affichage, juste pouvoir controler indépendamment les 2 écrans.

Eventuellement, si c'est impossible, il probalement possible de passer par le SPI en remplacement du DisplayPort. Quels écrans tactiles de 7 pouces mini fonctionnent bien, selon votre expérience (facilité de programmation notemment)?

Re: Multi ecran avec ecran tactile

Posté : mer. 12 avr. 2017 21:29
par Manfraid
Salut. Pour le moment ce n'est pas possible d'avoir les deux affichage en même temps et je ne sais même pas si cela sera possible un jour. Je suis dans le même cas que toi et je ne trouve aucune information sur l'éventualité de la chose

Re: Multi ecran avec ecran tactile

Posté : mer. 12 avr. 2017 21:39
par Flachy Joe
Salut,
Une discussion sur le sujet est en cours ici : viewtopic.php?f=70&t=3517
La seule possibilité connue est évoquée là : viewtopic.php?f=70&t=3517&p=21732#p21732

Re: Multi ecran avec ecran tactile

Posté : mer. 26 avr. 2017 11:46
par blakesnake
Dans mon cas, il s'agit d'un programme spécifiquement concu pour s'afficher sur le touchscreen.

J'ai trouvé une solution avec Kivy en utilisant la variable d'environnement KIVY_BCM_DISPMANX.

Voici un exemple simple pour afficher un hello world sur le touchscreen tout en ayant l'environnement de bureau sur le HDMI:

import os
os.environ["KIVY_NO_ARGS"]="1"
os.environ["KIVY_BCM_DISPMANX_ID"]="4"
import kivy


from kivy.app import App
from kivy.uix.label import Label


class MyApp(App):

def build(self):
return Label(text='Hello world')


if __name__ == '__main__':
MyApp().run()