Isto não é um tutorial. Meu objetivo aqui é apenas listar algumas coisas que você tem que ter em mente antes de quebrar a cabeça tentando acessar seu projeto pela internet.
- O endereço IP de acesso ao seu projeto quando você se conecta de fora da sua casa não é o mesmo que você usa para conexão dentro de sua casa. Você precisa encontrar meios de saber seu IP externo. E esse IP muda a cada vez que seu modem for reiniciado a não ser que você tenha pago ao provedor por IP fixo (geralmente, só em empresas);
- Testar o acesso externo de dentro de sua própria rede geralmente não funciona. Mesmo usando o IP externo, você não consegue acesso. Você pode até testar de dentro do mesmo recinto, mas tem que usar outra conexão completamente distinta (um acesso 3G, por exemplo). Alternativamente peça a um amigo que mora em outra casa (e que nao compartilha internet com você) para fazer o teste;
- Você precisa se familiarizar com o conceito de “portas de rede” e “encaminhamento de portas” (port forwarding). Sem entender o que é isso você pode até conseguir fazer seguindo cegamente algum tutorial, mas se qualquer coisa der errado você não vai saber resolver;
- Você precisa encaminhar as portas de que precisa em todos os roteadores no caminho até o arduino. Isso vale para o modem ADSL, se for roteado (para modem bridge não é necessário);
- O procedimento de encaminhamento é diferente em cada modem e roteador existente, por isso não faz sentido eu tentar explicar aqui. O que você deve fazer é anotar os modelos de cada um de seus roteadores e pesquisar na internet (se não estiver no manual) como se faz o encaminhamento neles.
- Internet compartilhada é dor de cabeça. Se você divide internet com alguém e não tem acesso livre ao modem, vai ter dificuldade para fazer esse encaminhamento;
- Internet via rádio é internet compartilhada. E nessa só quem tem acesso ao modem é o provedor. Sem a colaboração dele seu projeto não vai funcionar. Mas dependendo do indivíduo, você pode conseguir com ele o encaminhamento de uma série de portas para você. Existem mais de 65 mil portas disponíveis em um conexão e qualquer provedor pode perfeitamente reservar umas 10 para cada cliente. Muitos pode reservar 100. Não é uma situação ideal, porque se isso não fizer parte do pacote de serviços padrão desse provedor qualquer mudança que ele faça na rede dele pode fazer o encaminhamento deixar de funcionar e você terá que ligar para o suporte pedindo a reconfiguração. O provedor também pode não ser capaz de reservar para você exatamente as portas que você quer. Aproveite o fato de que na maioria dos casos é possível escolher com facilidade a porta no sketch.
- A porta aberta para a internet não precisa necessariamente ser a mesma que o seu projeto usa, mas isso depende do roteador que você tem, pois em muitos a porta externa precisa ser igual à interna. Aproveite o fato de que você sempre pode definir a porta em seu projeto
Você saberia me dizer que se eu conectar meu Ethernet Shield à um roteador 3G consigo fazer esse redirecionamento de portas e acessar meu Arduino via internet?
Acesso 3G adiciona um complicador: a operadora de telefonia celular pode bloquear todo o acesso iniciado externamente, por variadas razões. As chances de funcionar são pequenas. Mas caso a operadora permita o acesso, é só uma questão do seu roteador 3G fazer encaminhamento de portas.