thinkphp使用 MQTT协议

thinkphp使用 MQTT协议

windows服务器 启动

E:\programfile\mosquitto>mosquitto -v

1683554155: Client test-publisher disconnected.
1683554155: Received PINGREQ from test-subscriber
1683554155: Sending PINGRESP to test-subscriber
1683554166: Received PINGREQ from test-subscriber
1683554166: Sending PINGRESP to test-subscriber
1683554166: mosquitto version 2.0.15 terminating

客户端发布

安装 composer require php-mqtt/client

use app\index\model\Temperature;
use PhpMqtt\Client\MQTTClient;



  public function mq_demo()
    {
        $server   = 'localhost';//连接地址
        $port     = 1883;//连接端口
        $clientId = 'test-publisher';//客户端ID,可随意填写,也可使用rand函数生成随机的

        $mqtt = new MqttClient($server, $port, $clientId);
        $mqtt->connect();
        $mqtt->publish('temperature', '26', 0);
        $mqtt->close();
    }

服务端订阅

 public function mqtt_sub()
    {
        $server   = 'localhost';//连接地址
        $port     = 1883;//连接端口
        $clientId = 'test-subscriber';//客户端ID,可随意填写,也可使用rand函数生成随机的

        $mqtt = new MqttClient($server, $port, $clientId);
        $mqtt->connect();
        // $mqtt->subscribe('php-mqtt/client/test', function ($topic, $message) {
        //     echo sprintf("Received message on topic [%s]: %s\n", $topic, $message);
        // }, 0);

        $mqtt->subscribe('temperature', function (string $topic, string $message) {
            // 存储温度数据到数据库
            $temperature = new Temperature;
            $temperature->value = $message;
            $temperature->save();
        });
        $mqtt->loop(true);
        $mqtt->close();
    }

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值