Main Content

Questa pagina è stata tradotta con la traduzione automatica. Fai clic qui per vedere l'ultima versione in inglese.

Confronta i dati sulla temperatura di tre giorni diversi

Questo esempio mostra come leggere i dati da un canale ThingSpeak™ esistente e generare un grafico con tre serie sullo stesso asse. Nell'esempio, come punto di partenza, utilizzi uno dei modelli di codice forniti dalle app MATLAB Analysis e MATLAB Visualizations in ThingSpeak .

ThingSpeak channel 12397 contiene dati meteorologici provenienti da una stazione meteorologica situata sul tetto di un garage nel campus MathWorks® a Natick, Massachusetts. Il campo 4 contiene la misurazione della temperatura.

Crea una visualizzazione MATLAB dal codice modello

Per creare una visualizzazione di tre serie di dati da un canale ThingSpeak , puoi scrivere uno script MATLAB utilizzando il modello di codice fornito nell'app MATLAB Visualizations .

Vai alla scheda App e fai clic su MATLAB Visualizations . Fare clic su Nuovo, selezionare Confronta i dati di temperatura di tre giorni diversi e fare clic su Crea.

Visualizza i tuoi dati

ThingSpeak popola il campo Codice MATLAB con il codice per generare un grafico a tre serie.

1) Impostare le variabili per comunicare con ThingSpeak. In questo esempio, la chiave API di lettura non è necessaria perché il canale della stazione meteorologica è pubblico. Se stai leggendo dal tuo canale, puoi modificare questi valori.

readChannelID = 12397;
TemperatureFieldID = 4;
readAPIKey = '';

2) Utilizzare thingSpeakRead per recuperare i dati per ogni giorno. Specificando 'DateRange' puoi impostare le date di inizio e fine per la raccolta dei dati.

temperatureDay1 = thingSpeakRead(readChannelID,'Fields',TemperatureFieldID,'dateRange',...
    [datetime('today')-days(1),datetime('today')],'ReadKey',readAPIKey); 

temperatureDay2 = thingSpeakRead(readChannelID,'Fields',TemperatureFieldID,'dateRange',...
    [datetime('today')-days(2),datetime('today')-days(1)],'ReadKey',readAPIKey); 

temperatureDay3 = thingSpeakRead(readChannelID,'Fields',TemperatureFieldID,'dateRange',...
    [datetime('today')-days(3),datetime('today')-days(2)],'ReadKey',readAPIKey);

3) Creare un array di durate che corrisponda alla lunghezza di ciascun set di dati. La lunghezza di ciascuna serie varia a seconda dell'ora esatta di inizio. Le misurazioni vengono effettuate ogni minuto, ma non sono allineate ogni giorno.

myTimes1=minutes(1:length(temperatureDay1));
myTimes2=minutes(1:length(temperatureDay2));
myTimes3=minutes(1:length(temperatureDay3));

4) Utilizzare plot e hold per generare i grafici. Imposta la legenda per differenziare le serie utilizzando legend. Quindi fornire i titoli degli assi e dei grafici con xlabel, ylabel e title.

plot(myTimes1,temperatureDay1, myTimes2,temperatureDay2, myTimes3,temperatureDay3);
legend({'Day1','Day2','Day3'});
xlabel('Minutes')
ylabel('Temperature F');
title('Three-Day Temperature Comparison');

5) Puoi modificare il codice del modello per adattarlo alla tua applicazione. Ad esempio, modifica il codice per cambiare il numero di giorni da leggere e i titoli del grafico. Premere Salva ed esegui per generare il grafico.

Poiché il grafico è generato da dati reali, il tuo grafico appare simile ma non identico a questo grafico.

La sovrapposizione dei dati sullo stesso grafico mostra tre diversi comportamenti nella variazione della temperatura durante il giorno.

6) Facoltativamente, puoi aggiungere visualizzazioni salvate al tuo canale. In Impostazioni di visualizzazione, utilizza il segno più accanto a Aggiungi/modifica questa visualizzazione a un canale per espandere l'elenco dei canali.

Fare clic sulla casella di controllo relativa al canale a cui si desidera aggiungere la visualizzazione. Per aggiungere visualizzazioni private, seleziona Vista privata. Per condividere l'URL e aggiungere la visualizzazione alla Visualizzazione pubblica, fare clic su Crea un URL pubblico. Per aggiornare le selezioni, fare clic su Salva impostazioni di visualizzazione.

Vedi anche

Funzioni

Esempi correlati

Ulteriori informazioni