Contenuto principale

Questa pagina è stata tradotta con la traduzione automatica. Fai clic qui per vedere l’originale in inglese.

Analizza i tuoi dati

Questo esempio mostra come leggere i dati di temperatura e umidità dal canale 12397 ThingSpeak, che raccoglie dati meteorologici da un dispositivo Arduino®. Scrivi i dati di temperatura e umidità nel tuo canale di misurazione del punto di rugiada, insieme ai dati del punto di rugiada calcolati. Quindi usa ThingSpeak™ per visualizzare i risultati sul tuo canale.

Passaggi preliminari

Questo esempio richiede che siano già stati eseguiti questi passaggi:

Leggere i dati da un canale

Leggi l'umidità e la temperatura dai campi 3 e 4 del canale pubblico WeatherStation e scrivi tali dati rispettivamente nei campi 2 e 1 del tuo canale di misurazione del punto di rugiada. Il punto di rugiada viene calcolato e scritto nel Campo 3.

Utilizza un'app di analisi MATLAB® per leggere, calcolare e scrivere i tuoi dati.

  1. Vai alla scheda Apps e clicca su MATLAB Analysis.

  2. Clicca New. Selezionare il modello Custom e fare clic su Create.

  3. Nel campo Name, immettere Dew Point Calculation.

  4. Nel campo Codice MATLAB, immettere le seguenti righe di codice.

    1. Salva l'ID del canale pubblico della stazione meteorologica e l'ID del canale di misurazione del punto di rugiada nelle variabili.

      readChId = 12397;
      writeChId = ZZZZZ;  % Replace with your channel number
    2. Salva la tua chiave API di scrittura in una variabile.

      writeKey = 'XXXXXXXXXXXXXXXX'; % Replace with your channel write key

      Per trovare l'ID del canale e la chiave API di scrittura, fare riferimento a Informazioni sul canale nella scheda My Channels.

    3. Leggi gli ultimi 20 punti di dati sulla temperatura con timestamp e dati sull'umidità dal canale pubblico Weather Station in variabili.

      [temp,time] = thingSpeakRead(readChId,'Fields',4,'NumPoints',20);
      humidity = thingSpeakRead(readChId,'Fields',3,'NumPoints',20);

Calcola il punto di rugiada

Aggiungere il seguente codice MATLAB per calcolare il punto di rugiada utilizzando le letture di temperatura e umidità:

  1. Converti la temperatura da Fahrenheit a Celsius.

    tempC = (5/9)*(temp-32); 

  2. Specificare le costanti per il vapore acqueo (b) e la pressione barometrica (c).

    b = 17.62;
    c = 243.5;

  3. Calcola il punto di rugiada in gradi Celsius.

    gamma = log(humidity/100) + b*tempC./(c+tempC);
    dewPoint = c*gamma./(b-gamma);

  4. Convertire nuovamente il risultato in gradi Fahrenheit.

    dewPointF = (dewPoint*1.8) + 32;

  5. Scrivi i dati sul tuo canale di misurazione del punto di rugiada. Questo codice pubblica tutti i dati disponibili in un'unica operazione e include i timestamp corretti.

    thingSpeakWrite(writeChId,[temp,humidity,dewPointF],'Fields',[1,2,3],...
    'TimeStamps',time,'Writekey',writeKey);

    Il blocco completo di codice ora appare come:

     Vedi il codice completo

  6. Fai clic su Save and Run per convalidare ed elaborare il tuo codice.

    Eventuali errori nel codice vengono indicati nel campo Output.

  7. Per verificare se il codice è stato eseguito correttamente, fai clic sul collegamento del canale Dew Point Measurement nel pannello Channel Info.

Il canale Misurazione del punto di rugiada ora mostra grafici con i dati del canale da ciascun campo.

Codice di pianificazione

Utilizza l'app TimeControl per pianificare il calcolo del punto di rugiada nel codice di analisi MATLAB. Programmalo per leggere i dati dalla stazione meteorologica ogni 30 minuti e calcolare il punto di rugiada.

  1. Scorri fino in fondo alla pagina Calcolo del punto di rugiada dell'analisi MATLAB. Fare clic su TimeControl per aprire l'app con l'analisi MATLAB preselezionata nel campo Actions e il calcolo del punto di rugiada come Code to execute.

  2. Assegna al tuo nuovo TimeControl il nome Dew Point TC

  3. Scegli Recurring nel campo Frequency.

  4. Scegli Minute nel campo Recurrence.

  5. Selezionare 30 nel campo Every — minutes.

  6. Mantenere Start Time sul valore predefinito.

  7. Verifica che Action sia MATLAB Analysis e che Code to execute sia Dew Point Calculation.

  8. Clicca Save TimeControl

Nota

L'impostazione di un TimeControl per scrivere dati sul tuo canale utilizza i messaggi disponibili sul tuo account ThingSpeak. Questa azione può alla fine esaurire i messaggi disponibili, con conseguente rifiuto degli aggiornamenti del feed del canale. Assicuratevi che i dati scritti su un canale non si sovrappongano nel dominio del tempo, poiché ciò causerebbe un utilizzo non necessario di messaggi.

Visualizza la misurazione del punto di rugiada

Utilizza l'app MATLAB Visualizations per visualizzare i dati misurati sul punto di rugiada, sulla temperatura e sull'umidità dal tuo canale Dew Point Measurement. In questo esempio viene utilizzata la funzione plot (MATLAB) per mostrare tutti e tre i punti dati in un'unica visualizzazione.

Vai su Apps > MATLAB Visualizations e clicca su New per creare una visualizzazione.

In alternativa, puoi fare clic su MATLAB Visualization nella vista del canale di misurazione del punto di rugiada.

  1. Selezionare il modello Custom e fare clic su Create.

  2. Assegna alla visualizzazione il nome "Punto di rugiada".

  3. Crea variabili per l'ID del canale di misurazione del punto di rugiada e per la chiave API di lettura. Sostituisci i valori nel codice con l'ID del tuo canale e la chiave API di lettura.

    readChId = ZZZZZ;
    readKey = 'XXXXXXXXXXXXXXXX';

  4. Leggi i dati dai campi del tuo canale e ottieni gli ultimi 100 punti di dati per:

    • Temperatura: dal Campo 1

    • Umidità: dal Campo 2

    • Punto di rugiada: dal Campo 3

      [dewPointData,timeStamps] = thingSpeakRead(readChId,'fields',[1,2,3],...
          'NumPoints',100,'ReadKey',readKey);
  5. Rappresentare graficamente i dati con etichette x e y, un titolo e una legenda.

    plot(timeStamps,dewPointData);
    xlabel('TimeStamps');
    ylabel('Measured Values');
    title('Dew Point Measurement');
    legend({'Temperature','Humidity','Dew Point'});
    grid on;

    Il tuo codice sarà simile a questo codice:

     Vedi il codice completo

  6. Clicca Save and Run. Se il codice MATLAB non presenta errori, l'output del grafico sarà simile al grafico mostrato qui:

Prossimi passi

Nell'esempio Agisci sui tuoi dati, puoi monitorare il punto di rugiada calcolato per attivare un'e-mail automatica quando viene superato un livello specificato.

Vedi anche

| | (MATLAB) | (MATLAB) | (MATLAB) | (MATLAB) | (MATLAB) | (MATLAB)

Argomenti