Quando quiser ligar-se a um dispositivo fora da sua rede WiFi, precisa de configurar o reencaminhamento de portas. Quando o Raspberry Pi ou o ESP estiver ligado ao router da Internet, pode aceder-lhe a partir de qualquer lugar configurando o reencaminhamento de portas.
N.B: Por razões de cibersegurança, pode ser muito perigoso fazer um redireccionamento de porta sem ter cuidado. Por esta razão, só deve configurar um redireccionamento se tiver a certeza do que está a fazer e deve pôr em prática as protecções necessárias (palavra-passe, etc.).
Princípio
Na mesma rede, os dispositivos comunicam com os seus endereços locais (por exemplo, 192.168.x.xxx). Apenas o router tem um endereço público. Quando se configura o reencaminhamento de portas, pede-se ao router que abra uma porta pública e a ligue a um endereço local.
Ex:
- IP público do router: 82.95.256.144
- IP do router local: 192.168.1.254
- IP do dispositivo local: 192.168.1.17 (porta predefinida 80)
Assim, se redireccionarmos a porta 600 para o endereço IP do dispositivo, podemos aceder ao dispositivo escrevendo 82.95.256.144:600
Este procedimento pode ser muito útil para desenvolver funções avançadas de domótica ou IoT que exijam acesso remoto ao Raspberry Pi, ESP8266, EP32 ou qualquer outro dispositivo com ligação à Internet.
Encontrar o endereço IP do seu router
- Raspberry Pi ou Linux
ip route

- Para Windows
ipconfig

Estes comandos fornecem, entre outras coisas, o endereço IP local do seu router (neste caso, 192.168.1.254)
Pode utilizar o comando netstat -a para obter uma lista de ligações ao dispositivo e as portas utilizadas.
Configurar o reencaminhamento de portas
No seu browser, pode introduzir o endereço IP para aceder à página inicial do router. Ser-lhe-ão solicitados os seus dados de acesso.
N.B: O procedimento de reencaminhamento de portas difere de uma caixa para outra. Se pesquisar “box-name Port Forwarding” na Internet, deverá encontrar o procedimento a seguir.

Em seguida, procure a opção “Port Redirection” ou NAT/PAT. Numa caixa de correio, Serviços da caixa > Redireccionamento de porta > Configuração
Clique em “Adicionar uma regra” e introduza as informações de redireccionamento
Do exemplo anterior:
- Nome da regra: MyPortForwarding
- Protocolo: TCP
- Endereço IP local do equipamento: 192.168.1.17
- Porta interna: 80 (pode ser um valor definido)
- Porta externa: 600
N.B: A porta externa pode assumir um valor entre 0 e 65535. Os números de porta inferiores a 1024 ou superiores a 49150 estão reservados para o sistema.

Aplicações
- Criar uma interface Web para controlar o Raspberry Pi
- Criar uma interface web para controlar o ESP32