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 HardwareO 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 MR3040A webcam é bastante simples, daquelas mais baratas ate porque, por agora, o objectivo é apenas transmitir imagem, usando o driver uvc.
DesenvolvimentoPrimeiro 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:PORTAAntes 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:
# /etc/init.d/mjpg-streamer start
E agora já da para ver o que transmite acedendo ao endereço
http://IPlocal:PORTAPor 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.
ddns-scripts
E 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:
No qual posso escolher, por exemplo::
Por agora tenho isto a funcionar, sem problemas, e consigo aceder de qualquer computador inclusiva telemóvel.
ConclusãoO 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..
->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!!!