Cache Datastream
You will now gather data from 2 energy counters. This is a very minimalistic data stream, which only provides the measurement device and the value, separated by a comma.
This looks as follows:
C331,6020
Since there is no time in the measurement itself, you need to rely on the time the message was submitted to the MQTT broker.
This timestamp is available as message.timestamp
in epoch format.
This exercise is part of the course
Analyzing IoT Data in Python
Hands-on interactive exercise
Have a go at this exercise by completing this sample code.
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)