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!

domingo, 15 de fevereiro de 2015

Automação no Parque, 14/02/2015


Ontem, sabadão de Carnaval, não é que em vez de se entregar aos folguedos momescos a turma resolveu aparecer no Parque? Abaixo algumas imagens do que rolou por lá:

 Um dos projetos mais legais que estão rolando desde o sábado passado é o do Carlos e do Alex Porto, que estão estudando transmissão de dados via rádio digital.

Usando um SDR (Software Defined Radio) a dupla testa alguns transmissores que a gente às vezes usa em nossos projetos.

Como receptor eles usam uma dessas antenas de TV digital para PC, desse tipo aí ao lado.

Essas antenas se prestam a algumas brincadeiras bem legais, porque podem ser usadas em frequências de rádio FM da banda comercial, bem como em outras como por exemplo a usada pela aviação. Pode-se ouvir as conversas de pilotos e também captar a telemetria dos aviões, por exemplo.














Esse foi o modelo de transmissor que usamos para fazer a brincadeira abaixo.

E que tal transmitir música gerada com o Arduino pelo rádio? Usando um sketch Arduino que eu fiz um tempão atrás, que toca a famosa trilha nerd Imperial March, transmitimos a música do Arduino ao PC e ela tocou no auto-falante deste último.

Abaixo, o scketch com o trecho da música. Vc pode ouvi-la simplesmente conectando o seu Arduino a um buzzer ou pequeno auto-falante no pino 8:

// biblioteca que define as frequências das notas musicais
#include <Piches.h>

#define buzzer 8 // pino do positivo buzzer/autofalante. 

// toca uma determinada nota (pitch), com uma determinada duração (duration)

void playPich(int pich, int duration)
{
  tone(buzzer, pich);
  delay(duration);
  noTone(buzzer);
}

void ImperialMarch()
{
    int ritym = 500;
    playPich(NOTE_A3, ritym);
    playPich(NOTE_A3, ritym);
    playPich(NOTE_A3, ritym);
    playPich(NOTE_F3, ritym * 3 / 4);
    playPich(NOTE_C4, ritym * 1 / 4);
    playPich(NOTE_A3, ritym);
    playPich(NOTE_F3, ritym * 3 / 4);
    playPich(NOTE_C4, ritym * 1 / 4);
    playPich(NOTE_A3, ritym * 2);
    playPich(NOTE_E4, ritym);
    playPich(NOTE_E4, ritym);
    playPich(NOTE_E4, ritym);
    playPich(NOTE_F4, ritym * 3 / 4);
    playPich(NOTE_C4, ritym * 1 / 4);
    playPich(NOTE_GS3, ritym);
    playPich(NOTE_F3, ritym * 3 / 4);
    playPich(NOTE_C4, ritym * 1 / 4);
    playPich(NOTE_A3, ritym * 2);
    delay(500);
}

void setup()
{
  pinMode(buzzer,OUTPUT);
}

void loop()
{
  ImperialMarch();
}

Abaixo, imagem do Arduino Mega acoplado ao radinho.

E aqui o resultado. Vídeo by Alex Porto, que também escreveu sobre o assunto em seu blog.



Eu fiquei preparando o meu Edson para uso, instalando o Linux nele etc, mas isso é assunto para outro post.

quinta-feira, 5 de fevereiro de 2015

Um tiozinho na Campus Party



Atendendo a um convite do amigo Jomar, responsável pela área de IoT da Intel cá no Brasil, fui hoje ao coquetel de lançamento do Intel Edson. Cara... divertido! Vejam como me saí por lá... prometo: muitas imagens, pouco texto.

O evento é dividido em três partes: a primeira, de acesso gratuito, é composta de stands de empresas de tecnologia, uma área de projetos estudantis e a arena da guerra de robôs. A segunda área é a "festa do campus" literalmente, uma área onde só tem acesso os campuseiros (povo que tá acampado por lá, MILHARES de jovens), pessoas que pagam por dia de acesso e convidados como euzinho.


Na parte aberta tinha essa oficina, promovida pela Prefeitura de SP. Achei uma boa ideia para a nossa intrépida Paulinha trazer para o SESC-SJC, quem sabe?

 Os caras tem impressoras 3D, máquinas de corte a laser, fresas e outros "mimos" para a diversão dos oficineiros.



Ao lado, a turma se divertindo.
 Uma parte enooooorme do evento é dedicada a games (dãããã!). Esse aí é um dos simuladores mais viajados, desses que giram enquanto o sujeito pilota.
