လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP တွင် MQTT protocol ဆက်သွယ်ရေးကိုမည်သို့အကောင်အထည်ဖော်ရမည် - အပြည့်အ 0 လမ်းညွှန်နှင့်ကုဒ်နမူနာ

PHP တွင် MQTT protocol ဆက်သွယ်ရေးကိုမည်သို့အကောင်အထည်ဖော်ရမည် - အပြည့်အ 0 လမ်းညွှန်နှင့်ကုဒ်နမူနာ

M66 2025-07-27

နိဒါန်း

IOT နည်းပညာ၏စဉ်ဆက်မပြတ်ဖွံ့ဖြိုးတိုးတက်မှုနှင့်အတူ MQTT (Mession Quick Telemetry သယ်ယူပို့ဆောင်ရေး) protocol သည်ပေါ့ပါးသောဆက်သွယ်ရေး protocol တစ်ခုဖြစ်သည်။ ဤဆောင်းပါးသည် PHP ရှိ MQTT protocol ၏ဆက်သွယ်ရေးလုပ်ငန်းကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုအသေးစိတ်ဖော်ပြပြီး IT applications များကိုလျင်မြန်စွာတည်ဆောက်ရန်သင့်အားကူညီရန်သက်ဆိုင်သည့်စာရွက်စာတမ်းများကိုအသေးစိတ်ဖော်ပြထားသည်။

MQTT စာကြည့်တိုက်ကို install လုပ်ပါ

ပထမ ဦး စွာ MQTT protocol ကိုထောက်ပံ့သော PHP စာကြည့်တိုက်ကိုထည့်သွင်းရန်လိုအပ်သည်။ ဤဆောင်းပါးသည် MQTT ဆာဗာများနှင့်ဆက်သွယ်ရန်အလွန်သင့်လျော်သောကိရိယာဖြစ်သော "PHPMQTT" စာကြည့်တိုက်ကိုအသုံးပြုသည်။

စာကြည့်တိုက်ကို composer command line tool မှတဆင့် install လုပ်နိုင်ပါတယ်။ Terminal တွင်အောက်ပါ command ကို run ပါ။

 <span class="fun">တေးရေးဆရာ Bluerhinos / phpmqttclient လိုအပ်သည်</span>

မက်ဆေ့ခ်ျကိုချိတ်ဆက်နှင့်ထုတ်ဝေပါ

ထို့နောက် MQTT server နှင့်မည်သို့ချိတ်ဆက်ရန်နှင့်မက်ဆေ့ခ်ျကိုထုတ်ဝေရန်မည်သို့လေ့လာကြပါစို့။ MQTT server တစ်ခုနှင့်မည်သို့ဆက်သွယ်ရမည်ကိုပြသသည့်ရိုးရှင်းသောကုဒ်နမူနာတစ်ခုမှာ PHP 0 န်ဆောင်မှုခံယူသူတစ် ဦး မှတစ်ဆင့်မက်ဆေ့ခ်ျပို့သည်။

 require("phpMQTT.php");

$server = "mqtt.example.com";  // MQTTဆာဗာလိပ်စာ
$port = 1883;  // MQTTဆာဗာဆိပ်ကမ်း
$username = "your_username";  // အသုံးပြုသူ
$password = "your_password";  // လှျို့ဝှက်စကား
$client_id = "client_id";  // ဖောက်သည်ID
$topic = "your_topic";  // ခေါင်းစဉ်တစ်ခုတင်ပါ
$message = "Hello, MQTT!";  // မက်ဆေ့ခ်ျအကြောင်းအရာ

$mqtt = new phpMQTT($server, $port, $client_id);

if($mqtt->connect(true, NULL, $username, $password)) {
    $mqtt->publish($topic, $message, 0);
    $mqtt->close();
} else {
    echo "ဆက်သွယ်မှုမအောင်မြင်ပါ!";
}

မက်ဆေ့ခ်ျကိုစာရင်းသွင်းပါ

