Buforowanie strumienia danych
Teraz będziesz zbierać dane z 2 liczników energii. To bardzo minimalistyczny strumień danych, który dostarcza jedynie identyfikator urządzenia pomiarowego i jego wartość, oddzielone przecinkiem.
Wygląda to następująco:
C331,6020
Ponieważ sam pomiar nie zawiera informacji o czasie, musisz polegać na momencie przesłania wiadomości do brokera MQTT.
Ten znacznik czasu jest dostępny jako message.timestamp w formacie epoch.
To ćwiczenie jest częścią kursu
Analiza danych IoT w Pythonie
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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)