Queste sono le due parti di codice quella di arduino e di java che dovrebbero far comunicare arduino con la mia app android. Apparte che il programma non risponde ai comandi appena il programma parte il LED dovrebbe essere spento invece rimane acceso.
mi rifiuto di analizzare una sketch in formatazione HTML. Potresti incollarlo senza ( basta fare un copia e non un esportazione dello sketch).
Ciao Uwe
Comunque PaoloP il metodo così come me lo hai dato tu è solo un overload del metodo begin della classe Ethernet, anche perchè in un'altra prova che ho fatto circa 2 o 3 giorni fa non mi ha mai dato problemi se omettevo il gateway....piuttosto non riesco a capire perchè mi rimane il led acceso sebbene all'inizio del programma gli dico di rimanere spento. bho??? pareri ben accetti....grazie
Per il LED ci potrebbe essere una carica residua che lo mantiene acceso. E' successo altre volte.
Riguardo alla Ethernet, devi seguire i metodi della libreria scelti dallo sviluppatore della stessa, non quelli che piacciono. (a meno di non modificare la libreria)
Se passi i parametri
Ethernet.begin(mac, ip, gateway, subnet);
stai passando come gateway l'indirizzo 255.255.255.0.
Il fatto è che funziona come server, ma non puoi andare all'esterno come client perché i parametri di rete sono errati.
Poi sono d'accordo sul fatto che l'inizializzazione così fatta non è per niente intuitiva, ma è quella richiesta.
Comunque penso di aver capito dove stava il problema del LED poi qualcuno mi confermi se è così:
la scheda usa il pin 13 e alcuni altri per comunicare con la shield ethernet e sta di fatto che il pin(in questo casoil 13) diventava inutilizzabile....adesso utilizzo il pin 9 e il led parte da spento ma la comunicazione tra il cellulare android e la scheda non avviene ancora se qualcuno è in grado di aiutarmi mi dia una mano sto preparando un lavoro per un esame e ho bisogno di capire come risolvere....grazie
Ma adesso Arduino è nella rete ? Quali parametri dai come IP/dns/gateway/etc. ?
Quale scheda di rete ? La ufficiale con WIZ5100 o quella clone con l'ENC ?
In java questo che fa il secondo parametro? E' la porta ?
socket =new Socket("192.168.1.10",2000);
Se 2000 è la porta UDP, l'hai aperta sul router ?
P.S. nel primo post modifica e togli quella serie di colori, non si capisce una fava. Grazie
Ho la scheda originale;
IP:192.168.1.10 ->ne ho scelto uno di libero sulla rete
gateway e subnet-> ho inserito quelli della scheda wifi che vedo tramite ipconfig dal mio cmd
MAC adress->quello della scheda arduino
dns-> non so cosa mettere
comunque vi do il link che ho seguito
Comunque il socket è 2000 e il router o l'access point a casa mia son bloccati da password quindi non posso aprire o chiudere la porta....non ci sono altri modi???
Ho appena verificato con un software che si chiama "Advance Port scanner" per vedere le varie porte aperte su gli indirizzi IP e la porta 2000 nell'indirizzo di IP di arduino non risulta essere aperta non si può risolvere direttamente da arduino invece che dal router???
Di solito no. Esisto apparecchi che usando UPnP riescono ad aprirsi le porte, ma: 1.questo UPnP deve essere abilitato sul router. 2.Arduino non è un dispositivo UPnP
Se qualsiasi apparecchio potesse "manipolare" le porte del router, senza password, sai quanti virus ti beccheresti ?
Sempre che sia così importante aprire la porta 2000. Non ne ho la certezza. Non conosco quei comandi Java socket.