Jungletronics
Published in

Jungletronics

Mosquitto — Intro To MQTT

It is Suitable for the Internet of Things Applications — MQTT — Episode #01

Fig 1. Mosquitto is the broker server that implements the MQTT protocol.

Why use MQTT?

For the IoT apps!

Installations Procedures for Mosquitto

Mosquitto is highly portable and available for a wide range of platforms.

Fig 2. Finishing mosquitto installation on win 10
Edited:
nowadays, Dez 2020, there is no need to load these libs;
skip this step :)
Fig 3. Mosquitto will not run without these files at C:\Program Files\mosquitto directory
Fig 3. Here is where I have installed mosquitto broker server in my windows 10 platform; these extras .ddl files are related to licenses policies :/
hint: Ctrl+R, type: 
sysdm.cpl (System Properties)
Fig 4. Go to Windows Explorer > MyComputer > left mouse click > Goto Properties > Advanced Systems Configurations
Fig 5. Setting Environment path: Now when you type at the console, mosquitos commands will be recognized;
Fig 1 you must be running prompter as administrator; at the first time window asks credentials permissions:) MQTT server runs at PORT 1883; If secure communication (SLL/TLS), it will run at PORT 8883;
Fig 4. Setting mosquitto service as Manual Now we want to have control over mosquitto broker initialization. Click ok and save it all.
Fig 7. Testing mosquitto installation;
Fig. Mosquitto API is composed of these four programs: Broker, Publisher, Subscriber, and Password Service.

Related Posts

01 # Episode — Mosquitto Intro To MQTT — It is Suitable for the Internet of Things Applications — MQTT (this one)

From: https://developer.ibm.com/articles/iot-mqtt-why-good-for-iot/Notes: Why not other protocols:Most developers are already familiar with HTTP web services. So, why not just have IoT devices connect to web services? The device could send in its data as a HTTP request and receive updates from the system as the HTTP response. This request and response pattern does have some severe limitations:.HTTP is a synchronous protocolThe client waits for the server to respond. That is a requirement for web browsers, but it comes at the cost of poor scalability. In the world of IoT, the large number of devices and most likely an unreliable / high latency network have made synchronous communication problematic. An asynchronous messaging protocol is much more suitable for IoT applications. The sensors can send in readings, and let the network figure out the optimal path and timing for delivery to its destination devices and services;.HTTP is one-wayThe client must initiate the connection. In an IoT application, the devices or sensors are typically clients, which means that they cannot passively receive commands from the network;.HTTP is a 1-1 protocolThe client makes a request, and the server responds. It is difficult and expensive to broadcast a message to all devices on the network, which is a common use case in IoT applications;.HTTP is a heavy weight protocol with many headers and rulesIt is not suitable for constrained networks.For the above reasons, most high performance scalable systems use an asynchronous messaging bus, rather than web services, for internal data exchange. 
In fact, the most popular messaging protocol used in enterprise middleware systems is called AMQP (Advanced Message Queuing Protocol).
However, in the high-performance environment, computing power and network latency are typically not a concern. AMQP is designed for reliability and interoperability in enterprise applications. It has a rich feature set, but it is not suitable for resource-constrained IoT applications.
Besides AMQP, there are other popular messaging protocols. For example, the XMPP (Extensible Messaging and Presence Protocol) is a peer-to-peer instant messaging (IM) protocol. It is heavy on features that support IM use cases, such as presence and media attachments. Compared with MQTT, it requires much more resources both on the device and on the network.
So, what makes the MQTT so lightweight and flexible? A key feature of the MQTT protocol is its publish and subscribe model. As with all messaging protocols, it decouples the publisher and consumer of data.

References & Credits

Eclipse Mosquitto™ An open-source MQTT broker

--

--

J of Jungle + 3 Plats Arduino/RPi/Pic = J3

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
J3

Hi, Guys o/ I am J3! I am just a hobby-dev, playing around with Python, Django, Lego, Arduino, Raspy, PIC, AI… Welcome! Join us!