Datenstrom cachen
Du sammelst jetzt Daten von 2 Energiezählern. Das ist ein sehr minimalistischer Datenstrom, der nur das Messgerät und den Wert liefert, getrennt durch ein Komma.
Das sieht so aus:
C331,6020
Da in der Messung selbst keine Zeit enthalten ist, musst du dich auf den Zeitpunkt verlassen, zu dem die Nachricht an den MQTT-Broker gesendet wurde.
Dieser Zeitstempel ist als message.timestamp im Epoch-Format verfügbar.
Diese Übung ist Teil des Kurses
IoT-Daten in Python analysieren
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
cache = []
def on_message(client, userdata, message):
# Combine timestamp and payload
data = f"{____.____},{____.____}"
# Append data to cache
____.____(____)
# Connect function to mqtt datastream
subscribe.callback(on_message, topics="datacamp/energy", hostname=MQTT_HOST)