configurare router d-link arduino?

236 views
Skip to first unread message

Simone Gallina

unread,
Nov 1, 2015, 4:17:12 PM11/1/15
to Treviso Arduino User Group
Buona sera.
Sono nuovo del gruppo.
Avrei bisogno di aiuto se qualcuno puoi aiutarmi, il mio problema e il seguente:
Vorrei accedere ad arduino uno da web.
ho realizzato un programma che dal pc riesco a far girare ma no riesco dal web ad accedere.
arduino e collegato alla rete del pc
il pc al router via wifi.
come devo configurare il tutto?
dovrei collegare arduino al router direttamente? e come si configura indirizzo di arduino?
Dovrei esserci 11 novembre
Cordiali saluti simone

Samuele Zanin

unread,
Nov 2, 2015, 12:24:27 PM11/2/15
to Treviso Arduino User Group
On Sunday, November 1, 2015 at 10:17:12 PM UTC+1, Simone Gallina wrote:
Avrei bisogno di aiuto se qualcuno puoi aiutarmi, il mio problema e il seguente:

Premesso che mi pare di notare un po' di "confusione", vedo di chiarire andando un po' per le lunghe.
 
Vorrei accedere ad arduino uno da web.

Arduino uno di suo  non può collegarsi alla rete. C'è bisogno di hardware aggiuntivo a tua scelta tra:
- arduino ethernet shield;
- arduino wifi shield;
- altro dispositivo da collegare alla seriale di arduino capace di andare in rete.

I primi due sono relativamente costosi.
La terza opzione, a seconda di cosa devi fare, può andare da un pc, un raspberry o da circa un anno a sta parte i moduli ESP8266, del costo (che quando va male) è di circa 3 euro.

ho realizzato un programma che dal pc riesco a far girare ma no riesco dal web ad accedere.
arduino e collegato alla rete del pc

Frena. Presumo che Arduino sarà collegato al pc via seriale/usb e poi il pc è collegato alla rete lan via ethernet o wifi.

il pc al router via wifi.
come devo configurare il tutto?
dovrei collegare arduino al router direttamente?
e come si configura indirizzo di arduino?

Intanto ti direi di guardarti la differenza tra comunicazioni ethernet e seriale per dipanare un po' di dubbi.
Poi ti consiglio di usare l'esp8266, sbrasando via il firmware di cacca che ha su e programmarlo con l'ide arduino.
Ocio che se fai cose che necessitano di pochi i/o, potresti usare solo un esp8266 tipo 7 senza arduino.
Una volta fatto comunicare arduino in rete locale, si vedrà come potrai accedere da fuori. Attento che esporre delle periferiche su internet può portare a dei pericoli e bisogna essere coscienti di quello che si fa.
Con l'internet delle cose ci sarà da farsi delle belle risate e divertirsi sul lato della sicurezza se le cose continueranno ad andare come stanno andando (= tutti se ne strafregano dell'aspetto security).

Simone Gallina

unread,
Nov 2, 2015, 5:19:43 PM11/2/15
to Treviso Arduino User Group
Allora io  ho :
arduino uno con ethernet 2 collegata via rete al router.
Nella rete privata vedo arduino
Non riesco ad accedere ad arduino via web.
Non dovrei avere problemi di sicurezza se apro solo arduino al web.
il mio router e d-link 2640r
quando uso ip pubblico mi entra nel router ma non in arduino.

Arduino deve solo aprire il cancello quando lo chiamo.

Samuele Zanin

unread,
Nov 3, 2015, 6:44:32 AM11/3/15
to Treviso Arduino User Group

On Monday, November 2, 2015 at 11:19:43 PM UTC+1, Simone Gallina wrote:
Allora io  ho :
arduino uno con ethernet 2 collegata via rete al router.

Ok, questo non lo avevi scritto nella prima mail.
In generale, più informazioni date, meglio si riesce ad aiutarvi, senza dover fare tanti post.
 
Nella rete privata vedo arduino

Definisci vedo: riesci a pingarlo, vedi che lui comunica in rete, ma non riceve i tuoi comandi, oppure funziona tutto?
 
Non riesco ad accedere ad arduino via web.

Mi pare di capire che stai facendo girare un server web sull'arduino.
Bon, in LAN, riesci ad accedere o no tramite browser all'arduino?
Il problema è solo nell'accederci dall'esterno, dalla rete internet?
 
il mio router e d-link 2640r

Non conosco, ma dovresti cercare una funzione che si tecnicamente si chiama DNAT o Port forwarding.
Poi certi minchioni di produttori la battezzano con altri nomi più o meno fantasiosi.

Tu hai fondamentalmente due reti, una con indirizzi RFC 1918 (192.168.x.x, 10.x.x.x, 172.16.x.x a 172.31.x.x) non routabili su internet, dall'altra internet.
Il tuo router sta nel mezzo. Su una interfaccia avrà l'indirizzo pubblico, sull'altra tipicamente 192.168.x.1. Il router "regola" il traffico tra le due reti.
Tu sei visibile su internet solo tramite il tuo indirizzo ip pubblico, però in realtà tu hai n dispositivi a casa. Quindi il router deve nasconderli da internet e fare sembrare che tutto il traffico che esce da casa tua sia lui a generarlo. Questo si chiama SNAT.
Quando tu ti colleghi all'indirizzo ip pubblico potrai vedere solo il router. A meno che tu non lo istruisca con delle regole di DNAT che quando arriva qualcosa sulla porta x della sua interfaccia WAN, lui deve indirizzare il traffico alla porta y del dispositivo con ip x.y.z.k.

Prima cosa, devi assegnare un indirizzo ip statico al tuo arduino, e fare in modo che questo indirizzo non sia nel range di indirizzi disponibili dal dhcp server che gira sul router, altrimenti rischi di avere conflitti, poi configurare il router in modo che il traffico che arriva dall'esterno sulla porta (es.: 81, non puoi usare la porta 80 in quanto già in uso dall'interfaccia web del router, a meno che tu non riesca a disattivare l'interfaccia web sull'interfaccia wan, ma a seconda di quanto schifo fa il firmware, questo potrebbe non essere sufficiente) x, venga reindirizzato all'indirizzo 192.168.x.y sulla porta 80.

quando uso ip pubblico mi entra nel router ma non in arduino.

 Giusto. Vedi spiegazione sopra.

Non dovrei avere problemi di sicurezza se apro solo arduino al web.
Arduino deve solo aprire il cancello quando lo chiamo.

Dipende da come hai scritto il sw sull'arduino. Se l'autenticazione (perché tu permetti solo l'accesso tramite username e pwd VERO?) è in qualche modo bypassabile o hai scelto password farlocche o presenti a dizionario, potrebbe capitarti che qualcuno dall'altra parte del mondo, ti apra il cancello.
In questo video la cosa è presentata in modo ironico, ma sono cose vere.

https://www.youtube.com/watch?v=0kzjqBacF1k

Da qualche parte ci sarà anche la versione in italiano, che rende meglio.
Reply all
Reply to author
Forward
0 new messages