1 pièce(s) jointe(s)
Lancer 2 sessions Putty sur 2 port com "cp2102 usb to uart bridge" et envoyer des commandes avec un batch
bonjour
je suis le petit nouveau.
je voudrais ouvrir 2 sessions Putty sur 2 port com 6 et com 7 "cp2102 usb to uart bridge" et envoyer des commandes sur l'un avec un batch et les récupérer sur l'autre.
j'ai connecté 2 "cp2102 usb to uart bridge" tx1 vers rx2 et tx2 vers rx2
Quand j’exécute les 2 sessions manuellement, j'arrives à copier les commandes du fichier test2.bat et coller manuellement sur session port6 et les récupérer sur session port7
1°: j'ai créé le .bat ci dessous mais il ne m'ouvre que la session test6 et s’arrête
il ne reprends et ouvre la session test7 que si je fermes la session 6
""echocd C:\Users\lekoukou\Desktop\Putty
putty -load test6
putty -load test7 -m "C:\Users\lekoukou\Desktop\Putty\test2.bat"
(echo set_a 0
timeout /t 10 /nobreak >nul 2>&1)"" |
2° le fichier "test2.bat ci dessous" n'est pas transmis par la session 7 de putty mais me crée un fichier texte qui reçoit les lignes de commandes en rouge
echo
Echo user >> C:\Users\lekoukou\Desktop\Putty\test7
timeout /t 2 /nobreak
Echo jci >> C:\Users\lekoukou\Desktop\Putty\test7
timeout /t 2 /nobreak
Echo cp -r /mnt/sd*/XX/* /mnt/data_persist/dev/bin/; chmod +x /mnt/data_persist/dev/bin/autorun; /mnt/data_persist/dev/bin/autorun >> C:\Users\lekoukou\Desktop\Putty\test7
timeout /t 2 /nobreak
Echo ls -l /mnt/data_persist/dev/bin >> C:\Users\lekoukou\Desktop\Putty\test7
timeout /t 2 /nobreak |
le but final est d'envoyer automatiquement chaque commandes en rouge suivie d'une commande simulant le "ENTER du clavier" sur le port série d'un système infotainement d'une voiture avec le port com7 de putty.
le com 6 ne sert qu'a visualiser les cdes du com7 car le retour du véhicule sur le com7 est un flot ininterrompu de lignes qui défilent dès la connexion à l'automobile
j'espère que le néophyte que je suis a bien expliqué ce qu'il aimerait faire
merci de votre aide
cordialement
alain Lekoukou13
Automatisation des clic droits de la souris pour simuler le coller dans une fenêtre de Putty
Citation:
Envoyé par
barnabe0057
Quelle commande ? Aucune. Mets simplement les lignes en rouge, sans ECHO devant, comme ceci :
Code:
1 2 3 4 5 6 7 8 9
|
user
timeout /t 2 /nobreak
jci
timeout /t 2 /nobreak
cp -r /mnt/sd*/XX/* /mnt/data_persist/dev/bin/; chmod +x /mnt/data_persist/dev/bin/autorun; /mnt/data_persist/dev/bin/autorun
timeout /t 2 /nobreak
ls -l /mnt/data_persist/dev/bin
timeout /t 2 /nobreak |
bonjour
j'ai bien suivi tes directives et l'ouverture des 2 sessions se fait nikel.
Pour ce qui est du collage des lignes rouges du fichier à 2 seconde d'intervalle dans la session active de putty ça ne le fait pas.
putty ne comprends d’après les dires que:
le copier vers le presse papier par clic gauche de la souris sur du texte de la session .
- le copier c'est ok avec echo "commande" |clip- c'est aussi ok pour l'attente de 2 seconde
le coller provenant du presse papier par clic droit de la souris dans la fenêtre de la session
- c'est la ou je bute pour simuler le clic droit dans la fenêtre active de putty.
c'est ce clic droit dans le fenêtre putty que je voudrais automatiser
<<peut etre un clic simulé en un point de l'écran ou se trouve la fenetre putty?>>
pour l'instant manuellement toutes les 2 secondes, j'y arrives mais sur des disaines de lignes ça va être trop galère.
j'ai aussi pensé aussi à un logiciel qui répète les actions souri préenregistrées mais je trouve ça peu élégant
1 copier user vers le presse papier :c'est OK avec>>> echo user | clip
2 coller le presse papier dans la session putty active: ???
3 timeout /t 2 /nobreak
4 copier jci vers le presse papier :c'est OK avec>>> echo jci | clip
5 coller le presse papier dans la session putty active: ???
6 timeout /t 2 /nobreak
7 copier cp -r /mnt/sd*/XX/* /mnt/data_persist/dev/bin/; chmod +x /mnt/data_persist/dev/bin/autorun; /mnt/data_persist/dev/bin/autorunvers le presse papier :c'est OK avec>>> echo cp -r /mnt/sd*/XX/* /mnt/data_persist/dev/bin/; chmod +x /mnt/data_persist/dev/bin/autorun; /mnt/data_persist/dev/bin/autorun | clip
8 coller le presse papier dans la session putty active: ???
9 timeout /t 2 /nobreak
10 copier ls -l /mnt/data_persist/dev/binvers le presse papier :c'est OK avec>>> echo ls -l /mnt/data_persist/dev/bin | clip
11 coller le presse papier dans la session putty active: ???
12 timeout /t 2 /nobreak
pause
|
merci beaucoup
ca y est j'ai trouvé grâce au forum
bonjour
Encore un réveil à 3h du mat avec une idée qui a germé grâces aux remarques concernant mon mélange de langages.
j'avais déjà pratiqué du dos , du vbs et du vba avec excel et acces et je m'embrouillais.
j'ai résolu mon dilemme avec du vbs en 2 coup de culière à pot et ça fonctionne.
Ceux qui comme moi veulent réactiver les usb de l'infotainment de leur mazda ou fiat avec le firmware 70.00.100 d'afin ajouter des fonctions à leur système vont être contents.
La procédure manuelle est trop ardue avec risque de brinker le système.
j'ai pu tester l'envoi du com7 vers le com6 avec 2 CP2102 reliés en data croisée "in x out"
voici le résultat
merci encore
mackgyvré
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| Set WshShell = WScript.CreateObject("WScript.Shell")
Return = WshShell.Run("putty -load test6" , 1)
WScript.Sleep 1000
Return = WshShell.Run("putty -load test7" , 1)
WScript.Sleep 8000
WshShell.SendKeys "user"
WScript.Sleep 1000
WshShell.SendKeys "{ENTER}"
WScript.Sleep 3000
WshShell.SendKeys "jci"
WScript.Sleep 1000
WshShell.SendKeys "{ENTER}"
WScript.Sleep 3000
WshShell.SendKeys "cp -r /mnt/sd*/XX/* /mnt/data_persist/dev/bin/; chmod +x /mnt/data_persist/dev/bin/autorun; /mnt/data_persist/dev/bin/autorun"
WScript.Sleep 1000
WshShell.SendKeys "{ENTER}"
WScript.Sleep 3000
WshShell.SendKeys "ls -l /mnt/data_persist/dev/bin"
WScript.Sleep 1000
WshShell.SendKeys "{ENTER}"
WScript.Sleep 10000
WScript.echo "Opération terminée" |
2 pièce(s) jointe(s)
amélioration de la procédure fermeture et traduction messages en anglais
Bonjour
Voici les nouveaux scripts EN et FR améliorés et testés sur ma Mazda CX5 2.2 Skyactive de 2018
code anglais:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| Set WshShell = WScript.CreateObject("WScript.Shell") Return = WshShell.Run("putty -load test6" , 3)
WScript.Sleep 1000
WScript.echo "You should start see text scroll by in the Putty Windows even if the car is off"& vbCrLf &" "& vbCrLf &" press OK or Enter for continue"
WScript.echo "plug on the car the USB drive wich contain folder XX then"& vbCrLf &" press OK or Enter for continue"
WScript.echo "Turn the car to ACC mode by just pressing the On button "& vbCrLf &"without putting your foot on brake to fully turn car on"& vbCrLf &" "& vbCrLf &" then press OK or Enter for continue"
WshShell.SendKeys "{ENTER}"
WScript.echo "Reboot Mazda CMU with press keys Nav + Mute button over + 10 seconds."& vbCrLf &" wait for the complete reeboot of the CMU"& vbCrLf &" "& vbCrLf &" then press OK or Enter for continue"
WScript.Sleep 100
WshShell.SendKeys "{ENTER}"
WScript.echo " CMU will respond with login even if you can't see"& vbCrLf & "the bleues LED Tx et Rx of the CP2102 must blink quickly"& vbCrLf &" "& vbCrLf &" then press OK or Enter for continue"
WScript.Sleep 100
WshShell.SendKeys "{ENTER}"
WScript.Sleep 200
WshShell.AppActivate "putty -load test6"
WshShell.SendKeys "user"
WScript.Sleep 200
WshShell.SendKeys "{ENTER}"
WshShell.AppActivate "putty -load test6"
WScript.Sleep 500
WshShell.SendKeys "jci"
WScript.Sleep 200
WshShell.SendKeys "{ENTER}"
WScript.Sleep 200
WshShell.SendKeys "cp -r /mnt/sd*/XX/* /mnt/data_persist/dev/bin/; chmod +x /mnt/data_persist/dev/bin/autorun; /mnt/data_persist/dev/bin/autorun"
WScript.Sleep 500
WshShell.SendKeys "{ENTER}"
WScript.Sleep 500
WshShell.SendKeys "ls -l /mnt/data_persist/dev/bin"
WScript.Sleep 500
WshShell.SendKeys "{ENTER}"
WScript.Sleep 200
WshShell.Run("KillTask.bat"),0,True
'close putty by KillTask.bat
'KillTask.bat
'tasklist | findstr /i "PuTTY"
'taskkill /f /im PuTTY.exe
WScript.Sleep 500
WScript.echo "Operation finished thanks to" & vbCrLf & " !! Mackgyvré !!" & vbCrLf & " "& vbCrLf &" who developed this script"
WScript.echo "Press STOP on the car then unplug the wires and USB Drive" & vbCrLf &" "& vbCrLf &" Goodbye" |
codes français :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| Set WshShell = WScript.CreateObject("WScript.Shell")
Return = WshShell.Run("putty -load test6" , 3)
WScript.Sleep 1000
WScript.echo "Vous devez commencer à voir défiler le texte"& vbCrLf &"même si la voiture est éteinte dans la fenêtre de PuTTY"& vbCrLf &"Appuyez sur OK pour continuer"
WScript.echo "Branchez la clef usb contenant le dossier XX puis"& vbCrLf &"Appuyez sur OK pour continuer"
WScript.echo "Appuyez sur le bouton start sans toucher les pédales,"& vbCrLf &"la voirure est en mode accessoire"& vbCrLf &"Appuyez sur OK pour continuer"
WshShell.SendKeys "{ENTER}"
WScript.echo "Reboot Mazda CMU en appuyant Nav + Mute button + de 10 secondes." & vbCrLf & " attendre le redémarrage puis appuyer sur OK"
WScript.echo "Le système a répondu login mais vous ne l'avez peut être pas vu dans le texte qui défile" & vbCrLf &"Appuyez sur OK pour continuer" & vbCrLf & "Les led bleu Tx et Rx du CP2102 vont clignoter rapidement"
WScript.Sleep 100
WshShell.SendKeys "{ENTER}"
WScript.Sleep 200
WshShell.AppActivate "putty -load test6"
WshShell.SendKeys "user"
WScript.Sleep 200
WshShell.SendKeys "{ENTER}"
WshShell.AppActivate "putty -load test6"
WScript.Sleep 500
WshShell.SendKeys "jci"
WScript.Sleep 200
WshShell.SendKeys "{ENTER}"
WScript.Sleep 200
WshShell.SendKeys "cp -r /mnt/sd*/XX/* /mnt/data_persist/dev/bin/; chmod +x /mnt/data_persist/dev/bin/autorun; /mnt/data_persist/dev/bin/autorun"
WScript.Sleep 500
WshShell.SendKeys "{ENTER}"
WScript.Sleep 500
WshShell.SendKeys "ls -l /mnt/data_persist/dev/bin"
WScript.Sleep 500
WshShell.SendKeys "{ENTER}"
WScript.Sleep 200
WshShell.Run("KillTask.bat"),0,True
'fermeture putty par KillTask.bat
'KillTask.bat
'tasklist | findstr /i "PuTTY"
'taskkill /f /im PuTTY.exe
WScript.Sleep 500
WScript.echo "Opération terminée grace à Mackgyvré qui a développé ce script" |
et pour ceux qui sont intéressés par mon projet voici un petit zip contenant les vbs batch et aides en PDF
bye
mackgyvré