Comme annoncé, ce forum est passé en lecture seule au 1er janvier 2020. Désormais nous vous invitons à vous rendre sur notre nouvelle page communauté :
Image

A très bientôt !

Piloter la Shield Nvidia

Réservé à l'utilisation et la programmation de scripts dans JEEDOM
damanujan
Timide
Messages : 144
Inscription : 20 oct. 2014, 19:21
Localisation : Belgique

Piloter la Shield Nvidia

Message par damanujan » 29 oct. 2017, 18:01

Bonjour,

Je me suis penché sur la possibilité de piloter ma Nvidia shield sans passer par une Broadlink ou autre Logitech Harmony.
En parcourant les possibilités offertes par android, j'ai constaté que ce dernier permettait de piloter n'importe quel objet Android (tel que les smartphones ou Android TV) via Android Debug Bridge (ADB) ... et c'est assez simple
Je vais expliquer la marche à suivre pour la Shield, mais cela doit certainement être similaire pour tout autre appareil Android (je n'ai pas encore testé).

Tout d'abord, il faut activer le mode développeur sur la shield.
Il faut cliquer plusieurs fois sur Build (dans le menu About) afin d'activer ce mode
https://docs.nvidia.com/gameworks/conte ... evmode.htm

Un nouveau menu Developer Options va être créé.
Il faut s'y rendre, cliquer sur Debugging et activer le debug USB et Wifi.

Du côté serveur Jeedom, installer ADB:

Code : Tout sélectionner

sudo apt-get install android-tools-adb
se connecter à l'adresse ip de la shied:

Code : Tout sélectionner

sudo adb start-server
sudo adb connect <ip de la shield>
En principe, une demande apparaît du côté de la shield pour accepter la connexion et cocher "allways allow from this computer"

Voilà, à partir de là, vous pouvez envoyer des commandes à partir de votre serveur Jeedom pour piloter votre shield.

Pour vérifier l' on est bien connecté à la shied , on tape:

Code : Tout sélectionner

sudo adb devices
cela devrait afficher l'ip de la shield:5555 suivi de "device"
si on a rien ou "offline" c'est qu'il y a un problème de connexion

kill-server stoppe l'ensemble des connections vers les objets android:

Code : Tout sélectionner

sudo adb kill-server 
On peut connecter plusieurs objets android au même serveur.

Pour déconnecter un objet android:

Code : Tout sélectionner

sudo adb disconnect <adresse ip>
J'ai créé un script qui reprend les commandes que je suis susceptible d'utiliser (je n'en suis qu'au début de mes essais)
elles sont de type :
adb shell service ...
adb shell input keyservice ....
...

voici le script bash ADB.sh à installer dans le dossier script:

MAJ 31/10/2017
ADB.rar
(847 octets) Téléchargé 375 fois


Attention de donner les droits 0777 au fichier ADB.sh


Utilisation:
...<chemin script>.../ADB.sh [action|info] [donnée1] [donnée2]

exemple:
pour augmenter le volume:
ADB.sh action volume+

voici les commandes possibles (non exhaustif, sujet à améliorations):
ACTIONS:
ADB.sh action connect <ip de la shield> (connexion)
ADB.sh action disconnect <ip> (déconnexion)
ADB.sh action stop (kill server)
ADB.sh action home (revient à l'écran de démarrage)
ADB.sh action off
ADB.sh action power
ADB.sh action wakeup
ADB.sh action mute
ADB.sh action unmute
ADB.sh action volume+
ADB.sh action volume-
ADB.sh action volume #slider#
ADB.sh action up
ABD.sh action down
ADB.sh action left
ADB.sh action right
ADB.sh action back
ADB.sh action click
ADB.sh action brightness+
ADB.sh action brightness-
ADB.sh action start
ADB.sh action pause
ADB.sh action next
ADB.sh action previous
ADB.sh action okgoogle
ADB.sh action cherche
ADB.sh action texte #message#

Lancement d'applications:
ADB.sh action youtube
d'une manière générale:
ADB.sh action [youtube |spotify | tf1 |francetv | kodi |plex | facebook | google ]
liste à agrandir...
Par contre, je n'arrive pas à lancer molotov TV ... si quelqu'un trouve la solution, cela m'intéresse fortement !

INFOS
ADB.sh info devices
ADB.sh info ifconfig
ADB.sh info appli


concernant les keyservices, on peut retrouver toutes les commandes possibles pour Android sur ce site:
https://developer.android.com/reference ... Event.html

Exemple de ma config:
script1.jpg
script1.jpg (131.44 Kio) Consulté 9468 fois
script2.jpg
script2.jpg (143.98 Kio) Consulté 9468 fois
N'hésitez pas à m'envoyer vos commentaires ou suggestions...
Dernière édition par damanujan le 09 nov. 2017, 15:17, édité 10 fois.

damanujan
Timide
Messages : 144
Inscription : 20 oct. 2014, 19:21
Localisation : Belgique

Re: Piloter la Shield Nvidia

Message par damanujan » 29 oct. 2017, 18:08

On pourrait imaginer des scénarios ou intéractions afin de piloter notre shield.

Par exemple: allumer la shield à 18h00 et diffuser une playlist (youtube ou spotify)
On peut aussi configurer google assistant avec les intéractions pour mieux piloter notre shield à partir d'un google home par exemple (et non plus par l'assistant de la shield)
A mon sens, cela ouvre pas mal de possibilités et permet d'intégrer notre shield ou tout autre objet android dans jeedom sans passer par JPI (qui reste une merveilleuse application).

Avatar de l’utilisateur
maxredphenix
Actif
Messages : 539
Inscription : 18 sept. 2015, 21:36
Localisation : Bourgogne

Re: Piloter la Shield Nvidia

Message par maxredphenix » 29 oct. 2017, 19:02

Salut,
Très beau travail :)
Tu as pensé a mettre tout ça sous forme d'un plugin spécifique Shield ?
DIY Intel NUC i5 7Gen(via Proxmox) - Jeedom 3.2.

