目前的場景是手機遙控器的場景,手機遙控器發(fā)送指令到接口,接口接收到后mqtt 發(fā)布到emqx,
因為接口使用的是webman,我看了幾個帖子,其中有說到做一個自定義進程
代碼如何
class MqttTask
{
public static function onWorkerStart()
{
$mqtt = new \Workerman\Mqtt\Client('mqtt://xxxx:1883', array(
//'debug' => true,
"username"=>"xxx",
"password"=>"xxx",
"client_id"=>"xxx"
));
$mqtt->onConnect = function($mqtt) {
$mqtt->subscribe('test');
};
$mqtt->onMessage = function($topic, $content) {
echo "topic:$topic content:$content\n";
};
$mqtt->connect();
}
}
主要是這里的onMessage 又是如何接到到topic呢,我就不知道該如何處理呢,請教大家,如何做
class MqttTask
{
public function onWorkerStart()
{
global $mqtt;
$mqtt = new \Workerman\Mqtt\Client('mqtt://xxxx:1883', array(
//'debug' => true,
"username"=>"xxx",
"password"=>"xxx",
"client_id"=>"xxx"
));
$mqtt->onConnect = function($mqtt) {
//這里是訂閱的設(shè)備端的信息
$mqtt->subscribe('test');
};
$mqtt->onMessage = function($topic, $content) {
//設(shè)備端回復的 主題信息
echo "topic:$topic content:$content\n";
};
$mqtt->connect();
}
public function onMessage($connection, $data)
{
global $mqtt;
//通過data中的信息 動態(tài)發(fā)布
$mqtt->publish($data['topic'], $data['order']);
$connection->close($data);
}
}