Analysieren Ihrer Daten
Dieses Beispiel zeigt, wie Temperatur- und Feuchtigkeitsdaten vom ThingSpeak-Kanal 12397 gelesen werden, der wetterbezogene Daten von einem Arduino®-Gerät sammelt. Sie schreiben die Temperatur- und Feuchtigkeitsdaten zusammen mit den berechneten Taupunktdaten in Ihren Taupunktmesskanal. Verwenden Sie dann ThingSpeak™, um die Ergebnisse auf Ihrem Kanal zu visualisieren.
Erforderliche Schritte
Für dieses Beispiel müssen Sie die folgenden Schritte bereits ausgeführt haben:
Melden Sie sich entweder bei Ihrem MathWorks®-Konto oder ThingSpeak-Konto an oder erstellen Sie ein neues MathWorks-Konto.
Erstellen eines Kanals als Ihren Taupunktmesskanal.
Daten aus einem Kanal lesen
Lesen Sie die Luftfeuchtigkeit und Temperatur aus den Feldern 3 und 4 des öffentlichen WeatherStation-Kanals ab und schreiben Sie diese Daten in die Felder 2 bzw. 1 Ihres Taupunktmesskanals. Der Taupunkt wird berechnet und in Feld 3 geschrieben.
Verwenden Sie eine MATLAB®-Analyse-App, um Ihre Daten zu lesen, zu berechnen und zu schreiben.
Gehen Sie zur Registerkarte Apps und klicken Sie auf MATLAB Analysis.
Klicken Sie auf New. Wählen Sie die Vorlage Custom aus und klicken Sie auf Create.
Geben Sie im Feld Name
Dew Point Calculationein.Geben Sie im Feld MATLAB-Code die folgenden Codezeilen ein.
Speichern Sie die öffentliche Kanal-ID der Wetterstation und Ihre Kanal-ID zur Taupunktmessung in Variablen.
readChId = 12397; writeChId = ZZZZZ; % Replace with your channel numberSpeichern Sie Ihren Write-API-Schlüssel in einer Variablen.
writeKey = 'XXXXXXXXXXXXXXXX'; % Replace with your channel write key
Um Ihre Kanal-ID und Ihren Schreib-API-Schlüssel zu finden, lesen Sie die Kanalinformationen auf der Registerkarte My Channels.

Lesen Sie die letzten 20 Temperaturdatenpunkte mit Zeitstempeln und Feuchtigkeitsdaten vom öffentlichen Wetterstationskanal in Variablen.
[temp,time] = thingSpeakRead(readChId,'Fields',4,'NumPoints',20); humidity = thingSpeakRead(readChId,'Fields',3,'NumPoints',20);
Berechnen Sie den Taupunkt
Fügen Sie den folgenden MATLAB-Code hinzu, um den Taupunkt anhand der Temperatur- und Feuchtigkeitswerte zu berechnen:
Konvertieren Sie die Temperatur von Fahrenheit in Celsius.
tempC = (5/9)*(temp-32);
Geben Sie die Konstanten für Wasserdampf (
b) und Luftdruck (c) an.b = 17.62; c = 243.5;
Berechnen Sie den Taupunkt in Celsius.
gamma = log(humidity/100) + b*tempC./(c+tempC); dewPoint = c*gamma./(b-gamma);
Konvertieren Sie das Ergebnis zurück in Fahrenheit.
dewPointF = (dewPoint*1.8) + 32;
Schreiben Sie Daten in Ihren Taupunktmesskanal. Dieser Code veröffentlicht alle verfügbaren Daten in einem Vorgang und enthält die richtigen Zeitstempel.
thingSpeakWrite(writeChId,[temp,humidity,dewPointF],'Fields',[1,2,3],... 'TimeStamps',time,'Writekey',writeKey);
Der vollständige Codeblock wird jetzt wie folgt angezeigt:

Klicken Sie auf Save and Run, um Ihren Code zu validieren und zu verarbeiten.
Alle Fehler im Code werden im Feld Output angezeigt.
Um zu sehen, ob Ihr Code erfolgreich ausgeführt wurde, klicken Sie im Channel Info-Bereich auf Ihren Dew Point Measurement-Kanallink.

