Go Down

Topic: Log Data to SD Card, Wirelessly Transfer Data to PC (Read 2519 times) previous topic - next topic

sidepart

Sep 21, 2011, 08:30 pm Last Edit: Sep 21, 2011, 08:32 pm by sidepart Reason: 1
Hi all, I have a project feasibility question.  I'm looking at using my Arduino Duemilanove to log a voltage signal (most likely a sine wave).  I would like to have the Arduino log the data at something like 100-500 samples/second and then write the data to a file on an SD card.  Later once I'm done collecting data, I would like to wirelessly move the data from the SD card to my PC.  I also want to make sure the data log includes a timestamp with the voltage values.  I think that's a separate beast though, I haven't thought about it yet.

I feel like this is a possibility but I have a few questions before I start investing in some shields.  What options are there to wirelessly transfer data from the Arduino from the SD card shield?  How quickly could I transfer the data from the sd card?  I've noticed that my options appear to be XBee, Bluetooth or Wifi for the most part.  I just can't tell if I would be limited by serial data speeds.  The only related questions I've found appear to involve extracting data from the Arduino's internal memory and not an SD card shield.

I know I could just as well pop the SD card out and use a card reader, but I want to pretend that this isn't an option.

To give some specs here, I'm assuming that there could be a full days worth of data here, and the file(s) generated could total up to about 100+MB depending upon the sampling rate.  Bluetooth 2.1's normal throughput would take about 7 minutes, that's not unacceptable...though a little high.  Of course by comparison, 9600 baud (which I'm sure I'll be stuck with using XBee) serial transfer rates would take AGES.  

Thanks!

sidepart

Just some more researching I've done.  I'm pretty sure the sampling rates I'm looking for are completely feasible.  I had to consider the sampling rate of the analog pin (10,000 samples/s), and also the potential write speed to an SD card (found here http://www.alfonsomartone.itb.it/kfmdxc.html) at >1ms.  I think my limit would roughly be 1000 Hz, so 100-500Hz should be ok.  If anyone can confirm or deny that, let me know.

Anders 2009

I'm by no means an expert, but your project sounds feasible.

Personally I would start right way to get the sampling and storing done, then as soon as the "official" Arduino WiFi shield comes out (announced the other day at the Maker Faire) I would buy one of those and get started on the data transfer problem.

Of course you could get any of the existing WiFi shields as well, but why do that when you can be cool with the new and hot one very soon. ;-)

Good luck!

/Anders

sidepart

#3
Sep 21, 2011, 09:51 pm Last Edit: Sep 21, 2011, 09:55 pm by sidepart Reason: 1
One of my major concerns is transfer speed from the SD card to the PC over wifi.  I can't seem to tell if the serial data rate of the Arduino (something like 19200 baud?) would bottleneck the transfer speeds.  Basically, if I throw a WiFi shield on here, would I be able to get 1-54Mbps transfer speeds or would it be stuck with 19200 bps or something similarly slow?

The only thing I've found in my research involves people trying to real-time sample data over wifi and then being limited to a slow transfer rate because of this.  I'm simply just going to be reading the contents of the sd card over wifi when sampling is finished...like one of those USB card readers...just wireless.  So I don't know if I will also be affected but transfer speeds in the bps range.

sidepart

If the Official Arduino Wifi Shield is going to be released soon, I will probably wait around for it.  I wonder if it includes a micro sd card port like the Ethernet Shield.

bill2009

what about the SD memory cards that have integrated wifi?

sidepart

#6
Sep 22, 2011, 04:24 am Last Edit: Sep 22, 2011, 05:10 am by sidepart Reason: 1

what about the SD memory cards that have integrated wifi?


Eye-Fi SD cards?  I hadn't thought of that.  That certainly removes about half of the programming from the equation but that doesn't concern me.  I'm just doing a proof of concept.  The people I show it to can figure out how they would like to implement it.

EDIT: Wow this is unfortunate but Eye-Fi is not what I'm looking for, and there really isn't anything that competes with it.  Eye-Fi's firmware specifically only transfers JPEG files.  It's amazing how much potential the product loses due to this intentional limitation.  I did read that some people had success with saving data with a jpeg extension if it was over 16KB.  I think using this product might be more hassle than it's worth though.  Unless someone knows of another similar product that DOES allow unlimited access to any of the files on the sd card over wifi?

Go Up