Experimente a biblioteca pyserial
do python. Eu acho que você pode resolver isso com essa biblioteca. Você pode encontrar um tutorial em aqui
Estou tentando escrever um script que conecte e execute o comando em / dev / ttyUSB0 após obter a saída.
screen -d -m 'SCREEN COMMAND' -L /dev/ttyUSB0
Mas isso não cria um arquivo de saída. Como posso resolver esse problema? Alguma idéia?
Experimente a biblioteca pyserial
do python. Eu acho que você pode resolver isso com essa biblioteca. Você pode encontrar um tutorial em aqui
screen
é bom ter sua sessão de terminal para ser executada desanexada. No entanto, ele não foi projetado para executar automaticamente comandos em terminais.
Para este propósito, outra ferramenta foi desenvolvida - expect
.
expect
permite criar scripts de interação humana com programas em execução no terminal.
É uma ferramenta poderosa, mas também é outra linguagem de script para aprender e pode ser um pouco entediante. Se você estiver familiarizado com o Perl, o módulo Perl Expect pode economizar muito esforço também são esperados módulos para outras linguagens de script como o Python).
Mais uma nota. No seu caso, parece que /dev/ttyUSB0
é um dispositivo serial sobre USB que pode ser conectado ou desconectado a qualquer momento. Se você quiser manter automaticamente a interação com essa interface serial sobre USB, considere a observação desse dispositivo para aparecer / desaparecer e reconectar automaticamente (digamos no script Perl) ou adicionar a regra do udev (em /etc/udev/rules.d
), que será inicie automaticamente seu programa de tratamento conforme o novo dispositivo USB é conectado.
Tags bash usb gnu-screen tty