I built a rather generic I2C data logger a few weeks back. As I mentioned in my earlier posts, it can be used to log data from almost any I2C slave devices with relatively little code modification.
So as an experiment, I hooked up a Sensirion SHT21 humidity and temperature sensor to my I2C data logger and performed a trial run over the past couple of weeks and gathered some environmental data of my basement office.
The log interval was set to 10 seconds and the format of the log is shown below:
Date Time Temp (F) Humidity(%)
102310 181734 62.57 44.82
102310 181745 62.53 44.82
102310 181755 62.49 44.68
102310 181805 62.47 44.82
102310 181816 62.43 44.85
102310 181826 62.43 44.75
102310 181836 62.43 44.68
102310 181847 62.41 44.65
102310 181857 62.40 44.72
102310 181907 62.40 44.82
102310 181918 62.38 44.85
102310 181928 62.38 44.89
102310 181938 62.36 45.16
102310 181949 62.34 45.26
102310 181959 62.34 45.6
102310 182009 62.32 44.96
102310 182020 62.32 45.3
102310 182030 62.32 45.4
102310 182040 62.30 45.7
102310 182051 62.30 45.13
Even at this relatively high sampling rate, two weeks worth of data consumes only around 5 MB. And here is a raw data plot of the temperature and humidity in the room for the week week between 10/23 and 10/29 (blue line is temperature and red line is humidity):
Since the raw data set is pretty large, I could only get half of the data plotted using OpenOffice Calc without further processing.
As you can see, the data came out pretty nicely. After this proof of concept run, I am going to let it run for a longer period of time and gather more data…