MQTT Projekt II.: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 1: Zeile 1:
 
=Grundaufbau=
 
=Grundaufbau=
 
{{#drawio:mqtt-plan1}}
 
{{#drawio:mqtt-plan1}}
=Connectivity=
 
==ssh==
 
;mqtt
 
*ssh xinux@opnsense -p 9822
 
;sensor
 
*ssh xinux@opnsense -p 9823
 
;aktor
 
*ssh xinux@opnsense -p 9824
 
==http==
 
;sensor
 
*http://opnsense:9723
 
;aktor
 
*http://opnsense:9724
 
 
 
=Unverschlüsselt mit Passwort=
 
=Unverschlüsselt mit Passwort=
 
==mqtt==
 
==mqtt==
Zeile 68: Zeile 54:
 
  MQTT_PASS=123Start$
 
  MQTT_PASS=123Start$
 
*systemctl restart control-switch.service  
 
*systemctl restart control-switch.service  
*http://opnsense:9723/
+
*http://sensor:3000/
 
;aktor
 
;aktor
 
*cat /usr/local/control/.env
 
*cat /usr/local/control/.env
Zeile 76: Zeile 62:
 
  MQTT_PASS=123Start$
 
  MQTT_PASS=123Start$
 
*systemctl restart control.service
 
*systemctl restart control.service
*http://opnsense:9724/
+
*http://aktor:3000/

Aktuelle Version vom 19. November 2025, 14:49 Uhr

Grundaufbau

Unverschlüsselt mit Passwort

mqtt

Benutzer anlegen
  • user: xinux
  • pass: 123Start$
  • mosquitto_passwd -c /etc/mosquitto/passwd xinux
Konfiguration kopieren
  • cp /etc/mosquitto/conf.d/defaults.conf.mit-password /etc/mosquitto/conf.d/defaults.conf
Konfigurationsdatei
# Öffnet den MQTT-Broker auf Port 1883 und bindet ihn an alle verfügbaren Netzwerkinterfaces.
listener 1883 0.0.0.0

# Erlaubt anonyme Verbindungen, d. h. ohne Benutzername und Passwort.
allow_anonymous false

# Aktiviert alle Log-Typen für eine detaillierte Protokollierung.
log_type all

# Zeigt Verbindungs- und Trennungsmeldungen von Clients im Log an.
connection_messages true

#Hier gegen wird authentifiziert.
password_file /etc/mosquitto/passwd

Restarten
  • systemctl restart mosquitto.service
Checken
  • systemctl status mosquitto.service

Aktor

Der Aktor abonniert (subscribed) die Nachrichten und reagiert darauf.

  • mosquitto_sub -h mqtt.lab.intern -u xinux -P 123Start$ -t test

Sensor

Der Sensor sendet (published) die Nachrichten an das Topic.

  • mosquitto_pub -h mqtt.lab.intern -u xinux -P 123Start$ -t test -m "Hello World"
  • mosquitto_pub -h mqtt.lab.intern -u xinux -P 123Start$ -t test -m "2 Nachricht"

kali

Hier kann man auf Wireshark mitschneiden. Der Text ist Hexadezimal codiert.

Schaut mal was man sieht.

Anpassen von node.js

sensor
  • cat /usr/local/control-switch/.env
MQTT_HOST=mqtt.lab.intern
MQTT_PORT=1883
MQTT_USER=xinux
MQTT_PASS=123Start$
aktor
  • cat /usr/local/control/.env
MQTT_HOST=mqtt.lab.intern
MQTT_PORT=1883
MQTT_USER=xinux
MQTT_PASS=123Start$