Companies need a quick and responsive way to communicate with and control the field fleets of IoT devices. Bidirectional communication between devices and the cloud is necessary for IoT deployment. Google introduced its cloud IoT core managed service with a new device command feature that delivers low-latency, high-frequency, and ephemeral messaging between the cloud and IoT. Device commands provide an alternative to cloud IoT core device configurations in real time, thereby facilitating a variety of new IoT use cases. The device commands are now generally available in IoT core for all Google cloud platform users.
Cloud IoT core provides secure, persistent, and bidirectional communication channels through current state and configuration topics. These subjects can be used to update the corresponding status and configuration settings for a cloud device. The configuration topic ensures persistence of messages and guarantees delivery to the device when it comes online. It must be noted that it is not intended to send ephemeral or high-frequency messages such as dimming or lighting.
The new feature of cloud IoT device commands can play an important role in some IoT scenarios, as it provides high-frequency, and ephemeral messaging between the cloud and each device. Commands allow users to send up to 100 messages per second, per device, from the cloud to the device and up to 256 kb of each message payload. This limit for configuration messages is much greater than the current limit of 1 update per second. Devices that are subscribed to the IoT core Message Queuing Telemetry Transport (MQTT) bridge receive these messages instantly, creating a low latency channel that users can rely on for real-time control.
Companies effortlessly integrate with existing applications as well as Google cloud IAM for access management. Interestingly, commands support the MQTT QoS 1 specification, which allows the user to know immediately whether their message was sent to the device or whether it needs to be sent back later. This enables industrial automation devices to be connected to and controlled in the cloud.