Cài đặt câu hỏi ở đây hơi sai lệch, bởi vì thực sự các giao thức này hoàn toàn không thể so sánh được với nhau. Chúng giống như TCP và IP, các lớp nằm trên nhau. [1]
Websockets là một giao thức cấp thấp để cung cấp những thứ mà RESTful http của đối thủ cạnh tranh ở cùng cấp không cung cấp: một kênh luôn mở mà không cần mở và đóng theo mọi yêu cầu. [2]
MQTT cung cấp một cách nhẹ nhàng để xuất bản hoặc đăng ký dữ liệu. Sự nhầm lẫn có thể là những thuê bao đó là một số loại kênh, nhưng đó là loại kênh khác nhau. Để tạo kết nối mở liên tục trong MQTT, bạn cần có Websockets VÀ MQTT cùng một lúc.
Trong IoT, cũng như trong bất kỳ thiết kế nào, bạn phải chọn xem bạn có cần luồng hay không (WebSockets vs RESTful) và về MQTT, bạn có thể phải suy nghĩ liệu bạn có muốn đăng ký và cơ chế xuất bản trên ứng dụng của mình không.
Trong một số trường hợp, bạn có thể xem xét MQTT qua WebSockets, nếu có bất kỳ điều gì phổ biến xung quanh. [3]
Trả lời câu hỏi:
Bạn nói rằng bạn có một thiết lập của Rasperry Pi và một số cảm biến xung quanh nơi này. Nếu các cảm biến cách xa Rasperry với bộ điều khiển riêng, bạn có thể sử dụng MQTT để thu thập dữ liệu. Để lưu trữ dữ liệu lên đám mây, hãy gửi dữ liệu bằng HTTP. Trong đám mây cung cấp dữ liệu thông qua phần còn lại. [4]
Đối với websockets không có nhu cầu, nhưng nếu bạn thấy nó hữu ích, hãy sử dụng nó.
Nguồn:
[1] https://www.quora.com/What-are-the-pros-and-cons-of-WebSockets-versus-MQTT-as-real-time-web-infr Hạ tầng-for-the-Internet-of -Nhiều thứ
[2] https://www.pubnub.com/blog/2015-01-05-websockets-vs-rest-api-under Hiểu-the-default /
[3] /programming/30624897/direct-mqtt-vs-mqtt-over-websocket
[4] http://www.theiNETofthings.eu/antonio-grasso-mqtt-vs-http-what-best-protatio-iot