MQTT Mosquitto Handing: Unterschied zwischen den Versionen
Zeile 2: | Zeile 2: | ||
'''MQTT''' steht für ''Message Queuing Telemetry Transport'' und ist ein Protokoll für die Machine-to-Machine-Kommunikation im ''Internet of Things''. Eclipse Mosquitto ist ein beliebter Open-Source MQTT-Broker. | '''MQTT''' steht für ''Message Queuing Telemetry Transport'' und ist ein Protokoll für die Machine-to-Machine-Kommunikation im ''Internet of Things''. Eclipse Mosquitto ist ein beliebter Open-Source MQTT-Broker. | ||
= Installiere deinen Broker = | = Installiere deinen Broker = | ||
− | *apt | + | *apt update && apt-get upgrade |
− | *apt | + | *apt install mosquitto |
− | *apt | + | *apt install mosquitto-clients |
+ | |||
= Sichere deinen Broker mit einem Passwort ab = | = Sichere deinen Broker mit einem Passwort ab = | ||
*mosquitto_passwd -c /etc/mosquitto/passwd testuser | *mosquitto_passwd -c /etc/mosquitto/passwd testuser |
Version vom 14. April 2024, 09:41 Uhr
Eclipse Mosquitto MQTT Broker unter Ubuntu installieren und einrichten
MQTT steht für Message Queuing Telemetry Transport und ist ein Protokoll für die Machine-to-Machine-Kommunikation im Internet of Things. Eclipse Mosquitto ist ein beliebter Open-Source MQTT-Broker.
Installiere deinen Broker
- apt update && apt-get upgrade
- apt install mosquitto
- apt install mosquitto-clients
Sichere deinen Broker mit einem Passwort ab
- mosquitto_passwd -c /etc/mosquitto/passwd testuser
- nano /etc/mosquitto/conf.d/default.conf
log_type all
listener 1883
allow_anonymous false
password_file /etc/mosquitto/passwd
connection_messages true
log_dest file /var/log/mosquitt.log
- systemctl restart mosquitto
Shelly-Gerät einrichten
- Für die Einrichtung eines Shelly-Geräts müssen Sie es so konfigurieren, dass es die MQTT-Einstellungen des Brokers verwendet
- MQTT-Serveradresse (IP-Adresse oder Hostname des Mosquitto-Servers)
- Port (standardmäßig 1883)
- Benutzername (testuser)
- Passwort (password)
- Diese Einstellungen werden normalerweise über die Shelly-App oder das Webinterface des Geräts vorgenommen.
Wir schauen welche topic das Gerät hat
- tail -f /var/log/mosquitto.log
Wir schalten und sniffen
- on
- mosquitto_pub -h broker_ip -t 'Herausgefundene Topic' -m 'on' -u testuser -P password
- off
- mosquitto_pub -h broker_ip -t 'Herausgefundene Topic' -m 'off' -u testuser -P password
- toggle
- mosquitto_pub -h broker_ip -t 'Herausgefundene Topic' -m 'toggle' -u testuser -P password
Installiere und führe Certbot für Let's Encrypt Zertifikate aus
Füge das Certbot-PPA hinzu und installiere Certbot:
add-apt-repository ppa:certbot/certbot
apt-get update
apt-get install certbot
ufw allow http
Erstelle und erneuere SSL-Zertifikate automatisch:
certbot certonly --standalone --preferred-challenges http-01 -d DNSDomainname
15 3 * * * certbot renew --noninteractive --post-hook "systemctl restart mosquitto"
Aktiviere SSL-Verschlüsselung für deinen Broker
Konfiguriere SSL in der Mosquitto-Konfigurationsdatei:
nano /etc/mosquitto/conf.d/default.conf
Füge folgende SSL-Parameter hinzu:
listener 8883
certfile /etc/letsencrypt/live/DNSDomainname/cert.pem
cafile /etc/letsencrypt/live/DNSDomainname/chain.pem
keyfile /etc/letsencrypt/live/DNSDomainname/privkey.pem
Aktualisiere die Firewall, um SSL-Verbindungen zuzulassen:
ufw allow 8883
Aktiviere Websockets für deinen Broker
Füge die Websocket-Unterstützung in der Mosquitto-Konfigurationsdatei hinzu:
nano /etc/mosquitto/conf.d/default.conf
Füge folgende Zeile für Websockets hinzu:
listener 9001
protocol websockets
Fazit
Die Einrichtung von Mosquitto als MQTT-Broker auf Ubuntu bietet eine robuste Plattform für IoT-Kommunikation. Durch die Sicherung des Brokers und die Aktivierung von SSL wird eine sichere Datenübertragung gewährleistet.