Azure IoT Developer Exam: Unsuitable Protocol for Smart Thermostat Devices

The Suitable Protocol for Smart Thermostat Devices

Question

You have some smart thermostat devices deployed that need to receive prescribed temperature values as well as, in some cases, restart commands from the IoT Hub.

The communication is only allowed over port 443, and latency of the delivery is not critical.

Which protocol is not suitable for the given scenario?

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D.

Correct Answer: D.

Option A is incorrect because MQTT over Websockets communication goes over port 443 and it is a great choice for bi-directional communication, even in latency-critical scenarios.

Option B is incorrect because AMQP over Websockets communication goes over port 443 and it is a great choice for bi-directional communication, even in latency-critical scenarios.

Option C is incorrect because HTTPS communication builds on port 443

It can be used to push cloud-to-device messages but it is recommended to use in non-latency-critical scenarios.

Option D is CORRECT because MQTT communicates on port 8883.

References:

In the given scenario, the communication is only allowed over port 443, which indicates that the communication must be secure and encrypted. Additionally, the latency of the delivery is not critical, which means that a protocol that is not designed for real-time communication can be used.

Option C: HTTPS (HyperText Transfer Protocol Secure) is a protocol for secure communication over the internet. HTTPS provides encryption and authentication, which makes it a suitable protocol for the given scenario. The prescribed temperature values and restart commands can be sent as HTTPS requests to the IoT Hub, which will then forward them to the smart thermostat devices.

Option A: MQTT (Message Queuing Telemetry Transport) over Websockets is a protocol that enables real-time communication between IoT devices and the IoT Hub. MQTT over Websockets is designed to provide a lightweight and efficient communication mechanism that can be used in low-bandwidth, high-latency environments. However, in the given scenario, latency is not critical, and the communication must be secure and encrypted. MQTT over Websockets does not provide encryption natively, and additional security measures such as TLS must be implemented, which may add complexity to the communication.

Option B: AMQP (Advanced Message Queuing Protocol) over Websockets is a messaging protocol that provides reliable, secure, and high-performance communication. AMQP over Websockets can be used to exchange messages between IoT devices and the IoT Hub. However, in the given scenario, the communication must be over port 443, which suggests that the communication must be secure and encrypted. AMQP over Websockets does not provide encryption natively, and additional security measures such as TLS must be implemented, which may add complexity to the communication.

Option D: MQTT is a protocol that is similar to MQTT over Websockets, except that it does not use Websockets to provide real-time communication. MQTT can be used in low-bandwidth, high-latency environments and provides a lightweight and efficient communication mechanism. However, in the given scenario, the communication must be secure and encrypted, and MQTT does not provide encryption natively.

Therefore, the protocol that is not suitable for the given scenario is option D: MQTT. While MQTT can be used in low-bandwidth, high-latency environments, it does not provide encryption natively, which is a requirement for the given scenario. Options A and B can be used, but additional security measures such as TLS must be implemented. Option C, HTTPS, provides encryption natively and is a suitable protocol for the given scenario.