Cuantos datos se pueden guardar en EEPROM de Arduino

¿Alguien me puede dar una idea de cuántos puntos de datos puedo guardar en la EEPROM de un Arduino (1 KB) si guardo fecha, hora y 10 datos de temperatura?

jenkins

La fecha lo puedes guardar como un timestamp desde el epoch, entonces con 32bits alcanza

El dato de temperatura es una lectura del ADC? Son 16 bits

192bits total

24 bytes

1000 / 24 ~= 41

Y ya :confused:

Use un mecanismo que se llama RRDs

No todos las muestras son importantes… Sino lo importante es un promedio

jenkins

Un Round Robin le sirve pero di, solo los últimos 41 datos va a tener.

Depende de cuántas muestras totales le ponga

jenkins

Ah sí de hecho. Por qué 10 muestras por timestamp?

Puedes tomar las 10 en RAM, y luego las promedias, y guardas el promedio

Es que el detalle es que queremos poner un Arduino para registrar la temperatura de unas composteras digamos cada hora para tener una idea del comportamiento de la misma a lo largo del tiempo, aunque puede hacerse a intervalos más amplios pero al menos quisiera 4 datos por día y como las giras puede que no sean todas las semanas quisiera que al menos me guarde el histórico de un mes.

De todos modos… Tener muchas muestras se transforma en datos basura

Con RRD puede tener muestras más seguidas y un resumen de los datos en el tiempo

Y el espacio de los datos queda controlado y fijo

El toque está en diseñar el RRD con lo que se quiera reflejar

Son varias composteras, queremos optimizar el proceso de producción del abono, la temperatura es un indicador importante y cada compostera tendría un tiempo de elaboración, mezcla o condiciones de operación distinto, por eso ocupo registrar el dato de cada una por aparte.

jenkins

Mae Kevin no lo entiendo. Por qué puede tener muestras más seguidas, osea si, pero digamos que tomo 40 muestras por día, solo voy a poder tener un día. Eso no son más muestras, son las mismas muestras, más frescas.

@ersiq lo que se te está quedando corto es el hardware

Hay una forma de conectar con SD card por SPI

Y venden SD card shields

Yo me iría por ese lado

Por ejemplo: el abono hay que estarlo volteando cada tanto, si no se voltea lo suficiente no le llega oxígeno a los microorganismos y no se calienta, pero si se voltea muy seguido entonces puede que no alcance la temperatura suficiente, ahí es donde queremos ver los datos para encontrar el punto óptimo para voltear.

Podría tener esas 40 muestras del día… Pero también el detalle de la última hora cada 2 minutos. Y el promedio de cada 3 horas en la última semana y el promedio cada 6 del último mes y el diario de los últimos 6 meses…

O cambiar que es los que quiere ver… Diseñando mejor el RRD

Ya había pensado en lo de la SD pero estaba viendo si era posible ahorrarnos eso, aunque ya vi que 1 KB es demasiado poco

No había leído de donde salía el 41 :stuck_out_tongue:

Podría ser 24 de cada hora + el promedio de cada 2 horas de ayer… Y el promedio de los últimos 6 días

Así da 42

Es lo más que se puede hacer con 1K

jenkins

Bueno gracias, pura vida. Voy a buscar algún shield para SD y ver eso del RRD. Y es que si ahí hubiese WiFi o algo los pondría en la nube, pero no hay.

O partirlo más… Pero lo más que se llega con información relevante sería como 7-15 días con 1K

jenkins

Por cierto es importante el RTC, sino se te va a desviar un montón el reloj

Sí, ya le tengo el RTC.

Era uno que compré para un RasPi pero al final el RasPi pasa pegado a la red así que no necesita.

Sofía Elena Arrieta Araya

Bueno, hola :slight_smile: yo en un proyecto de un curso hice algo similar con el monitoreo de varios sensores de temperatura y lo que hacíamos era tomar los datos de los sensores con el arduino y del arduino pasaba a una raspbi que las subía a una base de datos en la nube (no me pregunte mucho de esa parte porque ahí sé lo mínimo para hacerlo funcionar) y así guardamos miles de datos y se podían acceder mediante un dashboard

Incluso mediante al dashboard se podían crear nuevas clases de objetos, como crear una temperatura nueva con sus distintos atributos, o también borrarlas