Données agrégées dans le canal ThingSpeak
Cet exemple montre comment agréger des données à une résolution temporelle inférieure dans un canal ThingSpeak ™ pour supprimer les irrégularités. L'irrégularité des données peut être due à plusieurs facteurs tels que la détection événementielle, le dysfonctionnement des capteurs ou les latences du réseau.
Lire les données
Le canal ThingSpeak 22641 contient des données sur les marées et la météo mesurées une fois par minute à Ockway Bay, Cape Cod. Le champ 2 du canal contient les données de température de l'air. Lisez les données de température de l'air des 3 dernières heures à partir du canal 22641 à l'aide de la fonction thingSpeakRead
.
datetimeStop = dateshift(datetime('now'),'start','hour'); datetimeStart = dateshift(datetime('now'),'start','hour') - hours(3); data = thingSpeakRead(22641,'DateRange',[datetimeStart,datetimeStop],... 'Fields',2,'outputFormat','timetable');
Agréger les données
Les données sont mesurées une fois par minute. Cependant, en raison de la latence du réseau associée au système de mesure, les horodatages réels peuvent être espacés de plus ou moins d'une minute. De plus, pour l'application d'intérêt, la fréquence des données mesurées toutes les minutes est élevée. Les données à une résolution horaire sont suffisantes. Vous pouvez utiliser la fonction retime
pour agréger les données de chaque heure en une seule valeur. Vous pouvez utiliser la valeur maximale pour chaque heure pour agréger les données. Prévisualisez les quatre premières valeurs des données avec head
.
dataHourly = retime(data,'hourly','max'); head(dataHourly,4)
ans = 3×1 timetable Timestamps AirTemperatureC ____________________ _______________ 03-Jan-2019 14:00:00 7.5 03-Jan-2019 15:00:00 6.9 03-Jan-2019 16:00:00 6.4
Envoyer des données à ThingSpeak
Modifiez le channelID et le writeAPIKey pour envoyer des données à votre canal
channelID=17504; writeAPIKey='23ZLGOBBU9TWHG2H'; thingSpeakWrite(channelID,data,'writeKey',writeAPIKey);
Voir aussi
thingSpeakRead
(MATLAB) | thingSpeakWrite
(MATLAB) | retime
(MATLAB)