Tentando Executar um Script python no terminal LX com o TriggerCMD mas não estou conseguindo
-
@Russ
Então Amigo, quando executo esse comando no LXterminal dentro da tela gráfica do raspberry pi ele funciona:
( pi@TonyPiPro:~/TonyPi/Functions $ python3 ColorTrack.py )
aparece esse isso ai:
ColorTrack Init
ColorTrack Start
aparece também a tela com a imagem da câmera do raspberry.
Acho que por causa da resolução do video só funciona na tela gráfica do debian, teria que ser um script executando o LXtermina com o script dentro -
@Antonio-Francisco-S-Santos, I see now. I didn't realize it was an X-Windows application.
If you want to run an X-Windows application as root in the background agent, and have it display on the pi user's X-Windows desktop, please try this:
Run this as your pi user (one time):
xhost +
That allows other users (like root) to display something in your pi user's X-Windows.
I haven't tested this, but I think this script would work:
#!/bin/bash export DISPLAY=:0.0 su - pi -c "python3 /home/pi/TonyPi/Functions/ColorTrack.py"
Assuming you created that script as /root/colortrack.sh, your /root/.TRIGGERcmdData/commands.json entry would be like this:
{"trigger":"ColorTrack","command":"/root/colortrack.sh","ground":"background","voice":"Robor","allowParams": "false"},
This issue originally came up in this post.
-
@Russ Boa tarde Amigo, ainda não conseguir rodar o script que contem vídeos, mas os que não tem vídeos funcionam perfeitamente. Como esse aqui que rodou normal:
{"trigger":"Sonar_barrier2.py","command":"/home/pi/TonyPi/Example/Sonar_barrier2.py","ground":"background","voice":"Andar","allowParams": "false"}Também gostaria de saber como faço pra colocar mais script se lá so acetita modificar os quatros script que vem nele como: Reiniciar, executar update.
-
Quando tento rodar um script que contem vídeo veja o erro que aparece:
-
@Antonio-Francisco-S-Santos, have you tried setting the DISPLAY variable first?
export DISPLAY=:0.0
That solved it for "n-gineer" here:
https://github.com/opencv/opencv/issues/18461 -
ai como ficaria o script todo montado? é esse aqui o script:
{"trigger":"ColorTrack.py","command":"/home/pi/TonyPi/Functions/ColorTrack.py","ground":"background","voice":"Seguir Cores","allowParams": "false"},
Também não estou conseguindo criar mais script alem dos que já existem. -
@Antonio-Francisco-S-Santos said in Tentando Executar um Script python no terminal LX com o TriggerCMD mas não estou conseguindo:
{"trigger":" ColorTrack.py ","command":"/home/pi/TonyPi/Functions/ColorTrack.py","ground":"background","voice":"Seguir Cores","allowParams": "false"},
nesse caso poderia juntar esse comando no script?
export DISPLAY=:0.0
{"trigger":" ColorTrack.py ","command":"/home/pi/TonyPi/Functions/ColorTrack.py","ground":"background","voice":"Seguir Cores","allowParams": "false"}, -
@Antonio-Francisco-S-Santos said in Tentando Executar um Script python no terminal LX com o TriggerCMD mas não estou conseguindo:
export DISPLAY=:0.0
No, your script is python, and this command is a bash command:
export DISPLAY=:0.0
So you could create a ColorTrack.sh bash script like this, and have TRIGGERcmd run it:
#!/bin/bash export DISPLAY=:0.0 python3 /home/pi/TonyPi/Functions/ColorTrack.py
So your commands.json entry would be:
{"trigger":"ColorTrack","command":"/home/pi/TonyPi/Functions/ColorTrack.sh","ground":"background","voice":"Seguir Cores","allowParams": "false"},
-
Então professor o script funciona com o vídeo normal quando executado no LXterminal através PuTTY mas quando executo no Trigger ele começa funcionar e para em seguida. Já mudei a extensão do arquivo do código pra sh deixando assim:
Você tem mais alguma ideia que possa me ajudar? -
@Antonio-Francisco-S-Santos, it looks like you're mixing bash code with python code. You should have 2 files:
Bash file: /home/pi/TonyPi/Functions/ColorTrack.sh:
#!/bin/bash export DISPLAY=:0.0 python3 /home/pi/TonyPi/Functions/ColorTrack.py
Python file: /home/pi/TonyPi/Functions/ColorTrack.py:
import sys import cv2 import math ....
-
@Antonio-Francisco-S-Santos Professor me desculpe a ignorância mas não entendi bem o que devo fazer, poderia me da um exemplo de como posso deixa os códigos. Já está quase funcionando só falta executar o vídeo.
-
@Antonio-Francisco-S-Santos Outra coisa, se eu comprar a licença de uso por um ano quais as vantagem que terei e facilitará nas montagem dos Scripts?
-
@Antonio-Francisco-S-Santos, google translated that as,
Another thing, if I buy the use license for one year, what advantages will I have and will it make it easier to assemble the Scripts?
The subscription allows you to have more than one computer connected to your account, and you can run more than one command per minute.
It does not make it easier to assemble scripts.
-
@Russ Bom dia Amigo, montei os doi script como você falou, um com .sh e o outro como já existe .py ai funcionou mas os comando que contem vídeos não abre o vídeo para de punciona logo em seguida e aparece essa respostar ai:
Unable to init server: Não foi possível conectar: Conexão recusada
(Frame:2570): Gtk-WARNING **: 10:09:45.448: cannot open display: -
@Antonio-Francisco-S-Santos said in Tentando Executar um Script python no terminal LX com o TriggerCMD mas não estou conseguindo:
@Russ Bom dia Amigo, montei os doi script como você falou, um com .sh e o outro como já existe .py ai funcionou mas os comando que contem vídeos não abre o vídeo para de punciona logo em seguida e aparece essa respostar ai:
Unable to init server: Não foi possível conectar: Conexão recusada
(Frame:2570): Gtk-WARNING **: 10:09:45.448: cannot open display:Consegui resolver Professor depois de muita quebra de cabeça e muito estudo, o Código basch ficou assim:
#! /bin/bashtouch .Xauthority
xauth merge ~pi/.Xauthority
export DISPLAY=:0.0
-
@Antonio-Francisco-S-Santos, awesome. I'm glad you figured it out.
-
@Russ Olá Professor, Só mais uma pergunta: existe algum limites na quantidade de Script além dos 4 Script que já existe? Porque coloquei mais dois comandos e não faz nada quando clico em Trigger nos dois que acrescentei.
-
@Antonio-Francisco-S-Santos, no, there's no limit on the number of commands you can create.
Does it do anything if you click the green arrow button in the GUI Editor?
-
Olá, Alguns comandos funcionam, mas alguns não faz nada quando clico no botão verde e como faço pra ver o histórico de erro?
-
@Antonio-Francisco-S-Santos, on Linux, you can send the output of a command to a log file by directing the output to a file.
If your command is:
~/script.sh
Change your command to this:
~/script.sh >> /tmp/script.log 2>&1
Then view the log file like this:
cat /tmp/script.log