Come configurare ControlHUB per l'affaccio Web: DNS dinamico o Dyn DNS; port forwarding; $ip$ 
Con dyndns o con un IP fisso, e configurando il vostro router per il forward di alcune porte, è possibile affacciare ControlHUB sul Web e usare questo sia per ricevere dati da sensori, sia per comandare a distanza
 
In molte applicazioni, ControlHUB lavora all'interno di una rete locale: nell'ipotesi più estrema questa rete è creata da ControlHUB stesso ed è del tutto scollegata da Internet. 
Visto che ControlHUB ha al suo interno un server HTTP e un broker MQTT, ControlHUB entro i suoi limiti è totalmente autosufficiente: potete fare un sistema di controllo moderno HTTP e/o MQTT anche senza avere Internet. 
 
Ci sono però alcuni casi in cui è molto comodo e utile potersi "affacciare su Internet", per la parte Web/HTTP e/o per la parte MQTT, per esempio per ricevere dati da sensori remoti o per poter comandare a distanza. 
 
Per affacciare ControlHUB su Internet è necessario: 
1a) un collegamento a Internet con IP fisso (cosa non molto comune e che ha dei costi)  
1b) oppure un servizio di DNS dinamico (ce ne sono molti, ed alcuni persino gratis!) 
2) configurare il vostro Router Wifi in modo che (come può fare un ufficio Postale se cambiate indirizzo) trasmetta le comunicazioni tra ControlHUB collegato al Router e Internet, in modo trasparente (e questo si può fare con la funzione di Port Forwarding che tutti i router hanno) 
 
DNS dinamico o dyndns 
Di base i servizi di DNS dinamico, gratuiti o pagamento, una volta configurati dal loro Pannello di controllo richiedono una cosa sola: che se cambia il nostro IP si chiami una loro URL (da loro specificata) con una serie di parametri che forniscono loro. 
 
Esempio URL per alcuni DYN dns (in alcuni si può specificare, spesso opzionalmente l'IP, che abbiamo messo a 12.34.56.78): 
http://user:password@members.dyndns.org/v3/update?hostname=dominio&myip=12.34.56.78 
http://user:password@dynupdate.no-ip.com/nic/update?hostname=dominio&myip=12.34.56.78 
http://www.duckdns.org/update?domains=dominio&token=TOKEN-ES-weq231h13&ip=12.34.56.78 
http://api.dynu.com/nic/update?hostname=dominio&myip=12.34.56.78&username=user&password=password 
http://dynamic.name-services.com/interface.asp?command=SetDnsHost&HostName=dominio&Zone=www 
 &DomainPassword=password&Address=12.34.56.78 
http://user:password@dyndns.kasserver.com/?myip=12.34.56.78 
http://user:password@carol.selfhost.de/nic/update? 
 
Come prima cosa occorre che tu ti iscriva a uno di questi servizi e che ti scrivi la URL da chiamare. 
 
Poi... già con le funzioni di base ControlHUB, da sé, può fare DynDns! 
Infatti potresti: 
- settare un'azione periodica (es. una volta al minuto) 
- questa azione può essere di tipo HTTP e chiamare una URL (anche con parametri): ergo puoi chiamare la URL di dyndns o qualsiasi altro (!) 
 
Variabile speciale $ip$ 
Per evitare di chiamare la URL del servizio DNS troppo spesso, e invece chiamarla solo nel caso in cui il nostro IP sia cambiato, abbiamo aggiunto la variabile speciale $ip$
La variabile $ip$ contiene il nostro attuale IP. 
Come funziona? 
Siccome normalmente il sistema non conosce l'IP esterno in Internet (lo conosce il router, ma ogni router è diverso, e sarebbe un po' laborioso supportarli tutti...), per consentire a ControlHUB di aggiornare questa variabile $ip$, nelle Impostazioni dovrai dare a ControlHUB la URL di uno dei numerosi servizi gratuiti che forniscono il tuo IP, ne elenchiamo alcuni attivi al momento dell'estensione di questo manuale: 
http://ipv4bot.whatismyipaddress.com/ 
http://api.ipify.org/ 
http://ident.me/ 
http://checkip.amazonaws.com/ 
http://ipinfo.io/ip 
http://myip.dnsomatic.com/ 
forse http://ipecho.net/plain 
...e molti altri. Appena inserisci una URL nell'apposito riquadro, ControlHUB la chiama una volta al minuto, e mette l'IP ricevuto dalla URL dentro la variabile $ip$, automaticamente. 
 
