Comando customizado wget sem resposta

0

Eu tenho um arduino com um escudo ethernet que controla um relé, que controla as luzes. Eu costumo usar o telefone para enviar um pedido HTTP get de um widget no tasker, mas eu gostaria de poder digitar "light on" ou "light_on" na linha de comando / terminal, e ele ligaria. Descobri que eu poderia usar wget para enviar a solicitação wget 192.168.1.177?s=1 , mas que está aguardando uma saída depois. Mas o arduino não produz nada, apenas escuta o get.

Portanto, para concluir, preciso poder criar um comando personalizado e precisar de um comando para personalizar para enviar uma solicitação http GET. Não é necessário usar wget , pareceu mais fácil desde que já estava instalado.

Ah, e meu sistema operacional é o Ubuntu 12. 04 LTS.

    
por Robin Sandström 28.02.2014 / 18:00

1 resposta

1

Você pode usar o netcat para essa tarefa; por exemplo, usando ncat encarnação do Nmap:

$ echo -e "GET /?s=1 HTTP/1.0\r\nHost: 192.168.1.10\r\n\r\n" | ncat 192.168.1.177

Isto é, supondo que seu Arduino esteja escutando na porta 80; caso contrário, você precisará especificar isso após o endereço IP na invocação do ncat

Depois, se isso funcionar bem para você, você pode criar um alias com todo o comando, como acrescentar isso ao seu ~/.bashrc , ~/.bash_aliases ou o que achar conveniente:

alias light_on='echo -e "GET /?s=1 HTTP/1.0\r\nHost: 192.168.1.10\r\n\r\n" | ncat 192.168.1.177'

    
por 28.02.2014 / 21:04