Eu, que sou do tempo do telejogo, confesso que não acompanhei, ou seja, desembarquei em algum momento dessa história. Então a atenção aqui dedicada será inversamente proporcional à da turma lá na CP... mas não vou deixá-los totalmente "out" não.
 Se o cara não se satisfaz dentro da bolota azul, pode também entrar num F1 "real" e mandar ver. Isso no estande da Petrobras. Me perguntei se os caras não tinham um lugar melhor prá gastar grana do que a CP, mas me lembrei que eles tem muitos outros lugares piores para investir "o meu, o seu, o nosso" capilé...
 Fala verdade??? Em que evento aberto ao público vc veria um estande dedicado a um "Sistema de alinhamento automático de parcelas de criptografia visual para protocolos de comunicação"? R: CP!
 Aqui um trabalho legal que umas calouras de uma universidade do MT estão fazendo com Scratch e Arduino nas escolas de sua cidade.

A meta delas é convencer a meninada (principalmente a "meninada meninada", quer dizer, aquele povo XX que compartilha a condução desse planetinha conosco) que esse troço de nerdice não é coisa só prá macho.
 Ao lado as "culpadas" pelo trabalho. Lembrando: são calouras!!

BTW: tinha muito mais mulher no evento do que eu esperava ver. Mesmo na competição de robótica as mocinhas operavam ferros de solda, parafusadeiras etc. E a coisa por lá é bruta, como vcs verão abaixo.



No "fundão" a área de camping. Os micros em primeiro plano são o "check-in", nosotros não podemos passar daí. Queria ter tido um acesso melhor para mostrar a vocês mas rolou não... :(










 Aqui uma panorâmica da maior área da CP: bancadas e mais bancadas (e mais bancadas ainda) ocupadas pela nerdaiada se divertindo....
Uma coisa interessante é: como será que os caras fariam para prover wifi para essa multidão? R: simplesmente não fazem. A tecnologia wifi tem limitações que tornam impossível disponibilizar acesso para essa galerinha. Então prá todo lado que se olha tem "fio azul" esparramado.

Dizem que a largura da banda (50 giga) é mais ou menos o que a população de BH tem à sua disposição... já eu não pude desfrutar, convidado não tem direito a entrar com notebook. E por uma razão: os computadores (desktops/notebooks) são todos cadastrados associados aos donos.

Customização de PCs


Existe um  "concurso de customização de PCs (???) no evento. Os caras investem até R$ 10.000,00 para "embelezar" suas caras-metade e trazem para ver quem é o melhor nessa arte.
Nunca imaginei uma coisa dessas...
Algumas imagens das "preciosidades" se seguem.
Tinha muita máquina customizada...



Tem umas que nem lembram PCs.


A maioria delas é refrigerada a água. Tem umas, a nitrogênio...
Reparem no tamanho dessa coisa...
















E esse aí, então?































Escrevi acima que o sujeito gasta até dez paus para montar uma dessas máquinas. Aí ele transporta  a bicha prá cá, monta e participa de um concurso.

O prêmio? R$ 300,00 e um ingresso para participar da CP do ano que vem...

Por fim, o vídeo de uma das belezinhas funcionando.



MMA Robótico


Não poderia faltar por lá, claro, uma arena de MMA robótico. Eu, que já até promovi uma tempos atrás, finalmente pude ver uma in loco. 


Acima, uma panorâmica da arena. O chão é formado por chapas de aço, as paredes são de vidro a prova de balas... já dá para ter uma ideia do que rola aí dentro, não? E tudo transmitido on-line em canal do youtube.

A área de preparação dos robôs é de acesso restrito, mas uma amigo de um amigo que eu tinha feito uma hora antes me emprestou o crachá da mulher dele para que eu pudesse entrar. Aí embaixo então vão as minhas descobertas de insider...

Aqui uma panorâmica da galera dando os toques finais nas máquinas. Já houve um dia de competição, então hoje vai rolar uma repescagem.
Se, durante a preparação, for necessário usar uma ferramenta mais heavy (uma esmerilhadeira, por exemplo), o sujeito vai prá dentro da arena e manda ver.










 São três categorias. A mais pesada comporta bebês de até 53 quilos. Esse aí pesa só 49...
 Essas são as armas, no detalhe: Perguntei se eram dentes de alguma escavadeira, os caras me disseram que não, que foram construídas com essa finalidade. E que não foram fundidas, e sim fresadas. "Ferro fundido é muito mole..." Então tá.

Os caras me disseram que esse robô é o único com oito rodas... e oito motores, por supuesto!
 Essa mordida foi feita pelo robô anterior. Se fosse ferro fundido não tinha nem feito cócegas...
 Outras maquinhas na bancada.
















Essa foto é bem autoexplicativa.
Já esse aí atua virando a concorrência.













Por todo lado tem maletas como essa. São baterias de carregadores de bateria, para carregar as baterias dos robôs. Um camarada do ramo me disse que os motores e armas chegam a consumir 8 kW (!!!!) de potência em determinados momentos. Isso dá quase 14 cv. Se pensarmos em 24 V no circuito, Isso dá mais de 300 A de corrente! Será isso mesmo???

Com isso, as baterias duram no máximo 3 minutos, e é comum explodirem... ui!

Outras imagens


Em que lugar a gente vê o Mach 5 estacionado ao lado da Mystery Machine???

Speed Racer e Scooby Doo não estavam por lá... pena, eles são do meu tempo.












Havia tb esse hackaton Ford. Nele o povo era convidado a desenvolver aplicações para rodar embarcada nos modelos da marca.

Para isso haviam consoles dos veículos (à esquerda, pretos) ligados em rede para a galera mandar ver.







Ao lado, a parte traseira dos consoles, com as diversas conexões suportadas.












Ao lado, a imagem do espaço mantido pelo povo do Garoa e outros hackerspaces na CP. Tava lá a turma dos jovens há mais tempo: Ramalho, Anchises e quetais.










Bom, é isso. Sobre o Edson, vários outros posts virão.

Abracadabraço!







terça-feira, 3 de fevereiro de 2015

And so... Arduino Yún! - Parte III

Agora vamos colocar o Yún no seu devido lugar: a nuvem, ou 雲, como vcs já aprenderam lá atrás.

Para isso, molezinha: Quando ligamos o Yún pela primeira vez ele aparece como um access point, então vc pode vê-lo através do gerenciador de conexões de rede do seu notebook como Arduino Yun-XXXXXXX, assim:

O número é único por Yún.

Conecte-se ao bicho, abra o seu browser e aponte para: http://arduino.local ou 192.168.240.1 e você verá a tela de configuração da plaquinha:



A senha é arduino.

Digitada a senha, aparece a seguinte tela:






























Dá para ver os parâmetros das duas conexões possíveis, wifi e ethernet.

Para colocar na nuvem a bichinha, temos que colocá-la como cliente na nossa rede. Para isso, clique em CONFIGURE e acesse:


































Aqui vc pode dar um nome para o seu Yun, alterar a senha de acesso a ele e, mais importante, colocá-lo na sua rede wifi.

Configure a rede e clique em CONFIGURE AND RESTART. Isso feito, após reiniciar a plaquinha estará como client da nossa rede.

Uma dica importante: caso vc leve o seu Yún para passear por alguma outra rede, vc tem duas opções:

1) Apertar o botão de reset do wifi. Aliás, o Yún tem três resets, como vc pode ver abaixo:



