Energieeffizienter: Auf SD-Karte schreiben oder über längere Zeit per BLE übertragen?

Ich muss ungefähr 10 Stunden lang ungefähr 1 ADC-Sample pro Sekunde in einem drahtlosen Projekt speichern. Das Problem ist die Energie. Was effizienter ist, ist eine konstante Übertragung auf BLE oder das sekündliche Schreiben auf eine SD-Karte. Ich habe auch an zwei Boards gedacht, die die Arbeit erledigen können, weil sie alles in sich haben (das SD-Modul und das BLE-Modul).

RedBearLAB für BLE-Alternative

oder Adafruit Feather M0 oder Adafruit Feather 32u4 zum Schreiben auf SD

Weder. Schreiben (oder Übertragen) etwa alle halbe Stunde, wenn Ihr mehrere Kilobyte großer Puffer im CMOS-SRAM voll ist.
Ein ADC-Sample von 8 bis 16 Bit ist zu klein für die minimale SD-Sektorgröße von 512 Byte. Sie hätten also eine Menge Overhead, Lesen, Anhängen, Umschreiben. Sie möchten diese ADC-Beispiele vor dem Schreiben auf eine größere Größe zwischenspeichern. Siehe electronic.stackexchange.com/questions/227686/…
Ich verwende ein Arduino mit einem SD-Modul, ich erstelle eine .txt-Datei mit CSV aller Samples, aber jetzt muss ich es drahtlos machen, per BLE übertragen oder mit einer Batterie in SD speichern, ich denke, ich kann dasselbe tun das SD-Modul und erstellt eine Datei, damit ich die Sektorgröße füllen kann.

Antworten (1)

es hängt davon ab, ob :)

hast du an das ble-profil gedacht, das du gerne verwendest?

Haben Sie die Möglichkeit, einige Samples im RAM Ihres MCUs zu puffern – und dann einen Block von Samples an Ihre SD-Karte oder per Funk weiterzuleiten? Die meiste Energie wird gespart, wenn Ihre MCU die meiste Zeit alle Peripheriegeräte deaktiviert UND Ihr ADC Timer triggert (CPU usw. aus) ... und wenn möglich, bleiben Sie einige Sekunden. und behandeln Sie dann die gesammelten Proben.

übrigens, wieviel energie hast du für die 10 stunden?

Oh, das könnte großartig sein, ich kann wahrscheinlich einen 15-Minuten-Sample-Block speichern (1Sample/Sec *60s * 15m= 900 Samples im RAM) und dann einen 15-Minuten-Sample-Block schreiben, richtig? ist wahrscheinlich ein besserer Weg, als die ganze Zeit über Bluetooth zu übertragen
ja ... wenn Sie keine anderen Zwänge haben - sammeln Sie so viel wie möglich.
Möglicherweise enthält Ihr ADC einen Beispielpuffer, oder Sie können einen DMA so konfigurieren, dass Daten ohne CPU-Interaktionen an den RAM weitergeleitet werden.