TRIGGERcmd
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    Tentando Executar um Script python no terminal LX com o TriggerCMD mas não estou conseguindo

    Raspberry Pi
    2
    80
    5.2k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • RussR
      Russ @Antonio Francisco S.Santos
      last edited by

      @Antonio-Francisco-S-Santos, I translated your title as "Trying to Run a python Script in the LX terminal with TriggerCMD but I'm not succeeding"

      Please try this. Run triggercmdagent --console in a terminal window first, then click the green Trigger button to run your command that runs the python script.

      dd3e85e2-14d3-4fec-b2bc-dd4b7dad0021-image.png

      Also, can you show me your ~/.TRIGGERcmdData/commands.json file?

      Russell VanderMey

      Antonio Francisco S.SantosA 1 Reply Last reply Reply Quote 0
      • Antonio Francisco S.SantosA
        Antonio Francisco S.Santos @Russ
        last edited by

        @Russ tenho um script que executa um comando que acessa a câmera do Raspberry pi, porem ele só funciona quando é executado no terminal LX. Coloquei o caminho na linha de comando do Trigger mas da erro quando vai abrir
        {"trigger":"ColorTrack.py","command":"/home/pi/TonyPi/Function/sudo ColorTrack.py","ground":"background","voice":"Robor","allowParams": "false"},
        File "/home/pi/TonyPi/Functions/ColorTrack.py", line 229, in <module>
        cv2.imshow('Frame', Frame)
        cv2.error: OpenCV(4.5.3) /tmp/pip-wheel-pd499c9i/opencv-python_3a15e83eee864e65b7311a199a94e9f1/opencv/modules/highgui/src/window_gtk.cpp:635: error: (-2:Unspecified error) Can't initialize GTK backend in function 'cvInitSystem
        Aparece esse erro:

        RussR 1 Reply Last reply Reply Quote 0
        • RussR
          Russ @Antonio Francisco S.Santos
          last edited by

          @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
          

          Russell VanderMey

          Antonio Francisco S.SantosA 1 Reply Last reply Reply Quote 0
          • Antonio Francisco S.SantosA
            Antonio Francisco S.Santos @Russ
            last edited by

            @Russ Beleza Amigo vou tentar aqui e lhe dou um retorno de como ficou

            Antonio Francisco S.SantosA 1 Reply Last reply Reply Quote 0
            • Antonio Francisco S.SantosA
              Antonio Francisco S.Santos @Antonio Francisco S.Santos
              last edited by

              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.

              RussR 1 Reply Last reply Reply Quote 0
              • RussR
                Russ @Antonio Francisco S.Santos
                last edited by Russ

                @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.

                Russell VanderMey

                Antonio Francisco S.SantosA 1 Reply Last reply Reply Quote 0
                • Antonio Francisco S.SantosA
                  Antonio Francisco S.Santos @Russ
                  last edited by

                  @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 scriptteste.jpg dentro

                  RussR 1 Reply Last reply Reply Quote 0
                  • RussR
                    Russ @Antonio Francisco S.Santos
                    last edited by Russ

                    @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.

                    Russell VanderMey

                    Antonio Francisco S.SantosA 1 Reply Last reply Reply Quote 0
                    • Antonio Francisco S.SantosA
                      Antonio Francisco S.Santos @Russ
                      last edited by

                      @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.

                      1 Reply Last reply Reply Quote 0
                      • Antonio Francisco S.SantosA
                        Antonio Francisco S.Santos
                        last edited by

                        Quando tento rodar um script que contem vídeo veja o erro que aparece:
                        LXterminal.jpg

                        RussR 1 Reply Last reply Reply Quote 0
                        • RussR
                          Russ @Antonio Francisco S.Santos
                          last edited by Russ

                          @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

                          Russell VanderMey

                          1 Reply Last reply Reply Quote 0
                          • Antonio Francisco S.SantosA
                            Antonio Francisco S.Santos
                            last edited by

                            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.

                            1 Reply Last reply Reply Quote 0
                            • Antonio Francisco S.SantosA
                              Antonio Francisco S.Santos
                              last edited by

                              @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"},

                              RussR Antonio Francisco S.SantosA 2 Replies Last reply Reply Quote 0
                              • RussR
                                Russ @Antonio Francisco S.Santos
                                last edited by

                                @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"},
                                

                                Russell VanderMey

                                1 Reply Last reply Reply Quote 0
                                • Antonio Francisco S.SantosA
                                  Antonio Francisco S.Santos
                                  last edited by

                                  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:
                                  Codigo.jpg
                                  Você tem mais alguma ideia que possa me ajudar?

                                  RussR Antonio Francisco S.SantosA 2 Replies Last reply Reply Quote 0
                                  • RussR
                                    Russ @Antonio Francisco S.Santos
                                    last edited by

                                    @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
                                    ....
                                    

                                    Russell VanderMey

                                    1 Reply Last reply Reply Quote 0
                                    • Antonio Francisco S.SantosA
                                      Antonio Francisco S.Santos @Antonio Francisco S.Santos
                                      last edited by

                                      @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.

                                      1 Reply Last reply Reply Quote 0
                                      • Antonio Francisco S.SantosA
                                        Antonio Francisco S.Santos @Antonio Francisco S.Santos
                                        last edited by

                                        @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?

                                        RussR 1 Reply Last reply Reply Quote 0
                                        • RussR
                                          Russ @Antonio Francisco S.Santos
                                          last edited by

                                          @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.

                                          Russell VanderMey

                                          Antonio Francisco S.SantosA 1 Reply Last reply Reply Quote 0
                                          • Antonio Francisco S.SantosA
                                            Antonio Francisco S.Santos @Russ
                                            last edited by

                                            @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.SantosA 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post