ciao a tutti
sto cercando di far funzionare l'esempio contenuto nell'ide di nome "BRIDGE".
nella rete interna funziona , ma per controllarlo da quella esterna non c'è verso.
ovviamente ho aperto sul modem la porta 5555 che risponde perfettamente .
nell'esempio ho aggiunto modificato le righe : YunServer server(5555); server.noListenOnLocalhost();
e lo invoco dalla rete esterna con : ip.esterno:5555/arduino/digital/13/0
ma non va , dove sbaglio ???? =(
l'esempio bridge originale leggermente modificato lo allego sotto
spero di riuscire a venirne fuori perchè ci sto perdendo la testa , un grazie a tutti
è questo il punto, t non devi modificare nulla.
Prima di tutto usa il tuo ip locale per vedere se ti colleghi (va bene anche dal pc stesso, la comunicazione rimbalza cmq dal router) se a questo passo non va allora al 99% è un firewall SULLA MACCHINA.
se va ma non va con l'IP pubblico, allora il problema è la NAT/firewall del router
domanda, come ottieni il tuo ip? puoi mettere almeno le prime 3 terzine? se è del tipo 192.168.X allora è il tuo ip provato (o locale), ma a te serve il pubblico
se in un modo va e nall'altro no allora hai un problema di nat/firewall, come hai impostato il router? dici che hai "aperto il firewall" ma tutti i router moderni usano la NAT, vorrei vedere come hai fatto le impostazioni
sul modem adsl ho fatto il port forwarding sul secondo che fa da wifi
quindi in toria tu hai:
ip pubblico -> router -> ip locale rete Ethernet -> acces point -> ip locale rete wifi
(e poi mi spieghi perchè no l'hai detto subito, mi pare una cosa abbastanza fondamentale)
quindi tuhai fattio il port foward della 5555 sul router quindi fai "saltare" la connessione da ip pubblico all'access point, ma poi devi anche falro saltare dall'access point alla yun!
premetto che mi collego senza problemi via ssh su porta 22 anche dallo smartphone
via ip locale (quale dei due ip locali?) o via ip pubblico? perchè se è via ip locale lo so bene che funziona.
l'esempio bridge va modificato , cosi' comè c'è scritto che va solo su rete interna
solo quel noListenOnLocalhost(); va modificato, niente altro.
via ssh mi collego dall'esterno con ip pubblico su porta 32 senza problemi
porta 22
la porta 5555 c'è scritto nell'esempio che non serve specificarla nell'esempio ma è standard.
ahhh ok, quindi in realtà c'è dietro un WEB SERVER, che aclta la porta 80 (probabilmente), che viene poi rimbalzata (internamente alla YUM) sulla 5555, quindi devi aprire la 80..
peròmi sembra un rigiro complicato, troppo direi.
ma ti stai collegando via browser? iniziamo con telnet, così vediamo cosa succede realmente.
comunque via browser mi aspetto che tu digiti ip:5555, sia da locale che da remoto.
ci fosse una buona documentazione sarebbe perfetto
Se mi permetti la Yun non è per nulla una porcheria. Il lavoro continua e vengono aggiunte nuove funzioni come vengono sistemati eventuali bug.
Hai notato che c'è un forum ufficiale di supporto qui: Arduino Yún - Arduino Forum
In quel forum rispondono direttamente gli sviluppatori che hanno scritto bridge..
La documentazione fornisce un indirizzo generale al funzionamento della scheda ma non è possibile creare a priori il tutorial che risolve esattamente il problema specifico di ogni singolo utente.
se posti nel forum indicato, nel giro di 24 ore ti risolvono il problema.
Riapro questo tread che da tempo giace inutilizzato giusto per non aprirne di nuovi.
Io sto iniziando adesso a cimentarmi con la Yun cercando di operare come web server ma sto avendo problemi ad accedervi da rete esterna.
La mia rete domestica è Fastweb (eh sì) con router di ultima generazione, così ho preso la briga di andare sulle impostazioni di port mapping ed ho aperto le porte 80 e 21. Così facendo come per "magia" quando sono collegato alla stessa rete riesco ad accedere alla scheda anche digitando il mio indirizzo IP pubblico (apro una parentesi: il servizio tecnico di Fastweb mi ha dato un indirizzo che inizia con 100.73, ma se vado su myipaddress ne risulta uno che inizia con 93.32 ma di fatto funzionano entrambi).
Il problema è che se provo a collegarmi da rete esterna non funziona più.
Se chiudo nuovamente la porta 80 smette di funzionare anche collegandomi dalla stessa rete, ergo qualcosa di buono l'ho fatto.
Il tecnico di Fastweb mi ha detto che con il port mapping di fatto avrei ottenuto le stesse funzionalità dell'ip pubblico.
100.73.x.x è il tuo ip "publlico" ma solo all'interno della rete fastweb, visto che è una gigantesca NAT, ci sono dei gateway che fanno pa ponte verso la rete esterna, nel caso specifico l'IP pubblico sulla rete internet è 93.32.X.X ma è quello del GATEWAY!
SE hai un IP pubblico fastweb su rete esterna (si paga, ma forse hai un tot di tempo al mese gratis)
?? il gateway è condiviso tra più utenti, se due utenti hanno lo stesso gateway e la spessa porta in uso, come fa il gateway a sapere quale client raggiungere?
loro ti danno un IP pubblico, che quando il gateway lo vede "ribalza" sul tuo ip pubblico interno alla rete fastweb.
Monumenta:
Inizio a capire, ma l'ip del gateway avendo aperto solo la porta dell'arduino non coincide con l'arduino stesso?
Ovvero, come detto anche da @lesto, in una rete MAI due dispositivi possono avere stesso ip.
gateway=ip del router. Arduino avrà un suo ip (si spera fisso) e quindi dal router bisognerà attivare delle regole per permettere dall'esterno di raggiungere il dispositivo interno (in questo caso Arduino)
il router/nat di monumenta è configurato correttamente, il problema è che la rete fw è una enorme NAT (fatta coi gateway invece che coi router) rispetto al resto di internet.
quindi arduino -> ip privato -> router -> ip pubblico rete fastweb -> gateway -> ip pubblico internet
ora, la NAT su router è ok, per avere la NAT su gateway serve che metta mano FW (aka sborsare soldi), anche se probabilmente qualche tecnica di "nat punch through" dovrebbe funzionare (ma non è assolutamente roba di principiante, e richiede una gestione a basso livello dei socet che la wiznet non da, se non erro)
Salve a tutti ho anche io il problema di far comunicare verso l'esterno il mio Arduino Yun con il Wifi, chiedevo cambiare porta "5555" con un'altra si può fare?