Basic Concepts
-MQTT Essentials
- A blog post series about the basic concepts of MQTT on hivemq.com. --
diff --git a/.gitignore b/.gitignore index f40fbd8..57510a2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1 @@ -_site -.sass-cache -.jekyll-cache -.jekyll-metadata -vendor +_site/ diff --git a/404.html b/404.html deleted file mode 100644 index 2ec8989..0000000 --- a/404.html +++ /dev/null @@ -1,26 +0,0 @@ ---- -permalink: /404.html -layout: 404 ---- - - - -
Page not found :(
-The requested page could not be found.
-MQTT is an OASIS standard for IoT connectivity. It is a publish/subscribe, extremely simple and lightweight messaging protocol, designed for constrained devices and low-bandwidth, high-latency or unreliable networks. The design principles are to minimise network bandwidth and device resource requirements whilst also attempting to ensure reliability and some degree of assurance of delivery. These principles also turn out to make the protocol ideal of the “Internet of Things” world of connected devices, and for mobile applications where bandwidth and battery power are at a premium.
-MQTT was invented by Dr Andy Stanford-Clark of IBM, and Arlen Nipper of Arcom (now Eurotech), in 1999.
-MQTT has been widely implemented across a variety of industries since 1999. A few of the more interesting examples are listed on the Use Case page.
-v5.0 and v3.1.1 are now OASIS standards (v3.1.1 has also been ratified by ISO).
-Yes. TCP/IP port 1883 is reserved with IANA for use with MQTT. TCP/IP port 8883 is also registered, for using MQTT over SSL.
-You can pass a user name and password with an MQTT packet in V3.1 of the protocol. Encryption across the network can be handled with SSL, independently of the MQTT protocol itself (it is worth noting that SSL is not the lightest of protocols, and does add significant network overhead). Additional security can be added by an application encrypting data that it sends and receives, but this is not something built-in to the protocol, in order to keep it simple and lightweight.
-The specification and other documentation are available via the Specification page. Ask questions via one of the methods on StackOverflow. Try code via one of the projects on the Software page.
-A broker is a server that routes published messages to subscribers.
-A connection between two MQTT brokers
-Really Small Message Broker from IBM, now part of the Eclipse Mosquitto project
-Machine-to-Machine Industry Working Group at Eclipse
-Eclipse Paho messaging project.
-Quality of Service levels
-BifroMQ, open-sourced by Baidu, is a distributed MQTT messaging middleware designed for high performance. Its standout feature is the native multi-tenancy support, which enhances resource sharing and workload isolation. The system's architecture integrates a distributed storage engine, tailored for environments with high load, reducing reliance on external middleware. BifroMQ is well-suited for developing large IoT networks and messaging systems, providing scalable, cloud-based, serverless solutions for extensive operations.
-mod_mqtt
. It relies on ejabberd infrastructure code that has been battle tested for 15+ years, like the clustering engine. ejabberd MQTT broker has been verified on large scale systems and can support millions of concurrent connections highly efficiently.
- MQTT has been incorporated into various runtimes and frameworks via modules or plugins. The projects listed below therefore depend on additional packages and are not necessarily standalone or for general use. As with the list of clients, some may not provide full support for all of the features of the latest MQTT specification – check with the project in question.
-On the discussion threads we talk about many products that use MQTT. Many of them don't publicly declare it. Others are programmable so are oblivious to MQTT being run on them.
-
- Here are some companies / devices we know about:
-
MQTT clients are very small, require minimal resources so can be used on small microcontrollers. MQTT message headers are small to optimize network bandwidth. -
-MQTT allows for messaging between device to cloud and cloud to device. This makes for easy broadcasting messages to groups of things. -
-MQTT can scale to connect with millions of IoT devices. -
-Reliability of message delivery is important for many IoT use cases. This is why MQTT has 3 defined quality of service levels: 0 - at most once, 1- at least once, 2 - exactly once -
-Many IoT devices connect over unreliable cellular networks. MQTT’s support for persistent sessions reduces the time to reconnect the client with the broker. -
-MQTT makes it easy to encrypt messages using TLS and authenticate clients using modern authentication protocols, such as OAuth. -
-MQTT is used in a wide variety of industries
- -