Closed tchoul closed 7 years ago
Bon par contre je n'est pas trouvé pour l'instant pour l'utiliser sur un tablette
Je peux pas t'aider la dessus pour le moment.
Pense tu que je puisse changer le visage de Jarvis à distance quand l'esclave passe en conversation etc... ?
Il faudrait que tu m'expliques un peu mieux comment sont configurés ton maitre et ton esclave... Les hooks sont exécutés sur le raspberry pi ou est déclenché l'évènement. Donc par exemple, mettons sur le plugin est installé sur les 2 instances:
start_listening
et stop_listening
seront exécutés sur le maitrestart_listening
et stop_listening
seront exécutés sur l'esclavestart_speaking
et stop_speaking
seront exécutés sur l'esclave (celui qui parle).Si tu veux vraiment que toutes les animations se fassent sur le raspberry pi esclave par exemple, c'est théoriquement possible. Il faut que dans les hooks du Maître tu fasses exécuter les hooks du plugin Face sur le Raspberry Pi esclave (ex: ssh) pour afficher les animations. Mais il te faudra préalablement charger les librairies Jarvis et fonctions du plugin Jarvis-Face (et donc "sourcer" les hooks du plugin). Pas évident pour qqun qui ne maîtrise pas le bash / code de Jarvis...
J'attends quand même tes retours sur l'utilisation "normale" du plugin 😄
@Jean-Bernard-Hallez j'ai vu un mail de toi à propos d'un pb avec ton écran 3,5" mais tu as du le supprimer. Tu as sûrement du réalisé que tu pouvais changer la taille de la fenêtre dans la config du plugin, cela à-t-il résolu ton pb?
A tous, n'hésitez pas à joindre des photos 👍
Et coucou... oui j'ai quasiment solutionné mon problème, mais il n'est pas afficher à 100% sur mon écran, il reste une bordure, ce qui n'est pas esthétique et le Gif est décalé vers le bas... lol
pg_face_theme="cortana" # folder name in plugins/jarvis-face/faces/
pg_face_size="480x320" # empty for gif size, 640x480 for fixed size (use for fullscreen)
pg_face_x_offset="-5" # +X: Xpx from left, -X: Xpx from right
pg_face_y_offset="-5" # +Y: Ypx from top, -Y: Ypx from bottom
pg_face_hide_cursor=true # true to hide mouse pointer when not moved
pg_face_display_num=":0" # sometimes is :1, find using w
command, TTY column
@alexylem Faudra que je regarde si j'arrive à le faire pour les hooks, je vais me renseigner, cela me permettrais aussi d'avoir le retour sonore sur le Jarvis maitre quand l'esclave passe en listening.
Pour le moment j'ai mon Jarvis maitre sur le même pi que ma Jeedom et l'esclave qui ne sert que de micro déportée (sans enceinte ni écran), d'ou ma volonté de faire déclencher les hooks du Jarvis maitre sur lequel serait l'écran pour avoir un retour visuel comme si ce n'était que un seul et unique Jarvis dans la pièce.
J'ai pas encore eu le temps de tester le plugin mais je te ferais un retour bien entendu, en tout cas tes vidéo donne super bien !
Il y a que un truc auquel je n'avais pas pensé (encore un décidément), c'est que vu que mon Jarvis maitre est sur le même pi que ma Jeedom, si je branche l'écran dessus je temps sur la console et les Gifs ne s'affichent donc pas... Faut que je réfléchisse à comment faire tout ça.
En tout cas merci pour ton travail, ton implication et tes réponses. Malgré tout ça mérite d'être souligné. Chapeau pour tout ça !
@Jean-Bernard-Hallez
mais il n'est pas afficher à 100% sur mon écran
C'est à cause de la bordure? Ou du "menu démarrer" ? Une photo/capture d'écran?
il reste une bordure
Pour ça j'ai 2 solutions:
gifview
(de gifsicle
) par animate
(de imagemagick
). La dépendance est un peu plus lourde mais elle permet d'afficher le gif en vrai plein écran, sans bordure (il y a toujours la barre de titre par contre).openbox
:
nano ~/.config/openbox/lxde-pi-rc.xml
et insère ceci juste avant </applications>
:
<application name="gifview">
<decor>no</decor>
<shade>no</shade>
</application>
puis recharge openbox
:
openbox --reconfigure
PS: il y a d'autres paramètres au sein de <application>
avec lesquels tu peux jouer:
<position>
<x>center</x>
<y>center</y>
</position>
<fullscreen>no</fullscreen>
Comme il n'est pas à la portée de tous de faire ca... je réfléchis vraiment à la solution 1.
@alexylem J'ai fais la modif de openbox... ca fait exactement pareil voir photo en pièce jointe sur ce lien: https://github.com/Jean-Bernard-Hallez/jarvis-testjb/blob/master/jarvis-tete-bug.jpg Comme tu peux voir le gif est plus bas que l'écran et c'est la bordure de la fenêtre gif que l'on voit...
@Takanato
si je branche l'écran dessus je temps sur la console et les Gifs ne s'affichent donc pas...
Tu veux dire tu "tombes" sur la console? Jeedom ne tourne pas sur un environment Desktop? Ca doit valoir le coup d'essayer quand même d'installer Pixel (regarde les instructions sur la page du plugin), si Jeedom est un serveur il doit pouvoir tourner aussi en environment graphique.
Oui pardon erreur de frappe (ou de tête en l'air plutôt) je voulais bien dire "tombes".
Jeedom possède une interface Web joignable par l'adresse IP (comme ton plugin UI) mais ne tourne pas sur un environnement Desktop (sauf erreur de ma part).
Je vais essayer dés que j'ai le temps dans la semaine d'installer Pixel et je te fais un retour.
Ecran reçu aujourd'hui, installation nickel. J'ai tenté une petite modif rapide des animations pour voir si c'était simple à mettre en place. Il reste encore des choses à faire mais pour le moment ça donne ça :
Reste à encastrer l'écran dans la structure lego et à acheter un micro plus performant.
En tout cas merci pour le travail :+1:
@alexylem Bon j'ai pu essayer, et après installation de Pixel sur mon raspberry Jeedom/Jarvis tout fonctionne nickel (après quelques déboire pour la sortie audio qui ne fonctionnait plus).
Plugin génial qui fonctionne parfaitement, à un détail prêt : J'utilise un grand écran sur lequel je voulais que le visage soit afficher en grand, ou au moins à la même taille mais centré dans la fenêtre qui prend tout l'écran. Sauf que si je change la taille de la fenêtre voici ce que j'ai :
Comment y remédier ?
Merci d'avance (malgré ce petit détail c'est super !)
@MulhollandDr génial!! tu as réussi à modifier l'animation comme ca? t'as toujours les mouvements? Je cherche des gens doués en animation pour designer le futur visage de Jarvis officiel (pke la c'est quand même un plagiat....). Peut-être un raspberry pi à la clé, j'y pense 😄
@Takanato oui je suis au courant c'est le pb de gifsicle
. Voir https://github.com/kohler/gifsicle/issues/59
3 solutions:
"Quick & dirty" Ne mets pas la fenêtre en taille maximum, mais plutôt centrée sur l'écran avec fond noir
Redimensionner Redimensionne toutes les images pour qu'elles fassent la taille de ton écran. Je peux automatiser ca dans Jarvis au lancement du plugin.
comme je le disais plus haut:
Je pense remplacer gifview (de gifsicle) par animate (de imagemagick). La dépendance est un peu plus lourde mais elle permet d'afficher le gif en vrai plein écran, sans bordure (il y a toujours la barre de titre par contre).
Ok désolé j'avais pas vu l'information autant pour moi.
Bon je vais essayer les deux solutions et voir ce que ça donne, si la redimension donne bien ça peut être pas mal !
Je vais regarder aussi car ya pas d'animation pour l'état speaking, je vais voir pour mettre l'animation en forme de bulle quand il parle (à la dessin animé).
En tout cas c'est réactif et fluide !!!!!
@alexylem Alors oui l'animation est la même que l'originale (donc mêmes mouvements) j'ai juste appliqué différents filtres/traitements aux images et nettoyer un peu les parasites.
Sinon, entièrement d'accord, c'est du plagiat complet et ça ne me satisfait qu'à moitié aussi. En fait j'ai fait ça assez rapidement pour tester les possibilités (j'avais jamais fait de GIF avant). L'étape suivante c'est la personnalisation complète et autant je pense m'en sortir avec l'animation autant mon vrai problème c'est le dessin. Mais je planche dessus.
Pour ce qui est du visage officiel, je pense pas être au niveau mais je peux toujours essayer. Est ce que tu as une idée de ce que tu voudrais ?
Pour ce qui est du visage officiel, je pense pas être au niveau mais je peux toujours essayer. Est ce que tu as une idée de ce que tu voudrais ?
Je pensais à un truc très simple pour commencer, peut-être juste 2 yeux un peu comme le robot Cozmo. J'ai lancé une nouvelle issue pour en discuter ici: https://github.com/alexylem/jarvis-face/issues/1
@Takanato Tu peux me dire ce que ca donne pour les solutions proposées? On est toujours en phase bêta et j'attends vos retour pour l'améliorer. Pour l'état speaking il n'y a pas d'animation car je trouvais pas ca top. Mais je peux la remettre. Je pensais rajouter dans la config des options pour activer / désactiver chaque animation par état. Vous en pensez quoi?
@alexylem justement j'etais entrain de tester tout ça.
Bon sur un grand écran la redimension est pas top, ça a assez du mal à afficher les gif et c'est pas fluide (en faisant une redimension en fois 2). Du coup j'ai opté pour mettre la fenêtre au centre et le fond d'écran en noir pour le moment. Mais si tu change pour pouvoir mettre en plein écran je suis preneur aussi ^^
Pour le star speaking je l'ai mis manuellement en enlevant le commentaire, moi j'aime bien mais je peut comprendre que tu ne soit pas fan. Une option pour activer/désactiver les animations par état dans la configuration me semble être une excellentte idée pour ma part!
Et malheureusement je suis beaucoup trop nul en dessin pour t'aider sur la création d'un visage officiel même si ça aurait été avec plaisir!
Me reste plus qu'à me pencher sur comment sourcer les hooks de mon maître dans l'esclave pour qu'il puisse déclencher le visage ^^
@alexylem Oui, tu as bien répondu à ma question. Je cherchais à savoir comment le choix des animations se fait, car je prévois avoir un agent émotionnel dans mon installation, donc je dois arriver à changer les visages selon un input qui va sélectionner l'émotion à afficher. Je prévoyais aussi changer les animations pour quelque chose exactement dans le genre de ce que tu proposes aujourd'hui, sois deux yeux un peu comme ceux de Cozmo. Pour ce qui est de faire l'animation, j'ai peut-être une amie à qui je voulais demander comment on fait une animation inspirée de ce que j'ai trouvé sur un vieux projet. Je mentionne que dans ce projet, les animations étaient en Python.
En cherchant sur Cozmo, j'ai trouvé un peu de code relatif aux animations et au CV sur le GitHub de la compagnie. Peut-être que ça peut inspirer quelqu'un.
Pour la création du nouveau visage on continue la discussion ici: https://github.com/alexylem/jarvis-face/issues/1
On garde ce ticket pour la gestion des options, plein écran, etc...
@Takanato
Une option pour activer/désactiver les animations par état dans la configuration me semble être une excellentte idée pour ma part!
Je fais ca de suite
@Takanato Voilà c'est fait, mets à jour (il faudra refaire la config désolé)
@alexylem Je viens juste de pouvoir tester, ça marche nikel !
@alexylem bonjour, j'ai pris du retard ces derniers temps... j'en profite donc d'avoir une petite pause pour envoyer en photo mon bug avec Face: https://github.com/Jean-Bernard-Hallez/jarvis-testjb/blob/master/Face_bug.zip
Il y a 3 photos:
voilà... Merci en tout ca pour tout...
@Jean-Bernard-Hallez @Takanato oui je suis au courant c'est le pb de gifsicle
. Voir https://github.com/kohler/gifsicle/issues/59
3 solutions:
"Quick & dirty" Ne mets pas la fenêtre en taille maximum, mais plutôt centrée sur l'écran avec fond noir
Redimensionner Redimensionne toutes les images pour qu'elles fassent la taille de ton écran. Je peux automatiser ca dans Jarvis au lancement du plugin.
comme je le disais plus haut:
Je pense remplacer gifview (de gifsicle) par animate (de imagemagick). La dépendance est un peu plus lourde mais elle permet d'afficher le gif en vrai plein écran, sans bordure (il y a toujours la barre de titre par contre).
Je peux essayer de mettre imagemagick sur la branche beta de Jarvis (Settings > General > Branch) comme ca vous pourriez tester, ca vous dit?
Je peux essayer de mettre imagemagick sur la branche beta de Jarvis (Settings > General > Branch) comme ca vous pourriez tester, ca vous dit?
En fait non car c'est un plugin, la beta branch ne s'applique qu'à Jarvis core. Je vais faire des tests avec imagemagick avant de le changer pour tout le monde...
@Jean-Bernard-Hallez @Takanato
Voilà j'ai mis à jour le plugin pour utiliser imagemagick
. Il vous faut réinstaller le plugin pour installer automatiquement imagemagick
:
Voici ce que ca donne chez moi avec cette config:
pg_face_theme="fluorescent" # folder name in plugins/jarvis-face/faces/
pg_face_anim_start=true # enable animation when Jarvis is started
pg_face_anim_listening=true # enable animation when listening for command
pg_face_anim_speaking=true # enable animation when speaking
pg_face_anim_done=true # enable happy animation when conversation is over
pg_face_anim_exit=true # enable animation when Jarvis terminates
pg_face_size="800x450" # empty for gif size, 800x450 for fixed size (use for fullscreen)
pg_face_backdrop=false # true to display fullscreen black backdrop
pg_face_x_offset="+0" # +X: Xpx from left, -X: Xpx from right (only for empty gif size)
pg_face_y_offset="+0" # +Y: Ypx from top, -Y: Ypx from bottom (only for empty gif size)
pg_face_hide_cursor=true # true to hide mouse pointer when not moved
pg_face_display_num=":0" # sometimes is :1, find using `w` command, TTY column
J'attends vos retours!
@alexylem suite à la mise à jour... l'imge est bien plus grande si je le resize sans dédoublement, mais il y a cette fois ci 2 barres visible au lieu d'une... voir photo https://github.com/Jean-Bernard-Hallez/jarvis-testjb/blob/master/20170322_112102-1_resized.jpg au lieu d'une barre de menu avec l'ancienne installation... lol https://github.com/Jean-Bernard-Hallez/jarvis-testjb/blob/master/Face_sans_resize.jpg
J'ai trouvé dans l'interface graphique que j'exploite a peine comment mettre un fond noir et mes barres sous fond noir c'est un peu mieux... hélas je ne peux pas les masquer... on voit les iconnes... https://github.com/Jean-Bernard-Hallez/jarvis-testjb/blob/master/Face_sur_fond_noir.jpg
@Jean-Bernard-Hallez C'est parce que j'ai changé un paramètre de mon "menu démarrer" pour qu'il se masque automatiquement:
Au moins tu n'as plus le pb d'avant ou tu voyais une partie du bureau. Alors c'est mieux comme ca ou on revient comme avant? J'attends aussi le retour de @Takanato.
De mon coté le plugin ne fonctionne plus après réinstall, désinstall et install...
J'ai des erreurs : /home/pi/jarvis/plugins/jarvis-face/functions_linux.sh: ligne 16: animate : commande introuvable
idem mais avec une erreur de "commande unaire" ?!
/home/lusitanos/jarvis/plugins/jarvis-face/functions_linux.sh: ligne 11 : [: == : opérateur unaire attendu
Bon cela venait pour moi d'un bug du rasp.
@Lusitanos67 j'avais aussi cette erreur mais cela venait du fait que je n'avais pas mis de taille dans le fichier de config.
@alexylem Pour l'instant le rendu est pas top. Sur un grand écran si on met la fenêtre en petit, les animations qui s’enchaîne se décale sur l'écran et ne remplace pas la précédente... Donc pour faire simple le visage se déplace. Une idée ?
ok merci
@Takanato c'est possible d'avoir une vidéo? Je n'ai pas ce symptôme chez moi. Tu as essayé avec les faces standard?
@Lusitanos67 c'était un bug. Je viens de le corriger. Il faut pouvoir laisser la taille à vide soit pour garder l'image par défaut, soit pour jouer avec l'offset. @Takanato c'était peut-être aussi la source de ton pb. Essaye sans la taille maintenant.
C'est bon pour moi après réinstallation et redémarrage du rasp.
Par contre un peu moins fluide car il y a comme un clignotement entre chaque Gif, on voit la coupure mais bon je suppose que tu n'y peut rien à cela ^^
@Takanato oui c'est le pb avec imagemagick
. Il n'y avait pas ce phénomène avec gifsicle
.
Pour le moment je n'ai que ces deux options car pas réussi à changer l'URL d'un navigateur dynamiquement depuis le terminal (sans tuer la mémoire/CPU du rasp avec selenium).
Donc il faut choisir entre plein écran et fluidité.
Je continue à chercher de nouvelles options régulièrement.
Ce qui est dommage par contre c'est que cela ne fonctionnent pas bien avec les gifs qui ne bouclent pas (comme celui en écoute de cortana). Une fois le Gif fini la fenêtre se coupe, alors qu'avant cela restait sur la dernière image du Gif.
@Takanato Mince il faut que je vérifie... la je ne suis pas chez moi mais je pense que ca va aussi poser un problème avec l'animation listening de la face cortana...
@alexylem C'est justement comme cela que je m'en suis aperçu, si on met cortana et qu'elle passe en écoute, elle fait son animation puis la fenêtre se ferme aussitôt.
Le pire c'est que même avec la taille par défaut du Gif les coupures entre chaque Gif sont assez importantes pour ma part (rasp 2 B+, c'est peut être pour ça).
Moi personnellement à choisir entre la possibilité du plein écran avec cette nouvelle méthode et la grande fluidité de l'ancienne méthode je préfère la fluidité.
Pas de possibilité de proposer l'une ou l'autre solution au choix simplement (je veut pas non plus faire mon chieur) ? Sinon tant pis c'est pas grave.
J'ai du coup éteint l'écran pour le moment, en attendant de voir si on arrive à trouver une solution.
J'ai des nouvelles pistes à explorer avec les arguments -pause
, -delay
et -update
de imagemagick/animate
. Le problème est que je ne suis pas chez moi ce soir donc il faudra attendre demain soir. Si ca ne donne rien je suis d'accord avec @Takanato il faudra faire marche arrière en attendant de trouver mieux.
@alexylem Pas de soucis t'inquiète pas c'est pas urgent loin de la ^^ Je trouve déjà que tu est bien assez dispo et bien assez réactif comme ça !
J'attend de tes news mais tranquille ^^
Bon alors:
Vous en pensez quoi?
Bon je pense de plus en plus que je vais revenir sur gifsicle
avec potentiellement une redimensionnement des images au chargement de Jarvis pour matcher la résolution voulue... je teste ca voir ce que ca donne...
Bon allez je pars sur le resize ca marche très bien, ca prend tout l'écran (après resize) 👍
Ca prends un peu de temps pour resizer (1-2 secondes par image) mais ca ne sera fait que lorsque la résolution voulue est changée.
Je finis ca avant de rechanger imagemagick
par gifsicle
comme ca je fais d'une pierre 2 coups.
J'approuve à 100% le retour à gifsicle ! Desolé pour toi qui a passé du temps pour intégrer imagemagick...
La solution du resize est je pense une bonne solution pour palier à la duplication et au plein ecran tout en gardant la réactivité d'avant.
Bon voila c'est implémenté mettez à jour.
A savoir
faces/
et est automatiquement nommé <facename>800x480
(par exemple)pg_face_y_offset
à -0
(pour partir du bas de l'écran) (c'est @Jean-Bernard-Hallez qui va être content 😄 )Voici ce que ca donne chez moi:
pg_face_theme="fluorescent" # folder name in plugins/jarvis-face/faces/
pg_face_anim_start=true # enable animation when Jarvis is started
pg_face_anim_listening=true # enable animation when listening for command
pg_face_anim_speaking=true # enable animation when speaking
pg_face_anim_done=true # enable happy animation when conversation is over
pg_face_anim_exit=true # enable animation when Jarvis terminates
pg_face_size="800x480" # empty for gif size, 800x450 for fixed size (use for fullscreen)
pg_face_x_offset="+0" # +X: Xpx from left, -X: Xpx from right
pg_face_y_offset="-0" # +Y: Ypx from top, -Y: Ypx from bottom
pg_face_hide_cursor=true # true to hide mouse pointer when not moved
pg_face_display_num=":0" # sometimes is :1, find using `w` command, TTY column
Sans aucun lag / clignotement / coupure 😉
Reste à faire:
Super ! Bon je part en vacance tôt demain matin donc je pourrais tester que dans la semaine prochaine mais je te dirais ce que ça donne !
J'ai désinstaller puis réinstall Face, cependant j'ai une erreur à l'installation:
Failed building wheel for pillow
Puis plus loin dans l'install:
Command "/usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-2Xecp5/pillow/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-bI5DQR-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-2Xecp5/pillow/
@Lusitanos67 Mmmmh, tu peux coller le log complet? Il doit y avoir une dépendance manquante quelque-part... C'est quand même bizarre je n'ai rien changé dans l'installation à part avoir remis gifsicle...
j'ai hésité à tout te mettre parce qu'il y en a des pages lol !
Bonjour,
J'ai un écran 3.5 et je me demandais comment on pouvait créer une interface visuel pour Jarvis, un visage comme le robot buddy par exemple.
Quelqun l'aurait déjà fait?