LusoRobótica - Robótica em Português

Robótica => Projectos de robótica => Projectos em desenvolvimento => Tópico iniciado por: doiga em 16 de Fevereiro de 2013, 22:21

Título: MT.router
Enviado por: doiga em 16 de Fevereiro de 2013, 22:21
Boas, já la vai pouco mais de um ano após o meu registo e após alguns projectos envolvendo o arduino decidi aventurar-me em algo maior e que já ambicionava a algum tempo, mas a falta de tempo é um problema!!!

Por agora o projecto consiste em usar um router com uma webcam USB para transmitir em directo num website criado por mim, e aceder só eu a ele através da internet (de qualquer lado), que por agora servirá, para quando eu estiver fora de casa poder ver os nossos pássaros, mas a longo prazo terá muitas mais opções...;)

Router e Hardware

O router em questão é um TP-Link TL-MR3040 é muito bom para o propósito pois é compatível com o firmware Open-WRT, no qual me permite ter total acesso a todas a suas funcionalidades. Informações sobre como flashar o router ou informações sobre a router podem ser visualizadas no site do firmware, no qual eu também estou a desenvolver OpenWRT MR3040 (http://wiki.openwrt.org/toh/tp-link/tl-mr3040)

A webcam é bastante simples, daquelas mais baratas ate porque, por agora, o objectivo é apenas transmitir imagem, usando o driver uvc.

Desenvolvimento

Primeiro para criar um site com um endereço que conheça, preciso de um Dynamic DNS no qual criei no noip.com e escolhi redirect para uma porta prentendida.

Após isto o trabalho a serio começa agora, que é trabalhar no Open-WRT e fazer as minhas alterações usando a ligação serial e o editor vi.
Foi preciso modificar o servidor uhttpd de forma a permitir aceder pela porta que quero, a mesma porta usada no noip.com, no meu caso adicionei outra porta e será por essa que acederei a routerMR3040  a partir da internet, e mais importante NÃO ESQUECER de abrir essa porta na router.
Nesta altura inserindo o endereço criado no noip.com ia parar a página de entrada da LuCI do OpenWRT e o endereço era -> http://IPlocal:PORTA (http://IPlocal:PORTA)

Antes de continuar e instalar o streamer da webcam, lembro que a ligação a router é por USB logo precisei de instalar as package necessárias que são relacionadas com USB, depois o suporte para vídeo, e por último o webcam streamer.

O streamer é o mjpg-streamer, que depois de instalado modifiquei a suas definições para se ajustarem a minha webcam e também a porta escolhida; RELEMBRO QUE É NECESSÁRIO ABRIR ESSA PORTA ESCOLHIDA NO ROUTER PARA PODER TRANSMITIR.

Executar:
Código: [Seleccione]
# /etc/init.d/mjpg-streamer startE agora já da para ver o que transmite acedendo ao endereço http://IPlocal:PORTA (http://IPlocal:PORTA)

Por fim sempre que o meu IP mudar eu preciso de informar o noip.com mais propriamente o meu site criado, e como não estou a usar um PC não posso usar o Dynamic Update Client (DUC). Então preciso de instalar duas package: um DDNS Client e a interface gráfica para a LuCI.
Código: [Seleccione]
ddns-scriptsE configurar para as minhas definições, podendo inclusiva definir o intervalo de actualização do IP.

Como eu não queria andar sempre no endereço a mudar a porta, ou criar mais hosts o que fiz foi modificar a página de entrada da LuCI, que para além de aceder ao router, acrescentei uns links entre eles um que me leve a webcam (assim como ligar e desligar a mesma), ver a info do boot e se houve erros, e o estado actual do router.
O meu endereço leva-me a esta página inicial:
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimageshack.us%2Fa%2Fimg22%2F8728%2Findexiy.th.png&hash=298e3390c8c867862d9abe64cfdbf1ece9daf7a3) (http://imageshack.us/a/img22/8728/indexiy.png)
No qual posso escolher, por exemplo::
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimageshack.us%2Fa%2Fimg10%2F1860%2Fwebcamws.th.png&hash=1ba989a019bc68d61a911c6137e33b9ca26e5cd1) (http://imageshack.us/a/img10/1860/webcamws.png)(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimageshack.us%2Fa%2Fimg59%2F8617%2Fservidorq.th.png&hash=4a5dcd984dbf3329ee764e3e9dafc20661125c80) (http://imageshack.us/a/img59/8617/servidorq.png)

Por agora tenho isto a funcionar, sem problemas, e consigo aceder de qualquer computador inclusiva telemóvel.

Conclusão
O objectivo principal do projecto será: quando eu me ausentar usar um temporizador na tomada para ligar o router durante um x de horas, durante esse tempo faz a ligação wi-fi a outro router qualquer, executa o processo de actualizar o IP e já está, posso aceder ao router e fazer o que eu quiser durante esse tempo!
A partir desta ideia é muito fácil criar um robot controlado pelo utilizador pela internet para andar pela casa, com uma webcam, executar acções, entre outras funcionalidades.

Futuras actualizações

->Fazer esta ligação de forma mais segura, por exemplo usando https, etc

->Falar com um arduino por serial, saber temperatura, etc..
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimageshack.us%2Fa%2Fimg820%2F23%2Fcombb.th.png&hash=bb438a9b5f4df1f53672cf8a65101d6903232164) (http://imageshack.us/a/img820/23/combb.png)

->Fazer uso de uma pen, para mais sites e mais funções, inclusiva Rootfs


Terei todo o gosto em fazer um tutorial completo e detalhado se quiserem, e em disponibilizar o meu código dos websites.
Aceito ideias e opiniões, e também sobre o que posso melhorar!!!
Título: Re: MT.router
Enviado por: microbyte em 16 de Fevereiro de 2013, 23:41
Excelente trabalho!

Parabéns ;)