Project:MQTT Broker: Difference between revisions

From CoMakingSpace Wiki

(Initial Creation)
 
(Content creation)
Line 10: Line 10:
}}
}}


We want to add a MQTT Broker into our network in order to enable IoT devices to easily communicate with each other and send / receive messages (such as status updates).
=== MQTT ===
MQTT is possible to use on devices like the ESP 8266 with a library provided by adafruit [https://learn.adafruit.com/mqtt-adafruit-io-and-you/arduino-plus-library-setup AdafruitMQTT]
MQTT (Message Queue Telemetry Transport) is a communication protocol with a strong focus on a small data footprint. <br>
Therefore, it is perfect for communication between lightweight devices (such as microcontrollers like the ESP8266). MQTT generally runs on TCP/IP, but there is also an extension (MQTT-SN), which can be used on non-TCP networks. Further information can of course be found on [https://en.wikipedia.org/wiki/MQTT Wikipedia], [http://mqtt.org/documentation mqtt.org] or - if you require german information - [https://www.informatik-aktuell.de/betrieb/netzwerke/mqtt-leitfaden-zum-protokoll-fuer-das-internet-der-dinge.html Informatik-Aktuell] published a nice introduction article.<br>
== Broker ==
Since MQTT follows a client/server architecture, a central server is needed in order to publish messages and to subscribe to messages. This server is called broker. Since MQTT is an open protocol, multiple implementations exist, which have been compared on [https://github.com/mqtt/mqtt.github.io/wiki/server-support Github].
 
== Client usage ==
As mentioned, MQTT is designed to run on a broad variety of devices. As of this, implementations exist for microcontrollers, regular PCs as well as smartphones. <br>
If you want to integrate MQTT in your project, please check the selection of client libraries on [https://github.com/mqtt/mqtt.github.io/wiki/libraries Github]. <br>
For anything using the Arduino IDE, please also see the library provided by adafruit [https://learn.adafruit.com/mqtt-adafruit-io-and-you/arduino-plus-library-setup AdafruitMQTT]
If you want to "just use" MQTT on your device and check the messages in our network, please see this [https://www.hivemq.com/blog/seven-best-mqtt-client-tools article].
 
=== CoMakingSpace Implementation ===
 
We will add a MQTT Broker into our [[Network]] in order to enable IoT devices to easily communicate with each other and send / receive messages (such as status updates). <br>
 
Our implementation runs on the same [[Raspberry_Pi]], which also hosts [[Project:Music Station]] sitting in the [[Common Room]]. Therefore, the hostname is comakingcontroller (having a fix IP: 192.168.1.2). It offers its services on the standard MQTT port: 1883.
 
The following projects use - or will use the MQTT Broker:
[[Project: Enhanced Door Bell]]
 
== Topics ==
If you create a new topic, it would be create if you document it here.
Right now, the following topics exist:
---none---

Revision as of 09:33, 22 June 2018

ProjectInfoBox

MQTT Broker

MusicStation.JPG
Status: only an idea
Initiator: Martin
Team: Martin who else would like to help?
Tools Used: Raspberry Pi
Software Used: MQTTBroker


MQTT

MQTT (Message Queue Telemetry Transport) is a communication protocol with a strong focus on a small data footprint.
Therefore, it is perfect for communication between lightweight devices (such as microcontrollers like the ESP8266). MQTT generally runs on TCP/IP, but there is also an extension (MQTT-SN), which can be used on non-TCP networks. Further information can of course be found on Wikipedia, mqtt.org or - if you require german information - Informatik-Aktuell published a nice introduction article.

Broker

Since MQTT follows a client/server architecture, a central server is needed in order to publish messages and to subscribe to messages. This server is called broker. Since MQTT is an open protocol, multiple implementations exist, which have been compared on Github.

Client usage

As mentioned, MQTT is designed to run on a broad variety of devices. As of this, implementations exist for microcontrollers, regular PCs as well as smartphones.
If you want to integrate MQTT in your project, please check the selection of client libraries on Github.
For anything using the Arduino IDE, please also see the library provided by adafruit AdafruitMQTT If you want to "just use" MQTT on your device and check the messages in our network, please see this article.

CoMakingSpace Implementation

We will add a MQTT Broker into our Network in order to enable IoT devices to easily communicate with each other and send / receive messages (such as status updates).

Our implementation runs on the same Raspberry_Pi, which also hosts Project:Music Station sitting in the Common Room. Therefore, the hostname is comakingcontroller (having a fix IP: 192.168.1.2). It offers its services on the standard MQTT port: 1883.

The following projects use - or will use the MQTT Broker: Project: Enhanced Door Bell

Topics

If you create a new topic, it would be create if you document it here. Right now, the following topics exist: ---none---