Comment changer de page d'affichage kiosque

Donc je dois créer 2 scripts sur le (PI serveur domotique ) c’est ce a quoi je penser (si tu peux me donner un exemple je suis preneur)
Mais dans le PI (écran de contrôle) il faut bien une 2e tâche ?
Car le chemin de kiosk et en dur sur le PI (écran de contrôle)

Oui c’est bien ça , sur le design chaque bouton change de page de design

Bon ok, tu as 2 Pi. Et tu veux que le Pi qui gère la domo puisse dire a Pi Écran de changer d’affichage pour X raison.
Alors si tu veux qu’un appareil parle avec l’autre, c’est le principe d’un API.

Je te suggère de regarder la réponse sur

Qui me semble désigné pour toi, car il reçoit une commande par le SSH pour bouger la souris et ainsi changer de page.

abréviatioin : PiD (Pi Domotique) PiÉ (Pi Écran).

Tu codes 2 scripts, l’un pour le design 1 et l’autre pour le design 2, qui seront sur PiD, chaque script possèdes les commandes pour naviguer en ligne de commande via SSH sur PiÉ pour bouger la souris et cliquer sur le design associé.

Sur PiÉ tu devras rien changer, sauf t’assurer d’avoir les outils pour permettre de bouger la souris en ligne de commande et d’autorisé le PD à ce connecter via SSH.

Ceci est le principe d’une utilisation d’une Interface de type API. ET dans ton cas, serais la solution la plus simple. Les coordonnées de l’écran sont des valeurs Fix (sauf si tu change de résolution).

Ok je vais creuser de ce côté

Alors j’ai installé Xdotool , j’ai essayé ceci :

#!/bin/sh
$equipement='monpi';  
$ip ='192.168.1.15';
$port ='22';
$user ='pi';
$pass ='*****';

$Command=export DISPLAY=":0"
xdotool mousemove 5 5
xdotool click 1

Quand je lance le script sur la domotique ,j’ai : Action exécutée avec succès mais rien ne bouge sur le Pié.

J’ai essayé aussi ça:
#!/bin/sh
$equipement=‹ monpi ›;
$ip =‹ 192.168.1.15 ›;
$port =‹ 22 ›;
$user =‹ pi ›;
$pass =‹ ecranbureau ›;
$action=$argv[1];
$ Command=export DISPLAY=":0" xset dpms force ’ . $action;
$ xdotool mousedown

et pas mieux .

avant de passer au script, essai de le faire en manuelle et voir si certains paramètre etc… sont requis. Des fois le diable ce cache dans les détails.

J’ai essayer plusieurs commande depuis putty
xdotool mousemove 5 5
xdotool click 1
mousemove_relative 10 10 etc…

Le diable est bien cacher

As tu essayé en sudo ?

Hello,
oui j’ai essayer en sudo
image

Bon j’ai réussi par putty en tapant : xdotool mousemove 100 100 , je ne sais pas pourquoi cela n’a pas fonctionner avant puisque j’ai déjà essayer cette commande .
Maintenant il faut que je trouve pour le clic souris car : xdotool clic 1 me donne
image

J’avance à petit pas

Tu comprend l’anglais, pcq le programme te parle…

Error: Can't open display: (null)
Failed creating new xdo instance

Faut tu lui dise sur quel écran tu veux qu’y bouge, parce que la il ne peux pas créer l’instance du mouvement.

xdotool: Unknown command: clic

La commande « clic » n’existe pas.

Oui j’avais pas fais attention ‹ clic › pour click

Me reste a trouver pour le script car j’ai essayé ça :
#!/usr/bin

$ip =‹ 192.168.1.15 ›;
$user =‹ pi ›;
$pass =‹ ecranbureau ›;
$port =‹ 22 ›;
$Command='export DISPLAY=:0 ; xset dpms force ’ . $action;

xdotool click 1

J’ai : Action exécutée avec succès mais rien ne ce passe sur l’écran
Donc je veux bien un ti coup de pouce car je sais pas du tous comment faire

Bon, ce « script » manque des actions, tu défini des valeur, mais tu passe aucune commande.
Si les paramètre ne change pas, code en dur, comme ça tu évitera les problème relié, au cas ou, à l’interprétation de tes valeurs.
Commence avec

#!/bin/bash

Par la suite, chaque ligne ta commande, si tu as besoin d’une pause, comme le délais entre la demande de connexion et passer une autre commande, ajoute;

sleep 2s

Mais voici un code, à éditer, qui va ralentir ton script et passer les commandes dans l’application SSH.

while read x ; do sleep 2s ; echo $x ; done <<eof | ssh 192.168.1.15 -p 22 -l pi
ecranbureau
export DISPLAY=:0 ; xset dpms force <action en dure ici>
xdotool click 1
eof

Ce script va passer chaque commande et attendre 2s entre les actions, comme ça tu laisse un délai de traitement de l’info, vu que tout n’est pas instantané., tu doit garder le « <<eof » qui indique un début de travail dans un process et le « eof » qui est la fin de cette demande.
Le processus de délai commence avec « ssh 192.168.1.15 -p22 -l pi » qui initialise la connexion en SSH.
La première fois tu devra peut-être le faire en manuel, pour accepter le certificat SSH et le garder permanent. (avec yes, avant le login prompt du SSH)

Donc je fais comme ça:

#!/bin/bash
while read x ; do sleep 2s ; echo $x ; done <<eof | ssh 192.168.1.15 -p 22 -l pi
ecranbureau
export DISPLAY=:0 ; xset dpms force <action en dure ici>
xdotool click 1
eof

résultat:

As tu éditer le <action en dure ici> ?

Bon je viens d’essayé plusieurs chose mais je ne comprend pas le action en dure ici
Excuse moi mais je suis pas dev

Quand ont parle de codé en dure, c’est que le code n’est pas dynamique, ne contient pas de valeur définissable;

$val = "value"
echo "$val" 

c’est codé en dynamique

echo "value"

La c’est codé dur

l’idée est d’adapter le code fournis (par moi ou sur un guide/forum) selon TES besoins, d’habitude pour définir de quoi que tu doit modifier dans un code fournis ou ajoute un < en avant et > en arrière d’un petit texte disant quoi faire, mais reste que je donne les grandes lignes, si il manque quelque chose ou que quelque chose n’est pas la bonne valeur/commande, c’est à toi de voir et de corriger.

Je te conseille fortement de ne pas simplement copier coller les codes qu’ont te fournis mais de tenter d’analyser ces quoi qu’ont te montre. Parce que un petit génie pourrais facilement te créer une commande un peu « encoder » qui rendrai ton système vulnérable (mais moi j’ai autre chose à faire que hacker :P). Bref, analyse les commandes qu’ont te donne, pour voir si ça la du sens, et surtout si elle est confirme à TA configuration et en comprendre leur utilité.

Ok , je te remercie pour l’aide que tu ma apporté .