Buenas, lo primero felicitaros por el foro y el soporte que ofrecéis, soy usuario en modo lectura desde hace un par de años.
Ahora mismo estoy con un proyecto el cual el cual va a constar de muchos dispositivos iguales monitorizando diferentes parámetros en hogares.
El proyecto lo tengo muy avanzado y funcionando en varios hogares ya para testear el funcionamiento. Estos dispositivos de prueba están configurados mediante el Skets para que se conecten a una base de datos MyQSL determinada, en un servidor determinado y una tabla determinada. Funcionan al 100%.
Este modo de envío de datos es solo para los prototipos, MySQL por que tenia un servidor ya pagado y conocía mas o menos su funcionamiento de otros proyectos.
Para el dispositivo final he estado probando varias opciones para almacenar los datos a parte de MySQL, como puedan ser las hojas de datos en drive, envío de .csv a una carpeta de un servidor online. Todas ellas las he conseguido implementar y hacer que funcionen, casi al 100%.
Mi primera consulta, es si podéis indicarme más opciones de hacer este mismo trabajo para investigarlas y ver su posible uso.
El proyecto lo he basado en una placa NodemCu ESP8266 12E, 4M Flash, programado a través del IDE de arduino.
Comienza con un app para poner los datos de la red wifi por el usuario basada en esta consulta del foro:
https://forum.arduino.cc/index.php?topic=483803.0
Recolecta los datos de diferentes sensores y los guarda en un archivo .txt (podría ser cualquier otra extensión) en la memoria Spiffs de la placa.
Una vez cada "X" tiempo se conecta a internet y lee el contenido del archivo guardado en Spiffs y en este caso compone las URL para poder enviar la información a la base de datos MySQL. de esta forma no pierdo la información si se cae la conexión o se apaga el dispositivo.
Actualmente la placa la tengo programada de tal forma que entra en modo servidor y puedo acceder desde cualquier otro dispositivo de la red local a través de la IP a una página web que alojo también en la memoria Spiffs. De esta forma me facilita la interacción con el usuario para poder mostrarle datos e incluso cambiar estados de pins, etc...
He probado también a parte de lo anterior, crear una app con APP Inventor 2, la cual interprete la base de datos MySQL y muestre la información, pero entre ambas opciones por ahora he utilizado la del servidor local.
La hora y fecha, así como la localización en coordenadas GPS las obtengo con el propio NodemCu y las librerías que existen destinadas para este trabajo.
Toda la programación la tengo clara, gracias al foro y a internet!
Van a ser muchos dispositivos individuales en diferentes hogares, espero que sean más de 1000 en un par de años y que siga subiendo los siguientes años.
Ahora tengo mi duda principal sobre todo el proyecto;
¿¿¿Que tipo de base de datos utilizar???
Sigo con MySQL, existen mejores opciones?
Teniendo el cuenta que el dispositivo final se tiene que conectar el solo con la base de datos (sea cual sea el método utilizado), sin que el usuario medie en nada de esto, y serán muchos dispositivos.
No tengo código que compartir, ya que tengo 7 o 8 versiones diferentes de código cada una para hacer las cosas descritas arriba, más HTML, PHP, App Inventor, Api´s, todos diferentes para probar todas las opciones descritas arriba.
Perdón por el tamaño de consulta, pero quería dejar claro como funciona el sistema por si condiciona en algo para la elección de la base de datos.
Gracias por adelantado.