Come inviare i dati da ARDUINO ad una pagina HTML

Un altro caso disperato

pablos: Un altro caso disperato

grazie per la tua ironia, che senso dell'umorismo!

comunque si ho scaricato il master, dove lo trovo il branch?

pablos: Un altro caso disperato

Comunque pablos ti devi ricredere su una cosa, ovviamente non è molto visitato come sito, però con webbino funziona ininterrottamente senza blocchi da tre mesi per ora :) (E come dicevi tu, ci possono entrare cani e porci :D )

Tototer, dovrebbe essere QUESTA la versione giusta. ;) Elimina quella che hai attualmente di libreria, installa questa sopra e rifai i passaggi. ;) La webbino_config la trovi dentro src

Confermo, prima o poi farò anche il merge sul master :(. 3 mesi??? Wow :D.

SukkoPera: 3 mesi??? Wow :D.

Già e non accenna a calare di prestazioni :) Più che soddisfatto della libreria, non è stata inutile come diceva pablos, almeno per il mio scopo. Che poi comunque ha retto a un sito visibile da chiunque e che manda dati anche una rete meteo nazionale e europea e non è poco!

Ma non ho mai detto che non funziona, anche perchè non la conosco quella lib, il fatto che la ethernet si schiantava spesso e volentieri risale a 4-5 anni fa dove il software non era curato. Qualunque cosa chiedessi al forum riguardo la ethernet nessuno ti sapeva dare risposte chiare e decisive poichè in pochissimi la usavano e quasi nessuno la conosceva a fondo. La proverò la webbino giusto per curiosità, ma so già che non soddisfa (per ora) le mie richieste avanzate, senza nulla togliere ad essa :)

pablos: Ma non ho mai detto che non funziona, anche perchè non la conosco quella lib, il fatto che la ethernet si schiantava spesso e volentieri risale a 4-5 anni fa dove il software non era curato. Qualunque cosa chiedessi al forum riguardo la ethernet nessuno ti sapeva dare risposte chiare e decisive poichè in pochissimi la usavano e quasi nessuno la conosceva a fondo. La proverò la webbino giusto per curiosità, ma so già che non soddisfa (per ora) le mie richieste avanzate, senza nulla togliere ad essa :)

Avevi detto che era inutile per il mio scopo e che perdevo tempo :) Spero che funzionerà per i tuoi scopi :)

Giusto per curiosità, @pablos, quali sono le tue richieste avanzate?

Webbino non vuole essere la panacea di tutti i mali, è una semplice libreria che ho scritto innanzitutto perché serviva a me, poi mi sono reso conto che in fondo copriva una funzionalità generica di cui molti necessitano, che quindi poteva tornare utile ad altri, e l'ho pubblicata. Sono sempre più convinto di questo, ma mi rendo anche conto che a causa del pesante utilizzo di PROGMEM (inevitabile) il suo utilizzo è più complesso di quel che mi piacerebbe fosse. Ho in mente qualche macro per semplificare un po', ma chissà... Il motivo per cui non c'è ancora una 1.0 è proprio questo: non sono ancora pienamente soddisfatto della sua API.

Credo però che Webbino abbia i suoi pregi: funziona con 4 diverse schede di rete (oltre che su ESP nativo), gestisce pagine in flash e/o su SD (con due librerie diverse!), supporta le richieste GET permettendo il facile parsing dei parametri, ha la possibilità di far chiamare una funzione all'apertura di un certo indirizzo, e altro ancora.

Che poi qualcuno lo usi o meno, a me non viene in tasca niente. Mi fa piacere ma finisce lì. Dovreste essere contenti voi perché è comunque un punto di partenza al quale potete aggiungere quel che serve a voi, o che potete comunque modificare a piacere senza dover partire da zero, perché è pure open source. Se invece preferite partire da capo ogni volta reinventando la ruota sull'esempio Webserver, liberi di farlo. Ripeto, a me non viene in tasca niente in ogni caso.

Lasciami dire, però, che invece di criticare a scatola chiusa, potresti provarlo e aiutarmi a migliorarlo, hai tutto il codice a disposizione, cosa vuoi di più?

In ogni caso, Webbino o non Webbino, il problema qua è che voler fare un server web pubblico su Arduino è una mezza follia fin dall'inizio, le risorse sono estremamente ristrette e miracoli non se ne possono fare. Essere in piedi da 3 mesi è fantastico proprio per questo!

Carissimo As_Needed, ho fatto tutti i passaggi che mi hai detto di fare fin ora. adesso mi spieghi come precedere? penso che dovrei dire al mio sketch di prendere il valore temperature e tradurlo nel tag #temperatura# che è presente in una pagina nelle stesse modalità di quella che mi hai postato tu, della tua stazione meteo.

Hai letto quel famoso post #159, @tototer?

si, ma mi viene difficile comprendere questo passaggio della definizione della funzione, potresti farmi un esempio pratico partendo dal mio valore temperature? ti ringrazio tanto, se capisco un passaggio poi diventa meccanico farlo per tutti

