Main Content

Cette page a été traduite par traduction automatique. Cliquez ici pour voir la dernière version en anglais.

Analysez vos données

Cet exemple montre comment lire les données de température et d'humidité de ThingSpeak channel 12397, qui collecte les données météorologiques à partir d'un appareil Arduino®. Vous écrivez les données de température et d'humidité dans votre canal de mesure du point de rosée, ainsi que les données de point de rosée calculées. Utilisez ensuite ThingSpeak™ pour visualiser les résultats sur votre canal.

Étapes préalables

Cet exemple nécessite que vous ayez déjà effectué ces étapes :

Lire les données d'un canal

Lisez l'humidité et la température à partir des champs 3 et 4 du canal public WeatherStation, et écrivez ces données dans les champs 2 et 1, respectivement, de votre canal de mesure du point de rosée . Le point de rosée est calculé et écrit dans le champ 3.

Utilisez MATLAB® Analysis pour lire, calculer et écrire vos données.

  1. Accédez à l' onglet Apps et cliquez sur MATLAB Analysis.

  2. Cliquez sur New. Sélectionnez le modèle Custom et cliquez sur Create.

  3. Dans le champ Name, saisissez Dew Point Calculation.

  4. Dans le champ Code MATLAB, saisissez les lignes de code suivantes.

    1. Enregistrez l'ID du canal public de la station météo et votre ID du canal de mesure du point de rosée dans des variables.

      readChId = 12397;
      writeChId = 671;  % replace with your channel number
    2. Enregistrez votre clé API d'écriture dans une variable.

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

      Pour trouver votre ID de canal et écrire votre clé API, reportez-vous aux informations sur le canal dans l'onglet My Channels.

    3. Lisez les 20 derniers points de données de température avec les horodatages et les données d'humidité du canal public de la station météo en variables.

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

Calculer le point de rosée

Ajoutez le code MATLAB suivant pour calculer le point de rosée à l'aide des relevés de température et d'humidité :

  1. Convertir la température de Fahrenheit en Celsius.

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

  2. Spécifiez les constantes de la vapeur d'eau (b) et de la pression barométrique (c).

    b = 17.62;
    c = 243.5;

  3. Calculer le point de rosée en degrés Celsius.

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

  4. Convertissez le résultat en Fahrenheit.

    dewPointF = (dewPoint*1.8) + 32;

  5. Écrivez des données sur votre canal de mesure du point de rosée . Ce code publie toutes les données disponibles en une seule opération et inclut les horodatages corrects.

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

    Le bloc de code complet apparaît maintenant comme :

     Voir le code complet

  6. Cliquez sur Save and Run pour valider et traiter votre code.

    Toute erreur dans le code est indiquée dans le champ Output.

  7. Pour voir si votre code s'est exécuté avec succès, cliquez sur le lien de votre canal Dew Point Measurement dans le panneau Channel Info.

Le canal de mesure du point de rosée affiche désormais des graphiques avec les données de canal de chaque champ.

Code horaire

Utilisez l'application TimeControl pour planifier le calcul du point de rosée dans votre code d'analyse MATLAB. Programmez-le pour lire les données de la station météo toutes les 30 minutes et calculer le point de rosée.

  1. Faites défiler vers le bas de votre page de calcul du point de rosée d'analyse MATLAB. Cliquez sur TimeControl pour ouvrir l'application avec MATLAB Analysis présélectionné dans le champ Actions et le calcul du point de rosée comme Code to execute.

  2. Nommez votre nouveau TimeControl Dew Point TC

  3. Choisissez Recurring dans le champ Frequency.

  4. Choisissez Minute dans le champ Recurrence.

  5. Sélectionnez 30 dans le champ Every — minutes.

  6. Conservez le Start Time à la valeur par défaut.

  7. Vérifiez que le Action est MATLAB Analysis et que le Code to execute est votre Dew Point Calculation.

  8. Cliquez sur Save TimeControl

Remarque

La configuration d'un TimeControl pour écrire des données sur votre canal utilise les messages disponibles sur votre compte ThingSpeak. Cette action peut éventuellement épuiser les messages disponibles, ce qui entraîne le rejet des mises à jour du flux du canal . Assurez-vous que les données que vous écrivez sur un canal ne se chevauchent pas dans le domaine temporel car cela entraîne une utilisation inutile des messages.

Visualiser la mesure du point de rosée

Utilisez l'application de visualisation MATLAB pour visualiser les données de point de rosée, la température et l'humidité mesurées à partir de votre canal de mesure du point de rosée. Cet exemple utilise la fonction plot (MATLAB) pour afficher les trois points de données dans une seule visualisation.

Accédez à Apps > MATLAB Visualizations, puis cliquez sur New pour créer une visualisation.

Vous pouvez également cliquer sur MATLAB Visualization dans la vue des canaux de mesure du point de rosée.

  1. Sélectionnez le modèle Custom et cliquez sur Create.

  2. Nommez la visualisation « Point de rosée ».

  3. Créez des variables pour votre ID de canal de mesure du point de rosée et votre clé d'API en lecture. Remplacez les valeurs du code par l'ID de votre canal et la clé d'API en lecture.

    readChId = ZZZZ
    readKey = 'XXXXXXXXXXXXXXXX';

  4. Lisez les données de vos champs de canal et obtenez les 100 derniers points de données pour :

    • Température : du champ 1

    • Humidité : du Champ 2

    • Point de rosée : du Champ 3

      [dewPointData,timeStamps] = thingSpeakRead(readChId,'fields',[1,2,3],...
          'NumPoints',100,'ReadKey',readKey);
  5. Tracez les données avec des étiquettes x et y, un titre et une légende.

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

    Votre code ressemblera à ce code :

     Voir le code complet

  6. Cliquez sur Save and Run. Si votre code MATLAB ne contient aucune erreur, le résultat du tracé ressemble au tracé présenté ici :

Prochaines étapes

Dans l'exemple Agir sur vos données, vous pouvez suivre votre point de rosée calculé pour déclencher un tweet automatique lorsqu'un niveau spécifié est dépassé.

Voir aussi

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

Sujets associés