Putty.exe passerelle SSH vers le RaspberryPi

Vous souhaitez piloter votre framboise à partir d'une page web ? Ou mieux encore à partir d'un smartphone ou d'une tablette Android ? Venez donc visiter cette rubrique...

Modérateur : Francois

Répondre
oxy34070
Messages : 7
Enregistré le : dim. 18 janv. 2015 16:01

Putty.exe passerelle SSH vers le RaspberryPi

Message par oxy34070 » sam. 21 mars 2015 19:26

Bonjour,
Je souhaite lancer un programme python sur le raspberrypi à distance de mon pc sur windows 7 via putty.

pour se faire je veux passer par un fichier batch.

j'ai donc du faire un premier fichier sur windows que je nomme relay.sh qui contient le chemin de mon script python sur le raspberry:

#! bin/sh
sudo python /root/Desktop/relay.py

et un deuxième fichier que je nomme relay.bat et qui contient:

@echo off
"C:\Program Files (x86)\putty.exe" 192.168.0.34 -l pi -pw raspberry -m C:\Users\oxy\Desktop\relay.sh

Voila, quand je clic sur mon fichier bat, tout ça fonctionne trés bien. Mais je suis obligé de créer un fichier *.sh et un fichier *.bat pour chaques relais que je veux piloter...

Est il possible de faire cela en un seul fichier bat ? l'option -m de putty permet de charger un fichier contenant la commande et non pas la commande elle-même donc obligé de creer un *.sh .
Il n'y a pas un autre argument ? -a -b -c etc ... qui permettait de taper directement la commande à executer sur le raspberry ? par exemple :

@echo off
"C:\Program Files (x86)\putty.exe" 192.168.0.34 -l pi -pw raspberry -abc sudo python /root/Desktop/relay.py

Merci d'avance.

Veloce
Messages : 79
Enregistré le : sam. 24 janv. 2015 20:12

Re: Putty.exe passerelle SSH vers le RaspberryPi

Message par Veloce » mar. 24 mars 2015 18:24

oxy34070 a écrit :Est il possible de faire cela en un seul fichier bat ?
Si je comprends bien, tu veux faire un menu sous DOS ? Taper 1 pour le 1er relais, 2 pour le 2e, etc ?
Oui on peut: tu appelles un petit programme (3 lignes de langage C) qui attend une touche et retourne le code du caractère retourné.
Ensuite, dans le batch, tu étudies la variable %ERRORLEVEL% qui correspond au numéro saisi, et tu crées le fichier
.sh qui va bien à la volée, et zou, tu l'envoies !

Ou alors... j'ai rien compris, désolé.

Veloce :?

oxy34070
Messages : 7
Enregistré le : dim. 18 janv. 2015 16:01

Re: Putty.exe passerelle SSH vers le RaspberryPi

Message par oxy34070 » dim. 19 avr. 2015 13:48

Merci de ta réponse.
Tu n'as pas compris ma question, cependant ce que tu dis m’intéresse mais j'avoue que je suis nouveau dans le monde de la prog et je n'ai pas tout compris ^^ pourrais tu détaillé un peu ton message ?

Je reformule ma question :
Pour claquer un relais sur mon raspberry, je dois entrer "sudo python /chemin/programme_python_du relai.py".

Je veux entrer cette commande a distance, sur mon pc windows j'utilise actuellement putty pour acceder au terminal du raspberry, existe t'il autre chose ? (DOS,Telnet <= Quesaquo ?)

le problème de putty c'est que pour entrer cette simple commande ("sudo python /chemin/programme_python_du relai.py") sur le terminal du raspberry, je dois créer 2 programmes (sous Windows):

-creer un fichier .sh (relai1.sh) contenant la commande "sudo python /chemin/programme_python_du relai.py". (c'est cette etape que je souhaiterai supprimer).
-creer un fichier .bat (relai1.bat) contenant le lancement de putty, les arguments de puty : IP,-l -pw et -m (qui est apparemment le seul argument qui permet d’écrire quelque chose dans le terminal a distance).

Il permet d'écrire à distance ce qu'il trouvera dans le fichier sh, moi je veux juste lui balancer ma commande au lieu de lui indiquer le chemin d'un fichier sh ou il va la chercher.
Ce doublon est une perte de temps je voudrais savoir comment faire à l'aide d'un seul fichier bat. Ce dernier doit contenir ma commande "sudo python /chemin/programme_python_du relai.py". pour le moment le '-m' de putty ne permet pas de faire ca.
Peut- on modifier le -m de putty ? ou simplement rajouter ma commande a la suite du fichier bat qui lance putty au lieu de la mettre avec un -m? ou y-a t-il un moyen de lancer un invite de commande sous DOS pour chacun de mes relay ? qui se lancerait, accéderai au terminal du ras et taperait ma commande ?
Je ne veux pas les impulsions clavier, il me faut des fichiers exécutables, un par relais, que je puisse cliquer à la souris sur le fichier pour claquer mon relais ( je peux déjà faire ceci mais même si j'ai que le fichier bat à ouvrir , je suis obliger de faire un fichier sh pour putty :/).

Peux-tu m'aider ?

Merci :)

Avatar du membre
zeb
Raspinaute
Messages : 280
Enregistré le : ven. 19 sept. 2014 11:04

Re: Putty.exe passerelle SSH vers le RaspberryPi

Message par zeb » mar. 2 juin 2015 10:34

Plop,

Ce sujet est-il toujours d'actualité ? Si oui, alors j'ai un petit truc à proposer.
Pourquoi dans ton fichier bat, ne pas créer directement le fichier à appeler par putty ?

Ça ferait un peu comme ça :

Code : Tout sélectionner

@ECHO OFF
REM petit programme de relai
REM (0) CC-ZERO

:SET_TMP_SH
	SET TMP_SH=C:\TEMP\RELAY_%RANDOM%.SH
	IF EXIST %TMP_SH% GOTO SET_TMP_SH

ECHO #!/bin/sh                                        >> %TMP_SH%
ECHO # liste de commandes à passer à PuTTY            >> %TMP_SH%
ECHO sudo python /chemin/programme_python_du relai.py >> %TMP_SH%

DEL /F %TMP_SH%
(fais gaffe, ton hashbang n'est pas bon !)
Dans mon panier : rpi1A+ : »:: »:: | rpi1B : »:: »:: | rpi1B+ : »:: »:: | rpi2B : »:: »:: | rpi3B : »:: »:: | rpi0 : »::

Répondre

Retourner vers « Des interfaces pour le Raspberry Pi »