Bắt đầu ngayBắt đầu miễn phí

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

Xem khóa học

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)
Chỉnh sửa và Chạy Mã