There is tremendous interest from industrial enterprises to understand the nuances of the two most debated IoT data communications protocols: MQTT and LWM2M. MQTT and LWM2M are protocols that create a standard way to get device data to systems, platforms, applications, and other devices.\nLet\u2019s talk a little about each protocol and when it\u2019s best used in an enterprise IoT deployment.\nMQTT and when to use it\nMessage queuing telemetry transport (MQTT) is an ISO standard which describes a publish\/subscribe (pub\/sub) messaging protocol. Nearly all IoT platforms support MQTT communication, making it the de facto standard for device-to-platform IoT communication.\nMQTT is best used for:\n\nSimple or trial IoT deployments\nWhen enterprises have many unmanaged devices generating high data volumes being ingested by an IoT platform\nWhen a well-productized device management solution is available directly from the IoT platform vendor being used by the enterprise\n\nMQTT is an application-layer protocol and leverages TCP and IP for the transport and internet layers, respectively. Modern revisions of the MQTT specification support features such as end-to-end encryption using either transport layer security (TLS) for the entire channel or payload encryption, quality of service (QoS), and session persistence. MQTT is designed to be a lightweight protocol for CPU-constrained devices, although implementation of TLS-secured MQTT does increase the client-side computational requirements. MQTT\u2019s flexibility allows the protocol to support both data management and device management capabilities, although implementation of these features is entirely platform- or vendor-specific, preventing simple portability of an IoT solution between IoT platforms.\nLWM2M and when to use it\nOMA lightweight machine to machine (LWM2M) is a combination of different technologies that provides a defined standard for IoT data communication and device management. LWM2M\u2019s primary benefit to enterprises is that it reduces vendor lock-in by allowing cross-vendor and cross-platform interoperability of data management and device management capabilities. This also reduces the complexities of managing heterogeneous hardware deployments.\nLWM2M is best used for:\n\nComplex and long-term IoT deployments\nImplementations with managed devices or edge components such as IoT gateways\nImplementations with connectivity-constrained devices\nSolutions where an enterprise wants to avoid vendor lock-in.\n\nUnlike MQTT, LWM2M has a well-defined data and device management structure that enables a variety of vendor- and implementation-agnostic features such as secure device bootstrapping, client registration, object\/resource access, and device reporting. The LWM2M specification defines a variety of standard objects, which when implemented within an LWM2M client, provides a well-defined standard for data types for sensors, such as standardized temperature, pressure, analog input\/output, and other sensor readings. The LWM2M specification also provides well-defined standards for many typical device management functions, such as remote device actions, firmware updates, on-device software management, and connectivity monitoring and management including cellular management and provisioning.\nLWM2M is typically implemented on top of the constrained application protocol (CoAP) service layer protocol. Unlike MQTT, CoAP is designed with a more traditional client\/server model and leverages user datagram protocol (UDP) including support for multicast, rather than TCP for communication. Data messages follow an HTTP-like syntax with a REST architecture that enables less-complex integration between existing RESTful API endpoints and CoAP-supporting devices. For message security, CoAP and LWM2M typically utilize datagram transport layer security (DTLS) for data payload encryption. Unlike MQTT and TLS, CoAP messages encrypt the payload of the message rather than the entire message transport. This removes some of the cryptographic overhead found in TLS and MQTT. In addition, CoAP and LWM2M support implementation over an SMS bearer, providing additional flexibility for network constrained devices that cannot support the UDP protocol.\nEnterprises rely on IoT data communications protocols to create a standard way to get data from devices to systems, platforms, applications, and other devices. While MQTT is the most common protocol used by enterprises today, MachNation believes that LWM2M is growing in market share. For larger, more complex, longer-lived deployments with managed devices, LWM2M is the protocol that enterprises should consider.