Récupérer réponse terminal en variable sur python

Bonjour à vous,

Objectif :
Faire un programme python s’assurant que la caméra Rpi est fonctionnelle.

Voici l’architecture :
Le code python actuel se connecte à ma RaspberryPi3, ce même code exécute le code “vcgencmd get_camera”. Ce code permet de savoir si la caméra connectée à la rasberry est fonctionnelle.
Le terminal python de mon PC me retourne “supported=1 detected=1” car la caméra est fonctionnelle.

Problème : J’aimerai analyser ce résultat de commande. Si j’ai : supported=1 detected=1
Alors j’ai un messagebox qui me dit : caméra fonctionnelle
sinon caméra non fonctionnelle

---------------
import paramiko
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy()def start():
        try :
            client.connect('192.192.192.101', port=22, username='pi', password='raspberry')
            return True
        except Exception as e:
            #client.close()
            print(e)
            return False
while start():
    cmd = "vcgencmd get_camera>>msg2.txt"
    chan = client.get_transport().open_session()
    print("running '%s'" % cmd)
    chan.exec_command(cmd)
    key=0
    print("recv:\n%s" % chan.recv(4096).decode('ascii'))
      break
            client.close()
client.close()
-----------------------

Comment mettre ce résultat dans une variable analysable ?

Merci à vous !!

Adrien

Quel résultat ? Il semblerait que vous avez recopié un code sans vraiment le comprendre.
Remplacez

def start():

par

def start(client):

et le while start(): par un if start(client):
Pour le stockage du résultat dans une variable ce serait peut-être

res = chan.recv(4096).decode('ascii')

mais comme je ne connais pas la manière d’utiliser paramiko je suis éventuellement à côté de la plaque.
D’autre part l’instruction

    cmd = "vcgencmd get_camera>>msg2.txt"

m’interpelle (la redirection ne peut être exécutée que par un shell )

Cordialement,
Regards,
Mit freundlichen Grüßen,
مع تحياتي الخالصة


F. Petitjean
Ingénieur civil du Génie Maritime.

« Moi, lorsque je n’ai rien à dire, je veux qu’on le sache. » (R. Devos)

« Celui qui, parti de rien, n’est arrivé nulle part n’a de merci à dire à personne !! »
Pierre Dac

Bonjour,
Merci beaucoup pour votre réponse !
Je parlais du résultat que le terminal de commande écrit, soit “supported=1 detected=1”

J’ai réussi à contourner le problème :

L’instruction suivante :
cmd = "vcgencmd get_camera>>msg2.txt"
me permet de récupérer le résultat de la commande “vcgencmd get-camera” dans un fichier txt.
J’ai crée une deuxième partie de programme qui compare ce fichier .txt à un autre.
J’ai crée un fichier monmodele.txt comprenant : “supported=1 detected=1”
Si msg2.txt est égal au fichier monmodele.txt
Alors la caméra est détectée.

Merci beaucoup pour votre réponse.

Cordialement,

Adrien D.