怎么在uniapp项目中使用mqtt

  介绍

这篇文章将为大家详细讲解有关怎么在uniapp项目中使用mqtt,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

一、uniapp插件市场的参考插件https://ext.dcloud.net.cn/plugin?id=854

二,具体引入过程

1。安装mqtt和uuid

在uniapp项目根目录下分别运行安装mqtt和uuid的命令行,因为后面会用uuid生成mqtt的clientId,所以这边就一起安装了。

npm  install  mqtt@3.0.0      npm  install  uuid

怎么在uniapp项目中使用mqtt

怎么在uniapp项目中使用mqtt

p。

①我这里和uniapp提供的插件安装的mqtt版本一样,我也尝试装了最新的版本,会报错,emmmmm ...........

②如果没有pakage.json,安装是会提示报错,但是不影响安装使用。如果想方便一点,下次拉代码直接安装的话,可以自己在项目根目录下加一个行囊。json文件,添加如下内容:

{   “name"才能:,““,   “version"才能:,“1.0.0"   “description"才能:,““,   “author"才能:,““,   “license"才能:,“MIT"   “dependencies"才能:,{   ,,,“mqtt":,“^ 3.0.0",   ,,,“uuid":,“^ 8.3.0"   ,,},   “devDependencies"才能:,{},   “scripts"才能:,{}   }

2。页面引入mqtt并调用

①mqtt连接配置,放在/mqtt跑龙套。js里面,全局可用。

export  const  MQTT_IP =, & # 39; 192.168.9.128:8083/mqtt # 39;//mqtt地址端口   const  MQTT_USERNAME =, & # 39;公共# 39;//mqtt用户名   const  MQTT_PASSWORD =, & # 39;公共# 39;//密码      export  const  MQTT_OPTIONS =, {   ,,,connectTimeout:, 5000年,   ,,,clientId:, & # 39; & # 39;   ,,,用户名:,MQTT_USERNAME,   ,,,密码:,MQTT_PASSWORD,   ,,,清洁:假   }

②vue页面引用mqtt

mqtt里面的clientId用uuid生成唯一标识码,防止不同页面订阅不同主题时数据出现粘连。

& lt; script>   ,,,import  {, v4 },得到& # 39;uuid # 39;;   ,,,import  {   ,,,,,,,MQTT_IP,   ,,,,,,MQTT_OPTIONS   ,,,},得到& # 39;@/跑龙套mqtt.js& # 39;;   ,,,var  mqtt =,需要(& # 39;mqtt/dist/mqtt.js& # 39;)   ,,,var 客户端   ,,,export  default  {   ,,,,,,,数据(),{   ,,,,,,,,,,,return  {   ,,,,,,,,,,,,,,,主题:,& # 39;& # 39;,//要订阅的主题   ,,,,,,,,,,,}   ,,,,,,,},   ,,,,,,,安装(),{this.connect(),//连接   ,,,,,,,},   ,,,,,,,方法:,{   ,,,,,,,,,,,连接(),{   ,,,,,,,,,,,,,,,MQTT_OPTIONS.clientId =, v4 ()   ,,,,,,,,,,,,,,,var  that =,   ,,,,,,,,,,,,,,,//# ifdef  H5   ,,,,,,,,,,,,,,,client =, mqtt.connect (& # 39; ws://& # 39;, +, MQTT_IP,, MQTT_OPTIONS)   ,,,,,,,,,,,,,,,//# endif   ,,,,,,,,,,,,,,,//,# ifdef  MP-WEIXIN | |应用plus   ,,,,,,,,,,,,,,,client =, mqtt.connect(& # 39;天气://& # 39;,+,MQTT_IP,, MQTT_OPTIONS)   ,,,,,,,,,,,,,,,//# endif   ,,,,,,,,,,,,,,,client.on(& # 39;连接# 39;,,()函数,{   ,,,,,,,,,,,,,,,,,,,console.log(& # 39;连接成功& # 39;)   ,,,,,,,,,,,,,,,,,,,client.subscribe (that.topic,函数(err), {   ,,,,,,,,,,,,,,,,,,,,,,,if (!呃),{   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

怎么在uniapp项目中使用mqtt