MQTT Projekt Umsetzung: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(Die Seite wurde neu angelegt: „=Grundaufbau= {{#drawio:mqtt-plan1}} =Connectivity= ==ssh== ;mqtt *ssh kit@mqtt ;sensor *ssh kit@sensor ;aktor *ssh kit@aktor ==http== ;sensor *http://sensor:…“) |
|||
| Zeile 1: | Zeile 1: | ||
| − | =Grundaufbau= | + | =Stufe 1= |
| + | ==Grundaufbau== | ||
{{#drawio:mqtt-plan1}} | {{#drawio:mqtt-plan1}} | ||
| − | =Connectivity= | + | ==Connectivity== |
| − | ==ssh== | + | ===ssh=== |
;mqtt | ;mqtt | ||
*ssh kit@mqtt | *ssh kit@mqtt | ||
| Zeile 10: | Zeile 11: | ||
;aktor | ;aktor | ||
*ssh kit@aktor | *ssh kit@aktor | ||
| − | ==http== | + | ===http=== |
;sensor | ;sensor | ||
*http://sensor:3000 | *http://sensor:3000 | ||
| Zeile 16: | Zeile 17: | ||
*http://aktor:3000 | *http://aktor:3000 | ||
| − | =Unverschlüsselt ohne Passwort= | + | ==Unverschlüsselt ohne Passwort== |
| − | ==mqtt== | + | ===mqtt=== |
;Konfiguration kopieren | ;Konfiguration kopieren | ||
*sudo cp -v /etc/mosquitto/conf.d/defaults.conf.unverschlüsselt /etc/mosquitto/conf.d/defaults.conf | *sudo cp -v /etc/mosquitto/conf.d/defaults.conf.unverschlüsselt /etc/mosquitto/conf.d/defaults.conf | ||
| Zeile 35: | Zeile 36: | ||
;Checken | ;Checken | ||
*systemctl status mosquitto.service | *systemctl status mosquitto.service | ||
| − | ==Aktor== | + | ===Aktor=== |
Der Aktor '''abonniert (subscribed)''' die Nachrichten und reagiert darauf. | Der Aktor '''abonniert (subscribed)''' die Nachrichten und reagiert darauf. | ||
*mosquitto_sub -h mqtt.lab.intern -t test | *mosquitto_sub -h mqtt.lab.intern -t test | ||
| − | ==Sensor== | + | ===Sensor=== |
Der Sensor '''sendet (published)''' die Nachrichten an das Topic. | Der Sensor '''sendet (published)''' die Nachrichten an das Topic. | ||
*mosquitto_pub -h mqtt.lab.intern -t test -m "Hello World" | *mosquitto_pub -h mqtt.lab.intern -t test -m "Hello World" | ||
*mosquitto_pub -h mqtt.lab.intern -t test -m "2 Nachricht" | *mosquitto_pub -h mqtt.lab.intern -t test -m "2 Nachricht" | ||
| − | ==kali== | + | ===kali=== |
Hier kann man auf Wireshark mitschneiden. Der Text ist Hexadezimal codiert. | Hier kann man auf Wireshark mitschneiden. Der Text ist Hexadezimal codiert. | ||
;Beispiel | ;Beispiel | ||
| Zeile 50: | Zeile 51: | ||
Schalte die Turbinen vom Atomkraftwerk aus | Schalte die Turbinen vom Atomkraftwerk aus | ||
| − | =Node.js Umsetzung= | + | ==Node.js Umsetzung== |
| − | ==Einführung in das Node.js-MQTT-Projekt== | + | ===Einführung in das Node.js-MQTT-Projekt=== |
Dieses Projekt dient zur steuerbaren MQTT-basierten Hausautomation mit Node.js und Mosquitto als MQTT-Broker. Es ermöglicht das Schalten und Überwachen von Geräten wie Lichtquellen und Türschlössern über eine Web-Oberfläche. | Dieses Projekt dient zur steuerbaren MQTT-basierten Hausautomation mit Node.js und Mosquitto als MQTT-Broker. Es ermöglicht das Schalten und Überwachen von Geräten wie Lichtquellen und Türschlössern über eine Web-Oberfläche. | ||
| − | ==Hauptbestandteile des Projekts== | + | ===Hauptbestandteile des Projekts=== |
Mosquitto MQTT-Broker | Mosquitto MQTT-Broker | ||
| − | == | + | ====Verwaltung der |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
Version vom 20. Juni 2026, 07:04 Uhr
Stufe 1
Grundaufbau
Connectivity
ssh
- mqtt
- ssh kit@mqtt
- sensor
- ssh kit@sensor
- aktor
- ssh kit@aktor
http
- sensor
- aktor
Unverschlüsselt ohne Passwort
mqtt
- Konfiguration kopieren
- sudo cp -v /etc/mosquitto/conf.d/defaults.conf.unverschlüsselt /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 true # Aktiviert alle Log-Typen für eine detaillierte Protokollierung. log_type all # Zeigt Verbindungs- und Trennungsmeldungen von Clients im Log an. connection_messages true
- Restarten
- sudo 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 -t test
Sensor
Der Sensor sendet (published) die Nachrichten an das Topic.
- mosquitto_pub -h mqtt.lab.intern -t test -m "Hello World"
- mosquitto_pub -h mqtt.lab.intern -t test -m "2 Nachricht"
kali
Hier kann man auf Wireshark mitschneiden. Der Text ist Hexadezimal codiert.
- Beispiel
- 536368616c7465206469652054757262696e656e20766f6d2041746f6d6b726166747765726b20617573
- Die kann man mit Follow TCP Stream oder auf der Konsole decodieren.
- echo -n "536368616c7465206469652054757262696e656e20766f6d2041746f6d6b726166747765726b20617573" | xxd -r -p
Schalte die Turbinen vom Atomkraftwerk aus
Node.js Umsetzung
Einführung in das Node.js-MQTT-Projekt
Dieses Projekt dient zur steuerbaren MQTT-basierten Hausautomation mit Node.js und Mosquitto als MQTT-Broker. Es ermöglicht das Schalten und Überwachen von Geräten wie Lichtquellen und Türschlössern über eine Web-Oberfläche.
Hauptbestandteile des Projekts
Mosquitto MQTT-Broker ====Verwaltung der
