![Registrar datos y trazar un gráfico en línea usando NodeMCU, MySQL, PHP y Chartjs.org: 4 pasos Registrar datos y trazar un gráfico en línea usando NodeMCU, MySQL, PHP y Chartjs.org: 4 pasos](https://i.howwhatproduce.com/images/005/image-12189-24-j.webp)
Tabla de contenido:
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-23 14:39
![Registrar datos y trazar un gráfico en línea usando NodeMCU, MySQL, PHP y Chartjs.org Registrar datos y trazar un gráfico en línea usando NodeMCU, MySQL, PHP y Chartjs.org](https://i.howwhatproduce.com/images/005/image-12189-25-j.webp)
![Registrar datos y trazar un gráfico en línea usando NodeMCU, MySQL, PHP y Chartjs.org Registrar datos y trazar un gráfico en línea usando NodeMCU, MySQL, PHP y Chartjs.org](https://i.howwhatproduce.com/images/005/image-12189-26-j.webp)
Este Instructable describe cómo podemos usar la placa Node MCU para recopilar datos de múltiples sensores, enviar estos datos a un archivo PHP alojado que luego agrega los datos a una base de datos MySQL. Luego, los datos se pueden ver en línea como un gráfico, utilizando chart.js.
Se requerirá un conocimiento básico de PHP y MySQL para este proyecto y necesitará acceso al alojamiento web con estos configurados para poder crear y ver sus propios gráficos. También supongo que tiene conocimientos básicos sobre el uso de la placa Node MCU y la carga de bocetos en ella. (Yo uso el IDE de Arduino para esto)
Paso 1: construcción del circuito
![Construyendo el circuito Construyendo el circuito](https://i.howwhatproduce.com/images/005/image-12189-27-j.webp)
![Construyendo el circuito Construyendo el circuito](https://i.howwhatproduce.com/images/005/image-12189-28-j.webp)
![Construyendo el circuito Construyendo el circuito](https://i.howwhatproduce.com/images/005/image-12189-29-j.webp)
Como el Node MCU tiene solo un pin analógico, usaremos multiplexación para poder leer datos de múltiples sensores. (Varios instructivos cubren este concepto con más detalle, por lo que no entraré en eso aquí). En este ejemplo, he usado dos sensores (para luz y temperatura) pero puede cambiarlos a lo que quiera y agregar más sensores si es necesario. He usado una resistencia sensible a la luz, un termistor, dos diodos rectificadores, una resistencia de 330 ohmios y una resistencia de 10K y algunos cables de puente. El diagrama de Fritzing adjunto muestra cómo están todos conectados en la placa de pruebas.
Paso 2: Edite y cargue el boceto en Node MCU
Utilice este archivo.ino adjunto. Deberá editar esto con su propio nombre de red WiFi y contraseña para que el Node MCU pueda conectarse a su propia red.
En la parte inferior de este boceto, la línea 'demora (60000)'; da un retraso de un minuto entre las lecturas del sensor, pero esto se puede ajustar para adaptarse a sus propios requisitos. Sin embargo, recomendaría dejar al menos 10 segundos para permitir la conexión al archivo 'Updater.php' cada vez.
También tendrá que editar la ruta hacia donde alojará los dos archivos.php y los dos archivos javascript que se requieren. Puede descargarlos en el siguiente paso.
Paso 3: base de datos y archivos web
Cree su base de datos MySql. Cree una tabla llamada 'temp_light' (puede cambiar esto, pero deberá editar los dos archivos php para reflejar los cambios que realice). Dale a la tabla cuatro campos. Un campo de incremento automático primario. Un campo entero llamado 'temp', un campo entero llamado 'light' y un campo llamado 'date_time' que será una marca de tiempo y el valor predeterminado 'CURRENT_TIMESTAMP'
Ahora descargue el archivo.zip adjunto y descomprímalo. Esto le dará dos archivos php y una carpeta llamada 'scripts' que contiene archivos.js que obtuve de chartjs.org. Los dos archivos.js no necesitan ser editados y la carpeta 'scripts' debe estar alojada en la misma ubicación que sus dos archivos php. los dos archivos php deberán editarse con su propio nombre de base de datos, contraseña e I. P. Dirección.
En el archivo index.php verá la línea 50: $ adjust_temp = ($ temp * 0.0623);
Este cálculo es para convertir la lectura de temperatura lo más cerca posible de grados centígrados y se llegó a él por prueba y error y es casi seguro que tendrá que modificarse para adaptarse a su propio sensor de temperatura.
Ahora aloje los archivos php y la carpeta 'scripts' que contiene los dos archivos.js todos juntos en el mismo directorio. Busque ese directorio y debería ver su propio gráfico con los datos enviados desde su placa Node MCU.
Paso 4: el resultado final
Originalmente hice este proyecto hace unos dos años, pero nunca había llegado a escribir un instructivo para él hasta ahora. Puedes ver el gráfico creado por mi prueba aquí:
El gran pico en el gráfico es donde el sol brillaba a través de la ventana sobre los dos sensores y el lento declive nuevamente fue cuando el sol lentamente desapareció de la vista.
Recomendado:
Cómo registrar datos de la estación meteorológica »Wiki Ùtil Liono Maker: 5 pasos
![Cómo registrar datos de la estación meteorológica »Wiki Ùtil Liono Maker: 5 pasos Cómo registrar datos de la estación meteorológica »Wiki Ùtil Liono Maker: 5 pasos](https://i.howwhatproduce.com/images/002/image-4435-6-j.webp)
Cómo registrar datos de la estación meteorológica »Wiki Ùtil Liono Maker: Introducción: Hola, soy #LionoMaker. Este es mi canal de YouTube de código abierto y oficial. Aquí está el enlace: Liono Maker / YOUTUBE CHANNEL En este proyecto aprenderemos cómo hacer " Registro de datos de la estación meteorológica ". esto es muy interesante pr
Trazar datos en vivo de un sensor de temperatura (TMP006) usando MSP432 LaunchPad y Python: 9 pasos
![Trazar datos en vivo de un sensor de temperatura (TMP006) usando MSP432 LaunchPad y Python: 9 pasos Trazar datos en vivo de un sensor de temperatura (TMP006) usando MSP432 LaunchPad y Python: 9 pasos](https://i.howwhatproduce.com/images/005/image-13891-j.webp)
Trazado de datos en vivo de un sensor de temperatura (TMP006) usando MSP432 LaunchPad y Python: El TMP006 es un sensor de temperatura que mide la temperatura de un objeto sin la necesidad de hacer contacto con el objeto. En este tutorial, trazaremos los datos de temperatura en vivo del BoosterPack (TI BOOSTXL-EDUMKII) usando Python
Registrar ECG de alta velocidad u otros datos, de forma continua durante más de un mes: 6 pasos
![Registrar ECG de alta velocidad u otros datos, de forma continua durante más de un mes: 6 pasos Registrar ECG de alta velocidad u otros datos, de forma continua durante más de un mes: 6 pasos](https://i.howwhatproduce.com/images/010/image-27281-j.webp)
Registrar ECG de alta velocidad u otros datos, de forma continua durante más de un mes: este proyecto se desarrolló para apoyar a un equipo de investigación médica de la universidad, que necesitaba un dispositivo portátil que pudiera registrar 2 señales de ECG a 1000 muestras / seg cada una (2K muestras / seg en total) de forma continua durante 30 días, con el fin de detectar arritmias. El proyecto pres
Trazar datos DHT11 usando Raspberry Pi y Arduino UNO: 7 pasos
![Trazar datos DHT11 usando Raspberry Pi y Arduino UNO: 7 pasos Trazar datos DHT11 usando Raspberry Pi y Arduino UNO: 7 pasos](https://i.howwhatproduce.com/images/004/image-9255-8-j.webp)
Trazar datos DHT11 usando Raspberry Pi y Arduino UNO: Este instructivo explica cómo trazo los datos del sensor de temperatura DHT11 usando Arduino Uno y Raspberry Pi. En este sensor de temperatura está conectado con Arduino Uno y Arduino Uno está conectado en serie con Raspberry Pi. En el lado de Raspberry Pi, matplotli
Configurar desde cero una Raspberry Pi para registrar datos desde Arduino: 5 pasos
![Configurar desde cero una Raspberry Pi para registrar datos desde Arduino: 5 pasos Configurar desde cero una Raspberry Pi para registrar datos desde Arduino: 5 pasos](https://i.howwhatproduce.com/images/002/image-5380-65-j.webp)
Configure desde cero una Raspberry Pi para registrar datos desde Arduino: este tutorial es para aquellos que no tienen experiencia en la instalación de un nuevo hardware o software, y mucho menos Python o Linux. Digamos que ha pedido una Raspberry Pi (RPi) con SD tarjeta (al menos 8GB, usé 16GB, tipo I) y fuente de alimentación (5V, al menos 2