PHP und MQTT: Datenkommunikation zum Aufbau eines intelligenten Lagerverwaltungssystems
Zusammenfassung: Mit der kontinuierlichen Weiterentwicklung der Internet-of-Things-Technologie sind intelligente Lagerverwaltungssysteme nach und nach zu einem Schlüsselwerkzeug für die Unternehmensführung und -produktion geworden. In diesem Artikel wird erläutert, wie PHP- und MQTT-Protokolle zum Aufbau der Datenkommunikationsfunktion eines intelligenten Lagerverwaltungssystems verwendet werden, und es werden einige einfache Codebeispiele bereitgestellt.
Einführung
Das intelligente Lagerverwaltungssystem ist ein System, das die Lagerverwaltung und -überwachung mithilfe der Internet-of-Things-Technologie realisiert. Es kann den Status und die Lagerkapazität von Lagergeräten in Echtzeit verfolgen und Manager durch verschiedene Alarmmechanismen daran erinnern, eine angemessene Planung und Planung durchzuführen.
Datenkommunikation ist ein wesentlicher Bestandteil des intelligenten Lagerverwaltungssystems. Sie ist für die Übertragung von Daten verschiedener Sensoren und Geräte an den Server des Systems zur weiteren Analyse und Entscheidungsfindung verantwortlich. Das MQTT-Protokoll ist ein leichtes Publish/Subscribe-Messaging-Protokoll, das sich sehr gut für die Kommunikation zwischen IoT-Geräten eignet.
Schritt 1: MQTT-Broker installieren
Zuerst müssen wir einen MQTT-Broker auf dem Server installieren, der für den Empfang und die Verteilung von MQTT-Nachrichten verantwortlich ist. Hier verwenden wir Mosquitto als unseren MQTT-Broker. Sie können Mosquitto über den folgenden Befehl installieren:
sudo apt-get update sudo apt-get install -y mosquitto mosquitto-clients
Nachdem die Installation abgeschlossen ist, können Sie den folgenden Befehl ausführen, um den Mosquitto-Dienst zu starten:
mosquitto
Schritt 2: MQTT-Serververbindung konfigurieren
Um das MQTT-Protokoll in PHP zu verwenden, haben wir Sie müssen eine Bibliothek eines Drittanbieters verwenden. Hier entscheiden wir uns für die Verwendung der phpMQTT-Bibliothek, einem einfachen und benutzerfreundlichen PHP-MQTT-Client.
Sie können die Bibliothek aus dem GitHub-Repository von phpMQTT herunterladen und importieren. Fügen Sie dann den folgenden Code in Ihren Code ein:
require("phpMQTT.php"); $mqtt = new phpMQTT("localhost", 1883, "clientId");
Hier erstellen wir eine Instanz des MQTT-Clients, stellen eine Verbindung zum Standardport 1883 des lokalen Servers her und geben eine Client-ID an.
Schritt 3: Verbindung zum MQTT-Server herstellen
Als nächstes müssen wir eine Verbindung zum MQTT-Server herstellen. Fügen Sie den folgenden Code hinzu, um eine Verbindung zum Mosquitto Broker herzustellen:
if ($mqtt->connect(true, null, "username", "password")) { echo "Connected to MQTT Broker"; // 进行其他操作 $mqtt->close(); } else { echo "Failed to connect MQTT Broker"; }
Hier verwenden wir die Funktion connect()
, um eine Verbindung zum MQTT-Server herzustellen. Zur Authentifizierung können optional Benutzername und Passwort übergeben werden. connect()
函数来连接到MQTT服务器。可以可选地传递用户名和密码进行认证。
步骤4:发布消息
要在MQTT中发布消息,我们可以使用publish()
函数。添加以下代码来发布一条消息:
$mqtt->publish("topic", "Hello, MQTT!");
这里,我们将消息“Hello, MQTT!”发布到名为“topic”的主题上。
步骤5:订阅消息
要订阅MQTT信息,我们需要使用subscribe()
Um eine Nachricht in MQTT zu veröffentlichen, können wir die Funktion publish()
verwenden. Fügen Sie den folgenden Code hinzu, um eine Nachricht zu veröffentlichen:
$topics = array("topic1", "topic2"); $mqtt->subscribe($topics, 0); while ($mqtt->proc()) { // 持续接收和处理消息 }
Hier veröffentlichen wir die Nachricht „Hallo, MQTT!“ zum Thema „topic“.
Um MQTT-Nachrichten zu abonnieren, müssen wir die Funktion subscribe()
verwenden und für jedes Thema eine Rückruffunktion angeben. Fügen Sie den folgenden Code hinzu, um Nachrichten zu abonnieren:
Hier abonnieren wir Themen mit den Namen „topic1“ und „topic2“ und geben dabei eine QoS (Quality of Service) von 0 an.
Das obige ist der detaillierte Inhalt vonPHP und MQTT: Datenkommunikation zum Aufbau intelligenter Lagerverwaltungssysteme. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!