Project:MQTT Broker: Difference between revisions
NitramLegov (talk | contribs) (MQTT Broker installed.) |
NitramLegov (talk | contribs) m (just some rewording and formatting) |
||
Line 2: | Line 2: | ||
|project title=MQTT Broker | |project title=MQTT Broker | ||
|image=MusicStation.JPG | |image=MusicStation.JPG | ||
|status= | |status=done | ||
|date= | |date=July 2018 | ||
|initiator=[[User:NitramLegov|Martin]] | |initiator=[[User:NitramLegov|Martin]] | ||
|team=[[User:NitramLegov|Martin]] {{HelpNeeded}} | |team=[[User:NitramLegov|Martin]] {{HelpNeeded}} | ||
Line 10: | Line 10: | ||
}} | }} | ||
= MQTT Overall = | |||
MQTT (Message Queue Telemetry Transport) is a communication protocol with a strong focus on a small data footprint. <br> | 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> | 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> | ||
Line 24: | Line 24: | ||
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]. | 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]. | ||
= | = MQTT in the CoMakingSpace = | ||
In order to be able to use MQTT in the CoMakingSpace, the [[Raspberry Pi]] in the [[Common Room|common room]] runs an instance of [https://mosquitto.org/ mosquitto], which is an open source MQTT broker. | |||
Our implementation runs on the same [[Raspberry Pi]] in the [[Common Room|common room]] that also hosts [[Project:Music Station]]. Therefore, the hostname is comakingcontroller (having a fixed IP: 192.168.1.2). It offers its services on the standard MQTT port: 1883. | Our implementation runs on the same [[Raspberry Pi]] in the [[Common Room|common room]] that also hosts [[Project:Music Station]]. Therefore, the hostname is comakingcontroller (having a fixed IP: 192.168.1.2). It offers its services on the standard MQTT port: 1883. |
Revision as of 11:17, 27 July 2018
ProjectInfoBox MQTT Broker | |
---|---|
Status: | done |
Release Date: | July 2018 |
Initiator: | Martin |
Team: | Martin who else would like to help? |
Tools Used: | Raspberry Pi |
Software Used: | MQTTBroker |
MQTT Overall
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 learn more about topics, messages, subscriptions and QoS, please read this part of the mosquitto documentation.
If you want to "just use" MQTT on your device and check the messages in our network, please see this article.
MQTT in the CoMakingSpace
In order to be able to use MQTT in the CoMakingSpace, the Raspberry Pi in the common room runs an instance of mosquitto, which is an open source MQTT broker.
Our implementation runs on the same Raspberry Pi in the common room that also hosts Project:Music Station. Therefore, the hostname is comakingcontroller (having a fixed 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:
Topics
If you create a new topic, it would be great if you document it here.
Right now, the following topics exist:
---none---