LusoRobótica - Robótica em Português

Robótica => Projectos de robótica => Projectos em desenvolvimento => Tópico iniciado por: nunosilvarocha em 24 de Fevereiro de 2011, 20:11

Título: Arduino e La Fonera
Enviado por: nunosilvarocha em 24 de Fevereiro de 2011, 20:11
Muitos de nos certamente já vimos projectos de electronica em que ligam o Arduino a um router.
Uma das soluções que já vi é a ligação de um Fonera ao Arduino.
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Ft1.gstatic.com%2Fimages%3Fq%3Dtbn%3AANd9GcSQTcy-4gV5r7tEnPwseWQ7inaqAQb7nZIQnMfVMVsOijboW7ksnw%26amp%3Bt%3D1&hash=c8a6cbd727080f0023a0ab80117e460d1453f4de)
Hoje, depois de algumas alterações na rede aqui em casa consegui libertar o meu Fonera2200 com dd-wrt.
Decidi fazer alguma pesquisa das ligações que tenho que fazer e como efectuar a comunicação.
A ligação é bastante simples pelo que já encontrei, o problema está mesmo em como efectuar a comunicação!!
Inicialmente a ideia será ligar o Arduino ao Fonera e efectuar ligação com o computador e transmitir alguns dados.
Mas precisava de ajuda para saber como enviar e receber dados.

Título: Re: Arduino e La Fonera
Enviado por: metRo_ em 24 de Fevereiro de 2011, 20:35
Procura aqui no forum que há quem tem usado Arduino com um asus que tinha esse mesmo firmware!
Título: Re: Arduino e La Fonera
Enviado por: zordlyon em 24 de Fevereiro de 2011, 20:46
Boas, eu tenho andado um bocado ocupado, mas eu tenho andado a fazer um tutorial de como fazer isso num Asus WL 520GU..

Basicamente ligas o arduino via tx, rx ao router e depois fazes um programa em python e colocas no router, para enviar dados via serial para o arduino...
depois comunicas do teu computador com o router via SSH e os dados que mandares por SSH irão ser transmitidos ao arduino..

Basicamente por alto é isto...eu tive o DD-WRT instalado no meu, mas preferi instalar o Open-WRT depois de ler muitos topicos pela net fora...

Aqui tens um bom forum com pessoas que ja fizeram o que estás a fazer com outros routers ou até com um igual ao teu, e questão de sorte...

http://mightyohm.com/forum/viewforum.php?f=1&sid=3a4422c4465ddda46a3949d2d0fa300b (http://mightyohm.com/forum/viewforum.php?f=1&sid=3a4422c4465ddda46a3949d2d0fa300b)

Cumprimentos..
Título: Re: Arduino e La Fonera
Enviado por: nunosilvarocha em 24 de Fevereiro de 2011, 21:39
Vamos iniciar-nos pela ligação.
Para não haver erros, nos pinos do Arduino tenho 5v nos pinos do Fonera tenho 3v3.
Deste modo tenho que arranjar maneira de 'converter' isto para que o Tx e Rx dois dois equipamentos se entendam.
Servirá este esquema para fazer a conversão?
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2F1.bp.blogspot.com%2F_R49Ujm5KVjw%2FSqVrQP4508I%2FAAAAAAAAAfY%2FO2VqT6JreLQ%2Fs1600%2Fcnv335.png&hash=4a33877dad59fc5bf8388e3acaa52672ec4ead1c)

Ou será que apenas um MAX3232 servirá?
Título: Re: Arduino e La Fonera
Enviado por: senso em 24 de Fevereiro de 2011, 22:13
Em termos de electrónica discreta ainda não percebo grande coisa, mas isso que ai tens deve funcionar, um Max232 converte os sinais para RS-232, ou seja +12 e -12v, logo queimas isso com um MAX.
Mas tens uma solução muito mais simples, no Tx do Arduino para o Rx da Fonera metes um divisor resistivo para que os 5v do Arduino passem a ser 3.3v ou 3.2v, e no Rx ligas directo porque o Atmega considera os 3.3v como um sinal High, logo funciona sem problemas, não esquecer é de partilhar as massas.
Título: Re: Arduino e La Fonera
Enviado por: CBX em 24 de Fevereiro de 2011, 22:15
um simples divisor de tensão serve:

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fwww.makingthings.com%2Fdocumentation%2Fhow-to%2Fscale-a-5v-signal-to-3.3v%2Fresolveuid%2F45f4d88d0030e374d12c5123b3083c44%2Fimage_preview&hash=7b5d68df4b1c4cf384102c8db78e5952160d504c)

