CINXE.COM

FAQ

<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>FAQ</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <meta http-equiv="Content-Language" content="en"> <meta name="description" content="Frequently asked questions about MQTT and a dictionary of terms and acronyms."> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="me" href="https://fosstodon.org/@mqtt"> <link rel="canonical" href="https://mqtt.org/faq/"> <!-- Favicon start --> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"> <!-- Favicon end --> <link href="/assets/css/style.css" rel="stylesheet"> <link href="https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,400;0,700;1,400;1,700&display=swap" rel="stylesheet"> <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-50721873-8"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-50721873-8'); gtag('config', 'GA_TRACKING_ID', { 'anonymize_ip': true }); </script> </head> <body> <header id="default-header"> <a href="/"><img src="/assets/img/mqtt-logo-transp.svg" id="mqtt-logo-header" class="float-left"></a> </header> <nav id="mobile-nav"> <div id="burger-menu"><img src="/assets/img/burger-menu.svg"></div> <div id="mobile-nav-open"> <a href="/getting-started/"><div class="mobile-nav-item">Getting started</div></a> <a href="/mqtt-specification/"><div class="mobile-nav-item">MQTT Specification</div></a> <a href="/software/"><div class="mobile-nav-item">Software</div></a> <a href="/use-cases/"><div class="mobile-nav-item">Use Cases</div></a> <a href="/faq/"><div class="mobile-nav-item">FAQ</div></a> </div> <script> $('#burger-menu').click(function(){ if ( $('#mobile-nav-open').css('display') == 'none' ) $('#mobile-nav-open').css('display','block'); else $('#mobile-nav-open').css('display','none'); }); $('.mobile-nav-item').click(function(){ $('#mobile-nav-open').css('display','block'); }); </script> </nav> <nav id="main-nav" class="default-nav float-left"> <div class="nav-item"><a href="/getting-started/">Getting started</a></div> <div class="nav-item"><a href="/mqtt-specification/">MQTT Specification</a></div> <div class="nav-item"><a href="/software/">Software</a></div> <div class="nav-item"><a href="/use-cases/">Use Cases</a></div> <div class="nav-item"><a href="/faq/">FAQ</a></div> </nav> <main> <section class="content-floating"> <h1>FAQ</h1> <div class="accordion-wrapper" style="margin-bottom: 50px;"> <button class="accordion">What is MQTT?</button> <div class="panel"> <p>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.</p> </div> <button class="accordion">Who invented MQTT?</button> <div class="panel"> <p>MQTT was invented by Dr Andy Stanford-Clark of IBM, and Arlen Nipper of Arcom (now Eurotech), in 1999.</p> </div> <button class="accordion">Where is MQTT in use?</button> <div class="panel"> <p>MQTT has been widely implemented across a variety of industries since 1999. A few of the more interesting examples are listed on the <a href="/use-cases" alt="Use Cases" title="Use Cases">Use Case page.</a></p> </div> <button class="accordion">Is MQTT a standard?</button> <div class="panel"> <p>v5.0 and v3.1.1 are now OASIS standards (v3.1.1 has also been ratified by ISO).</p> </div> <button class="accordion">Are there standard ports for MQTT to use?</button> <div class="panel"> <p>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.</p> </div> <button class="accordion">Does MQTT support security?</button> <div class="panel"> <p>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.</p> </div> <button class="accordion">Where can I find out more?</button> <div class="panel"> <p>The specification and other documentation are available via the <a href="/mqtt-specification">Specification page</a>. Ask questions via one of the methods on StackOverflow. Try code via one of the projects on the <a href="/software">Software page.</a></p> </div> </div> <h1>Terms and acronyms</h1> <div class="accordion-wrapper" style="margin-bottom: 50px;"> <button class="accordion">Broker</button> <div class="panel"> <p>A <a href="http://en.wikipedia.org/wiki/Message_broker">broker</a> is a server that routes published messages to subscribers.</p> </div> <button class="accordion">Bridge</button> <div class="panel"> <p>A connection between two MQTT brokers</p> </div> <button class="accordion">RSMB</button> <div class="panel"> <p>Really Small Message Broker from IBM, now part of the Eclipse Mosquitto project</p> </div> <button class="accordion">LWT</button> <div class="panel"> <p><a href="https://www.hivemq.com/blog/mqtt-essentials-part-9-last-will-and-testament/">Last Will and Testament.</a></p> </div> <button class="accordion">M2M</button> <div class="panel"> <p><a href="http://en.wikipedia.org/wiki/Machine-to-Machine" rel="nofollow">Machine-to-Machine</a></p> </div> <button class="accordion">M2M IWG</button> <div class="panel"> <p><a href="https://blogs.eclipse.org/post/ian-skerrett/m2m-industry-working-group-has-been-created">Machine-to-Machine Industry Working Group</a> at Eclipse</p> </div> <button class="accordion">IoT</button> <div class="panel"> <p><a href="http://en.wikipedia.org/wiki/Internet_of_things" rel="nofollow">Internet of Things</a></p> </div> <button class="accordion">Paho</button> <div class="panel"> <p>Eclipse Paho messaging project.</p> </div> <button class="accordion">QoS</button> <div class="panel"> <p><a href="https://www.hivemq.com/blog/mqtt-essentials-part-6-mqtt-quality-of-service-levels/">Quality of Service</a> levels</p> </div> </div> </section> <script> try { const acc = document.getElementsByClassName("accordion"); for (let i = 0; i < acc.length; i++) { acc[i].addEventListener("click", function () { this.classList.toggle("active"); const panel = this.nextElementSibling; if (panel.style.maxHeight) { panel.style.maxHeight = null; } else { panel.style.maxHeight = panel.scrollHeight + "px"; } }); } if(acc.length > 0) { acc[0].click(); } } catch (e) { //ignore exception } </script> <footer> <p class="float-left">&copy; 2024 MQTT.org | <a href="/legal"><span style="color: #000;">Legal Note</a></span></a></p> </footer> </main> </body> <!-- Sticky navigation hides an offset for anchor link targets. This script resolves this issue --> <script> jQuery(document).ready(function($) { // set a variable for the anchor link which is the location.hash var anchorLink = $(window.location.hash); // test to see if the link is a anchor link, if not the length will have no value, this is done to avoid js errors on non anchor links if ( anchorLink.length ) { // set an element as the fixed entity, header in this case and get its height var offsetSize = $("header").innerHeight(); // fire the animation from the top of the page to the anchor link offsetting by the fixed elements height, the number is the speed of the animation $("html, body").animate({scrollTop: anchorLink.offset().top - offsetSize }, 500); } }); </script> </html>

Pages: 1 2 3 4 5 6 7 8 9 10