Zapisywanie strumienia danych
Teraz pobierzesz strumień danych MQTT i będziesz dołączać każdy nowy punkt danych do listy store.
Używając biblioteki paho.mqtt, możesz subskrybować strumień danych za pomocą subscribe.callback().
Każda nowa wiadomość spowoduje jedno wywołanie naszej funkcji, która musi przyjmować następujące argumenty:
client– instancja klienta dla tego wywołania zwrotnegouserdata– prywatne dane użytkownika ustawione podczas tworzenia instancjimessage– instancja klasyMQTTMessage. W tym ćwiczeniu interesuje nas wyłącznie atrybutpayload.
Musisz sparsować dane jako ciąg JSON za pomocą json.loads() i dołączyć wynik do listy store.
Następnie przekształcisz tę listę w DataFrame i zapiszesz go jako plik CSV.
json, pandas jako pd, MQTT_HOST oraz topic są dostępne w twojej sesji.
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.
# Define function to call by callback method
def ____(____):
# Parse the message.payload
data = ____
store.append(data)