fonte (http://www.makingthings.com/documentation/how-to/scale-a-5v-signal-to-3.3v)

R1 - 10k
R2 - 15K

ou semelhante, tens aqui uma calculadora: http://www.raltron.com/cust/tools/voltage_divider.asp (http://www.raltron.com/cust/tools/voltage_divider.asp)

[edit] o senso foi mais rápido  :P
Título: Re: Arduino e La Fonera
Enviado por: zordlyon em 24 de Fevereiro de 2011, 23:50
Podes sempre fazer como eu fiz...

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg11.imageshack.us%2Fimg11%2F2496%2Fusbconnectedrouter1.jpg&hash=934af4f3650093a8f1cea892ed599e7da0dcdf0b)
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg713.imageshack.us%2Fimg713%2F7263%2Fusbconnectedrouter2.jpg&hash=68aef78af3ff60b645e467c4c62428083f0c97e5)

Está aqui o link...
http://loja.lusorobotica.com/117-ftdi-basic-breakout-33v.html (http://loja.lusorobotica.com/117-ftdi-basic-breakout-33v.html)

Cumprimentos..
Título: Re: Arduino e La Fonera
Enviado por: senso em 25 de Fevereiro de 2011, 13:15
Mas ele pode querer meter OpenWrt no router e por exemplo controlar um robot com o router.
Título: Re: Arduino e La Fonera
Enviado por: zordlyon em 25 de Fevereiro de 2011, 15:59
Mas ele pode querer meter OpenWrt no router e por exemplo controlar um robot com o router.

Isso é o que estou a fazer com o meu router tambem ;)
Título: Re: Arduino e La Fonera
Enviado por: senso em 25 de Fevereiro de 2011, 17:50
Entao, para que o FTDI?
Título: Re: Arduino e La Fonera
Enviado por: CBX em 25 de Fevereiro de 2011, 18:12
talvez para flashar o router  ???
Título: Re: Arduino e La Fonera
Enviado por: zordlyon em 25 de Fevereiro de 2011, 18:32
Sim exactamente...foi para flashar com o open-wrt via tftp...

Cumprimentos..
Título: Re: Arduino e La Fonera
Enviado por: nunosilvarocha em 25 de Fevereiro de 2011, 19:35
Isto não está a ser muito fácil de perceber.
As ligações entre o Fonera e o Arduino já está mais que percebido.
O pior está mesmo agora em enviar dados para o fonera e este passa-los para o Arduino.
Ainda não percebi bem o que tenho que fazer.
Alguém me pode dar umas dicas ou então um tutorial?
Estou a usar DD-WRT no Fonera
Título: Re: Arduino e La Fonera
Enviado por: zordlyon em 26 de Fevereiro de 2011, 00:31
Acredita que isto é um "brain crash test" lol...pelo menos para mim foi...

Eu com o dd-wrt não sei como funciona...

mas é o seguinte...

Tens que arranjar um package para o teu router que suporte programas em python...instalas o package ok?
Depois tens que ver se o router tem o wireless ligado?! deve ter com o dd-wrt....
De seguida fazes um programa na linguagem que quiseres que comunique via SSH com o router...ou seja conectas te ao router via wireless e depois mandas lhe comandos através de SSH...
Apos isto, já comunicas com o router via SSH...no programa em python fazes algo que escreva de retorno por exemplo "Hello World"...e tu mandas lhe um codigo via SSH e ja ves se o router está a responder...

Pronto tendo o router a comunicar com o PC, metade já esta...Agora basta fazeres as ligaçoes do router ao arduino e fazer um programa do lado do arduino que interprete os dados vindos do pc via SSH, que por sua vez vão ser comunicados para o arduino via o programa em python...

Dá para entender ou ta muito confuso?
Acho que é isto mais ou menos...
ve se isto ajuda, sei que o router e diferente, mas a ideia é a mesma...
http://mightyohm.com/blog/2008/10/building-a-wifi-radio-part-1-introduction/ (http://mightyohm.com/blog/2008/10/building-a-wifi-radio-part-1-introduction/)

Tens aqui uma lista de packages...e para teres uma ideia do que tens que procurar, julgo que ate deve ser o teu firmware kamikaze ne?..
http://mightyohm.com/files/kamikaze-2.4/packages/mipsel/ (http://mightyohm.com/files/kamikaze-2.4/packages/mipsel/)