IPX800 v4 + 2 modules X-4FP
Détecteur fuite d'eau + fumée fibaro
Divers modules Zwave

damanujan
Timide
Messages : 144
Inscription : 20 oct. 2014, 19:21
Localisation : Belgique

Re: Piloter la Shield Nvidia

Message par damanujan » 29 oct. 2017, 19:18

Merci pour le compliment ;-)

Désolé mais je ne suis pas assez calé pour créer un plugin.
Je laisse cela à nos maître-programmeurs... ;-)
J'en profite pour les remercier du travail qu'ils font pour nous fournir les plugins qui nous sont très utiles.
De mon côté, je développe quelques scripts et les partage avec la communauté quand je pense que cela peut intéresser certains.

Avatar de l’utilisateur
maxredphenix
Actif
Messages : 539
Inscription : 18 sept. 2015, 21:36
Localisation : Bourgogne

Re: Piloter la Shield Nvidia

Message par maxredphenix » 30 oct. 2017, 13:45

De rien ;)
Pour les plugin, j'ai tenté une fois d'en faire un mais c'est vrai que c'est pas simple.
On verra si à un moment quelqu'un se lance car la shield se vend plutôt bien donc je pense qu'il doit avoir pas mal d'utilisateurs de Jeedom qui en possèdent :)
DIY Intel NUC i5 7Gen(via Proxmox) - Jeedom 3.2.

IPX800 v4 + 2 modules X-4FP
Détecteur fuite d'eau + fumée fibaro
Divers modules Zwave

damanujan
Timide
Messages : 144
Inscription : 20 oct. 2014, 19:21
Localisation : Belgique

Re: Piloter la Shield Nvidia

Message par damanujan » 31 oct. 2017, 11:01

Mise à jour du fichier ADB.sh

possibilité d'afficher le niveau du volume audio:

commande script de type info:

ADB.sh info volume

donne le volume entre 0 (min) et 15 (max)
ADB.rar
(847 octets) Téléchargé 215 fois
Le fichier du 1er post a également été mis à jour.

Avatar de l’utilisateur
maxredphenix
Actif
Messages : 539
Inscription : 18 sept. 2015, 21:36
Localisation : Bourgogne

Re: Piloter la Shield Nvidia

Message par maxredphenix » 04 nov. 2017, 10:17

Salut,

Merci pour cette MAJ

Tu devrais le partager sur le market :)
DIY Intel NUC i5 7Gen(via Proxmox) - Jeedom 3.2.

IPX800 v4 + 2 modules X-4FP
Détecteur fuite d'eau + fumée fibaro
Divers modules Zwave

beber53
Actif
Messages : 1238
Inscription : 17 juil. 2014, 14:28

Re: Piloter la Shield Nvidia

Message par beber53 » 05 nov. 2017, 19:10

Belle explication
Jeedom Version Dev sur Vm Debian


configuration, voir profil

