Ajuda com GPIO antes config graphical interface.

Fórum para discussão sobre Linux para processadores ARM

Moderadores: 51, guest2003, Renie, gpenga

Ajuda com GPIO antes config graphical interface.

Mensagempor fabim » 01 Mar 2021 08:48

Pessoal, tenho uma aPP onde preciso setar um digo cujo de um pino antes de cegar no ponto que a RPI0 configura a interface grafica.
No meu caso, seria um display SPI 480*320.
Porem para minha app, fui obrigado a colocar um CE com transistores nesse display, e preciso seta-lo beforehand configurar a interface de saida grafica.

Outra coisa, que não consigo achar uma saida, é:
Preciso carregar um app feito em python no lugar da GUI padrão da RPI, penso ser um kde nunca fui a fundo.

Alguém ja fez algo parecido, e poderia me dar uma ajuda, ou indicar fontes de pesquisa?

Obrigado!

Fabinho
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Re: Ajuda com GPIO antes config graphical interface.

Mensagempor xultz » 01 Mar 2021 17:10

O script de inicialização da Raspbian é o /etc/rc.local, nele você pode executar um programa (ou um script) que é executado enquanto ele buta.

Esse programa em Python ele tem interface gráfica? Se sim, de que tipo? Para rodar em X ou em frame buffer?
98% das vezes estou certo, e não estou nem aí pros outros 3%.
Avatar do usuário
xultz
Dword
 
Mensagens: 3001
Registrado em: 13 Out 2006 18:41
Localização: Curitiba

Re: Ajuda com GPIO antes config graphical interface.

Mensagempor tcpipchip » 01 Mar 2021 18:04

talvez o Fabinho esta utilizando uma imagem do Raspbian que esta com o X habilitado.

Ele pode pegar uma imagem sem o X.

Ai as GPIOS do SPI devem ficar livres para ele ter acesso à elas via python APP.

Um cron da vida para disparar!

Tem muitas libs em python para acessar o SPI do teu display!
------------------------------------------
http://www.youtube.com/tcpipchip
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Re: Ajuda com GPIO antes config graphical interface.

Mensagempor sync » 02 Mar 2021 00:32

O colega deseja usar a tela LCD como display do X?
sync
Byte
 
Mensagens: 195
Registrado em: 04 Mai 2020 16:11

Re: Ajuda com GPIO antes config graphical interface.

Mensagempor tcpipchip » 02 Mar 2021 13:16

Pelo que entendi não quer usar o X
------------------------------------------
http://www.youtube.com/tcpipchip
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Re: Ajuda com GPIO antes config graphical interface.

Mensagempor sync » 02 Mar 2021 15:53

tcpipchip escreveu:Pelo que entendi não quer usar o X


Amigo, me pareceu que ele quer iniciar o LCD antes do X.

"tenho uma aPP onde preciso setar um digo cujo de um pino antes de cegar no ponto que a RPI0 configura a interface grafica.
Porem para minha app, fui obrigado a colocar um CE com transistores nesse display, e preciso seta-lo beforehand configurar a interface de saida grafica."

eu não consigo compreender como o X afeta as GPIO relacionadas a SPI, em princípio daria para fazer isso em qualquer momento
sync
Byte
 
Mensagens: 195
Registrado em: 04 Mai 2020 16:11

Re: Ajuda com GPIO antes config graphical interface.

Mensagempor fabim » 16 Abr 2021 12:03

Pessoal, gastei um bom tempo pesquisando, aprendendo, e agora acho que consigo fazer uma melhor explanação.

Meu sistema funciona no tty sem problemas, agora funciona lindamente com o display 480x320 ou HDMI que seja.

Agora, eu já aprendi como subir o xorg e tudo mais.

Porém o gargalo está no seguinte.
Inicializar o xorg e um script python, após a tela de boot inicial.

Eu encontrei uma simples saida, simplesmente no final do arquivo ~/.profile, que sempre que um terminal sobe é executado, o comando "startx".

Até esse ponto, tudo está perfeito, funcionando sem problemas.

Porém o problema esta sendo executar o script python.

Se eu consegui entender bem, o comando startx até executar o script python é tão rapido, que o xorg ainda não subiu, logo ele gera um erro interno e não sobe a aplicação que usa o tkinter, que usa o xorg.

Eu preciso inicializar o script python, somente depos que o xorg estiver operativo e pronto, e não antes. Porém não consigo aprender essa mecânica!!!

Obrigado!
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Re: Ajuda com GPIO antes config graphical interface.

Mensagempor xultz » 16 Abr 2021 13:08

Acho que o que você precisa está neste artigo: https://wiki.archlinux.org/index.php/Xinit#xinitrc
Pelo que entendi (não me lembro de ter mexido com esse arquivo alguma vez), o xorg após terminar de carregar procura por este arquivo no teu home, se tiver ele executa ele (e neste script você pode chamar teu programa em python).
98% das vezes estou certo, e não estou nem aí pros outros 3%.
Avatar do usuário
xultz
Dword
 
Mensagens: 3001
Registrado em: 13 Out 2006 18:41
Localização: Curitiba

Re: Ajuda com GPIO antes config graphical interface.

Mensagempor sync » 16 Abr 2021 20:11

Amigo

xinit, startx são usados em contas individuais, você faz login em modo texto (tty) e inicia o seu ambiente X

Você quer iniciar o X system wide, ou seja, ele entra no ar durante o boot e aguarda um login individual para aí esse usuário iniciar um processo?
sync
Byte
 
