Postagem em destaque

Controle PID de Potência em Corrente Alternada - Arduino e TRIAC - Parte I

Este post é o primeiro de uma série de seis que escrevi tratando de controle de potência e PID (controle proporcional, integral e derivativo...

domingo, 22 de fevereiro de 2015

Automação no Parque, 21/2012, ou: como conectar o seu device a uma rede wifi que possui login

Nessa sábado no Parque tentei botar prá rodar um SDR (rádio no PC, no penúltimo post falo a respeito), sem sucesso. Não consegui configurar o software para trabalhar com a minha antena. Depois de muito apanhar, resolvi mudar de assunto e esperar um dia em que o Alex Porto apareça por lá e possamos trabalhar juntos num projeto: montar um analisador de sinais de antena de RFID.

Fui trabalhar com o Edson. Aí, apareceu a solução para um problema que me perseguia desde o início do Automação no Parque. Me explico:

A rede wifi do Parque Santos Dumont é free, provida pela Prefeitura Municipal através de uma empresa contratada para isso. Acontece que, para que a gente se conecte na rede, ela exige um cadastro prévio e um login, informando entre outras coisas. Sou contra esse tipo de coisa: porque o Estado tem que saber que eu me loguei na internet, e quem sabe por onde eu ando na rede? Acho que isso inclusive deve ser ilegal, ferindo a impessoalidade no acesso à rede.

Mas... tergiverso.

O problema com esse login é que, quando eu queria colocar um dispositivo na rede, dispositivo esse que não tem teclado nem monitor, eu ficava na mão, quer dizer, não sabia como fazer. Então, sempre que eu queria usar um device em rede, eu levava para o parque um roteador e me conectava ao dispositivo usando esse roteador. Os inconvenientes dessa solução são vários, mas o pior é que o device fica sem acesso à internet.

Só que ali é o Parque, ou seja, da mesma forma que de vez em quando aparece bebum, neguinho reivindicando o espaço falando que reservou na Prefeitura e outros malas prá encher o saco, aparece gente mais capaz que a gente para nos iluminar com seu conhecimento.

Dessa vez quem fez o "milagre" foi o Victor, formando no curso de Engenharia da Computação no ITA. Recifense, cabra bão!

E qual é a dica? vamolá:

A ideia é fornecer ao site de login os dados que ele está esperando, que são usuário e senha, a partir do device (no caso, o Edison).

Acessando o site de login com o Chrome, o Victor pressionou Ctrl+Shift+I. Aí abriu-se um panel embaixo da tela do Chrome, assim:






















Observem (se a imagem estiver pequena, clique nela para aumentá-la) que, quando eu me loguei na página, Google mostrou embaixo o POST que foi feito no browser, no tópico Form Data:




Observem que a senha já aparece encriptada pelo browser, ou seja, ao circular pela rede já está pelo menos um pouco protegida. Ufa!

Agora, com o Edison logado no wifi do Parque, usamos o comando curl, que serve para enviar dados de uma máquina para outra em vários protocolos. O comando que o Victor montou é esse abaixo:

curl --data "username=assismauro64%40gmail.com&password=OQA5MTMAMzQwADAyMwAzODgAODUzADM3&action=auth&authtype=hidden&popup=true&save=0" http://192.168.36.2:1881/?nocache=1424525322&myauth3

Observem que ele usou, além do Form Data, o parâmetro http://192.168.36.2:1881/?nocache=1424525322&myauth3, que o Victor achou no item Request URL, acima do item Form Data.

Feito isso... estamos na net! É só dar um ifconfig para descobrir o IP e dar um ping para algum site e ver que o acesso está liberado.

Reforçando: essa zica era um enrosco de muito tempo, e graças ao Victor agora temos a "solucionática", como diria o grande filósofo contemporâneo Dadá Maravilha, meu conterrãneo).

Essa é a maravilha de se estar num local onde as pessoas já sabem que se encontrarão com o objetivo de aprender. Vida longa ao nosso Automação no Parque!