Bộ đệm (cache) luồng dữ liệu
Bây giờ bạn sẽ thu thập dữ liệu từ 2 công tơ điện. Đây là một luồng dữ liệu tối giản, chỉ cung cấp thiết bị đo và giá trị, ngăn cách bằng dấu phẩy.
Ví dụ như sau:
C331,6020
Vì phép đo không kèm theo thời gian, bạn cần dựa vào thời điểm thông điệp được gửi tới MQTT broker.
Dấu thời gian này có sẵn dưới dạng message.timestamp theo định dạng epoch.
Bài tập này là một phần của khóa học
Phân tích dữ liệu IoT bằng Python
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
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)