Problema Codebender e caricamente Sketch via Ethernet (configurazione rete)

Salve,sto provando Codebender con una scheda Arduino UNO e Shield Ethernet.Il problema e' che non riesco ad inviare gli sketch via ethernet!Premetto che:
Entrambe le schede sono correttamente configurate e funzionano,nel senso:
-Arduino UNO carica gli sketch via usb da codebender.
-Ho provato a caricare il classico sketch di esempio Webserver contenuto nell'ide di arduino e la scheda ethernet si connette.
Mi e' sorto un dubbio forse su come configuare lo sketch contenuto nel firmware ARIADNE che permette di configurare la scheda ethernet:

Dal mio router leggo i seguenti parametri:

Porta ADSL
Indirizzo MAC 00:18:xx:xx:xx
Indirizzo IP 79.xxx.xxx.xxx
Tipo di rete PPPoE
Subnet mask IP 255.255.255.255
Indirizzo IP del gateway 192.168.100.1

Porta LAN
Indirizzo MAC 00:18:yy:xx:zz:zz
Indirizzo IP 192.168.0.1
DHCP On
Subnet mask IP 255.255.255.0

Arduino ha un ip fisso sul router (192.168.0.10)e su questo ip gli ho aperto la porta 69 e 46970
Anzitutto in codebender,quale ip devo mettere quello del router o quello di arduino?Grazie.
Lo sketch di configurazione che mando ad arduino e 'questo:

/*
 * WriteNetworkSettings

   This sketch writes a set of network configuration settings to EEPROM
   in such a way that both the Ariadne bootloader & a sketch
   can read them back later and share the same settings.

   As commented below these are the settings available for modification:

     * Gateway IP address
     * Subnet mask
     * MAC address
     * Arduino device IP address

   Once the settings have been written to EEPROM, an LED on pin 9
   (if connected) will flash rapdily. The arduino will reset after 4 seconds

   The default settings used by the bootloader:

      192,168,1,254,                       // Gateway IP address
      255,255,255,0,                       // Subnet mask
      0xDE,0xAD,0xBE,0xEF,0xFE,0xED,       // MAC address
      192,168,1,128,                       // Arduino device IP address


   Settings suitable for link-local use:

      169,254,1,1,                         // Gateway IP address
      255,255,0,0,                         // Subnet mask
      0x12,0x34,0x45,0x78,0x9A,0xBC,       // MAC address
      169,254,254,169,                     // Arduino device IP address

 */

#include <avr/wdt.h>
#include <NewEEPROM.h>
#include <NetEEPROM.h>

/* You have to set each and every of these variables below to their correct values
 * for your network. The bootloader won't function correctly if one of these is wrong.
 * For the MAC Address, you can set it to anything you like, but using the one provided
 * with your Ethernet Shield or Arduino Ethernet is strongly suggested. */
byte  mac[] = { 0x90, 0xA2, 0xDA, 0x0D, 0x99, 0xFB };
IPAddress  ip(192, 168, 0, 10);
IPAddress  gateway(192, 168, 0, 1);
IPAddress  subnet(255, 255, 255, 0);
/* You might want to also change the TFTP transfer port. If you have more than one arduinos
 * with ethernet behind your router that you want to program from outside your local
 * network you need a unique value for each one value. The initial negotiation of tftp still
 * happens at port [69]. You will also need to forwards these ports from your router.
 * The value set below is the built-in default [46969]. */
word port = 46970;
/* This is the "password" for the reset server in case you want to reset your Arduino
 * remotely. This setting has no effect on the bootloader itself. Password can be 36 characters
 * long, at maximum. Any string longer than 36 characters will be truncated.
 * Spaces should not be used */
//String password = "r4nd0m_p4ss";

/* Preset for Arduino Ethernet.
 * For Arduino with Ethernet Shield set this to 13 */
int ledpin = 9;

void setup()
{
	/* Write the new settings values to EEPROM */
	NetEEPROM.writeNet(mac, ip, gateway, subnet);
	/* Set the TFTP data transfer port in EEPROM. Change it only if you need to */
	//NetEEPROM.writePort(port);
	/* Write Reset Server password in EEPROM */
//	NetEEPROM.writePass(password);
	/* Set image status to bad, so upon reboot the bootloader won't load the previous sketch */
//	NetEEPROM.writeImgBad();

	pinMode(ledpin, OUTPUT);
	/* Timeout and reset after 4 seconds */
	wdt_enable(WDTO_4S);
}