Tens aqui outro exemplo ja com ligação ao arduino..
http://takenapart.com/?p=3 (http://takenapart.com/?p=3)

Espero ter ajudado...


Cumprimentos..


Título: Re: Arduino e La Fonera
Enviado por: microbyte em 26 de Fevereiro de 2011, 00:36
Pessoal, nem de propósito: http://lusorobotica.com/index.php?topic=3319 (http://lusorobotica.com/index.php?topic=3319)
Título: Re: Arduino e La Fonera
Enviado por: nunosilvarocha em 26 de Fevereiro de 2011, 02:42
obrigado zordlyon, hoje estive a tentar aprender a trabalhar com o putty e o fonera, não cheguei a grandes conclusões mas já deu para perceber algumas coisas. Vou ver o que me deixaste, mas acho que grande ajuda vai ser o post do microbyte.
Mas isso fica para amanha!!
Título: Re: Arduino e La Fonera
Enviado por: maurosmartins em 26 de Fevereiro de 2011, 14:32
Olá pessoal, eu tb comprei um fonera aqui há uns tempos e flashei-o com o open-WRT com a ideia de compilar codigo para ele para criar o cerebro para um robo.

Mas dps de começar a ver como as coisas funcionavam achei extremamente complico a compilação do código para dps correr no router, nao investi mto neste sentigo também, gostava de saber como é que voces estao a criar a aplicacao do lado do router que recebe por wireless e comunica por porta série para controlar o router.

Cumprimentos, Mauro Martins.
Título: Re: Arduino e La Fonera
Enviado por: nunosilvarocha em 26 de Fevereiro de 2011, 20:45
Olá pessoal, eu tb comprei um fonera aqui há uns tempos e flashei-o com o open-WRT com a ideia de compilar codigo para ele para criar o cerebro para um robo.

Mas dps de começar a ver como as coisas funcionavam achei extremamente complico a compilação do código para dps correr no router, nao investi mto neste sentigo também, gostava de saber como é que voces estao a criar a aplicacao do lado do router que recebe por wireless e comunica por porta série para controlar o router.

Cumprimentos, Mauro Martins.

Ou estou a tentar trabalhar com um fonera tambem, mas o meu tem DD-WRT, o que penso ser um pouco diferente do teu.
Para já não te posso ajudar muito porque ainda estou em testes, mas dentro de alguns dias espero poder criar um tutorial.
Título: Re: Arduino e La Fonera
Enviado por: nunosilvarocha em 26 de Fevereiro de 2011, 20:49
Bem pessoal, agora a noite dediquei-me a fazer mais uns testes.
Segui o tutorial do microbyte, e depois de alguns ajustes lá vi as mensagens que escrevia a aparecer na janela do Serial do Arduino
Para efectuar a comunicação entre o computador e o Arduino utilizei o programa putty.
Vou continuar com os testes.
Título: Re: Arduino e La Fonera
Enviado por: nunosilvarocha em 26 de Fevereiro de 2011, 21:10
Depois de analisar isto, acho que vou começar por arranjar uma linguagem que suporte ssh.
A partir dai vou tentar fazer um programa que comunique com o Fonera.
Escrevo no programa que programei e aparece o mesmo na janela Serial do Arduino.
Visual Basic servirá?
Título: Re: Arduino e La Fonera
Enviado por: zordlyon em 27 de Fevereiro de 2011, 00:34
Sim visual basic serve perfeitamente, julgo que nem precisas de fazer codigo nenhum, basta reaproveitares...

Ve este link...por baixo da imagem tens ai para sacar o codigo VB...

E procura neste blog que foi um utilizador de ca, que também ja fez algo deste genero...

http://pedrov.org/wordpress/?p=40 (http://pedrov.org/wordpress/?p=40)

tens aqui os trabalhos que ele fez...
http://pedrov.org/wordpress/?p=35 (http://pedrov.org/wordpress/?p=35)

Cumprimentos..
Título: Re: Arduino e La Fonera
Enviado por: nunosilvarocha em 27 de Fevereiro de 2011, 02:27
Sim visual basic serve perfeitamente, julgo que nem precisas de fazer codigo nenhum, basta reaproveitares...

Ve este link...por baixo da imagem tens ai para sacar o codigo VB...

E procura neste blog que foi um utilizador de ca, que também ja fez algo deste genero...