Mensagens: 195
Registrado em: 04 Mai 2020 16:11

Re: Ajuda com GPIO antes config graphical interface.

Mensagempor fabim » 17 Abr 2021 09:37

Testei a técnica do link, e não funciona na raspberry com raspibian Lite.

O que eu quero, que um programa que depende do x, suba apenas após o x subir.
Eu setei a raspberry para login automatico, e coloquei o stardx para ser invocado no rc.init, até aqui tudo lindo!
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Re: Ajuda com GPIO antes config graphical interface.

Mensagempor tcpipchip » 17 Abr 2021 21:54

Então deu certo ?
------------------------------------------
http://www.youtube.com/tcpipchip
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Re: Ajuda com GPIO antes config graphical interface.

Mensagempor fabim » 18 Abr 2021 07:37

Não, não funcionou!
Eu consigo subir o X11 automático, más no fim da carga, ele não esta buscando o arquivo como indicado no procedimento descrito no link.
Para testar, coloquei apenas o xclock, que é um relógio, criado para testar o X11.

Alguém mais, teria uma outra idéia?
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Re: Ajuda com GPIO antes config graphical interface.

Mensagempor sync » 18 Abr 2021 12:32

fabim escreveu: Alguém mais, teria uma outra idéia?


Colega
Idéia, não, mas algumas sugestões:

1) Redirecione a saída de erro do seu programa python para um arquivo (ex. /tmp/erros) e veja se algo é escrito nele
2) Veja se foi criado um arquivo .xsession-errors na conta que executa o programa. Se existir, verifique se tem mensagens de erros referentes ao seu programa em python
3) O colega disse que "sobe o X11 automático", o que isso significa? O X server sozinho é uma tela cinza com um cursor.
Normalmente os linux iniciam automaticamente um Window Manager (twm, fvwm, etc) ou desktop completo Qual é o caso do amigo?
sync
Byte
 
Mensagens: 195
Registrado em: 04 Mai 2020 16:11

Re: Ajuda com GPIO antes config graphical interface.

Mensagempor fabim » 19 Abr 2021 11:55

sync escreveu:
fabim escreveu: Alguém mais, teria uma outra idéia?


Colega
Idéia, não, mas algumas sugestões:

1) Redirecione a saída de erro do seu programa python para um arquivo (ex. /tmp/erros) e veja se algo é escrito nele
2) Veja se foi criado um arquivo .xsession-errors na conta que executa o programa. Se existir, verifique se tem mensagens de erros referentes ao seu programa em python
3) O colega disse que "sobe o X11 automático", o que isso significa? O X server sozinho é uma tela cinza com um cursor.
Normalmente os linux iniciam automaticamente um Window Manager (twm, fvwm, etc) ou desktop completo Qual é o caso do amigo?


Nossa Sync, no meu caso, é uma distro lite do site da rbp.
Ele é crú, operando somente modo terminal texto pelo FB em modo HDMI.
Eu fiz a instalação manual do X11, entre outros apps.
eu coloquei o comando "startx", dentro do arquivo /etc/rc.local.
Esse procedimento funcionou, pois o X11 sobe tranquilamente, ou seja, a tela fica, no caso da rbp, preta com o cursor do mouse no centro.

Sobre o log, de erro, sim é criado e o log é como segue abaixo:

Código: Selecionar todos
Xsession: X session started for pi at Thu 15 Apr 16:08:14 BST 2021
localuser:pi being added to access control list
Xsession: X session started for pi at Fri 16 Apr 18:20:59 BST 2021
localuser:pi being added to access control list
xterm: fatal IO error 11 (Resource temporarily unavailable) or KillClient on X $
Xsession: X session started for pi at Fri 16 Apr 18:47:02 BST 2021
localuser:pi being added to access control list
Xsession: X session started for pi at Fri 16 Apr 20:30:45 BST 2021
localuser:pi being added to access control list
Xsession: X session started for pi at Fri 16 Apr 20:47:50 BST 2021
localuser:pi being added to access control list
xterm: fatal IO error 11 (Resource temporarily unavailable) or KillClient on X $
Xsession: X session started for pi at Fri 16 Apr 20:49:42 BST 2021
localuser:pi being added to access control list
xterm: fatal IO error 11 (Resource temporarily unavailable) or KillClient on X $
Xsession: X session started for pi at Mon 19 Apr 12:54:35 BST 2021
localuser:pi being added to access control list
xterm: fatal IO error 11 (Resource temporarily unavailable) or KillClient on X $
Xsession: X session started for pi at Mon 19 Apr 15:06:28 BST 2021
localuser:pi being added to access control list


Ou seja, o X está subindo, porém o X ao que tudo indica não busca o ~/xinitrc.

Não quero ser pretencioso, mas se importaria de dar uma olhada no meu sistema?
EU posso compartilhar a tela com você, e ir verificando os resultados!

Muitissimo obrigado!

Sem mais;;
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Re: Ajuda com GPIO antes config graphical interface.

Mensagempor sync » 19 Abr 2021 20:57

Caro Fabim

Você colocou o .xinitrc no /root ou no /home/pi? Eu creio que o o .xinitrc será lido na conta que chamou o startx, no caso do ser chamado no rc.local é o root quem o executa e não o usuário pi.

Tente colocar no rc.local, após o startx, a execução do seu comando python e veja se ele inicia
sync
Byte
 
Mensagens: 195
Registrado em: 04 Mai 2020 16:11

Próximo

Voltar para Linux / uCLinux ( ARM ) / UNIX

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron

x