void loop()
{
	/* Blink an LED on pin defined above rapidly if present
	 * to indicate the settings have been stored in EEPROM. */
	digitalWrite(ledpin, HIGH);
	delay(500);
	digitalWrite(ledpin, LOW);
	delay(500);
	/* 1 Hz blinking continues until timer (which was started
	 * in "setup") forces reset and this sketch then is invalid. */
}

Allora ci sono stati dei progressi,in pratica mi sono accordo che dovevo caricare il bootloader di arduino 2009 su arduino uno,e poi cambiare il gateway e il subnet mask.Ora se faccio un ping verso l'ip di arduino,ottengo una connessione.Il problema rimane codebender che non mi fa caricare gli sketch,ma la porta 46970 la devo aprire o no sul router?Non capisco!Grazie!!

Si devi "rigirare" la porta 69 dall'esterno verso l'IP dell'Arduino con Bootloader Ariadne e anche la porta definita nello sketch che puoi cambiare a piacimento.
L'IP da indicare sul sito CodeBender è l'IP pubblico del router, con la porta scelta nello sketch e ridiretta dal router verso l'Arduino.

Hai già integrato i file nell'IDE?
--> GitHub - codebndr/Ariadne-Bootloader: A little less unfinished TFTP bootloader for Arduino Ethernet or Arduino with Ethernet Shield

Lo sketch da te indicato modifica i parametri di rete che vengono memorizzati nella EEprom e letti da bootloader Ariadne in fase di avvio.
Per inserire il bootloader Ariadne su Arduino hai bisogno di un secondo Arduino su cui caricare lo sketch Arduino as ISP e poi procedere alla programmazione tramite ISP.

PaoloP:
Si devi "rigirare" la porta 69 dall'esterno verso l'IP dell'Arduino con Bootloader Ariadne e anche la porta definita nello sketch che puoi cambiare a piacimento.
L'IP da indicare sul sito CodeBender è l'IP pubblico del router, con la porta scelta nello sketch e ridiretta dal router verso l'Arduino.

Hai già integrato i file nell'IDE?
--> GitHub - codebndr/Ariadne-Bootloader: A little less unfinished TFTP bootloader for Arduino Ethernet or Arduino with Ethernet Shield

Lo sketch da te indicato modifica i parametri di rete che vengono memorizzati nella EEprom e letti da bootloader Ariadne in fase di avvio.
Per inserire il bootloader Ariadne su Arduino hai bisogno di un secondo Arduino su cui caricare lo sketch Arduino as ISP e poi procedere alla programmazione tramite ISP.

Dunque il Ariadne Bootloader lo installato regolarmente seguendo la guida apposita.(ho usato un programmatore esterno usb (usbasp),ho aperto le porte 69 per il tftp (UDP) e la 46970 (TCP/UDP) verso l'indirizzo ip di arduino.Se faccio ping verso l'indirizzo di arduino la connessione c'e' regolarmente.Da codebender dove c'e' scritto"Cloud section" inserisco l'indirizzo IP del router piu la porta 46970 tipo: 71.50.139.78:46970 ,seleziono nel form sottostante questo indirizzo,lo stesso tipo di arduino con cui ho effettato il flash del firmware,nel mio caso sto usando arduino uno con scheda ethernet e dalla guida ho letto che bisogna selezionare: Arduino Duemilanove w/Atmega328.Poi clicco su Flash,la barra blu di caricamento si riempie a meta',poi si blocca!!!
Ho anche provato a premere il reset su arduino prima di caricare lo sketch,ma niente!Se clicco su "monitor" mi esce scritto:prima Opening Web Socket,subito dopo WebSocket has been closed! Non so piu dove sbattere la testa!!! =(

Passo in avanti,riesco ad fare l'upload in locale,di un file bin tramite tftp di windows ,e tramite un client tftp!utilizzando l'indirizzo 192.168.0.10:69. ma tramite codebender ancora nulla!!suggerimenti?? =(

Se funziona in locale vuol dire che è il router che non ruota bene le porte e che quindi dall'esterno (sito codebender) l'Arduino non è raggiungibile. :frowning:

Io ho aperto la porta indicata nello sketch di configurazione,piu la porta 69 che riguarda tftp ovviamente entrambe le ho indirizzate verso l'ip di arduino,ma tu hai modificato qualcosa nello sketch di configurazione ethernet del bootloader ariadne?

No. Mai modificato niente.