前文已经在啊里云宝塔中搭建好mqtt服务器,这里就在tp5及小程序中实现订阅及发布
一、tp5实现
1、先上网下载phpMQTT.php文件
https://github.com/bluerhinos/phpMQTT/blob/master/phpMQTT.php
网上下载的文件放入tp5文件后,有很多:void红色错误,可能和我的phpstorm有冲突,手动把所有红色提示错误修改
2、在tp目录extend中,创建文件夹phpmqtt,把上下好的phpMQTT.php文件放到这里,phpMQTT.php文件中修改 namespace phpmqtt
3、在admin/controller中创建自定义php文件,这里测试创建index,代码如下
//mqtt发布
public function pub(){
// 客户端id 可以用随机数
$client = "tp5Mqtt";
// mqtt主机 主机,请配置为自己的主机
$host = "120.xx.xx.xx";
// mqtt端口
$port = 1883;
// 密钥 用于证书配置,如果需要ssl认证,则必须填写
// $this->cert= 'ca.pem';
// mqtt账号
$username = "test";
// mqtt密码
$password = "123";
// 订阅主题 订阅的主题,注意使用的主题一定要是mqtt配置过的主题,比如百度天工需要策略认证过的
// 自己学习的时候,可以随意自定义,一般跟发布主题一致便可以收到消息
// 如要要接受所有主题,请使用#
$topics_name = "hometopic";
//引入phpMQTT 创建mqtt实例
Loader::import('phpmqtt/phpMQTT', EXTEND_PATH);

本文详细介绍了如何在ThinkPHP5(TP5)框架下结合微信小程序实现MQTT消息的发布与订阅。首先在阿里云宝塔中搭建MQTT服务器,然后在TP5中创建控制器实现发布功能,并通过守护进程实现订阅并保存数据到数据库。对于微信小程序部分,展示了如何引入mqtt.min.js库,设置连接参数并监听消息。注意确保topic一致,以保证订阅和发布能正常交互。
最低0.47元/天 解锁文章
2054