chris777c
Timide
Messages : 152
Inscription : 01 mai 2017, 16:56

Re: Piloter la Shield Nvidia

Message par chris777c » 05 nov. 2017, 20:48

Je pense que le plugin JPI peut également être d'un grande aide pour interagir avec systeme android : https://guillaumebraillon.fr/jeedom-xia ... _Mi-Box_TV

wohlraj
Timide
Messages : 35
Inscription : 03 mai 2017, 20:39

Re: Piloter la Shield Nvidia

Message par wohlraj » 11 nov. 2017, 15:17

Super idée cette discussion !

J'ai commencé à regarder le script, j'ai ajouté les lignes suivantes :

Code : Tout sélectionner

        "sleep")
                displayPower=$(adb shell dumpsys power | grep "Display Power: state=" | cut -d'=' -f2)
                if [ $displayPower = "ON" ]
                then
                    adb shell input keyevent KEYCODE_WAKEUP
                fi
                ;;
Cela permet de mettre en veille la Shield à coup sûr ; car la commande "wake up" est un simple switch qui alterne on/off.

Je vais voir si j'ai le temps de regarder pour développer un plugin.

Avatar de l’utilisateur
maxredphenix
Actif
Messages : 539
Inscription : 18 sept. 2015, 21:36
Localisation : Bourgogne

Re: Piloter la Shield Nvidia

Message par maxredphenix » 11 nov. 2017, 17:02

Ça serait sympa si quelqu'un pouvait convertir tout ça en plugin ;)
DIY Intel NUC i5 7Gen(via Proxmox) - Jeedom 3.2.

IPX800 v4 + 2 modules X-4FP
Détecteur fuite d'eau + fumée fibaro
Divers modules Zwave

wohlraj
Timide
Messages : 35
Inscription : 03 mai 2017, 20:39

Re: Piloter la Shield Nvidia

Message par wohlraj » 12 nov. 2017, 11:45

maxredphenix a écrit :
11 nov. 2017, 17:02
Ça serait sympa si quelqu'un pouvait convertir tout ça en plugin ;)
J'ai une ébauche de plugin, mais ça ne tient pas la route car régulièrement la Shield est détectée comme "offline" par ADB, et le seul moyen de la retrouver est de la redémarrer complètement...

Avatar de l’utilisateur
maxredphenix
Actif
Messages : 539
Inscription : 18 sept. 2015, 21:36
Localisation : Bourgogne

Re: Piloter la Shield Nvidia

Message par maxredphenix » 12 nov. 2017, 13:44

wohlraj a écrit :
12 nov. 2017, 11:45
J'ai une ébauche de plugin, mais ça ne tient pas la route car régulièrement la Shield est détectée comme "offline" par ADB, et le seul moyen de la retrouver est de la redémarrer complètement...
Le plus important c'est déjà d'avoir commencé :)
DIY Intel NUC i5 7Gen(via Proxmox) - Jeedom 3.2.

IPX800 v4 + 2 modules X-4FP
Détecteur fuite d'eau + fumée fibaro
Divers modules Zwave

Avatar de l’utilisateur
tomdom
Actif
Messages : 925
Inscription : 14 nov. 2016, 05:46

Re: Piloter la Shield Nvidia

Message par tomdom » 13 nov. 2017, 08:57

Bonjour,
wohlraj a écrit :
12 nov. 2017, 11:45
J'ai une ébauche de plugin, mais ça ne tient pas la route car régulièrement la Shield est détectée comme "offline" par ADB, et le seul moyen de la retrouver est de la redémarrer complètement...
J'ai eu le même problème de "offline" pour la Freebox mini 4k. Je fais un connect/disconnect avant chaque commande et si il y a une erreur, je retente une fois

Code : Tout sélectionner

    ok=1
    retry=0
    while [[ $ok -gt 0 && $retry -lt 2 ]]
    do
        sudo /usr/bin/adb connect $mini4k_ip
        sudo /usr/bin/adb shell $cmd
        ok=$?
        sudo /usr/bin/adb disconnect
        retry=$(( $retry + 1))
        
    done

Il faudrait peut-être ajouter un sleep si $ok!=0
Il y a 10 catégories de personnes, celles qui connaissent le binaire et les autres
.

wohlraj
Timide
Messages : 35
Inscription : 03 mai 2017, 20:39

Re: Piloter la Shield Nvidia

Message par wohlraj » 16 nov. 2017, 20:29

