Calculer les hautes et basses températures
Cet exemple montre comment lire des données, identifier certains éléments et afficher les résultats. Dans l'exemple, vous modifiez l'un des modèles de code fournis par les applications MATLAB Analysis et MATLAB Visualizations. L'exemple utilise les données de ThingSpeak channel 12397, qui collecte des données météorologiques à partir d'une station météo basée sur Arduino® à Natick, Massachusetts.
Créer un script d'analyse MATLAB à partir du code modèle
Pour calculer les températures quotidiennes maximales et minimales de la station météo Natick, écrivez un script MATLAB® en utilisant le modèle de code fourni.
Allez dans l'onglet Applications dans ThingSpeak et sélectionnez MATLAB Analysis . Cliquez sur Nouveau , sélectionnez Calculer les températures hautes et basses et cliquez sur Créer .
Analysez vos données
Le champ MATLAB Code est prérempli avec le code permettant de calculer les températures maximales et minimales des dernières 24 heures.
1) Définissez les variables pour communiquer avec ThingSpeak. Le readChannelID
est l'ID de canal du canal public qui collecte les données de la station météo. Le temperatureFieldID
est le champ du canal qui contient les valeurs de température. Attribuez une valeur à readAPIkey uniquement si vous lisez des données à partir d'un canal privé . La station météo est publique, donc pour cet exemple, ne définissez pas readAPIkey.
readChannelID = 12397;
temperatureFieldID = 4;
readAPIKey = '';
2) Lisez les valeurs de température des dernières 24 heures à l'aide de la fonction thingSpeakRead
.
[tempF,timeStamp] = thingSpeakRead(readChannelID,'Fields',temperatureFieldID,'numDays',1,'ReadKey',readAPIKey);
3) Calculez les températures maximales et minimales en Fahrenheit en utilisant max
et min
. Ensuite, identifiez les horodatages correspondants et affichez les résultats.
[maxTempF,maxTempIndex] = max(tempF);
[minTempF,minTempIndex] = min(tempF);
timeMaxTemp = timeStamp(maxTempIndex);
timeMinTemp = timeStamp(minTempIndex);
display(maxTempF,'Maximum temperature for the past 24 hours is');
102
display(minTempF,'Minimum temperature for the past 24 hours is');
81
4) Exécutez votre code en cliquant sur Enregistrer et exécuter . Le champ Sortie affiche vos résultats.
Écrire des données sur un canal
1) Stockez votre résultat de calcul de température maximale ou minimale en l'écrivant sur un canal privé. Pour créer une canal ThingSpeak , allez dans l'onglet Canaux et sélectionnez Mes canaux . Cliquez sur Nouveau canal . Cochez la case correspondante et entrez ces valeurs de paramètre de canal :
Nom —
Temperature Measurement
Champ 1 —
Temperature (F)
Cliquez sur Enregistrer le canal .
2) Dans le champ MATLAB Code , définissez les variables d'écriture sur votre canal privé. Remplacez les valeurs données pour writeChannelID
et writeAPIKey
par vos valeurs. Vous pouvez trouver l'ID du canal et écrire la clé d'API dans le panneau Informations sur le canal sur le côté droit de la page.
% Replace with the ID of the channel to write data to. writeChannelID = 17504; % Enter the write API key between the ''. writeAPIKey = '23ZLGOBBU9TWHG2H';
3) Décommentez la ligne suivante pour écrire la lecture de température maximale sur votre canal. Pour enregistrer la valeur de température minimale, remplacez maxTempF
par minTempF
.
% thingSpeakWrite(writeChannelID,maxTempF,'timestamp',timeMaxTemp,'Writekey',writeAPIKey);
4) Exécutez votre code en cliquant sur Enregistrer et exécuter . Le diagramme de votre canal ThingSpeak est rempli d'un seul point représentant la température maximale relevée au moment où elle a été enregistrée. Vous pouvez accéder à votre canal en cliquant sur le lien du canal dans le panneau Informations sur le canal sur le côté droit de la page.
Voir aussi
Fonctions
thingSpeakRead
|thingSpeakWrite
|max
(MATLAB) |min
(MATLAB)
Exemples associés
- Calculer et afficher l'humidité moyenne
- Calculer le refroidissement éolien et mettre à jour le canal
- Convertir les unités de température
- Supprimer les valeurs aberrantes des données de vitesse du vent
- Lire les données Web en direct pour les navires au port de Boston