Постановка питань тут трохи не вводить в оману, оскільки насправді ці протоколи взагалі не можна порівнювати. Вони схожі на TCP та IP, шари один над одним. [1]
Websockets - це протокол низького рівня, який надає речі, які його "конкурент" RESTful http, який знаходиться на одному рівні, не забезпечує: завжди відкритий канал без необхідності відкривати і закривати при кожному запиті. [2]
MQTT забезпечує легкий спосіб публікації або передплати даних. Плутанина може полягати в тому, що ці підписки - це якісь канали, але це інший тип каналу. Щоб встановити постійне відкрите з'єднання в MQTT, вам потрібно одночасно Websockets І MQTT.
В IoT, як і в будь-якому дизайні, вам потрібно вибрати, потрібен вам потік чи ні (WebSockets vs RESTful), і про MQTT вам, можливо, доведеться думати, чи хочете ви підписатись і публікувати механізм у вашому додатку.
За деяких обставин ви можете розглянути MQTT через WebSockets, якщо навколо є якась звичайна річ. [3]
Відповідь на запитання:
Ви кажете, що у вас є установка Rasperry Pi і кілька датчиків навколо цього місця. Якщо датчики далекі від Rasperry з власними контролерами, ви можете використовувати MQTT для збору даних. Щоб зберігати дані у хмарі, надішліть їх у HTTP. У хмарі надають дані через відпочинок. [4]
У веб-розетках немає потреби, але якщо ви вважаєте це корисним, використовуйте його.
Джерела:
[1] https://www.quora.com/What-are-the-pros-and-cons-of-WebSockets-versus-MQTT-as-real-time-web-infrastructure-for-the-Internet-of -Речінки
[2] https://www.pubnub.com/blog/2015-01-05-websockets-vs-rest-api-understanding-the-difference/
[3] /programming/30624897/direct-mqtt-vs-mqtt-over-websocket
[4] http://www.theinternetofthings.eu/antonio-grasso-mqtt-vs-http-what-best-protocol-iot