Gần đây tôi đã đọc một câu hỏi của Quora về việc CoAP hoặc MQTT có trọng lượng nhẹ hơn không, nhưng các câu trả lời dường như không thỏa mãn và tất cả đều mâu thuẫn với nhau: câu trả lời hàng đầu cho biết MQTT chiếm ít tài nguyên hơn và một câu hỏi khác bên dưới cho biết CoAP ít đòi hỏi hơn.
Từ những gì tôi đã tìm thấy, sẽ có nghĩa là CoAP sẽ ít đòi hỏi hơn MQTT , vì CoAP chỉ yêu cầu UDP và các thông điệp của nó chủ yếu là lửa và quên, không giống như MQTT hoạt động trên TCP (và do đó sẽ nhiều hơn bị liên lụy).
Giao thức nào đòi hỏi ít tài nguyên nhất để hoạt động?
Theo tài nguyên, tôi chủ yếu nghĩ về sức mạnh bộ xử lý, RAM và dữ liệu cần truyền. Ví dụ, trong câu hỏi Quora mà tôi đã liên kết, câu trả lời hàng đầu chỉ ra rằng một con chip ESP8266 đơn giản có thể chạy MQTT, chỉ có bộ xử lý 80 MHz và RAM dưới 1 MB. Tôi tò mò liệu CoAP có thể chạy trên một cái gì đó như thế này hay một môi trường thậm chí còn hạn chế hơn.
Loại trường hợp sử dụng mà tôi dự tính là nơi thiết bị chủ yếu sẽ nhận dữ liệu từ một thiết bị khác (ví dụ: các lệnh để bật / tắt), nhưng có thể cần không thường xuyên (có thể vài lần một giờ) gửi cập nhật với trạng thái của thiết bị . Tôi muốn sử dụng ít năng lượng xử lý nhất có thể để giảm chi phí thiết bị và truyền tải tương đối không thường xuyên để giảm mức sử dụng năng lượng nhiều nhất có thể.