Image by Gordon Johnson from Pixabay
In diesem Projekt wird es darum gehen, wie man einfache Informationen (Zahlen, Texte) über das Internet mit anderen Rechnern austauschen kann. Dazu werden wir eine Technik verwenden, die z. B. auch für die Automation von Häusern eingesetzt wird (siehe auch das Projekt Smarthome dazu).
MQTT steht für Message Queuing Telemetry Transport und bezeichnet ein Verfahren, über ein Netzwerk, z. B. das Internet, kurze Informationen wie Texte, Steuer- oder Messdaten zu versenden.
Dazu benötigt man einen Server, auch MQTT-Broker genannt, der die gesendeten Daten entgegennimmt
und an die richtigen Endgeräte (Clients) weiterleitet.
Das besondere bei MQTT ist, dass ein Empfänger zunächst ein Thema abonnieren muss
(engl. subscribe to topic). Man kann sich das vorstellen wie bei Twitter, bei dem man einer Person folgt und automatisch alle Tweets
dieser Person erhält.
Sendet ein Rechner nun eine Nachricht zu diesem Thema an den MQTT-Broker (publish message to topic), so leitet dieser
die Nachricht an alle Clients weiter, die dieses Thema abonniert haben.
Man kann auch wieder das Empfangen von Nachrichten zu einem Themen deaktivieren (unsubscribe to topic).
Die folgende Animation zeigt eine mögliche Kommunikation zwischen drei Clients und einem MQTT-Broker (Server).
In Snap! verwenden wir ein Projekt, dass bereits alle wichtigen Blöcke dafür beinhaltet.
Vorgang | Block in Snap! | Anmelden am Server |
---|---|
Abonnieren eines Themas mit Ausgabe über die Sprechblase des Sprites | |
Abonnieren eines Themas mit Senden einer Nachricht an alle Sprites |
Die Nachricht kann von jedem Sprite mit dem folgenen Block verarbeitet werden: |
Abonnieren eines Themas mit Aufrufen des Blocks A bei einer Nachricht. |
Dieser Block muss für die eigenen Bedürfnisse angepasst werden: |
Senden einer Nachricht zu einem Thema | |
Kündigen eines abonnierten Themas | |
Trennen vom Server |
Du kannst die gezeigte Kommunikation selbst ausprobieren. Im Folgenden siehst du für die drei Clients A, B und C jeweils ein eigenes Programmfenster.
Die Datenübertragung mit Hilfe des Internets ist in den letzten Jahren massiv gestiegen.
Dabei nimmt nicht nur die Menge der Daten zu. Mittlerweile können kleinste und günstige
Geräte über das Internet kommunizieren, wie z. B. Haushaltsgeräte, Sprachassistenzsysteme, Fitnesstracker, Smartwatches, etc.
Dies wird auch als Internet der Dinge (engl. Internet of Things - IoT) bezeichnet.
Für den Benutzer bedeutet das häufig einen Gewinn an Komfort und eine Erleichterung bei der Bewältigung
täglicher Aufgaben. Gleichzeitig besteht aber auch die Gefahr, dass persönliche Daten durch Hacker oder
durch technische Fehler ungewollt an Dritte gelangen oder das über das Internet eigene Geräte
manipuliert werden.