Beh oddio, devi fare praticamente tutto uguale, solo che nell’esempio dove stampo la data, tu devi stampare la temperatura. Mi sembra immediato.

Ovvio che fare un server con Arduino è pur sempre una follia! Però webbino risolve molti problemi anche avendo un HW così ristretto, è per questo per me è stata una piacevole scoperta :)

Tototer, ora è notte sono da cellulare, domani vedo cosa posso aggiungere a quello che ha detto Sukko :)

SukkoPera: In ogni caso, Webbino o non Webbino, il problema qua è che voler fare un server web pubblico su Arduino è una mezza follia fin dall'inizio, le risorse sono estremamente ristrette ...

Vero, però viene spesso dimenticato Arduino MEGA 2560, volendo anche nella comodissima versione [u]con le dimensioni di una UNO[/u] prodotto da SeeedStudio (... che ha anche il vantaggio di lavorare sia a 5V che a 3.3V) ... e li, come risorse, siamo certamente messi molto meglio ;)

Che poi è sicuramente meglio farlo con una Raspberry ... beh ... non ci piove :D

Guglielmo

Ci sono più RAM e flash, vero, ma il clock è sempre quello e, soprattutto, l'Ethernet shield è sempre quello, che non è certo fatto per accettare centinaia di connessioni contemporanee. Mi pare sia limitato a 4. Se poi usi uno shield ENC28J60 forse le cose sono pure peggio :confused:. Insomma, a mio parere rimane qualcosa il cui accesso deve essere estremamente controllato, indipendentemente dal software che ci gira, proprio per i limiti hardware.

Ci sono piattaforme più adatte ad ospitare un webserver. Il Raspi ne è un esempio, ma anche già la Yùn, e ce ne sono anche di più economiche, tipo l'Onion Omega, per cui esiste anche una espansione Arduino, tra l'altro.

SukkoPera: Ci sono più RAM e flash, vero, ma il clock è sempre quello e, soprattutto, l'Ethernet shield è sempre quello ...

Beh, anche li qualche cosa si può fare ... ... le nuove Ethernet Shield (Arduino.org, SeeedStudio, ecc.) montano il W5500 che è decisamente superiore, come prestazioni, al vecchio W5100.

Per divertirmi ho giusto messo una Ethernet con il W5500 su una MEGA e devo provare a caricarci Webbino ... ... ti faccio sapere, anche perché, se tutto va bene, ci sarebbe una piccola modifica da fare per ragioni di compatibilità (... ma prima fammi fare un po' di prove).

Comunque NON dimantichiamo che stiamo parlado di webserver "giocattolo", per piccole applicazioni private, dove il numero di connessioni non è poi così importante, ovviamente ... nulla a che vedere con hosting e macchine dedicate ;)

Guglielmo

gpb01: Comunque NON dimantichiamo che stiamo parlado di webserver "giocattolo", per piccole applicazioni private, dove il numero di connessioni non è poi così importante, ovviamente ... nulla a che vedere con hosting e macchine dedicate ;)

Ecco, è proprio questo il messaggio che sto cercando di comunicare :).

Aspetto una pull request per il supporto W5500 :D.

gpb01:
Vero, però viene spesso dimenticato Arduino MEGA 2560, volendo anche nella comodissima versione con le dimensioni di una UNO prodotto da SeeedStudio (… che ha anche il vantaggio di lavorare sia a 5V che a 3.3V) … e li, come risorse, siamo certamente messi molto meglio :wink:
Guglielmo

Se posso segnalo anche Itead come produttore di una Mega 2560 in formato piccolo: LINK

SukkoPera:
l’Ethernet shield è sempre quello, che non è certo fatto per accettare centinaia di connessioni contemporanee. Mi pare sia limitato a 4. Se poi usi uno shield ENC28J60 forse le cose sono pure peggio

Togli pure il forse. La ENC richiede al sw di fare una parte del lavoro che la W5xxx fa in hw

SukkoPera:
Aspetto una pull request per il supporto W5500 :D.

Molto semplice …

… seguendo lo standard del IDE 1.7.11 di Arduino.org, per la libreria vecchia per il W5100 occorre fare “#include <Ethernet.h>” mentre per la nuova W5500 si deve fare “#include <Ethernet2.h>”. TUTTO il resto rimane uguale, inclusi tutti i metodi.

Devi quindi semplicemente aggiungere una “#define WEBBINO_USE_WIZ5500” e modificare i codici di conseguenza per includere la <Ethernet2.h> al posto della <Ethernet.h>

Ti allego la libreria Ethernet2 … così la puoi inserire tra le librerie dell’IDE … :wink:

Guglielmo

P.S.: Tutto questo naturalmente se NON sei andato ad usare cose interne della libreria Ethernet e ti sei limitato ai metodi esposti, altrimenti tocca cambiare anche qualche nome :wink:

Ethernet2.zip (48.3 KB)

Ah ottimo, grazie!