Ricapitoliamo come configurare ControlHUB per il Dyn DNS 
Le cose da fare sono queste: 
1) iscriversi a un servizio DYN Dns e procurarsi la URL da chiamare (vedi esempi sopra) 
2) nelle Impostazioni di ControlHUB, nella voce URL x $ip$ mettere una di quelle sopra (es. http://ident.me/) 
3) creare una nuova Azione, chiamandola per esempio Dyndns 
- tipo dell'azione HTTP 
- tipo dell'azione S (sempre) o T/F (vero/falso), fa lo stesso... 
- nel box dell'azione scrivere la URL di cui al punto 1), se richiesto mettendo al posto dell'IP $ip$, esempio 
http://user:password@dynupdate.no-ip.com/nic/update?hostname=beldominio&myip=$ip$ 
Azione per DNS dinamico Web MQTT 
4) creare una nuova Condizione, chiamandola per esempio Dyncond 
- settare la condizione a   "ON" 
- mettere come condizione   $ip$>0 
- mettere come azione da chiamare Dyndns 
DynDNS x Control HUB 
 
A questo punto, appena ControlHUB ha un $ip$ valido (inizialmente $ip$ è zero) chiamerà l'azione Dyndns (ovvero chiama la URL); poi, e questo è proprio come tutte le Condizioni funzionano, se e solo se $ip$ cambia, l'azione verrà richiamata. 
 
 
Port Forwarding: Configurazione del router 
Dal momento che ControlHUB non è attaccato direttamente a Internet ma è attaccato al vostro Router WiFi, è necessaria ancora una cosa: bisogna dire al router di girare a ControlHUB le comunicazioni su quelle che tecnicamente si chiamano porta 1883 (se volete usare da remoto MQTT) e porta 80 (se volete usare da remoto HTTP, per esempio per usare da remoto l'interfaccia utente web di ControlHUB o per mandare dati con apparati esterni GSM). 
 
Tutto questo si chiama generalmente "port forwarding" e spesso è nella sezione "Firewall" dei menù del router... (che sono normalmente accessibili digitando sulla barra del browser Firefox Chrome Safari ecc. qualcosa come http://192.168.1.1 oppure http://192.168.0.1 o altro, vedere manuale del vostro router) 
 
In aggiunta bisognerà, tipicamente nella sezione "DHCP" e/o "Impostazioni avanzate" fare in modo che l'IP che il Router assegna a ControlHUB (l'IP è qualcosa come un indirizzo postale) sia sempre fisso e preciso; nei nostri esempi gli abbiamo fatto fissare il numero che il Router aveva già dato automaticamente, 192.168.1.20 - così che se il router si spegne quando si riaccende userà lo stesso numero; alcuni Router già lo fanno senza doverglielo dire, altri necessitano che glielo diciate (appunto di solito in una sezione che si chiama DHCP), e per fissare questa impostazione hanno bisogno dell'identificativo MAC di ControlHUB, un numero univoco che tutti i dispositivi elettronici pensati per collegarsi a Internet hanno, che potete vedere nella pagina di impostazioni Wifi / MQTT / Modbus
 
Se siete smanettoni queste informazioni già vi basteranno per trovare tutto e farlo; in caso contrario, visto che ahimé non possiamo fare la spiegazione precisa con tutti i router in commercio, vi consigliamo di cercare su Internet "attivare port forwarding 80" e "DHCP settare IP fisso" tutto questo seguito dal nome/modello del vostro router... 
 
Per eventuale aiuto c'è poi il forum utenti di ControlHUB... 
 
 
 
ControlHUB Home - il controller programmabile da smartphone, il modo facile per leggere sensori e comandare dispositivi MQTT ModBus HTTP RS232 Web... 
 
Soluzioni Semplici - Home - L'hardware di VisualVision 
(C) 2020 VisualVision