Кешуйте потік даних
Тепер ви збиратимете дані з 2 енерголічильників. Це дуже мінімалістичний потік даних, який надає лише ідентифікатор вимірювального пристрою та значення, розділені комою.
Приклад:
C331,6020
Оскільки у самих вимірюваннях немає часу, потрібно покладатися на час, коли повідомлення було надіслано на брокер MQTT.
Ця мітка часу доступна як message.timestamp у форматі epoch.
Ця вправа є частиною курсу
Аналіз даних IoT у Python
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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)