{"id":386563,"date":"2022-01-11T10:55:24","date_gmt":"2022-01-11T09:55:24","guid":{"rendered":"https:\/\/iotworlds.com\/die-bedeutung-von-mqtt-iot-geraete-mit-webanwendungen-zu-verbinden\/"},"modified":"2022-01-11T10:55:31","modified_gmt":"2022-01-11T09:55:31","slug":"die-bedeutung-von-mqtt-iot-geraete-mit-webanwendungen-zu-verbinden","status":"publish","type":"post","link":"https:\/\/iotworlds.com\/de\/die-bedeutung-von-mqtt-iot-geraete-mit-webanwendungen-zu-verbinden\/","title":{"rendered":"Die Bedeutung von MQTT, IoT-Ger\u00e4te mit Webanwendungen zu verbinden"},"content":{"rendered":"\n<p>Bei all den verf\u00fcgbaren Messaging-Protokollen kann es schwierig sein, nur eines auszuw\u00e4hlen. Und bei so vielen Optionen ist es allzu leicht, sich in einer Situation wiederzufinden, in der Sie eine ausprobieren, die f\u00fcr Sie oder Ihr Team nicht funktioniert. Mqtt ist ein leichtgewichtiges Protokoll, das nur Clients und Broker erfordert, daher ist es perfekt f\u00fcr Situationen, in denen Sie keinen \u00c4rger haben m\u00f6chten. In diesem Artikel wird untersucht, wozu dieses Protokoll f\u00e4hig ist und wie es diese Dinge erreicht!<\/p>\n\n<h2 class=\"wp-block-heading\">Was ist MQTT?<\/h2>\n\n<p>Mqtt ist ein leichtgewichtiges Messaging-Protokoll, das nur Clients und Broker ben\u00f6tigt. Es ist perfekt f\u00fcr Situationen, in denen Sie keine Hektik oder Aufregung w\u00fcnschen, weil es so wenig von Ihnen verlangt.<\/p>\n\n<h2 class=\"wp-block-heading\">Was ist ein Messaging-Protokoll?<\/h2>\n\n<p>Ein Messaging-Protokoll ist ein Satz von Regeln, die verwendet werden, um Anwendungen auf verschiedenen Computern die Kommunikation zu erm\u00f6glichen. Mqtt wurde speziell f\u00fcr das Internet der Dinge (IoT) entwickelt. Bei einer so gro\u00dfen Auswahl an anderen verf\u00fcgbaren Protokollen mag es seltsam erscheinen, f\u00fcr diesen Zweck ein weiteres zu erstellen. Da jedoch so viele Ger\u00e4te und Dienste auf diesem Feld basieren, werden wir im Laufe der Zeit wahrscheinlich immer mehr davon sehen!<\/p>\n\n<h2 class=\"wp-block-heading\">Was ist so toll an MQTT?<\/h2>\n\n<p>Mqtt ist wirklich einzigartig, weil es Ihnen so viel mit so gut wie nichts bietet. Sie ben\u00f6tigen keinen dedizierten Server oder Forwarder, wie es bei vielen anderen Protokollen der Fall ist, was auch keine Infrastrukturprobleme bedeutet. Alles, was Sie brauchen, ist ein bereits vorhandener Broker und eine beliebige Hardware mit Internetanschluss. Dank der Qualit\u00e4t seiner Arbeit und seiner Leichtigkeit wird dieses Protokoll immer beliebter. Da es Open Source und kostenlos zu verwenden ist, k\u00f6nnen Sie ganz einfach loslegen, ohne Geb\u00fchren oder Abonnementkosten bezahlen zu m\u00fcssen. Und mit der in die MQTT-Bibliothek f\u00fcr Arduino integrierten Broker-Unterst\u00fctzung sind wir gespannt, welche gro\u00dfartigen Produkte auf uns zukommen werden.<\/p>\n\n<h2 class=\"wp-block-heading\">Was sind die Funktionen von MQTT?<\/h2>\n\n<p>Mqtt ist eines der besten Beispiele f\u00fcr ein einfaches, leichtgewichtiges Messaging-Protokoll, das Sie finden werden. Sein Hauptverkaufsargument ist die Benutzerfreundlichkeit \u2013 jedes Ger\u00e4t mit Internetverbindung kann die Vorteile dieses Protokolls nutzen. Aber dieses Protokoll bietet mehr als nur Benutzerfreundlichkeit. Lassen Sie uns herausfinden, was Sie sonst noch davon erwarten k\u00f6nnen!<\/p>\n\n<h2 class=\"wp-block-heading\">Beispiele f\u00fcr die Verwendung von MQTT<\/h2>\n\n<p>A. IoT-Ger\u00e4te in einer Fabrik zur Steuerung von Pumpen und Ventilen<\/p>\n\n<p>B. Eine Wetterstation mit einem Sensor, der an eine Datenbank in der Cloud berichtet<\/p>\n\n<p>C. Ein Alarmsystem, das meldet, wenn sich T\u00fcren \u00f6ffnen oder schlie\u00dfen<\/p>\n\n<p>D. Einige Lichter in einem B\u00fcro gehen an, wenn eine Bewegung erkannt wird<\/p>\n\n<h2 class=\"wp-block-heading\">1. Was ist MQTT und welche Funktionen bietet es?<\/h2>\n\n<p>MQTT steht f\u00fcr Message Queuing Telemetry Transport, was vielleicht kompliziert klingt, aber einfach bedeutet, dass IoT-Ger\u00e4te \u00fcber das Internet miteinander kommunizieren k\u00f6nnen. Es l\u00e4uft auf TCP\/IP wie HTTP, SMTP usw., aber im Gegensatz zu HTTP, das f\u00fcr die Kommunikation \u00fcber das Internet dient, wird MQTT bei Ger\u00e4ten verwendet, die \u00fcber ein Netzwerk, normalerweise ein IP-Netzwerk, miteinander verbunden sind. Es wird am h\u00e4ufigsten im IoT mit eingebetteten Ger\u00e4ten mit geringem Stromverbrauch verwendet, die sich mit Dingen wie Raspberry Pi oder Arduino-Boards verbinden.<\/p>\n\n<h2 class=\"wp-block-heading\">2. Wie funktioniert es?<\/h2>\n\n<p>Es funktioniert ein bisschen wie E-Mail. Ein IoT-Ger\u00e4t ver\u00f6ffentlicht eine Nachricht zu einem Thema. Es ist, als w\u00fcrde man jemandem eine E-Mail schicken, aber anstelle einer Person ist es ein Themenname. Die Nachricht kann bis zu 2 KB Daten enthalten und wird als Paket gesendet.<\/p>\n\n<p>Ein zweiter MQTT-Teilnehmer lauscht auf Pakete mit seiner eigenen eindeutigen ID oder Client-ID. Es macht dann etwas mit der Nachricht. Es ist, als ob jemand, der eine E-Mail erh\u00e4lt, etwas damit macht; gelesen, woanders hingeschickt usw.<\/p>\n\n<p>MQTT hat ein Quality of Service (QoS) Level, was bedeutet, dass es verschiedene Priorit\u00e4tslevel f\u00fcr Nachrichten geben kann. Die QoS-Stufe wird vom Client eingestellt und jedes gesendete Paket hat diese Priorit\u00e4tsstufe.<\/p>\n\n<h2 class=\"wp-block-heading\">3. Vorteile von MQTT<\/h2>\n\n<p>Es ist leicht, l\u00e4uft auf TCP\/IP, hat weniger Overhead als HTTP<\/p>\n\n<p>Nachrichten werden in einer Warteschlange gespeichert, bis sie an ihr Zielger\u00e4t gesendet werden k\u00f6nnen<\/p>\n\n<p>Es verf\u00fcgt \u00fcber eine integrierte Unterst\u00fctzung f\u00fcr die Wiederverbindung<\/p>\n\n<p>Jeder Client kann seine eigene Sicherheitskonfiguration f\u00fcr die Authentifizierung und Verschl\u00fcsselung haben<\/p>\n\n<p>QoS erm\u00f6glicht es den verschiedenen Nachrichtentypen, unterschiedliche Priorit\u00e4tsstufen zu haben<\/p>\n\n<h2 class=\"wp-block-heading\">4. Anwendungen von MQTT<\/h2>\n\n<p>Einige Beispiele f\u00fcr den Einsatz in der realen Welt sind die M2M Alliance, ein Projekt, das darauf abzielt, &#8222;Dinge&#8220; mit einer sicheren Plattform f\u00fcr den Datentransfer zwischen Ger\u00e4ten zu verbinden. Ein weiterer Anwendungsfall ist das CEPH-Projekt. Dies ist ein Cloud-Speichersystem, das Dateien gleichzeitig speichern und f\u00fcr mehrere Benutzer freigeben kann. Es verwendet MQTT, um den verteilten Zugriff durch Verschl\u00fcsselung von Daten zu sichern, wodurch sie zwischen IoT-Ger\u00e4ten \u00fcber verschiedene Gateways \u00fcbertragen werden k\u00f6nnen, ohne sich um die Datensicherheit k\u00fcmmern zu m\u00fcssen.<\/p>\n\n<h2 class=\"wp-block-heading\">5. Erste Schritte mit MQTT<\/h2>\n\n<p>Das erste, was man braucht, ist ein MQTT-Client; Dies ist die Anwendung, die Nachrichten sendet und empf\u00e4ngt. Die Raspberry Pi Foundation bietet eine Anleitung f\u00fcr die ersten Schritte mit MQTT auf Ihrem Pi-Ger\u00e4t. Es gibt auch andere Anleitungen, wie diese von Hackster, die Ihnen den Code zur Ausf\u00fchrung in der Programmiersprache Python geben.<\/p>\n\n<h2 class=\"wp-block-heading\">Die besten MQTT-Onlinekurse<\/h2>\n\n<ol class=\"wp-block-list\"><li><strong><a href=\"https:\/\/click.linksynergy.com\/deeplink?id=kJzl6XhnZWo&amp;mid=39197&amp;murl=https%3A%2F%2Fwww.udemy.com%2Fcourse%2Fmastering-mqtt%2F\" target=\"_blank\" rel=\"noreferrer noopener\">MQTT beherrschen<\/a><\/strong><\/li><li><strong><a href=\"https:\/\/click.linksynergy.com\/deeplink?id=kJzl6XhnZWo&amp;mid=39197&amp;murl=https%3A%2F%2Fwww.udemy.com%2Fcourse%2Fmqtt-protocol%2F\" target=\"_blank\" rel=\"noreferrer noopener\">Master-MQTT-Protokoll<\/a><\/strong><\/li><li><strong><a href=\"https:\/\/click.linksynergy.com\/deeplink?id=kJzl6XhnZWo&amp;mid=39197&amp;murl=https%3A%2F%2Fwww.udemy.com%2Fcourse%2Fdevelop-mqtt-client-android-app%2F\" target=\"_blank\" rel=\"noreferrer noopener\">MQTT-Client-Android-App entwickeln<\/a><\/strong><\/li><li><a href=\"https:\/\/click.linksynergy.com\/deeplink?id=kJzl6XhnZWo&amp;mid=39197&amp;murl=https%3A%2F%2Fwww.udemy.com%2Fcourse%2Fmqtt-masterclass%2F\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>MQTT-Meisterklasse<\/strong><\/a><\/li><li><a href=\"https:\/\/click.linksynergy.com\/deeplink?id=kJzl6XhnZWo&amp;mid=39197&amp;murl=https%3A%2F%2Fwww.udemy.com%2Fcourse%2Fmastering-mqtt-protocol%2F\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Beherrschen des MQTT-Protokolls: Ein Leitfaden f\u00fcr Anf\u00e4nger bis Fortgeschrittene<\/strong><\/a><\/li><li><a href=\"https:\/\/click.linksynergy.com\/deeplink?id=kJzl6XhnZWo&amp;mid=39197&amp;murl=https%3A%2F%2Fwww.udemy.com%2Fcourse%2Fiot-mqtt-esp8266%2F\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>IoT: MQTT mit Adafruit, App Inventor und ESP8266<\/strong><\/a><\/li><li><strong><a href=\"https:\/\/click.linksynergy.com\/deeplink?id=kJzl6XhnZWo&amp;mid=39197&amp;murl=https%3A%2F%2Fwww.udemy.com%2Fcourse%2Fmqtt-nodemcu-esp8266-node-red-android%2F\" target=\"_blank\" rel=\"noreferrer noopener\">MQTT Nodemcu (ESP8266) mit Nodered, Wifi und Bluetooth<\/a><\/strong><\/li><\/ol>\n<h2 class=\"wp-block-heading\">TLS vs. SSL zum Aufbau eines MQTT-Brokers<\/h2>\n\n<h3 class=\"wp-block-heading\">Vorteile der Verwendung von TLS:<\/h3>\n\n<p>-Sicherheit: TLS bietet eine sichere Verbindung zwischen dem Client und dem Broker. Dies tr\u00e4gt zum Schutz vor Man-in-the-Middle-Angriffen und Abh\u00f6ren bei.<\/p>\n\n<p>-Authentifizierung: TLS bietet eine Authentifizierung des Brokers und des Clients und tr\u00e4gt so dazu bei, dass nur autorisierte Clients eine Verbindung zum Broker herstellen k\u00f6nnen.<\/p>\n\n<p>-Verschl\u00fcsselung: TLS bietet eine Verschl\u00fcsselung der Daten zwischen dem Kunden und dem Broker und tr\u00e4gt so dazu bei, Informationen vor dem Einsehen durch Unbefugte zu sch\u00fctzen.<\/p>\n\n<h3 class=\"wp-block-heading\">Nachteile der Verwendung von TLS:<\/h3>\n\n<p>-Leistung: TLS kann der Kommunikation Overhead hinzuf\u00fcgen, was die Leistung reduzieren kann.<\/p>\n\n<p>-Zertifikate: Um TLS nutzen zu k\u00f6nnen, ben\u00f6tigen Sie sowohl f\u00fcr den Client als auch f\u00fcr den Broker Zertifikate. Diese Zertifikate k\u00f6nnen schwer zu erhalten sein und die Verwendung kann teuer sein, was die Kosten f\u00fcr die Verwendung von TLS erh\u00f6hen kann.<\/p>\n\n<h3 class=\"wp-block-heading\">Vorteile der Verwendung von SSL:<\/h3>\n\n<p>-Sicherheit: SSL bietet eine sichere Verbindung zwischen dem Client und dem Broker, genau wie TLS. Es sch\u00fctzt auch vor Man-in-the-Middle-Angriffen und Abh\u00f6ren.<\/p>\n\n<p>-Zertifikate: Da SSL auf TLS aufbaut, k\u00f6nnen Sie dieselben Zertifikate zum Verschl\u00fcsseln des Datenverkehrs verwenden.<\/p>\n\n<h3 class=\"wp-block-heading\">Nachteile der Verwendung von SSL:<\/h3>\n\n<p>-Leistung: Die Verschl\u00fcsselung zwischen Client und Broker erh\u00f6ht den Overhead bei der Kommunikation, was die Leistung verringert.<\/p>\n\n<p>-Speichernutzung: Das SSL-Protokoll verwendet mehr Speicher als andere Protokolle, da es eine Verschl\u00fcsselungs-\/Entschl\u00fcsselungssitzung mit dem Broker aufrechterh\u00e4lt.<\/p>\n\n<p>-Versionsprobleme: SSL ist ein \u00e4lteres Protokoll und unterst\u00fctzt einige der von TLS bereitgestellten Funktionen nicht (zB neuere Verschl\u00fcsselungen).<\/p>\n\n<p>Wie Sie sehen, bieten sowohl TLS als auch SSL Sicherheit, Authentifizierung und Verschl\u00fcsselung f\u00fcr die Kommunikation zwischen Clients und Brokern. sie tun dies jedoch auf etwas andere Weise. Es gibt keinen eindeutigen Gewinner bei der Entscheidung, ob Sie TLS oder SSL f\u00fcr Ihren MQTT-Broker verwenden sollten, da die Entscheidung davon abh\u00e4ngt, was Sie von Ihrer Infrastruktur ben\u00f6tigen und wie viel Zeit\/Geld Ihnen zur Verf\u00fcgung steht.<\/p>\n\n<p>Zusammenfassend w\u00fcrde ich sagen, dass es je nach Projektbedarf eine richtige Antwort gibt. In diesem Fall ist es besser, TLS zu verwenden, da es mehr Vorteile bietet als SSL.<\/p>\n\n<h2 class=\"wp-block-heading\">Die 5 wichtigsten Gr\u00fcnde f\u00fcr die Verwendung des MQTT-Protokolls in Ihren IoT-Projekten<\/h2>\n\n<p>MQTT ist ein Machine-to-Machine (M2M) Messaging-Protokoll, das f\u00fcr ressourcenbeschr\u00e4nkte Ger\u00e4te entwickelt wurde und die Ger\u00e4te mit der Cloud verbindet.<\/p>\n\n<p>1. Es ist leichtgewichtig und einfach zu verwenden: MQTT ist ein Publish\/Subscribe-Messaging-Protokoll, das so konzipiert ist, dass es leichtgewichtig und einfach zu verwenden ist.<\/p>\n\n<p>2. Es hat einen geringen Platzbedarf: MQTT verwendet etwa 1\/10 der Bandbreite von HTTP, was es ideal f\u00fcr IoT-Anwendungen mit begrenzten Netzwerkressourcen macht.<\/p>\n\n<p>3. Es unterst\u00fctzt QoS: MQTT unterst\u00fctzt Quality of Service (QoS), die die Zustellung von Nachrichten mit der gew\u00fcnschten Latenz oder Qualit\u00e4t garantiert.<\/p>\n\n<p>4. Es kann in jedem Netzwerk ausgef\u00fchrt werden: MQTT ist ein plattform\u00fcbergreifendes Protokoll, das in WiFi-, Bluetooth Low Energy (BLE)- oder 2G\/3G-Mobilfunknetzen ausgef\u00fchrt werden kann.<\/p>\n\n<p>5. Es stehen mehrere Clientbibliotheken in vielen Programmiersprachen zur Verf\u00fcgung: Es gibt Clientbibliotheken f\u00fcr C, C++, JavaScript, Arduino IDE, Python und Java.<\/p>\n\n<h2 class=\"wp-block-heading\">Wie richte ich einen MQTT-Broker mit einem Docker-Container auf Ihrem PC oder einem VPS-Server ein?<\/h2>\n\n<p>MQTT ist ein Machine-to-Machine (M2M)\/\u201eIoT\u201c-Messaging-Protokoll, das als extrem leichtgewichtiger Publish\/Subscribe-Messaging-Transport konzipiert ist. Es ist n\u00fctzlich f\u00fcr Verbindungen mit entfernten Standorten, bei denen ein kleiner Code-Footprint erforderlich ist und\/oder die Netzwerkbandbreite knapp ist.<\/p>\n\n<p>In diesem Artikel zeigen wir Ihnen, wie Sie einen MQTT-Broker mit einem Docker-Container auf Ihrem PC oder einem VPS-Server einrichten.<\/p>\n\n<p>Docker ist eine Containerisierungs-Engine, die Ihnen hilft, Ihre Anwendungen mit all ihren Abh\u00e4ngigkeiten einfach bereitzustellen. Es bietet eine konsistente Umgebung auf jedem Docker-Host, spart Zeit und verbessert die Portabilit\u00e4t Ihres Codes zwischen verschiedenen Linux-Distributionen. Wenn beispielsweise eine Anwendung von einer gro\u00dfen Anzahl von Systembibliotheken oder einigen seltenen Bibliotheksversionen abh\u00e4ngt und daher nicht leicht portierbar ist, k\u00f6nnen Sie alles einfach zusammenfassen und als Docker-Container bereitstellen.<\/p>\n\n<h3 class=\"wp-block-heading\">1) Docker f\u00fcr Windows\/Mac installieren<\/h3>\n\n<p>Docker ist f\u00fcr Benutzer von Microsoft Windows und Mac OS X verf\u00fcgbar. Die entsprechende Version k\u00f6nnen Sie hier herunterladen: https:\/\/docs.docker.com\/docker-for-windows\/install\/.<\/p>\n\n<h3 class=\"wp-block-heading\">2) Docker-compose auf Ihrem Host installieren<\/h3>\n\n<p>Um unseren hausgemachten MQTT-Broker einfach bereitzustellen, verwenden wir das Docker-Compose-Tool. Sie k\u00f6nnen Docker-Anwendungen mit mehreren Containern mithilfe einer einfachen YAML-Datei definieren und ausf\u00fchren. Weitere Informationen zu docker-compose finden Sie hier: https:\/\/docs.docker.com\/compose\/.<\/p>\n\n<p>Sie k\u00f6nnen das docker-compose-Tool hier herunterladen: https:\/\/github.com\/docker\/compose\/releases\/. Sobald dies erledigt ist, sollten Sie in der Lage sein, den Befehl &#8218;docker-compose&#8216; in Ihrem Terminal auszuf\u00fchren und nach seiner Version zu suchen oder einen seiner Unterbefehle zu verwenden.<\/p>\n\n<h3 class=\"wp-block-heading\">Grundlegende Docker-Terminologie f\u00fcr diesen Artikel:<\/h3>\n\n<p>1) \u201eDocker-Container\u201c ist der Prozess, der im Hintergrund ausgef\u00fchrt wird, wenn Sie ein Image mit dem Befehl docker run ausf\u00fchren. Eine laufende Instanz eines Images wird in Bezug auf ihre Erstellung beim Docker-Build als &#8222;Container&#8220; bezeichnet.<\/p>\n\n<p>2) \u201eDocker-Image\u201c ist eine schreibgesch\u00fctzte Vorlage mit Anweisungen zum Erstellen eines Docker-Containers. Es besteht aus einer Reihe von Dateisystemebenen, die verschiedene Zust\u00e4nde des endg\u00fcltigen Bildes darstellen, das wir erstellen m\u00f6chten<\/p>\n\n<p>3) Der Befehl copy at docker build erstellt ein Image, indem er seine Beschreibung aus einer Dockerfile im aktuellen Arbeitsverzeichnis liest und dann den entsprechenden Befehl in einer neuen Ebene \u00fcber dem aktuellen Image ausf\u00fchrt.<\/p>\n\n<p>4) \u201eVolumes\u201c sind Ordner, mit denen Sie lokale Ordner auf Ihrem Host-Rechner Verzeichnissen in Ihren Docker-Containern zuordnen k\u00f6nnen. Dies ist n\u00fctzlich, wenn Sie beispielsweise einige Daten zu Ihren Container- oder Konfigurationsdateien speichern m\u00f6chten. Sie k\u00f6nnen ein Volume erstellen, indem Sie den Pfad des Ordners von Ihrem Hostsystem mit docker run angeben.<\/p>\n\n<p>Die YAML-Datei ist eine Konfigurationsdatei, die Informationen zum Verbinden mit einer externen Datenbank, MQTT-Server usw. enth\u00e4lt, sowie Informationen dar\u00fcber, wie und welche Container erstellt werden sollen. Wir werden im n\u00e4chsten Abschnitt eine YAML-Datei erstellen, um unseren Broker zu konfigurieren.<\/p>\n\n<h3 class=\"wp-block-heading\">3) Erstellen der YAML-Datei zum Konfigurieren Ihres MQTT-Brokers<\/h3>\n\n<p>YAML-Dateien bestehen normalerweise aus mehreren Schl\u00fcssel-Wert-Paaren, die durch Doppelpunkte (&#8222;:&#8220;) verbunden sind. Sie k\u00f6nnen hier mehr \u00fcber YAML erfahren: https:\/\/en.wikipedia.org\/wiki\/YAML#Syntax.<\/p>\n\n<p>In unserem Fall erstellen wir eine YAML-Datei, um den MQTT-Broker wie folgt zu konfigurieren:<\/p>\n\n<p>Version: &#8222;3&#8220;<\/p>\n\n<p>In diesem Abschnitt des YAML definieren wir den Namen des Containers als \u201ehomer-mqtt\u201c und geben das Image an, das verwendet werden soll, um es zu erstellen. In diesem Fall w\u00e4hlen wir das Bild \u201edavidtgoldblatt\/homer-mqtt\u201c von Docker Hub hier aus: https:\/\/hub.docker.com\/_\/homer-mqtt\/.<\/p>\n\n<p>In unserer YAML-Datei deklarieren wir auch einige B\u00e4nde wie folgt:<\/p>\n\n<p>B\u00e4nde:<\/p>\n\n<p>&#8211; \/var\/run\/docker.sock:\/var\/run\/docker.sock<\/p>\n\n<p>Diese Volumes erm\u00f6glichen uns einen dauerhaften Speicher f\u00fcr den Docker-Container, sodass unsere Einstellungen \u00fcber Server-Neustarts und -Abst\u00fcrze hinweg bestehen bleiben. Weitere Informationen zu Volumes finden Sie hier: https:\/\/docs.docker.com\/engine\/userguide\/dockervolumes\/.<\/p>\n\n<p>Um unsere Datenbankdetails anzugeben, f\u00fcgen wir einen Abschnitt \u201edb_addresses\u201c mit den folgenden Eintr\u00e4gen hinzu:<\/p>\n\n<p>db_adressen:<\/p>\n\n<p>&#8211; &#8222;host=172.17.0.2 port=3306 user=homer dbname=homer&#8220;<\/p>\n\n<p>Im obigen Beispiel geben wir einen Host und einen Port f\u00fcr unsere Datenbankinstanz an. Beachten Sie, dass Sie bei der Angabe eines Benutzers ein \u201e@\u201c-Symbol vor dem Benutzernamen einf\u00fcgen m\u00fcssen. Dies liegt daran, dass der Benutzername in Unix-Systemen sowohl aus Buchstaben als auch aus Zahlen besteht. Wenn Sie das weglassen, beschwert sich Docker mit Fehlern wie diesen:<\/p>\n\n<p>Sonderzeichen wie @ oder * m\u00fcssen maskiert werden<\/p>\n\n<p>Um unsere Datenbankanmeldeinformationen anzugeben, f\u00fcgen wir einen Abschnitt \u201edatabase_password\u201c wie folgt hinzu:<\/p>\n\n<p>database_password: &#8222;homerun1&#8220;<\/p>\n\n<p>Im obigen Beispiel sollten Sie das Passwort Ihrer Wahl verwenden. Falls Sie zum ersten Mal ein Datenbankpasswort einrichten m\u00f6chten, finden Sie hier unsere Anleitung zum Erstellen eines neuen Root-Benutzers ohne Passwort: https:\/\/homer-mqtt.readthedocs.io\/en\/latest\/configure_database_and_create_new_root_user .html<\/p>\n\n<p>Um unsere MQTT-Serverdetails anzugeben, f\u00fcgen wir einen Abschnitt \u201emqtt_server\u201c mit den folgenden Eintr\u00e4gen hinzu:<\/p>\n\n<p>mqtt_server:<\/p>\n\n<p>&#8211; Name: mqtt-Host: 172.17.0.1 Port: 8883 Benutzername: &#8222;homerun&#8220; Passwort: &#8222;homerun1&#8220;<\/p>\n\n<p>Im obigen Beispiel f\u00fchren wir den Broker auf Port 8883 aus und verwenden den Benutzernamen &#8222;homerun&#8220; und das Passwort &#8222;homerun1&#8220;, die wir in unserer Datenbank erstellt haben.<\/p>\n\n<h3 class=\"wp-block-heading\">4) F\u00fchren Sie Ihren MQTT-Broker mit Docker aus<\/h3>\n\n<p>In diesem Schritt erstellen wir einen Docker-Container aus unserer YAML-Datei und f\u00fchren ihn aus.<\/p>\n\n<p>Wechseln Sie dazu in das Verzeichnis, in dem Sie die YAML-Datei haben, und f\u00fchren Sie \u201edocker-compose up\u201c wie folgt aus:<\/p>\n\n<p>$ docker-compose up<\/p>\n\n<p>Dieser Befehl erstellt einen neuen Docker-Container basierend auf der Beschreibung in Ihrer YAML-Datei und startet ihn.<\/p>\n\n<p>Wenn Sie dies im Hintergrund starten m\u00f6chten, verwenden Sie stattdessen \u201edocker-compose up -d\u201c. Wenn Sie die Protokolle Ihres Docker-Containers drucken m\u00f6chten, f\u00fchren Sie \u201edocker-compose logs mqttclient\u201c wie folgt aus:<\/p>\n\n<p>$ docker-compose logs mqttclient<\/p>\n\n<p>Sie k\u00f6nnen den Docker-Container auch live in Echtzeit sehen, indem Sie \u201edocker-compose ps\u201c wie folgt verwenden:<\/p>\n\n<p>$ docker-compose ps<\/p>\n\n<h3 class=\"wp-block-heading\">5) Ausf\u00fchren Ihres MQTT-Clients mit Docker<\/h3>\n\n<p>In diesem Schritt erstellen wir einen Docker-Container aus unserer YAML-Datei und f\u00fchren ihn aus.<\/p>\n\n<p>Wechseln Sie dazu in das Verzeichnis, in dem Sie die YAML-Datei haben, und f\u00fchren Sie \u201edocker-compose up\u201c wie folgt aus:<\/p>\n\n<p>$ docker-compose up<\/p>\n\n<p>Dieser Befehl erstellt einen neuen Docker-Container basierend auf der Beschreibung in Ihrer YAML-Datei und startet ihn.<\/p>\n\n<p>Wenn Sie dies im Hintergrund starten m\u00f6chten, verwenden Sie stattdessen \u201edocker-compose up -d\u201c. Sie k\u00f6nnen den Docker-Container auch live in Echtzeit sehen, indem Sie \u201edocker-compose ps\u201c wie folgt verwenden:<\/p>\n\n<p>$ docker-compose ps<\/p>\n\n<h3 class=\"wp-block-heading\">6) Verwenden Ihres MQTT-Clients mit Docker<\/h3>\n\n<p>Nachdem unsere YAML-Datei eingerichtet ist, k\u00f6nnen wir nun unseren MQTT-Client mit Docker verwenden.<\/p>\n\n<p>Gehen Sie dazu in das Verzeichnis, in dem Sie Ihre YAML-Datei haben, und f\u00fchren Sie \u201edocker exec\u201c wie folgt aus:<\/p>\n\n<p>$ docker exec -it mqttclient \/bin\/bash<\/p>\n\n<p>Sie sollten jetzt ein Verzeichnis namens \u201e\/home\/homerun\u201c sehen (das ist das Home-Verzeichnis f\u00fcr unseren Docker-Container) und Sie sollten sich in diesem Verzeichnis befinden.<\/p>\n\n<p>Sie k\u00f6nnen jetzt Ihre Datenbanken anzeigen, indem Sie \u201emysql -uroot -proot\u201c wie folgt eingeben:<\/p>\n\n<p>$ mysql -uroot -proot<\/p>\n\n<p>Sie sollten alle Ihre Datenbanken auf dem Bildschirm sehen. Sie k\u00f6nnen hier sehen, wie Sie einen neuen Root-Benutzer ohne Passwort f\u00fcr die MySQL-Instanz erstellen: https:\/\/homer-mqtt.readthedocs.io\/en\/latest\/configure_database_and_create_new_root_user.html<\/p>\n\n<p>Um den MQTT-Client-Befehl in Docker auszuf\u00fchren, m\u00fcssen Sie \u201esbin\/mqtt\u201c wie folgt eingeben:<\/p>\n\n<p>$ sbin\/mqtt -c \/home\/homerun\/config.yaml<\/p>\n\n<p>Im obigen Beispiel geben wir eine Konfigurationsdatei mit dem Flag -c an, die unsere MQTT-Einstellungen aus der Konfigurationsdatei liest, die wir in diesem Tutorial erstellt haben.<\/p>\n\n<p>Um zu \u00fcberpr\u00fcfen, ob Ihr MQTT-Client l\u00e4uft, k\u00f6nnen Sie \u201edocker-compose ps\u201c wie folgt verwenden:<\/p>\n\n<p>$ docker-compose ps<\/p>\n\n<p>Im obigen Beispiel wurde unser MQTT-Client erfolgreich gestartet. Sie sollten jetzt alle Ihre Datenbanken auf dem Bildschirm sehen.<\/p>\n\n<p>Um den MQTT-Client-Befehl in Docker auszuf\u00fchren, m\u00fcssen Sie \u201esbin\/mqtt\u201c wie folgt eingeben:<\/p>\n\n<p>$ sbin\/mqtt -c \/home\/homerun\/config.yaml<\/p>\n\n<p>Im obigen Beispiel geben wir eine Konfigurationsdatei mit dem Flag -c an, die unsere MQTT-Einstellungen aus der Konfigurationsdatei liest, die wir in diesem Tutorial erstellt haben.<\/p>\n\n<p>Um zu \u00fcberpr\u00fcfen, ob Ihr MQTT-Client l\u00e4uft, k\u00f6nnen Sie \u201edocker-compose ps\u201c wie folgt verwenden:<\/p>\n\n<p>$ docker-compose ps<\/p>\n\n<p>Im obigen Beispiel wurde unser MQTT-Client erfolgreich gestartet. Sie sollten jetzt alle Ihre Datenbanken auf dem Bildschirm sehen und Sie k\u00f6nnen versuchen, einige Nachrichten zu ver\u00f6ffentlichen, um zu testen, ob alles ordnungsgem\u00e4\u00df funktioniert:<\/p>\n\n<p>$ docker exec -it mqttclient \/bin\/bash<\/p>\n\n<p>$ sbin\/mqtt ver\u00f6ffentlichen -t &#8218;test&#8216; -h 172.17.0.1 -m &#8218;Hallo Welt!&#8216;<\/p>\n\n<p>$ docker exec -it mqttclient \/bin\/bash<\/p>\n\n<p>$ sbin\/mqtt abonnieren -t &#8218;test&#8216; -h 172.17.0.1 -u mqttuser<\/p>\n\n<h3 class=\"wp-block-heading\">7) Bereinigen Sie Ihren MQTT-Client mit Docker<\/h3>\n\n<p>Um Ihren Docker-Container zu stoppen, m\u00fcssen Sie \u201edocker-compose down\u201c wie folgt ausf\u00fchren:<\/p>\n\n<p>$ docker-compose down<\/p>\n\n<h3 class=\"wp-block-heading\">8) Bereinigen Sie Ihren MQTT-Client mit Docker Volumes<\/h3>\n\n<p>Um zu verhindern, dass Ihre MySQL-Datenbank und Ihr mqtt-Benutzer erstellt werden, k\u00f6nnen Sie das Flag -v verwenden.<\/p>\n\n<p>$ docker-compose down -v<\/p>\n\n<p>Sie k\u00f6nnen Ihre Umgebung auch bereinigen, indem Sie das Verzeichnis l\u00f6schen, das Ihre YAML-Datei enth\u00e4lt.<\/p>\n\n<p>MySQL-Datenbank und mqtt-Benutzer erfolgreich erstellt! Sie werden automatisch entfernt, wenn Sie den Docker-Container entfernen. Sie k\u00f6nnen diese Shell jetzt verlassen, indem Sie \u201eexit\u201c eingeben.<\/p>\n\n<p>In diesem Tutorial haben wir gesehen, wie Sie Ihren MQTT-Client \u00fcber einen Docker-Container konfigurieren.<\/p>\n\n<h2 class=\"wp-block-heading\">Abschluss<\/h2>\n\n<p>MQTT ist ein Machine-to-Machine (M2M) oder \u201eInternet of Things\u201c-Konnektivit\u00e4tsprotokoll. Es wurde als extrem leichtgewichtiger Publish\/Subscribe-Messaging-Transport konzipiert. MQTT ist n\u00fctzlich, um stromsparende Sensoren, Wearables und andere winzige mit dem Internet verbundene Dinge mit der Cloud zu verbinden. Da MQTT ein Publish\/Subscribe-Modell verwendet, ist es perfekt f\u00fcr Ger\u00e4te geeignet, die selten Daten senden m\u00fcssen oder bei denen die Netzwerkbandbreite knapp ist.<\/p>\n\n<h2 class=\"wp-block-heading\">Interessiert an der Entwicklung Ihrer MQTT-L\u00f6sung? <a href=\"mailto:info@iotworlds.com\">Kontaktiere uns!<\/a><\/h2>\n","protected":false},"excerpt":{"rendered":"<p>Bei all den verf\u00fcgbaren Messaging-Protokollen kann es schwierig sein, nur eines auszuw\u00e4hlen. Und bei so vielen Optionen ist es allzu&hellip;<\/p>\n","protected":false},"author":1,"featured_media":386384,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"categories":[1742,1795],"tags":[],"class_list":["post-386563","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog-de-2","category-smart-device-de-2"],"acf":[],"_links":{"self":[{"href":"https:\/\/iotworlds.com\/de\/wp-json\/wp\/v2\/posts\/386563","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/iotworlds.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/iotworlds.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/iotworlds.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/iotworlds.com\/de\/wp-json\/wp\/v2\/comments?post=386563"}],"version-history":[{"count":0,"href":"https:\/\/iotworlds.com\/de\/wp-json\/wp\/v2\/posts\/386563\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/iotworlds.com\/de\/wp-json\/wp\/v2\/media\/386384"}],"wp:attachment":[{"href":"https:\/\/iotworlds.com\/de\/wp-json\/wp\/v2\/media?parent=386563"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/iotworlds.com\/de\/wp-json\/wp\/v2\/categories?post=386563"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/iotworlds.com\/de\/wp-json\/wp\/v2\/tags?post=386563"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}