You have to build an IoT solution which gathers data from 400 devices, with the expected total load of 100000 messages per day.
Most of the devices are smart sensors, ready to connect to the IoT Hub, but some of them need to be connected via Linux-basedgateway devices.
You want to use advanced configurations to control the devices remotely and to distribute some logic to the edges.
There are also some low resource, legacy temperature sensors which must be directly connected to the Hub and need to communicate through port 443
Which communication protocol would you use for which device category?
Click on the arrows to vote for the correct answer
A. B. C. D.Correct Answer: B.
Option A is incorrect because for low-resource devices, the AMQP protocol is not the right choice.
For these, “legacy” devices often the HTTPS is the only choice, because of its smallest footprint.
Option B is CORRECT because MQTT is common for new types of sensors; AMQP is the only supported option for gateway devices; HTTPS is the right option for low-resource devices which are allowed to connect to port 443 (note: MQTT over WebSockets could also be a valid option).
Option C is incorrect because gateway devices will be used to connect several single devices to the IoT Hub.
Forwarding traffic from multiple sources with multiple IDs requires using the AMQP protocol.
Selecting MQTT for the gateway devices is not supported.
Option D is incorrect because gateway devices will be used to connect several single devices to the IoT Hub.
Forwarding traffic from multiple sources with multiple IDs requires using the AMQP protocol.
Neither MQTT nor MQTT over WebSockets for gateways are supported.
Reference:
To determine which communication protocols to use for each device category in the IoT solution, we need to consider several factors such as device capabilities, data payload size, message frequency, security requirements, and network connectivity.
Smart sensors are generally lightweight devices that have limited processing power, memory, and bandwidth. They are designed to send data frequently in small bursts, making them ideal for MQTT (Message Queuing Telemetry Transport) protocol, which is a lightweight, publish-subscribe messaging protocol that can efficiently handle small data packets. Therefore, option A, B, C, and D all use MQTT for smart sensors.
Gateways, on the other hand, are devices that act as a bridge between different networks or protocols. They are typically more powerful than smart sensors and can handle more complex communication patterns. In this scenario, some of the devices need to be connected via Linux-based gateway devices, which are expected to handle a large number of messages. As a result, we need a protocol that can handle high message volumes efficiently, and provide advanced features such as message queuing, flow control, and bidirectional communication. The Advanced Message Queuing Protocol (AMQP) is a widely used protocol for such scenarios and is therefore the best choice for the gateway devices. Hence, option A and B both use AMQP for the gateway devices.
Legacy temperature sensors are low-resource devices that require a simple and secure way to communicate with the IoT hub. They need to communicate via port 443, which is a common port for HTTPS (Hypertext Transfer Protocol Secure), a protocol that provides encryption and authentication over the internet. HTTPS is a well-established protocol for secure communication and is suitable for low-resource devices that require simple, yet secure communication. Thus, option B and D use HTTPS for the temperature sensors.
Therefore, the best answer is option A - Smart sensors use MQTT, Gateways use AMQP, and temperature sensors use AMQP.