Der Taupunktmesskanal zeigt jetzt Diagramme mit Kanaldaten aus jedem Feld.

Zeitplancode
Verwenden Sie die TimeControl-App, um die Taupunktberechnung in Ihrem MATLAB-Analysecode zu planen. Planen Sie, dass alle 30 Minuten Daten von der Wetterstation gelesen und der Taupunkt berechnet werden.
Scrollen Sie zum Ende Ihrer MATLAB-Analyse-Taupunktberechnungsseite. Klicken Sie auf TimeControl, um die App mit der im Feld Actions voreingestellten Option „MATLAB Analysis“ und der Taupunktberechnung als Code to execute zu öffnen.
Nennen Sie Ihr neues TimeControl
Dew Point TCWählen Sie Recurring im Feld Frequency.
Wählen Sie Minute im Feld Recurrence.
Wählen Sie 30 im Feld Every — minutes aus.
Behalten Sie den Standardwert für Start Time bei.
Überprüfen Sie, ob Action
MATLAB Analysisist und Code to execute IhrDew Point Calculationist.Klicken Sie auf Save TimeControl

Hinweis
Das Einrichten einer TimeControl zum Schreiben von Daten in Ihren Kanal verwendet verfügbare Nachrichten auf Ihrem ThingSpeak-Konto. Durch diese Aktion können die verfügbaren Nachrichten schließlich erschöpft sein, was zur Ablehnung von Kanal-Feed-Updates führt. Stellen Sie sicher, dass sich die Daten, die Sie in einen Kanal schreiben, im Zeitbereich nicht überschneiden, da dies zu einer unnötigen Verwendung von Nachrichten führt.
Visualisieren Sie die Taupunktmessung
Verwenden Sie die MATLAB-Visualisierungs-App, um die gemessenen Taupunktdaten, die Temperatur und die Luftfeuchtigkeit aus Ihrem Taupunktmesskanal zu visualisieren. In diesem Beispiel wird die Funktion plot (MATLAB) verwendet, um alle drei Datenpunkte in einer einzigen Visualisierung anzuzeigen.
Gehen Sie zu Apps > MATLAB Visualizations und klicken Sie auf New, um eine Visualisierung zu erstellen.
Alternativ können Sie in Ihrer Kanalansicht zur Taupunktmessung auf MATLAB Visualization klicken.

Wählen Sie die Vorlage Custom aus und klicken Sie auf Create.
Nennen Sie die Visualisierung „Taupunkt“.
Erstellen Sie Variablen für Ihre Taupunktmessungs-Kanal-ID und Ihren Read-API-Schlüssel. Ersetzen Sie die Werte im Code durch Ihre Kanal-ID und den Read-API-Schlüssel.
readChId = ZZZZZ; readKey = 'XXXXXXXXXXXXXXXX';Lesen Sie Daten aus Ihren Kanalfeldern und erhalten Sie die letzten 100 Datenpunkte für:
Temperatur: aus Feld 1
Luftfeuchtigkeit: ab Feld 2
Taupunkt: ab Feld 3
[dewPointData,timeStamps] = thingSpeakRead(readChId,'fields',[1,2,3],... 'NumPoints',100,'ReadKey',readKey);
Stellen Sie die Daten mit x- und y-Beschriftungen, einem Titel und einer Legende dar.
plot(timeStamps,dewPointData); xlabel('TimeStamps'); ylabel('Measured Values'); title('Dew Point Measurement'); legend({'Temperature','Humidity','Dew Point'}); grid on;
Ihr Code sieht ähnlich wie dieser Code aus:

Klicken Sie auf Save and Run. Wenn Ihr MATLAB-Code keine Fehler enthält, sieht die Plot-Ausgabe ähnlich wie der hier gezeigte Plot aus:

Nächste Schritte
Im Beispiel Handeln Sie auf der Grundlage Ihrer Daten können Sie Ihren berechneten Taupunkt verfolgen, um eine automatische E-Mail auszulösen, wenn ein bestimmter Wert überschritten wird.
Siehe auch
thingSpeakRead | thingSpeakWrite | plot (MATLAB) | xlabel (MATLAB) | ylabel (MATLAB) | title (MATLAB) | legend (MATLAB) | grid (MATLAB)
