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
<Kurs>IoT-Daten in Python analysieren</Kurs>Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
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)