Domanda:
File system della memoria flash esterna
Carrot M
2017-03-16 07:14:56 UTC
view on stackexchange narkive permalink

Sto creando un raccoglitore di dati meteorologici e voglio essere in grado di scaricare i dati meteorologici da qualche parte. Ho considerato le opzioni e poiché memorizzerò una quantità di dati piuttosto piccola (nell'intervallo dei megabyte) non voglio usare schede SD (anche le schede SD sono costose). Ho sentito parlare dell'uso di chip di memoria flash NAND (come il W25Q32) e speravo di poter interagire con loro in modo semplice (poiché la maggior parte dei modi richiede la scrittura su ogni singolo indirizzo). C'è forse un modo per costruire un file system all'interno di uno di questi piccoli chip di memoria flash e interagire con essi semplicemente come interagendo con una scheda SD?

TLDR: voglio interagire facilmente con un chip di memoria flash per memorizzare i dati ASCII di base

Anche se * puoi * mettere un filesystem su un flash SPI, in genere è una cattiva idea, poiché molti filesystem mappano male alla natura di cancellazione dei blocchi di NOR flash e le API del filesystem non rappresentano bene un accesso attentamente sintonizzato sulle esigenze di flash . Se lo fai, usa un file system ottimizzato per Flash. Probabilmente è meglio e più semplice organizzare le tue scritture come un diario lineare di dati.
Potresti impostare un server con una semplice applicazione web, mettere un modulo WiFi su Arduino e fare in modo che memorizzi i dati in un database? Potrebbe usare Apache o IIS se sei su Windows. configurarlo per eseguire PHP. Configura un database MySQL. Avere una pagina che accetti le variabili GET dei dati e inserirla nel database. È possibile impostare un'altra pagina per accedere / cercare / analizzare i dati.
@rpmerf L'ho già fatto, ma consuma MOLTO troppa energia e ho intenzione di mettere questi piccoli raccoglitori di dati meteorologici in luoghi lontani dall'infrastruttura.
Perché non utilizzare i comandi raw del dispositivo e scrivere blocchi? Il tuo schizzo ha davvero bisogno di un file system, cioè più di pochi file?
Ci sono alcune schede Arduino là fuori che hanno RTC, SPI Flash e moduli RF e sono un vero design a basso consumo. Vedi ad esempio Anarduino http://www.anarduino.com/miniwireless/ o Moteino https://lowpowerlab.com/guide/moteino/.
l'esp8266 consente di memorizzare alcuni MB come file system SPIFFS, altre schede probabilmente offrono lo stesso.
@ChrisStratton forse hai un link su come farlo comunque?
@CarrotM Una scheda SD non implementa neanche un file system. In entrambi i casi devi implementare il file system nel tuo software sopra il dispositivo di archiviazione. L'inefficienza nel farlo è particolarmente una cattiva idea su piccoli dispositivi, ma se vuoi davvero farlo, il processo sarebbe paragonabile al codice del filesystem che useresti su una scheda SD.
I2C è comune per i chip EEPROM ed è possibile accedervi con uno sforzo di codifica minimo utilizzando la libreria Wire.
Hai considerato FRAM (RAM ferroelettrico)? È disponibile in entrambi i formati SPI e I2C. Ho ricevuto le mie prime unità da Adafruit. Puoi leggere e scrivere quanto vuoi, ha una vita molto lunga sotto gli 85 ° C. Credo che abbiano qualche software applicativo sul sito.
Tre risposte:
Dmitry Grigoryev
2018-09-06 16:53:09 UTC
view on stackexchange narkive permalink

Non credo che tu abbia bisogno di un file system: di solito è necessario quando vuoi gestire molti file. Il registro dei dati meteorologici suona come un singolo file.

Ciò di cui hai bisogno è accedere alla EEPROM come stream , esattamente come faresti per un file aperto. Ci sono stream wrapper attorno ad alcune librerie EEPROM, ad es. questo per ESP. Ti suggerisco di verificarlo e vedere se puoi adattarlo alla libreria EEPROM che usi.

stacker
2018-02-06 18:23:39 UTC
view on stackexchange narkive permalink

Questa libreria offre un mezzo per leggere e scrivere array ASCII su dispositivi flash. Questa sarebbe una soluzione semplice per tali requisiti di data logger. È orientato all'ASCII.

https://github.com/schinken/Flash

pierom_qwerty
2017-03-16 18:34:18 UTC
view on stackexchange narkive permalink

C'è un modo per farlo. Usando un adattatore da $ 2 da eBay, puoi collegarlo a una scheda micro sd. Una carta triste per $ 4 può memorizzare 128 MB di dati, il che è abbastanza per te.

Tutorial sull'archiviazione Arduino con meteo

Scheda Micro Sd da 128 MB

Questo non risponde alla domanda che è stata posta. Il poster sembra già familiare con ciò che proponi e sta cercando di fare qualcos'altro.


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...