Tentando Executar um Script python no terminal LX com o TriggerCMD mas não estou conseguindo
-
@Antonio-Francisco-S-Santos said in Tentando Executar um Script python no terminal LX com o TriggerCMD mas não estou conseguindo:
Can't initialize GTK backend in function 'cvInitSystem
I looked up that error. It looks like you have to run the script as root.
If you've installed the background agent, and the command entry in your /root/.TRIGGERcmdData/commands.json file has ground = background, it should run as root, so you don't need sudo.
You'll want to make your command log its output to a file though. Otherwise you won't see what it's doing.
You could make your command something like this:
python3 /root/ColorTrack.py >> /tmp/ColorTrack.log 2>&1
That will redirect stdout and stderr to /tmp/ColorTrack.log and you can watch the log with a command like this:
tail -f /tmp/ColorTrack.log
-
@Russ Beleza Amigo vou tentar aqui e lhe dou um retorno de como ficou
-
russo
Então Amigo ainda não deu certo, pois o comando não responde. Fiz um teste com o script dessa forma:
{"trigger":"ColorTrack.py","command":"/home/pi/TonyPi/Functions/ColorTrack.py","ground":"background","voice":"Robor","allowParams": "false"},
ele responde ao clicar em trigger mas a tela que exibe as imagem não funciona. -
@Antonio-Francisco-S-Santos, can you try this instead?
{"trigger":"ColorTrack.py","command":"python3 /home/pi/TonyPi/Functions/ColorTrack.py >> /tmp/ColorTrack.log","ground":"background","voice":"Robor","allowParams": "false"},
After you trigger the command, run:
cat /tmp/ColorTrack.log
Please tell me if it adds anything to that log.
-
@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.