ho in mente di realizzare una centrale d'allarme discretamente complessa: una decina di sensori, webserver ajax, email, data logger, sincronizzazione NTP . essendo un principiante totale, sto facendo un taglia e cuci (con qualche ritocco) con gli skecth d'esempio per le singole funzioni.
compilando separatamente le varie parti del programma vedo che ognuna mi occupa circa 15k, quindi mi sta sorgendo un dubbio atroce: riuscirò a caricare il programma completo che prevedo sforerà, e non di poco, i 32k su in arduino ethernet?
è possibile eventualmente utilizzare la SD o espandere in qualche modo la memoria flash?
ci sono altre soluzioni?
Non é possibile usare una SD per memorizzare lo sketch. Puoi mettere nella SD dei dati al posto di tenerli nello sketch. Puoi usare anche un Controller con piú memoria come quello presente sulla Arduino MEGA 2560. In quel caso Ti servirebbe un shield Ethernet. da mettere sul Arduino.
Ciao Uwe
grazie Uwe,
Puoi mettere nella SD dei dati al posto di tenerli nello sketch
che tipo di dati?
pensavo di usare la SD per memorizzare i log e le pagine del webserver. si può usare anche per altro?
siccome la Ethernet non ha gli I/O sufficienti per il mio progetto, ero indeciso se montare un MUX shield o migrare sul MEGA 2560. a questo punto credo che la scelta sia obbligata.
ricdata:
Puoi mettere nella SD dei dati al posto di tenerli nello sketch
che tipo di dati?
pensavo di usare la SD per memorizzare i log e le pagine del webserver. si può usare anche per altro?
Es. parametri di configurazione, da caricare da SD in variabili del programma.
Ma non puoi in nessun modo salvarci codice eseguibile, i micro hanno un'architettura per cui il codice eseguibile può solo risiedere nella Flash interna.
siccome la Ethernet non ha gli I/O sufficienti per il mio progetto, ero indeciso se montare un MUX shield o migrare sul MEGA 2560. a questo punto credo che la scelta sia obbligata.
Secondo me meglio, anche per il discorso della memoria programma fatto sopra.
grazie leo72,
scusami ma per capire ho bisogno di un riscontro pratico, le mie conoscenze teoriche risalgono ai tempi dell'ITIS e, al momento, sono per così dire annebbiate
intendi una cosa del genere? (quello che viene fatto all'inerno del void setup() )
http://forum.arduino.cc/index.php?topic=128763.msg970316#msg970316
EDIT:
aggiungo un ultima domanda: le librerie caricate dallo sketch finiscono anch'esse nella memoria flash?
Nella SD ci metti quel che ti pare TRANNE che un codice eseguibile, come nell'esempio che carica da un file i parametri di configurazione.
Tutto ciò che compone lo sketch viene scritto in Flash. Compresi gli #include di librerie, che sono anch'essi codice eseguibile, cioè il "programma".
vi ringrazio per le delucidazioni.
alla prossima XD