Introduction to MQTT and PHP Implementation Example

MQTT is a lightweight, publish/subscribe messaging protocol ideal for IoT and mobile environments, offering low bandwidth usage, reliability, and TLS/SSL security, and the article provides a detailed PHP example demonstrating connection, subscription, publishing, message processing, and graceful disconnection.

php Courses
php Courses
php Courses
Introduction to MQTT and PHP Implementation Example

MQTT is a lightweight publish/subscribe messaging protocol designed for IoT and mobile applications, offering low bandwidth consumption, high reliability through persistent messages, and security via TLS/SSL encryption.

Main features of MQTT

Lightweight: minimal header size enables operation on low‑power devices and reduces network traffic.

Flexible publish/subscribe model: devices subscribe to topics of interest and publish messages to topics.

Reliability: supports persistent messages that are stored when a client is offline and delivered upon reconnection.

Security: provides TLS/SSL encryption and authentication for safe communication.

PHP example using MQTT protocol

<?php
// 引入MQTT库
require("phpMQTT.php");

// 定义MQTT服务器和端口
$server = "mqtt.example.com";
$port = 1883;

// 定义客户端ID
$client_id = "php_mqtt_example";

// 创建MQTT客户端实例
$mqtt = new phpMQTT($server, $port, $client_id);

// 连接到MQTT服务器
if ($mqtt->connect(true, NULL, NULL, NULL)) {
    echo "Connected to MQTT server
";

    // 订阅主题
    $topics['topic1'] = array("qos" => 0, "function" => "processMessage");
    $mqtt->subscribe($topics, 0);

    // 发布消息
    $mqtt->publish("topic2", "Hello, MQTT", 0);

    // 保持连接
    while ($mqtt->proc()) {
    }

    // 断开连接
    $mqtt->close();
    echo "Disconnected from MQTT server
";
} else {
    echo "Failed to connect to MQTT server
";
}

// 消息处理函数
function processMessage($topic, $payload) 
{
    echo "Received message on topic: $topic
";
    echo "Message: $payload
";
}
?>

The script first includes the phpMQTT library, sets the server address, port, and client ID, then creates a client instance and connects to the broker. After a successful connection it subscribes to a topic, publishes a message, enters a loop to process incoming messages, and finally closes the connection.

This simple example demonstrates how PHP can communicate via MQTT and can be extended to meet specific application requirements.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

MessagingPHPIoTMQTTPublish-Subscribe
php Courses
Written by

php Courses

php中文网's platform for the latest courses and technical articles, helping PHP learners advance quickly.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.