Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Operasi dan kawalan peranti jauh menggunakan PHP dan MQTT

Operasi dan kawalan peranti jauh menggunakan PHP dan MQTT

王林
王林asal
2023-07-08 19:09:241021semak imbas

Gunakan PHP dan MQTT untuk mencapai pengendalian dan kawalan peranti jauh

Pengenalan:
MQTT (Mesej Qeuing Telemetry Transport) ialah protokol penghantaran mesej terbitan/langganan terbuka yang ringan dan boleh merealisasikan komunikasi dan penghantaran data antara peranti . PHP ialah bahasa skrip sebelah pelayan yang popular yang boleh disepadukan dengan protokol MQTT untuk memudahkan operasi jauh dan kawalan peranti dalam aplikasi web.

Artikel ini akan memperkenalkan cara menggunakan protokol PHP dan MQTT, serta menunjukkan proses pengendalian dan kawalan peranti jauh melalui kod sampel.

Langkah 1: Pasang sambungan PHP MQTT
Pertama, anda perlu memasang sambungan PHP MQTT untuk dapat menggunakan protokol MQTT dalam PHP. Terdapat dua sambungan PHP MQTT yang biasa digunakan, Mosquitto dan phpMQTT. Artikel ini akan memperkenalkan phpMQTT sebagai contoh.

Lakukan arahan berikut dalam terminal untuk memasang sambungan phpMQTT:

composer require bluerhinos/phpmqtt

Langkah 2: Sambung ke pelayan MQTT
Gunakan sambungan phpMQTT untuk menyambung ke pelayan MQTT Anda perlu menentukan nama hos, nombor port dan klien ID pelayan. Kod sampel adalah seperti berikut:

<?php
require("phpMQTT.php");

$mqtt = new phpMQTT("mqtt.example.com", 1883, "ClientID"); // 服务器地址、端口号和客户端ID
if ($mqtt->connect()) {
    // 连接成功
    // ...
} else {
    // 连接失败
    // ...
}

Langkah 3: Langgan topik
Dalam protokol MQTT, topik (Topik) digunakan untuk mengenal pasti kandungan mesej. Untuk menerima mesej yang dihantar oleh peranti, anda perlu melanggan satu atau lebih topik. Kod sampel adalah seperti berikut:

<?php
require("phpMQTT.php");

$mqtt = new phpMQTT("mqtt.example.com", 1883, "ClientID"); // 服务器地址、端口号和客户端ID
if ($mqtt->connect()) {
    $topics = array("topic1", "topic2"); // 订阅的主题列表
    $mqtt->subscribe($topics, 0); // 订阅主题
    while ($mqtt->proc()) {
        // 处理接收到的消息
        // ...
    }
    $mqtt->close(); // 关闭连接
} else {
    // 连接失败
    // ...
}

Langkah 4: Terbitkan mesej
Untuk menghantar arahan kepada peranti, anda perlu menerbitkan mesej ke topik yang ditentukan. Kod sampel adalah seperti berikut:

<?php
require("phpMQTT.php");

$mqtt = new phpMQTT("mqtt.example.com", 1883, "ClientID"); // 服务器地址、端口号和客户端ID
if ($mqtt->connect()) {
    $topic = "topic"; // 发布的主题
    $message = "Hello, device!"; // 发布的消息
    $mqtt->publish($topic, $message, 0); // 发布消息
    $mqtt->close(); // 关闭连接
} else {
    // 连接失败
    // ...
}

Langkah 5: Menghuraikan mesej yang diterima
Dalam contoh di atas, kita perlu memproses mesej yang diterima selepas menerimanya. Kandungan mesej boleh dihuraikan mengikut keperluan peranti, dan operasi yang sepadan boleh dilakukan mengikut keperluan. Kod sampel adalah seperti berikut:

<?php
require("phpMQTT.php");

$mqtt = new phpMQTT("mqtt.example.com", 1883, "ClientID"); // 服务器地址、端口号和客户端ID
if ($mqtt->connect()) {
    $topics = array("topic1", "topic2"); // 订阅的主题列表
    $mqtt->subscribe($topics, 0); // 订阅主题
    while ($mqtt->proc()) {
        $message = $mqtt->message;
        
        // 解析接收到的消息
        // ...
        
        // 根据解析的结果进行操作
        // ...
    }
    $mqtt->close(); // 关闭连接
} else {
    // 连接失败
    // ...
}

Ringkasan:
Dengan menggunakan protokol PHP dan MQTT, kami boleh melaksanakan operasi dan kawalan peranti jauh dengan mudah. Artikel ini memperkenalkan langkah asas menggunakan sambungan phpMQTT untuk menyambung ke pelayan MQTT, melanggan topik, menerbitkan mesej dan menghuraikan mesej yang diterima dan menyediakan kod sampel yang sepadan. Pembaca boleh menyesuaikan dan mengembangkannya mengikut keperluan mereka sendiri dan bersama-sama dengan projek tertentu untuk mencapai fungsi pengendalian dan kawalan peranti jauh yang lebih fleksibel dan berkuasa.

Atas ialah kandungan terperinci Operasi dan kawalan peranti jauh menggunakan PHP dan MQTT. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn