Zacznij terazZacznij za darmo

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

Zobacz kurs

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)
Edytuj i uruchom kod