IOT နည်းပညာ၏စဉ်ဆက်မပြတ်ဖွံ့ဖြိုးတိုးတက်မှုနှင့်အတူ MQTT (Mession Quick Telemetry သယ်ယူပို့ဆောင်ရေး) protocol သည်ပေါ့ပါးသောဆက်သွယ်ရေး protocol တစ်ခုဖြစ်သည်။ ဤဆောင်းပါးသည် PHP ရှိ MQTT protocol ၏ဆက်သွယ်ရေးလုပ်ငန်းကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုအသေးစိတ်ဖော်ပြပြီး IT applications များကိုလျင်မြန်စွာတည်ဆောက်ရန်သင့်အားကူညီရန်သက်ဆိုင်သည့်စာရွက်စာတမ်းများကိုအသေးစိတ်ဖော်ပြထားသည်။
ပထမ ဦး စွာ 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 "ဆက်သွယ်မှုမအောင်မြင်ပါ!";
}
အထက်ပါကုဒ်များတွင်စာရင်းသွင်းထားသောမက်ဆေ့ခ်ျများကိုကိုင်တွယ်ရန် 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 ကိုပိုမိုနားလည်သဘောပေါက်ရန်နှင့်အသုံးပြုရန်ကူညီပေးပါ။