မက်ဆေ့ခ်ျများကိုထုတ်ဖော်ပြောဆိုခြင်းအပြင် PHP client မှတဆင့် MQTT server ပေါ်တွင်အကြောင်းအရာများကိုလည်းစာရင်းသွင်းပြီးသက်ဆိုင်ရာမက်ဆေ့ခ်ျများကိုလက်ခံရရှိနိုင်သည်။ အောက်ပါဥပမာသည်ခေါင်းစဉ်တစ်ခုနှင့်လုပ်ငန်းစဉ်ကိုမည်သို့စာရင်းသွင်းရမည်ကိုပြသသည်။

 require("phpMQTT.php");

$server = "mqtt.example.com";  // MQTTဆာဗာလိပ်စာ
$port = 1883;  // MQTTဆာဗာဆိပ်ကမ်း
$username = "your_username";  // အသုံးပြုသူ
$password = "your_password";  // လှျို့ဝှက်စကား
$client_id = "client_id";  // ဖောက်သည်ID
$topic = "your_topic";  // ခေါင်းစဉ်များစာရင်းသွင်းပါ

$mqtt = new phpMQTT($server, $port, $client_id);

if($mqtt->connect(true, NULL, $username, $password)) {
    $mqtt->subscribe($topic, 0);
    while($mqtt->proc()) {
        // လက်ခံရရှိမက်ဆေ့ခ်ျကို process
    }
    $mqtt->close();
} else {
    echo "ဆက်သွယ်မှုမအောင်မြင်ပါ!";
}

လက်ခံရရှိမက်ဆေ့ခ်ျကို process

အထက်ပါကုဒ်များတွင်စာရင်းသွင်းထားသောမက်ဆေ့ခ်ျများကိုကိုင်တွယ်ရန် callback function ကိုအသုံးပြုသည်။ အောက်ဖော်ပြပါသည်ရရှိသောသတင်းစကားကိုထုတ်လုပ်ရန်နှင့်ရလဒ်များကိုထုတ်ဖော်ပြောဆိုသောရိုးရှင်းသော function ကိုဥပမာတစ်ခုဖြစ်သည်။

 function processMessage($topic, $message) {
    echo "လက်ခံရရှိသတင်းစကား: " . $message . "\n";
}

require("phpMQTT.php");

$server = "mqtt.example.com";  // MQTTဆာဗာလိပ်စာ
$port = 1883;  // MQTTဆာဗာဆိပ်ကမ်း
$username = "your_username";  // အသုံးပြုသူ
$password = "your_password";  // လှျို့ဝှက်စကား
$client_id = "client_id";  // ဖောက်သည်ID
$topic = "your_topic";  // ခေါင်းစဉ်များစာရင်းသွင်းပါ

$mqtt = new phpMQTT($server, $port, $client_id);
$mqtt->onMessage = "processMessage";  // callback function ကိုသတ်မှတ်ပါ

if($mqtt->connect(true, NULL, $username, $password)) {
    $mqtt->subscribe($topic, 0);
    while($mqtt->proc()) { }
    $mqtt->close();
} else {
    echo "ဆက်သွယ်မှုမအောင်မြင်ပါ!";
}

အကျဉ်းချုပ်

ဤဆောင်းပါးသည် Phpt protocol complexetice function ကိုအမှန်တကယ်ကုဒ်နမူနာများမှတဆင့် PHP တွင် MQTt protocol ဆက်သွယ်ရေးလုပ်ငန်းကိုအကောင်အထည်ဖော်ရန် "PhpMQTT" စာကြည့်တိုက်ကိုမည်သို့အသုံးပြုရမည်ကိုပြသသည်။ ဤဥပမာများအပေါ် အခြေခံ. ဒေတာထုတ်လွှင့်ခြင်းနှင့်မက်ဆေ့ခ်ျစီမံခန့်ခွဲမှုအတွက်သင်၏ iot application များကိုသင်လျင်မြန်စွာတည်ဆောက်နိုင်သည်။ ဤဆောင်းပါးသည် MQTT protocol ကိုပိုမိုနားလည်သဘောပေါက်ရန်နှင့်အသုံးပြုရန်ကူညီပေးပါ။