Vu que je n'arrive pas à me débloquer de mon problème, vous pouvez jeter un oeil sur mon "brouillon" de plugin : https://github.com/Wohlraj/nvidiashield

sebmad
Timide
Messages : 11
Inscription : 17 déc. 2017, 14:53

Re: Piloter la Shield Nvidia

Message par sebmad » 17 déc. 2017, 21:29

Bonjour,
Nouveau sur le forum, je suis ébahi par le travail que vous faites.
Je tente d'utiliser également le pilotage de la shield via script, et j'avoue d-que cela fonctionne pas mal, mis à part quelques déconnexions dont je n'ai encore pas trouvé l'origine (liée aux test ou réelle déconnexion).
Je suis également bloqué pour ce qui est de lancer une application, pour ma part il s'agit de Dsvideo

wohlraj
Timide
Messages : 35
Inscription : 03 mai 2017, 20:39

Re: Piloter la Shield Nvidia

Message par wohlraj » 17 déc. 2017, 22:05

sebmad a écrit :
17 déc. 2017, 21:29
Bonjour,
Nouveau sur le forum, je suis ébahi par le travail que vous faites.
Je tente d'utiliser également le pilotage de la shield via script, et j'avoue d-que cela fonctionne pas mal, mis à part quelques déconnexions dont je n'ai encore pas trouvé l'origine (liée aux test ou réelle déconnexion).
Je suis également bloqué pour ce qui est de lancer une application, pour ma part il s'agit de Dsvideo
Normalement tu as juste à partir du script ADB.sh fourni plus haut, et à y ajouter les quelques lignes pour une application supplémentaire.
Pour DS video, le lien sur le Play Store est https://play.google.com/store/apps/deta ... gy.dsvideo
Donc il faut utiliser com.synology.dsvideo dans la commande.

sebmad
Timide
Messages : 11
Inscription : 17 déc. 2017, 14:53

Re: Piloter la Shield Nvidia

Message par sebmad » 18 déc. 2017, 09:43

Bonjour, et merci pour ta réponse.

En effet c'est bien com.synology.dsvideo que j'ai essayé dans la ligne de commande mais cela ne merche pas :?

C'est pourquoi j'étais venu vous demander de l'aide.

Autre question, je ne sais comment faire losrque damanujan dit:
damanujan a écrit :
29 oct. 2017, 18:01

voici le script bash ADB.sh à installer dans le dossier script:

MAJ 31/10/2017
ADB.rar

Attention de donner les droits 0777 au fichier ADB.sh

Utilisation:
...<chemin script>.../ADB.sh [action|info] [donnée1] [donnée2]
Je suis noob question linux et jeedom (j'ai mis le nez dedans la semaine dernière), et j'ai réalisé mon instal sur synology via docker.
Comment installer ce script dans jeedom du coup? Et comment donne-t-on les "droits 0777"?
Jusqu'à présent je me suis contenté de retranscrire les ligne de commande adb pour chaque action crée des script..

Merci

sebmad
Timide
Messages : 11
Inscription : 17 déc. 2017, 14:53

Re: Piloter la Shield Nvidia

Message par sebmad » 18 déc. 2017, 09:44

Bonjour, et merci pour ta réponse.

En effet c'est bien com.synology.dsvideo que j'ai essayé dans la ligne de commande mais cela ne merche pas :?

C'est pourquoi j'étais venu vous demander de l'aide.

Autre question, je ne sais comment faire losrque damanujan dit:
damanujan a écrit :
29 oct. 2017, 18:01

voici le script bash ADB.sh à installer dans le dossier script:

MAJ 31/10/2017
ADB.rar

Attention de donner les droits 0777 au fichier ADB.sh

Utilisation:
...<chemin script>.../ADB.sh [action|info] [donnée1] [donnée2]
Je suis noob question linux et jeedom (j'ai mis le nez dedans la semaine dernière), et j'ai réalisé mon instal sur synology via docker.
Comment installer ce script dans jeedom du coup? Et comment donne-t-on les "droits 0777"?
Jusqu'à présent je me suis contenté de retranscrire les ligne de commande adb pour chaque action crée des script..

Merci

Mahtan
Timide
Messages : 106
Inscription : 05 janv. 2017, 10:27

Re: Piloter la Shield Nvidia

Message par Mahtan » 31 déc. 2017, 15:58

Très très intéressant !
J'attend un plugin pas assez calé pour faire ce que je veux en manuel comme ça !

Répondre

Revenir vers « [Plugin officiel] Scripts »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 4 invités