MQTT Mosquitto Handing: Unterschied zwischen den Versionen
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 9: | Zeile 9: | ||
*mosquitto_sub -h localhost -t test | *mosquitto_sub -h localhost -t test | ||
;2. Fenster | ;2. Fenster | ||
− | *mosquitto_pub -h localhost -t test -m "Hello World | + | *mosquitto_pub -h localhost -t test -m "Hello World" |
= Sichere deinen Broker mit einem Passwort ab = | = Sichere deinen Broker mit einem Passwort ab = | ||
Zeile 23: | Zeile 23: | ||
</source> | </source> | ||
*systemctl restart mosquitto | *systemctl restart mosquitto | ||
+ | =Hallo Welt Authentifiziert= | ||
+ | ;1. Fenster | ||
+ | *mosquitto_sub -h localhost -t test -u xinux -P 123Start$ | ||
+ | ;2. Fenster | ||
+ | *mosquitto_pub -h localhost -t test -m "Hello World" -u xinux -P 123Start$ | ||
=Shelly-Gerät einrichten= | =Shelly-Gerät einrichten= |
Aktuelle Version vom 15. April 2024, 13:39 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
Hallo Welt
- 1. Fenster
- mosquitto_sub -h localhost -t test
- 2. Fenster
- mosquitto_pub -h localhost -t test -m "Hello World"
Sichere deinen Broker mit einem Passwort ab
- mosquitto_passwd -c /etc/mosquitto/passwd xinux
- Wir nehmen unser Standard Passwort
- nano /etc/mosquitto/conf.d/default.conf
log_type all
listener 1883
allow_anonymous false
password_file /etc/mosquitto/passwd
connection_messages true
- systemctl restart mosquitto
Hallo Welt Authentifiziert
- 1. Fenster
- mosquitto_sub -h localhost -t test -u xinux -P 123Start$
- 2. Fenster
- mosquitto_pub -h localhost -t test -m "Hello World" -u xinux -P 123Start$
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 (xinux)
- 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.