Enviando e recebendo sinais simples entre computadores?

0

Eu tenho um RaspberryPi, rodando o Pi distro padrão, e um computador rodando o Linux 16.04 na mesma rede local com endereços IP fixos. O Pi é usado para ativar o computador enviando um pacote Wake-on-Lan e, em seguida, fazendo o tunelamento no computador via SSH.

Existe uma maneira fácil e simples para o computador enviar uma mensagem para o Pi, que o Pi interpreta como o computador sendo iniciado com sucesso e acessível?

Eu já configurei um sistema onde o Pi está continuamente pingando o computador até que ele receba uma resposta, mas eu especificamente quero ter a mensagem do computador Pi e não o Pi verificando no computador.

    
por UmBottesWillen 16.11.2018 / 19:17

1 resposta

1

Use nc - método mais simples.

No computador (supondo que seja um sistema * nix): coloque ( echo "computer is up" | nc 192.168.0.123 6677 ) & em /etc/rc.local . O (...) & gera shell em segundo plano para evitar que o script rc.local bloqueie outras coisas da execução enquanto o computador inicializa. Suponha que 192.68.0.123 seja o endereço IP do seu Pi na mesma rede que o computador.

Em Pi, tenha um processo de escuta na porta 6677 com nc -l 6677 depois de qualquer comando que você esteja usando para enviar o sinal wake on LAN. Por padrão, nc termina quando o lado de envio fechar a conexão (o que deve acontecer depois que todos os bytes da string "computer is up" forem enviados). Então você poderia fazer algo como

netreply=$( nc -l 6677)
case $netreply in
     "computer is up") echo "All good" ;;
     *)  echo some boo-boo happened ;;
esac
    
por 17.11.2018 / 00:39