IOT e Terminal - Como enviar comandos para dispositivo inteligente na rede?

A IOT está bombando.
Smart disso, Smart daquilo.
Todos são dispositivos que se comunicam entre si, e com seu Smart(denovo)fone.

Mas como toda essa comunicação acontece ou usando um Bluetooth, ou principalmente trafegando pela sua rede Wi-fi, já se perguntaram se é possível controlar tudo isso a partir do Seu terminal no Linux, sem ter que sair acionando por um Android ou um Google Home da vida?

A pergunta que surge é: Como fazer isso? Quais são os comandos pra dar pelo terminal?

Quem souber ajuda aí por favor.


Por exemplo, recentemente comprei esse Interruptor “inteligente” aqui:

https://a.aliexpress.com/_mqMqwwK

Funciona que é uma beleza, e aciono pelo celular.
Rastreando ele no minha rede, vi que a porta 80 é a usada para a comunicação.
Com isso, aí foi que fiquei com vontade mesmo de controlar pelo meu terminal. Mas não sei quais são os parâmetros e qual é o app no Shell que vai enviar/receber esses comandos.

2 curtidas

Só lendo as especificações do produto (ou do protocolo de comunicação entre os apps e o produto) e com base nisso construir um script que efetivamente vai ser uma implementação do padrão.

Pra estabelecer uma conexão, o /dev/tcp do bash (apenas envio), ou o comando nc (do pacote netcat, para entrada e saída) pode ser uma boa base. Por exemplo, o comando a seguir faz uma requisição HTTP pura ao blog do criador do Perl, sem curl nem nada:

printf '%s\r\n' 'GET /~larry/ HTTP/1.1' 'Host: www.wall.org' 'User-Agent: netcat' '' | nc www.wall.org 80