http://pedrov.org/wordpress/?p=40 (http://pedrov.org/wordpress/?p=40)

tens aqui os trabalhos que ele fez...
http://pedrov.org/wordpress/?p=35 (http://pedrov.org/wordpress/?p=35)

Cumprimentos..

zordlyon, pelo que eu consegui perceber, esse projecto foi desenvolvido para openwrt, no meu caso tenho dd-wrt.
O método de envio de dados é bastante diferente, portanto não funciona no meu caso
O que estou a procura é de uma maneira de criar um programa que possibilite conexão por ssh
Mas obrigado na mesma
Título: Re: Arduino e La Fonera
Enviado por: microbyte em 27 de Fevereiro de 2011, 12:25
Não sei se precisa de suportar o SSH... :/

Penso que é possível fazer um programa que corra uma aplicação de consola (que faça a ligação SSH), e que possibilite interação com esta (ver output e meter input)... (?)


--- EDIT
Já agora... Vê se percebes alguma coisa do que está aqui: http://javassh.org/space/start (http://javassh.org/space/start)
Título: Re: Arduino e La Fonera
Enviado por: maurosmartins em 27 de Fevereiro de 2011, 15:00
Viva pessoal

A minha ideia seria criar um programa que corresse no router e usar sockets TCP/IP para comunicar, dps o arduino (no meu caso pic) iria fazer a bridge entre o router e o robo.

Alguem tem ideias? Como vos disse nao perdi mto tempo a ver a toolchain para compilar codigo para o open wrt, mas pareceu-me complicado ainda.

Cumprimentos, Mauro Martins.
Título: Re: Arduino e La Fonera
Enviado por: nunosilvarocha em 27 de Fevereiro de 2011, 15:04
Não sei se precisa de suportar o SSH... :/

Penso que é possível fazer um programa que corra uma aplicação de consola (que faça a ligação SSH), e que possibilite interação com esta (ver output e meter input)... (?)


--- EDIT
Já agora... Vê se percebes alguma coisa do que está aqui: http://javassh.org/space/start (http://javassh.org/space/start)

A ideia tambem pode ser essa, mas ainda não encontrei maneira de fazer, com openwrt existe alguma informação, com dd-wrt não existe muita coisa
Título: Re: Arduino e La Fonera
Enviado por: senso em 27 de Fevereiro de 2011, 23:42
Usar pipes, e em vez de linguagens compiladas, que é dificil fazer o Cross-compiling, usam-se linguagens interpretadas, tipo Perl, Python, PHP, coisas assim, penso que quase todas conseguem executar shellcode, depois é executar o shellcode e lfazer gets da consola e parsar.
Título: Re: Arduino e La Fonera
Enviado por: nunosilvarocha em 01 de Março de 2011, 15:43
Usar pipes, e em vez de linguagens compiladas, que é dificil fazer o Cross-compiling, usam-se linguagens interpretadas, tipo Perl, Python, PHP, coisas assim, penso que quase todas conseguem executar shellcode, depois é executar o shellcode e lfazer gets da consola e parsar.
Podes explicar isso de uma forma mais simplificada?
Título: Re: Arduino e La Fonera
Enviado por: nunosilvarocha em 06 de Março de 2011, 02:55
Como posso retirar a password do login do ssh
Já "desliguei " no fonera, mas assim não consigo ligar-me nem com o putty.
Existe alguma configuração que me permita conectar por ssh sem ter que fazer login?
Título: Re: Arduino e La Fonera
Enviado por: nunosilvarocha em 07 de Março de 2011, 03:48
Já consigo transmitir dados por wireless para o Arduino.
O programa já envia os dados pela conexão ssh para o fonera e o Arduino já os lê.
Ainda estou a fazer umas afinações no projecto.
Quando vir que isto está a ficar direito crio um novo tópico e apresento o projecto.
Título: Re: Arduino e La Fonera
Enviado por: maurosmartins em 07 de Março de 2011, 11:35
Olá Nuno, entretanto esqueci-me de postar uma resposta a uma pergunta que tinhas feito anteriormente.

Existe a possibilidade de ligar a shell do fonera através de uma ligação série (uma porta série comum) o problema desta porta série é que é mesmo para ser usada para shell e não para uso genérico em comunicações.

Aqui fica uma página com informações mto uteis http://www.dd-wrt.com/wiki/index.php/LaFonera_Hardware_Serial-Cable-Port (http://www.dd-wrt.com/wiki/index.php/LaFonera_Hardware_Serial-Cable-Port) o facto de o fonera funcionar a 3.3V não implica comprar nenhum adaptador série caro, o tipico max232 funciona bem, já testei da seguinte forma, alimentando um max232 a 3.3V directamente do fonera.

