GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So richten Sie den Mosquitto-MQTT-Server unter Ubuntu 16.04 ein

Mosquitto MQTT Server ist ein Message Broker, der über das MQTT-Protokoll arbeitet. MQTT ist ein leichtgewichtiges Messaging-Protokoll, das ISO-Standard für die Verwendung auf dem TCP/IP-Protokoll ist. Es wird hauptsächlich für die Kommunikation mit Geräten des Internets der Dinge verwendet. Wir werden Mosquitto auf einem Ubuntu 16.04-Server installieren und Nachrichten von MQTT-Spionagesoftware senden. Mosquitto ist ein Eclipse-Projekt und wird unter der EDL-Lizenz vertrieben. Also fangen wir an.

Mosquitto-MQTT-Server aus Quelle kompilieren

Um Mosquitto zu installieren, müssen wir die folgenden Schritte ausführen. Aktualisieren Sie zuerst die Quellenliste und erhalten Sie die Abhängigkeiten

apt update
apt-get install build-essential libwrap0-dev libssl-dev libc-ares-dev uuid-dev xsltproc

Mosquitto-Benutzer hinzufügen, da er standardmäßig als Nicht-Root ausgeführt wird.

adduser mosquitto

Der Einfachheit halber geben wir diesem Benutzer sudo-Rechte, da wir den Rest des Installationsvorgangs als dieser Benutzer durchführen

usermod -aG sudo mosquitto

Dann melden wir uns als dieser Benutzer an und wechseln in sein Home-Verzeichnis

su mosquitto

cd

Als nächstes werden wir den Mosquitto-Quellcode herunterladen, die neueste Version ist zum Zeitpunkt des Schreibens 1.4.9, aber ich schlage vor, dass Sie auf der Download-Seite nachsehen, ob es eine neue Version gibt. Laden Sie also die neueste Version herunter

wget https://mosquitto.org/files/source/mosquitto-1.4.9.tar.gz

Entpacken wir es und cd in das Verzeichnis

tar xvzf mosquitto-1.4.9.tar.gz
cd mosquitto-1.4.9/

Und dann kompilieren und installieren wir die Software

make && sudo make install

Mosquitto-MQTT-Server konfigurieren

Nachdem die Installation abgeschlossen ist, müssen wir ein Passwort für den neuen Benutzer erstellen.

sudo mosquitto_passwd -c /etc/mosquitto/pwfile mqtt-spy

Sie werden aufgefordert, ein Passwort für den neuen mqtt-spy-Benutzer zu erstellen, den wir verwenden, um eine Verbindung vom Client herzustellen. Das ist anders als der Mosquit-Benutzer, dh der Systembenutzer zum Ausführen des Mosquitto-Servers. Wir müssen diesem Mosquitto-Benutzer Berechtigungen für alle relevanten Verzeichnisse hinzufügen

sudo mkdir /var/lib/mosquitto/

sudo chown -R mosquitto:mosquitto /var/lib/mosquitto/

Als nächstes müssen wir eine Konfigurationsdatei für den Mosquitto-MQTT-Server erstellen, also verwenden wir nano, um eine neue Datei zu erstellen

sudo nano /etc/mosquitto/mosquitto.conf

Dort können Sie diese einfügen

persistence true
persistence_location /var/lib/mosquitto/
persistence_file mosquitto.db
log_dest syslog
log_dest stdout
log_dest topic
log_type error
log_type warning
log_type notice
log_type information
connection_messages true
log_timestamp true
allow_anonymous false
password_file /etc/mosquitto/pwfile

Die Konfiguration scheint lang zu sein, aber wir haben ausführlichere Protokolle und eine Passwortdatei hinzugefügt.

Nachdem die Konfiguration gespeichert wurde, führen wir ldconfig

aus
sudo ldconfig

Lassen Sie uns eine systemd-Unit-Datei hinzufügen

sudo nano /etc/systemd/system/mosquitto.service

Fügen Sie dies dort ein:

[Unit]
Description=Insite MQTT Broker

[Service]
ExecStart=/usr/local/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf
Restart=always

[Install]
WantedBy=multi-user.target

Lassen Sie uns den Dienst starten

sudo systemctl start mosquitto.service

Und überprüfen Sie seinen Status

systemctl status mosquitto.service

Um es beim Booten starten zu lassen, führe diesen Befehl aus

sudo systemctl enable mosquitto.service

MQTT-Spy einrichten und verbinden

MQTT-Spy ist ein Java-basierter Client, den wir verwenden, um eine Verbindung zum MQTT-Server herzustellen. Sie können es von github bekommen, aber beachten Sie, dass Sie Oracle JDK installiert haben müssen. Es funktioniert NICHT mit OpenJDK. Das erste, was Sie nach dem Start von MQTT-Spy tun müssen, ist, eine neue Verbindung herzustellen. Sie fügen Ihre Server-IP und den Standardport 1883 hinzu.

Dann fügen Sie das Passwort und den Benutzernamen hinzu, die wir zuvor erstellt haben, in meinem Fall ist es mqtt-spy und das Passwort ist password.

Dann können wir das Terminalfenster auf dem Server öffnen und den folgenden Befehl eingeben

mosquitto_sub -v -t 'linoxide/topic' -u mqtt-spy -P password

Um Flags zu erklären:-v steht für Ausführlichkeit, -t steht für Thema, gefolgt von Thema in Anführungszeichen, -u steht für Benutzer und -P ist Passwort. Nach Eingabe dieses Befehls scheint es zu hängen, aber dann müssen wir MQTT-Spy verwenden, um ein neues Thema zu erstellen und eine Nachricht an dasselbe Thema zu senden, wie auf dem Bild unten.

Schlussfolgerung

Wir haben den Mosquitto MQTT-Server erfolgreich installiert, der es Ihnen ermöglicht, ein Netzwerk verbundener IoT-Geräte über das MQTT 3.1-Protokoll zu haben. Wir haben es unter Ubuntu auf einem klassischen x86-PC installiert, den die meisten Leute für Entwicklungs- und Lernzwecke verwenden. Für echtes IoT benötigen Sie ein ARM-Gerät. Das ist alles für diesen Artikel, danke fürs Lesen.


Ubuntu
  1. So richten Sie den Rsyslog-Server unter Ubuntu 18.04 LTS ein

  2. So richten Sie den Zimbra-Mailserver unter Ubuntu 16 ein

  3. So richten Sie den MySecureShell-SFTP-Server unter Ubuntu 18.04 ein

  4. So richten Sie einen NTP-Server unter Ubuntu und LinuxMint ein

  5. Rsyslog-Server auf Ubuntu 20.04 einrichten - Wie geht das?

So richten Sie OpenVPN auf Ubuntu Server ein

So richten Sie Nginx-Serverblöcke in Ubuntu 18.04 LTS ein

So richten Sie das neueste MySQL unter Ubuntu 20.04 LTS ein

So richten Sie den Git-Server unter Ubuntu 20.04 ein

So richten Sie den Rsyslog-Server unter Ubuntu ein

So richten Sie einen DHCP-Server unter Ubuntu ein