Hi,
I'm working on a project, and things are working out fine. I'm building a weather station for special applications to mainly monitor wind, and changes in atmospheric pressure, temperature and humidity which to some extent could help the user to predict the upcoming weather. The system is helping the user to decide whether it is time for evacuation of area due to high winds.
Currently it is running of a Mega 2560, with the following sensors:
- Anemomenter
- BMP180
- HT22
Additional there is a Oled 128x64 screen, a DS3231 and a SD card unit.
Every minute the systems write 17 variables to the SD card for logging. I also have a array with the size of 300 to evaluate the mean wind, and make a graph to see the development in wind.
Eventually the main goal is to add a GPS unit and a Ethernet unit to be able to give coordinates to each log line as well as send the data to a server. This is a closed system only interesting for the people monitoring.
Now, as i plan how to proceed with this project, i stand at a question on the best way to store the data. as i would like to access them, to make graphs of several of the stored data with at least 24 hours or 1440 logg intervals. older data is not necessary to view locally.
while it might be that i have written my code using bad practice i see that if i where to save all this data on arrays i will fill up the arduinos memory. I currently (by Arduino IDE) i use 34312 bytes of storage and 3877 bytes of dynamic memory. I have briefly read into retrieving data from SD card and found that this is not the best way to go. So, what is the best way of storing approx 20x1440 = 28800 mostly floating variables?
I see that using a separate EEPROM requires addressing all variables i need to retrieve, this might be the best practice but i would love some input on how to do this the best way, so it is possible to expand this little project in future even further.