Uma ideia seria usar o arduino a ler o que sai directamente da shell e interpretar isso, mas pelo que dizes ja conseguiste outra forma, fico a aguardar mais informações sobre o teu projecto.

Cumprimentos, Mauro.
Título: Re: Arduino e La Fonera
Enviado por: nunosilvarocha em 07 de Março de 2011, 13:00
Olá Nuno, entretanto esqueci-me de postar uma resposta a uma pergunta que tinhas feito anteriormente.

Existe a possibilidade de ligar a shell do fonera através de uma ligação série (uma porta série comum) o problema desta porta série é que é mesmo para ser usada para shell e não para uso genérico em comunicações.

Aqui fica uma página com informações mto uteis http://www.dd-wrt.com/wiki/index.php/LaFonera_Hardware_Serial-Cable-Port (http://www.dd-wrt.com/wiki/index.php/LaFonera_Hardware_Serial-Cable-Port) o facto de o fonera funcionar a 3.3V não implica comprar nenhum adaptador série caro, o tipico max232 funciona bem, já testei da seguinte forma, alimentando um max232 a 3.3V directamente do fonera.

Uma ideia seria usar o arduino a ler o que sai directamente da shell e interpretar isso, mas pelo que dizes ja conseguiste outra forma, fico a aguardar mais informações sobre o teu projecto.

Cumprimentos, Mauro.

No meu caso basta correr um ficheiro bash em Linux com poucas linhas de código que me possibilita a ligação por ssh, depois é só escrever e enviar dados.
O Arduino lê os dados, interpreta, e neste momento faz mover e direccionar uma plataforma.
Neste momento o 8 faz a plataforma andar para a frente o 2 para traz, o 4 para a esquerda o, 6 para a direita e o 5 para parar.
Do lado do Arduino penso estar tudo +/- funcional, do lado do cliente ssh é que ainda tenho que fazer alguns ajustes.
Título: Re: Arduino e La Fonera
Enviado por: zordlyon em 08 de Março de 2011, 02:05
Coloca la isso quando puderes que ainda faço o mesmo no meu  :P...embora o tempo não seja muito mas havendo ja alguem que fez as coisas torna-se mais facil...

Cumprimentos..
Título: Re: Arduino e La Fonera
Enviado por: maurosmartins em 08 de Março de 2011, 12:53
Olá nunosilvarocha,

Uma questão em relação ao que estás a fazer no fonera é, onde estás a ligar o arduino?!

Cumprimentos, Mauro.
Título: Re: Arduino e La Fonera
Enviado por: nunosilvarocha em 08 de Março de 2011, 15:13
Coloca la isso quando puderes que ainda faço o mesmo no meu  :P...embora o tempo não seja muito mas havendo ja alguem que fez as coisas torna-se mais facil...

Cumprimentos..

Vou tratar de fazer isso!!
Título: Re: Arduino e La Fonera
Enviado por: nunosilvarocha em 08 de Março de 2011, 15:17
Olá nunosilvarocha,

Uma questão em relação ao que estás a fazer no fonera é, onde estás a ligar o arduino?!

Cumprimentos, Mauro.

Estou a usar os pinos da porta de serie do Fonera, no Arduino ligo o pino Tx do Fonera ao pino Rx do Arduino!
Título: Re: Arduino e La Fonera
Enviado por: maurosmartins em 08 de Março de 2011, 15:41
AHHH, oki, então sp é como tinha dito à uns posts atrás.

Ou seja estás a interpretar no arduino o que te aparece na consola.

Com que estás a enviar os comandos para ssh?!
Título: Re: Arduino e La Fonera
Enviado por: nunosilvarocha em 08 de Março de 2011, 18:30
AHHH, oki, então sp é como tinha dito à uns posts atrás.

Ou seja estás a interpretar no arduino o que te aparece na consola.

Com que estás a enviar os comandos para ssh?!

estou a criar um topico onde descrevo o projecto todo, mais uns minutos e está pronto!!
Título: Re: Arduino e La Fonera
Enviado por: nunosilvarocha em 08 de Março de 2011, 19:10
Cá está ele!!
http://lusorobotica.com/index.php?topic=3361.0 (http://lusorobotica.com/index.php?topic=3361.0)