Tags: SSO head Web data collection GTK API delay between ENCIoT communication protocol-compare-mqtt, DDS, AMQP, XMPP, JMS, REST, CoAP
Choice of Internet of Things protocol
Publish/Subscribe service better suited for communications in the IoT environment
DDS, MQTT, AMQP, and JMS are based on the publish/subscribe model, the Publish/subscribe framework has the characteristics of service self-discovery, dynamic expansion, event filtering, which solves the problems such as fast acquisition of data sources, entry and exit of objects, interest subscription, and reduction of bandwidth flow in the application layer of IoT system. The coupling of the realized objects is spatially loosely coupled (no need to know the correspondence address), the time is loosely coupled and the synchronization is loosely coupled.
Quality of Service (QoS) is an important consideration in Internet of things communication
With the help of service strategy, DDS can effectively control and manage the use of network bandwidth, memory space and other resources, but also can control the data reliability, real-time and data time-to-live, through the flexible use of these service quality policies, DDS can not only in narrowband wireless environment, It can also develop a data distribution system to meet the real-time demand in the broadband wired communication environment.
Direction of application of protocol
Protocols such as MQTT, DDS, AMQP, XMPP, JMS, REST, Coap have been widely used, and each protocol has at least 10 or more implementations of the code, claiming to support real-time publish/Subscribe IoT protocols, but in the context of a specific IoT system architecture design, Consider the communication needs of the actual scenario and choose the appropriate protocol.
Taking the smart home as an example, it is explained that these protocols focus on the application direction. Smart Home Intelligent Lighting control, you can use the XMPP protocol to control the light switch; the power supply of smart home, the monitoring of engine group of power plant can use the DDS protocol; When power is delivered to millions of households, an MQTT protocol can be used to patrol and maintain the electric line; You can use the AMQP protocol to transfer to the cloud or home gateway for analysis, and finally users want to publish their own energy-consumption enquiry service to the Internet, then use Rest/http to open the API service.
The HTTP protocol is a typical CS communication mode, where the client initiates the connection and requests XML or JSON data from the server. The protocol was originally designed to apply web browser to the Internet browsing scene and design, currently in the PC, mobile phones, pad and other terminals are widely used, but not applicable to the IoT scenario. There are three major drawbacks in the IoT scenario:
Rest/http (loosely coupled service invocation)
Rest/http is actually the Internet service call API packaging style, the IoT data collection into the IoT application system, in the Internet of things application system, can open the rest API way to open the data services, is called by other applications.
Scope of application: Rest/http mainly in order to simplify the system architecture in the Internet, quickly realize the loose coupling between client and server, and reduce the interaction delay between client and server. Therefore, it is suitable for the application level of the Internet of things, through rest to open the resources in the Internet of things, to realize the service is called by other applications.
CoAP (Constrained application Protocol), limited application protocol applied to the Wireless sensor network protocol.
Scope of application: Coap is a restful api,coap that simplifies the HTTP protocol is the application layer protocol in the 6LowPAN protocol stack, which applies to IP networks in resource-constrained communications.
MQTT protocol (Low bandwidth)
MQTT (msg Queuing Telemetry Transport), Message Queuing telemetry transmission, is a communication protocol developed by IBM that is more suitable for IoT scenarios than an Instant messaging protocol. The MQTT protocol uses the Publish/subscribe model, all IoT terminals are connected to the cloud via TCP, and the cloud manages the communication content of each device in a themed way, and is responsible for forwarding messages between devices and devices.
Scope of application: provide data transmission and monitoring of remote devices based on cloud platform under low bandwidth and unreliable network.
The MQTT protocol is generally applicable to device data acquisition to the end (device-"server,device-" Gateway), the Central Star Network Architecture (Hub-and-spoke), not suitable for communication between equipment and equipment, device control ability is weak, in addition to the poor real-time, It is usually in the second level.
DDS Protocol (High reliability, real-time)
DDS (data distribution service for real-time systems), which is a protocol for the real-time system, is the agreement of the famous OMG organization, and its authority should be able to prove the future application prospect of the protocol.
Scope of application: Distributed high reliability, real-time transmission equipment data communication. At present, DDS has been widely used in defense, civil aviation, industrial control and other fields.
Reviews: DDS Well supports data distribution and device control between devices, device and cloud data transmission, while DDS data distribution is very efficient in real-time, enabling the simultaneous distribution of millions messages to many devices in seconds. DDS provides a very high level of assurance on quality of service (QoS), which is why it can be used in areas such as defense, military, industrial control, and other highly reliable and safe applications. But these applications all work under the wired network, and in the case of wireless networks, especially the limited resources, have not seen the implementation cases.
AMQP Protocol (interoperability)
AMQP (Advanced message Queuing Protocol), a state-of-the-art messaging queuing protocol, which was proposed by the Oasis organization, has proposed the OSLC (Open Source lifecyle) standard for business systems such as PLM,ERP, MES, etc. for data exchange.
Scope of application: The earliest use of transaction messaging between financial systems, in the IoT application, is mainly applicable to the communication and analysis of mobile handheld devices and back-end data centers.
XMPP protocol (Instant Messaging)
XMPP (extensible Messaging and Presence Protocol) extensible communication and presentation protocol, the predecessor of XMPP is Jabber, an open source form of organization-generated network Instant Messaging protocol. XMPP is currently being standardized by the IETF International Standards Organization.
Scope of application: Instant Messaging applications can also be used in network management, content feeds, collaboration tools, file sharing, gaming, remote system monitoring and so on.
Reviews: XMPP is an XML-based protocol that has been widely used in Internet communication applications due to its openness and ease of use. Relative HTTP,XMPP in the business process of communication is more suitable for the IoT system, developers do not have to spend too much effort to solve the communication process of equipment communications, relative development costs will be lower. But the security of the HTTP protocol and the cost of computing resources have not been solved in essence.
JMS (Java Message Service)
The Java Message Service Application interface is an API for message-oriented middleware (MOM) in the Java platform for sending messages between two applications, or distributed systems, for asynchronous communication. The Java Messaging Service is a platform-agnostic API, and the vast majority of MOM providers support JMS.
IoT communication protocol-compare-mqtt, DDS, AMQP, XMPP, JMS, REST, CoAP