Da quanto ho visto in rete so che c'è un modo per raggiungere l'host dall'esterno senza modificare le impostazioni del router (attraverso appunto il servizio di no-ip.com o un altro sito simile), ed è ciò che vorrei fare perché ammesso che tutto funzioni avrei bisogno di collegare l'Arduino ad una rete diversa da quella di casa mia e su cui non posso cambiare configurazioni.
non puoi farlo.
Il servizio no-ip serve solo per far conoscere al client che chiama arduino l'ip del router nel caso cambiasse.
Raggiungere arduino all'interno di una rete sconosciuta impostato come webserver e senza impostare i dovuti forwarding e porte non lo puoi fare.
Se tu hai un router che ha un IP verso l'esterno es 216.239.32.0 un gateway interno tipo 192.168.1.1 e il tuo arduino 192.168.1.177 (Ip statico) . Come faccio dall'esterno a raggiungere una macchina all'interno di una rete locale?
chiamo da "internet" l'ip 216.239.32.0:14500 dove nel router è stato stabilito che tutte le richieste e dati che arrivano sulla porta 14500 devono essere reindirizzati verso l'ip interno 192.168.1.177 su porta 80.
Se tu volessi aggiungere un altro arduino nella stessa rete lo indirizzi con 192.168.1.178 e lo chiami con es. 216.239.32.0:14600 .... e così via.
Quello che fa no-ip è farti conoscere quel 216.239.32.0 che potrebbe cambiare (Ip dinamico), tra le altre cose lo hai messo nel setup() operazione del tutto inutile se arduino resta accesso a tempo indeterminato nel giro di qualche giorno non lo trovi più.
Se tu vuoi piazzare arduino in qualsiasi rete e fregartene delle sue impostazioni allora ti conviene fare l'opposto.
Ti prendi uno spazietto web host anche free, ti crei una paginetta in php su questo server e raccogli le informazioni che arduino ogni tanto gli spedisce.
Arduino sarà un client che ricava un ip tramite il protocollo DHCP così non devi neppure sapere gli IP di quella rete, eviti eventuali conflitti, esso manderà i dati al tuo server, tu ti colleghi alla pagina su questo server e ottieni gli stessi risultati. Per commutare un pin in questo caso dovrai farlo sulla risposta del server, potrai farlo solo quando arduino chiama però.