Envie uma mensagem para uma “tela” a ser recebida por um dispositivo em / dev

1

Minha pergunta pode parecer trivial ... Mas é porque, apesar da minha longa experiência em sistemas linux / unix / osx, eu me vi sem algumas noções básicas.

Eu criei um pequeno switch bluetooth / arduino para controlar alguns appliances em casa. É um programa simples, como mostrado aqui link

Para ativar ou desativar meu switch, eu faço:

screen /dev/tty.HC-06-DevB

Em seguida, digito 0 ou 1 no console e meu switch liga ou desliga.

Funciona. Realmente, não é nada difícil ... Exceto que não conheço os princípios por trás da comunicação com os recursos localizados em / dev / e não sei como começar a aprender.

Como posso ter um comando simples para enviar 1 ou 0 para este dispositivo específico? Algo como:

echo 1 > screen /dev/tty.HC-06-DevB

Eu tentei o comando abaixo, não funciona:

echo 1 > /dev/tty.HC-06-DevB
zsh: resource busy: /dev/tty.HC-06-DevB

Onde aprender o que são essas "coisas" em / dev?

PS: Estou usando o OS X El Capitan.

    
por Charaf 19.01.2016 / 02:04

2 respostas

0

Depois de muitas leituras, e graças à resposta de Bibek_G, que me ajudou a encontrar alguns links nas internets, finalmente entendi o que preciso e como fazer a coisa funcionar. Na verdade, o que eu quero fazer não precisa de tela ... O comando certo era:

sudo echo 1 > /dev/cu.HC-06-DevB

Não funcionou no começo porque não usei sudo .

A propósito, eu também aprendi como usar screen .

Obrigado a todos.

    
por 21.01.2016 / 22:57
0

Veja aqui o manual de screen . Procure as opções de linha de comando específicas para o screen em que você está interessado.

Por exemplo, -r é reconectado a um processo de tela desanexado.
-R reconecta, se possível, e inicia outra sessão. Eu acho que esta é a opção que você está procurando.

Então, eu faria:

$ screen -R /dev/tty.HC-06-DevB

Também na página de manual:

-D (-r) Detach and logout remote (and reattach here).

Sinta-se à vontade para comentar se acha que eu entendi mal alguma coisa.

    
por 19.01.2016 / 03:09