基于mqtt协议的物联网项目之微信小程序mqtt连接(三)

EMQX官方对MQTT 库版本的介绍

官方连接
https://www.emqx.com/zh/blog/how-to-use-mqtt-in-wechat-miniprogram
在这里插入图片描述
所以uniapp使用v4.1.0版本,试过v3.0.0也可以用

EMQX开启ssl连接支持微信小程序

默认从阿里云下载的SSL证书为cert.pem和key.key格式,我们要使用转换工具把.key转换成.pem
在线转换地址为:https://www.myssl.cn/tools/merge-pem-cert.html
在这里插入图片描述
替换EMQX安装路径下etc/emqx/certs/cert.pem和key.pem文件即可。
需要写域名,默认ip地址是连接不上ssl的,8084连接成功,说明可以wss通信。
小程序开发要求比较苛刻,开发配置中必须使用websocket的wss协议(ws和wss的差异类似于http和https,表示是否是加密传输)。
在这里插入图片描述

绑定域名

由于小程序只可以跟指定的域名进行网络通信,所以需要 将自己经过 ICP 备案 的域名和部署 IP 相绑定,并且前往 微信公众平台 ->【开发】->【开发管理】->【开发设置】->【服务器域名】中添加 socket 合法域名。

在这里插入图片描述

连接EMQX物联网

只能使用 wss 协议,但是微信小程序中需要写为 wxs,端口为 8084
连接地址末尾不要忘了带上路径 /mqtt

var that=this;		
				
var mqtt = require('mqtt/dist/mqtt.js')
	// 连接选项
	const options = {
	      clean: true, // true: 清除会话, false: 保留会话
		  reconnectPeriod: 0, //取消自动重连
	      // 认证信息
		  clientId: 'mqttjs_' + Math.random().toString(16).substr(2, 8),
	      username: that.inputUserName,
	      password: that.inputPassWord,
	}
	
	// 连接字符串, 通过协议指定使用的连接方式
	// ws 未加密 WebSocket 连接
	// wss 加密 WebSocket 连接
	// mqtt 未加密 TCP 连接
	// mqtts 加密 TCP 连接
	// wxs 微信小程序连接
	// alis 支付宝小程序连接
	const connectUrl = 'wxs://mqtt.plseeker.com:8084/mqtt'
	const client = mqtt.connect(connectUrl,options)

产品介绍
https://seeker.taobao.com/?spm=a1z10.1-c.0.0.5e781069kK6MpO

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值