[Fedora-users-br] Como acessar remotamente via modo texto um nobreak inteligente em linux?
Sthenley Macedo
contato em sthenley.com
Domingo Agosto 1 15:13:15 UTC 2010
Salve!
Em 1 de agosto de 2010 10:40, Geraldo <jrfontes.listas em yahoo.com.br>escreveu:
> Em 29/07/10 11:20, Mr. Adilson Bonan escreveu:
> > Cara, olha so, de SP para STO eu chego via SSH, isso nao eh p[roblema...
> > Meu problema comeca em STO qdo chego.. pq nao tenho nenhum software para
> > falar com o nobreak de la, saca....
>
> Isso eu entendi.
> A questão que fica: é possÃvel acessar o nobreak com outro software
> que
> não aquele desenvolvido pelo fabricante? Essas coisas são padronizadas
> ou cada fabricante escolhe como acessar seu equipamento?
> Ao que parece existem padrões a esse respeito. D~e uma olhada em
> http://www.mcsi.re/client-projects.
>
>
Primeiro mail que recebo da lista... Olá, pessoal! :)
Sem ter acompanhado a discussão, pode ser que fale alguma besteira, mas...
Vejamos.
Se a comunicação com o equipamento é feita via porta serial, *é possÃvel
desenvolver um cliente*. Em verdade, *nem é preciso ter um software
especÃfico para trocar mensagens*. O que é preciso, necessariamente, é
*conhecer
o protocolo de comunicação*. Se não tiver acesso ao protocolo, você pode
fazer a engenharia reversa. O que pode complicar é se o protocolo trabalhar
com caracteres em hexadecimal e máscaras para checksum.
Para fazer alguns testes, é preciso pelo menos conhecer as configurações
para a porta. O linux te oferece tudo para a brincadeira. Para essas coisas
eu uso o *stty*.
Digamos que o equipamento funcione com 9600 bps 8N1 e sua porta serial seja
/dev/ttyS0. Eis a linha de comando para configurar sua porta na sessão (pode
colocar no rc.local, por exemplo):
*
stty -F /dev/ttyS0 speed 9600 raw cs8 -parity*
Se estiver configurando um shell script, por exemplo, pode controlar o fluxo
desta forma:
*stty -F /dev/ttyS0 speed 9600 raw cs8 -parity >/dev/null 2>&1 || ERRO
"porta serial não disponÃvel ($?)"*
Isso vai configurar a porta ou retornar um código de erro.
E como comunicar-se com a porta?
Basta usar *echo* e *cat* :)
*cat /dev/ttyS0* para "escutar" a porta. Pode usar um loop indefinidamente,
para criar um daemon. No mais, como já citei, é preciso conhecer o protocolo
para entender as strings de retorno do equipamento. Com sorte, é tudo ASCII,
mas se o protocolo falar em hexadecimal, pode fazer um pipe com o *hexdump*.
No seu caso, provavelmente você não vai precisar escrever nada pra ele, pois
o interessante é apenas o monitoramento.
**
Virtualmente,
Sthenley
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://lists.fedoraproject.org/pipermail/br-users/attachments/20100801/d3bdf13f/attachment.html
Mais detalhes sobre a lista de discussão br-users