Metti in cache il flusso di dati
Ora raccoglierai dati da 2 contatori di energia. Questo è un flusso di dati molto minimalista, che fornisce solo il dispositivo di misura e il valore, separati da una virgola.
Si presenta così:
C331,6020
Dato che nella misurazione non è presente un orario, devi fare affidamento sull'ora in cui il messaggio è stato inviato al broker MQTT.
Questo timestamp è disponibile come message.timestamp in formato epoch.
Questo esercizio fa parte del corso
Analizzare i dati IoT in Python
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
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)