Abramos um parênteses para os resets:

O botão 32U4 Reset reseta a parte Arduino da plaquinha, ou seja, reinicia o sketch (programa) que estiver rodando no processador 32U4.

Já o botão Linino Reboot "reboota" o Linux, enquanto que o botão Wifi Reset, se pressionado por mais de 5 segundos e menos de 30 faz com que o wifi volte ao modo access point, ou seja, permita a conexão usando o arduino.local.

E se vc pressionar por mais de 30 segundos? Bom, nesse caso o Linino volta ao seu status inicial, po seja, à configuração "de fábrica" (ou, caso vc tenha baixado alguma outra distribuição mais recente, ele atualiza para ela). Tudo o que vc tiver instalado e, claro, a configuração de rede, será perdido.

2) Eu reparei (mas não achei nada sobe isso na net) que, se vc liga o Yún e ele não acha a rede para a qual foi configurado, ele volta ao modo access point depois de algum tempo, sozinho. Quanto tempo? Sei lá, acho que em torno de um minuto. Quando eu descobrir eu conto.

Bom, e agora, o que fazemos?

Bom, uma coisa legal que dá para fazer é programá-lo via wifi. Para isso, abra a IDE do Arduino, selecione a Board como Yún e dê uma olhada na lista do Port:




Agora o Yún aparece como serial e rede, com o respectivo ip. E vc pode, claro, enviar o seu programa por aí, em vez de pela serial. E porque ele aparece nas duas formas? Porque ele está conectado também pela USB, para que possa ser alimentado. Mas caso vc queira e ele esteja ligado a uma bateria ou outra fonte de alimentação, pode ser programado à distância!

Falar em alimentação, eu já falei que o Yún é PoE? Quer dizer, uma vez que vc plugou o bicho num cabo de rede, ele se alimentará por aí, não sendo necessária outra fonte de alimentação.

É isso. Num próximo post, acessaremos o lado Linino do Yún.