Installation eines Mosquitto-Servers auf einem Raspberry Pi

Schritt 1: Installation von Mosquitto

Führen Sie die folgenden Befehle aus, um Mosquitto auf Ihrem Raspberry Pi zu installieren:


sudo apt update

sudo apt install mosquitto mosquitto-clients

Schritt 2: Konfiguration von Mosquitto

Bearbeiten Sie die Mosquitto-Konfigurationsdatei:


sudo nano /etc/mosquitto/mosquitto.conf

Fügen Sie die folgenden Zeilen hinzu, um die Benutzer “Pager” und “nodered” zu konfigurieren:


allow_anonymous false

password_file /etc/mosquitto/passwd

Speichern und schließen Sie die Datei, indem Sie Ctrl + X, dann Y und Enter drücken.

Schritt 3: Benutzer hinzufügen

Führen Sie die folgenden Befehle aus, um die Benutzer “Pager” und “nodered” hinzuzufügen und ihre Passwörter festzulegen:


sudo mosquitto_passwd -c /etc/mosquitto/passwd Pager

sudo mosquitto_passwd /etc/mosquitto/passwd nodered

Geben Sie die Passwörter ein, wenn Sie dazu aufgefordert werden.

Schritt 4: Autostart-Konfiguration

Bearbeiten Sie die Autostart-Konfigurationsdatei für Mosquitto:


sudo nano /etc/init.d/mosquitto

Fügen Sie den folgenden Inhalt hinzu:


!/bin/bash

### BEGIN INIT INFO

# Provides: mosquitto

# Required-Start: $remote_fs $syslog

# Required-Stop: $remote_fs $syslog

# Default-Start: 2 3 4 5

# Default-Stop: 0 1 6

# Short-Description: mosquitto MQTT v3.1 message broker

# Description: mosquitto is a MQTT v3.1 message broker

### END INIT INFO

DESC="Mosquitto MQTT v3.1 message broker"

NAME=mosquitto

DAEMON=/usr/sbin/$NAME

PIDFILE=/var/run/$NAME.pid

SCRIPTNAME=/etc/init.d/$NAME

# Exit if the package is not installed

[ -x "$DAEMON" ] || exit 0

. /lib/lsb/init-functions

case "$1" in

start)

log_daemon_msg "Starting $DESC" "$NAME"

start-stop-daemon --start --quiet --oknodo --background --pidfile $PIDFILE --make-pidfile --exec $DAEMON -- -c /etc/mosquitto/mosquitto.conf

log_end_msg $?

;;

stop)

log_daemon_msg "Stopping $DESC" "$NAME"

start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE --exec $DAEMON

log_end_msg $?

;;

restart|force-reload)

$0 stop

sleep 1

$0 start

;;

*)

echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2

exit 1

;;

esac

exit 0

Speichern und schließen Sie die Datei, indem Sie Ctrl + X, dann Y und Enter drücken.

Schritt 5: Autostart aktivieren

Führen Sie die folgenden Befehle aus, um den Autostart für Mosquitto zu aktivieren:


sudo chmod +x /etc/init.d/mosquitto

sudo update-rc.d mosquitto defaults

Schritt 6: Neustart

Starten Sie den Raspberry Pi neu, um die Änderungen zu übernehmen:


sudo reboot

Nach dem Neustart sollte Mosquitto automatisch gestartet werden und die Benutzer “Pager” und “nodered” können sich mit ihren entsprechenden Passwörtern über MQTT verbinden.