Immagazzinare grandi quantità di dati su Leonardo

Buonasera a tutti.
Ho un Leonardo connesso tramite Ethernet al PC.
Devo inviare a Leonardo moltissimi dati (fino a 10 mila caratteri) e una volta che ho finito Leonardo deve analizzare questi dati per differenti applicazioni.

La parte "PC" invia già tranquillamente i caratteri tramite socket TCP.
Il problema, ovviamente, è la parte Leonardo.

Se utilizzo le Stringhe la memoria non riesce - chiaramente.

Aggiungo che, utilizzando l'Ethernet Shield, ho anche uno slot per l'SD: se mettessi un SD, potrei risolvere il problema salvando i dati man mano che arrivano tramite FTP? -> Premetto che voglio che il tutto resti in real-time (nessun pesante rallentamento).

Quindi vi chiedo, soprattutto a chi ha esperienza a riguardo, sapreste consigliarmi qualche soluzione (o comunque darmi info riguardo l'utilizzo dell'SD, ad esempio)?

Grazie mille!

Perché vuoi far analizzare i dati al Leonardo e non lo fai sul PC e sucessivamente piloti il Leonardo.
Ciao Uwe

uwefed:
Perché vuoi far analizzare i dati al Leonardo e non lo fai sul PC e sucessivamente piloti il Leonardo.
Ciao Uwe

Perché vorrei poter utilizzare questa applicazione su macchine differenti. Quindi i PC dovranno solo inviare i dati nel formato che stabilisco io e non dovranno preoccuparsi dell'analisi.
Vorrei capire se ciò è possibile.

Grazie!

Sicuramente puoi trasferire i dati a piccoli blocchi (ricorda che hai SOLO 2KB di SRAM che viene usata per le tue variabili, per i buffer, per lo stack, ecc.) e, mano mano, salvarli su SD.

Finita la trasmissione, potrai rileggere, sempre con le solite limitazioni si SRAM, i dati dalla SD e trattarli.

Il problema, come vedi è ... la scarsa quantità di SRAM e l'impossibilità di ricevere blocchi più grandi di qualche centinaio di bytes.

Guglielmo

gpb01:
Sicuramente puoi trasferire i dati a piccoli blocchi (ricorda che hai SOLO 2KB di SRAM che viene usata per le tue variabili, per i buffere, per lo stack, ecc.) e, mano mano, salvarli su SD.

Finita la trasmissione, potrai rileggere, sempre con le solite limitazioni si SRAM, i dati dalla SD e trattarli.

Il problema, come vedi è ... la scarsa quantità di SRAM e l'impossibilità di ricevere blocchi più grandi di qualche centinaio di bytes.

Guglielmo

Ok, allora credo non sia possibile far quel che pensavo.

Grazie mille per le risposte!

Arduino, che sia Leonardo, Uno, Mega, Mini Pro sono schede pensate per prototipazione elettronica.
Non è possibile gestire grandi quantità di dati, altresì audio o video che richiedono molta memoria e velocità di elaborazione su MCU (a 8 bits) non è possibile.

arduinopro44:
Ok, allora credo non sia possibile far quel che pensavo.

Più che per la quantità di dati (che puoi risolvere o installando una RAM shield o usando una WeMos D1 che ha onboard ben 4 Mbyte di flash, eventualmente gestibile come un file system max 3Mbyte) il problema potrebbe essere la potenza elaborativa.
Quindi dipende da cosa deve fare, e in quanto tempo.

docdoc:
Più che per la quantità di dati (che puoi risolvere o installando una RAM shield

... quella è solo un po' più veloce, ma, a TUTTI gli effetti, è come usare le SD che lui aveva proposto all'inizio e NON è certo un ampliamento della SRAM !

Guglielmo