Gestión de datos de ThingSpeak en Matlab
Una vez hemos aprendido a visualizar los datos tanto en el propio ThingSpeak como en Google Charts, el próximo paso es poder utilizar esos parámetros en Matlab para su procesamiento. Para ello basta con instalar un toolbox en Matlab que lo podréis encontrar en este enlace. Una vez hemos instalado el toolbox comenzaremos a trabajar desde Matlab. En la página antes mencionada hay una serie de funciones de ayuda, de las cuales usaremos una en este ejemplo.
La función thingSpeakRead permite leer los datos de un canal de ThingSpeak y guardarlos directamente en un array de datos. Para ello tan solo hay que introducir el ChannelID, los campos que queremos leer y el número de puntos de cada campo. Después graficaremos cada campo por separado con la función plot de Matlab. Observando el código que viene a continuación podemos observar que se han guardado los datos en el array "data", en el que los datos de cada campo se distribuyen por columnas, cuestión que habrá que tener en cuenta a la hora de graficar.
La función thingSpeakRead permite leer los datos de un canal de ThingSpeak y guardarlos directamente en un array de datos. Para ello tan solo hay que introducir el ChannelID, los campos que queremos leer y el número de puntos de cada campo. Después graficaremos cada campo por separado con la función plot de Matlab. Observando el código que viene a continuación podemos observar que se han guardado los datos en el array "data", en el que los datos de cada campo se distribuyen por columnas, cuestión que habrá que tener en cuenta a la hora de graficar.
[data,time]=thingSpeakRead(channelID,'Fields',[1,2,3,4,5],'NumPoints',N); % Recogemos los datos de nuestro canal de ThingSpeak con el chanel ID, % señalando que campos queremos leer, y el número de puntos que queremos % obtener de cada campo. A continuación se plotean. figure(1); plot(time,data(:,1)); title('Temperature'); xlabel('Time'); ylabel('T (ºC)'); hold on; figure(2); plot(time,data(:,2)); title('Pressure'); xlabel('Time'); ylabel('P (Pa)'); hold on; figure(3); plot(time,data(:,3)); title('Humidity'); xlabel('Time'); ylabel('H (%)'); hold on; figure(4); plot(time,data(:,4)); title('Heat Index'); xlabel('Time'); ylabel('HI (ºC)'); hold on; figure(5); plot(time,data(:,5)); title('Dew Point'); xlabel('Time'); ylabel('Dew Point (ºC)');
Los gráficos correspondientes a la simulación son los siguientes:
Comentarios
Publicar un comentario