¿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
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
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 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