Datalogger WIFI con ESP8266

Hola,

Voy a iniciar un posteo para que vean una idea que tengo, y dentro de lo posible, me ayuden a llevarlo a cabo, además de aprender ya que es la primer experiencia que tengo con microcontroladores y su programación. No programo desde que hice el curso de LOGO cuando tenía 10 años (hace 40 años!) :man_facepalming:t4:
Tengo dos proyectos de Datalogger que son muy parecidos. El primero tiene WIFI para poder subir los datos a thingspeak.com para visualizarlos. Tengo una placa D1 Mini con antena externa basada en el ESP8266EX (https://es.aliexpress.com/item/1005004005586872.html?spm=a2g0o.order_list.0.0.38e5194dWATOiQ&gatewayAdapt=glo2esp) con un Sensor BME280 que registra Temperatura, Humedad y Presión Barométrica (Sensor Digital BME280 3,3 V 5V, temperatura, humedad, módulo de Sensor de presión barométrica I2C SPI 1,8 5V, módulo de Sensor BME280|Circuitos integrados| - AliExpress). A esto pensaba agregarle un reloj RTC DS3231 para registrar el día y hora de cada toma de datos. También pensaba sumar un modulo de tarjeta MicroSD para guardar los datos.
La alimentación sería externa porque si bien van a estar cerca de dos casa distintas con acceso a internet, serán colocados alejado de la vivienda para tener una vista y toma de datos más despejada. Tengo pensado usar una batería 18650 y un cargador por panel solar (Este kit: Mini Panel Solar de silicio monocristalino, 6V, 210MA, 1,25 W, con cargador solar, CN3065, carga de teléfono móvil|Células solares| - AliExpress).
Vengo leyendo y mirando lo que puedo para aprender lo básico y junto con los ejemplos que vienen en las librerías pude armar un código y mostrar en el monitor serie los datos que necesito. Compare los datos del BME280 con otros medidores de temperatura y humedad y también con el barómetro de mi GPS y provee datos muy buenos. Hoy tuve andando la placa y recolectando datos cada minuto durante más de dos horas y funciono todo muy bien. Me entrega los tres valores separados por coma para importarlos directo a una planilla de cálculo.
El código que arme es el siguiente:

[code]
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>

Adafruit_BME280 bme;

void setup() {
  Serial.begin(9600);

  if (!bme.begin(0x76)) {
    Serial.println("No se encontro sensor BME280, chequear conexiones!");
    while (1);
  }
}


void loop() {
  Serial.print(bme.readTemperature());
  Serial.print(", ");

  Serial.print(bme.readHumidity());
  Serial.print(", ");

  Serial.print(bme.readPressure() / 100.0F);
  Serial.print(", ");

  Serial.println();
  delay(60000);
}
[/code]

Lo que aún no logre dilucidar es como ir agregando el resto del código para sumar el RTC y la tarjeta Micro SD. Ya estuve probando código para el reloj y la tarjeta por separado pero no me doy cuenta como agregarlo al código de arriba.
Pero antes que me respondan tengo un duda que quizás me puedan despejar y en una de esas simplificar este primer proyecto. ¿Si subo los datos a thingspeak.com hace falta agregar el RTC y la MicroSD? ¿Queda registrada la hora y la fecha de cada toma de datos cuando se suben? y lo más importante ¿quedan guardados los datos en mi canal de thingspeak.com, cuánto tiempo, hasta que capacidad?. Lo pregunto porque no encontré información y en los ejemplos que vi se pueden descargar datos (quiere decir que que guarda información) pero son muy pocos registros, ni siquiera un día completo. Mi idea era visualizar los datos a través de internet y guardar todo en la MicroSD y cada tanto descargar al PC. Pero si se guardan los datos Online me ahorro el modulo de la tarjeta y el consumo eléctrico y quizás también el RTC.

Bueno, hasta que llegue hoy, tengo más dudas pero por ahora esto es lo primero para poder seguir.

Muchas gracias de antemano y saludos cordiales,

Raúl

1 Like

Si tienes acceso a internet no necesitas un RTC, sincronizas la hora con un servidor ntp y listo.

Sobre thingspeak, me parece que sería más adecuado consultar en su soporte técnico o algun foro sobre el mismo (que seguramente hay).

Gracias Gatul!, voy a mirar lo del NTP, no sabía que podían consultarse libremente. Buscando encontré que el IGN (Argentina) tiene uno https://www.ign.gob.ar/NuestrasActividades/Geodesia/ServicioInternacionalHora/NTP

En las FAQ's de Thingspeak encontré esto:

  1. How much data can I store on ThingSpeak™?
  • Free users are limited to 10 million messages (3+ years at minimum update interval)

Por lo que entiendo guardan datos hasta límite que a mi me sobra y podría prescindir también de la MicroSD y se me va a simplificar bastante el código.

Saludos,
Raúl

Mirate Ubidots, yo subo sensores y te hace graficas de lo que configures, guarda fecha y hora.

1

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.