da seriale a ethernet con arduino

ho comprato uno di quei moduli a basso costo per arduino ethernet e dopo aver fatto le prime prove devo dire che è veramente utile. :slight_smile:
allora quello che volevo fare era un monitor seriale sia tx che rx commendabile da reste esterna e in due modi differenti.

spiegandomi un attimo meglio vorrei poter dire da rete esterna cosa scrivere su seriale e al contrario quello che arriva da seriale riproporlo a un dispositivo collegato in rete.

le idee come già detto sono 2 e vorrei trovare una soluzione a entrambi.

  1. usare protocollo http creare una pagina html con un campo di testo e quando si fa invio arduino riceve e invia su seriale il "codice".
    fino qui ci sono riuscito usando la funzione get sul url esempio : mio_ip/?codice_seriale=.......
    solo che bisogna ricaricare la pagina a ogni invio... il secondo problema e che non so come generare un campo di testo che ogni volta che arduino riceve un qualcosa da seriale lo aggiunge alla pagina html (sempre senza aggiornare la medesima pagina)
    se volete vi passo il codice che ho usato ma è banale, ho creato solo un campo di testo e un bottone invio.

  2. seconda cosa era uscire se possibile dal protocollo http o almeno non usare i metodi post e get per scambiare le variabili tra i dispositivi, senza preoccuparmi di avere un sito internet ma solo il puro invio di pacchetti, del tipo 2 arduini che si scambiano informazioni con questo modulo ethernt ma senza usare pagine web, "se fattibile" grazie e scusatemi per la contorsione della domanda ma non sapevo come spiegarmi

Il HTTP é un protocollo che prevede la spedizione della pagina e quando terminato e finito. Serve una parte Javascript che ricarica la pagina o parte della pagina. Comunque tutto il testo da visualizzare deve essere mandato ogni volta perché il browser non memorizza niente.

Ciao Uwe

Serve una parte Javascript che ricarica la pagina

non è vero

Comunque tutto il testo da visualizzare deve essere mandato ogni volta

non è vero

pablos:

Serve una parte Javascript che ricarica la pagina

non è vero

Comunque tutto il testo da visualizzare deve essere mandato ogni volta

non è vero

Ok, non condividi la mia opinione, ma sarebbe bello che spieghi come pensi che funziona.
Ciao Uwe

Io quando rispondo so quasi sempre quale può essere la prossima domanda, siccome aspettavo .....

Serve una parte Javascript che ricarica la pagina

HTML meta http-equiv Attribute ricarica senza js

Comunque tutto il testo da visualizzare deve essere mandato ogni volta

Se stabilisci una connessione tra server e client con tanto di negoziazione iniziale (una volta solo), si possono solo inviare i byte che servono e che vanno inseriti nei campi predisposti questo chiaramente tramite js, con questo metodo la paginetta non deve obbligatoriamente risiedere su arduino, ne tantomeno sulla SD, ma su un pc remoto qualunque, in tal caso l'opzione è facoltativa.

Il tutto si può fare anche con json e ajax però ogni volta avviene la negoziazione e questo per un chip 8bit richiede molte risorse (connessione tipo polling), in questo casto l'host deve trovarsi dentro l'indirizzo di arduino (SD o sul programma)

Ok grazie per l'aiuto.
Quindi come posso creare una pagina che ogni volta che arriva qualcosa da seriale mi aggiunge una nuova riga sulla pagina ? Forse se dico che vorrei creare il serial monitor di arduino ma in pagina web e piu semplice da comprendere.

In piu come detto volevo sapere come scambiare pacchetti tra 2 dispositivi in modo che due arduino possono scambiarsi variabili senza andare usare html ma uinviando un pacchetto con il valore.

ogni volta che arriva qualcosa da seriale mi aggiunge una nuova riga sulla pagina

La pagina web ha un limite di memoria cache, a un certo punto se non la svuoti si inchioderà il browser.
Le linee puoi caricarle su html textarea e usando l'istruzione scroll() su js puoi gestire il testo, ma dopo 1000-1500 linee dovrai svuotarlo
Non è così immediato da spiegare cerca su google arduino ajax o json per l'invio dei dati (GET-POST) una volta che la pag è stata caricata senza più fare refresh

In piu come detto volevo sapere come scambiare pacchetti tra 2 dispositivi in modo che due arduino possono scambiarsi variabili senza andare usare html ma uinviando un pacchetto con il valore.

La scelta di un protocollo va decisa in base ad alcuni parametri, cerca comunicazione tra 2 arduini non molto tempo fa c'era un treadh su questo argomento,

Allora per quanto riguarda la comunicazione tra 2 Arduini non dico di aver rissolto ma almeno ho capito che devo ricostruirmi un mio protocollo e va bene.

Per quanto riguarda il sito web non ne vado fuori neanche con le vostre informazioni.
Vi vorrei chiedere un esempio banale tipo un bottone che accende e spegne un led senza ricaricare la pagina e poi una variabile di Arduino, che potrebbe essere molto semplicemente un ingresso gpio collegato a un pulsante, e sullo stesso sito andare a visualizzare lo stato sempre aggiornando la singola righa e non l'intera pagina

Chiedo scusa per il disturbo a chiedervi un minimo di codice ma e solo per capire un po meglio.
un minimo di JavaScript lo conosco, ma per me va bene tutto basta che rende il risultato ...

Le informazioni sono indicative, ti permettono di cercare poi gli argomenti giusti.

bigjohnson (un utente di questo forum) ha utilizzato questo metodo dacci un occhio