当前位置: 首页 > news >正文

小程序连接MQTT服务器,以及配置,避坑

1、MQTT服务器域名配置

由于小程序必须使用域名方式连接socket,所以必须为MQTT服务器配置域名,并配置SSL证书。

1.1相关文档:

EMQX 企业版安装 | EMQX 企业版 4.4 文档

EMQX MQTT 微信小程序接入 | EMQX 4.2 文档

MQTT 下载引入和配置连接 | ESP32全栈应用开发文档 (icce.top)

1.2实现方法:

①宝塔面板新建网站:mqtt.yh***.com ,申请免费证书,然后配置SSL。

②网站配置修改,在配置文件中添加以下内容:

注意:端口选择8083/8084等,参考:配置说明 | EMQX 企业版 4.4 文档

 # 添加反向代理location /mqtt {proxy_pass http://127.0.0.1:8084/mqtt;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;# client_max_body_size 35m;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";    }

2、小程序编写

引入mqtt.min.js文件,MQTT 下载引入和配置连接 | ESP32全栈应用开发文档 (icce.top)

<template><view></view>
</template><script>import mqtt from "../js/mqtt.min";let client = null; // MQTT服务export default {data() {return {data:{address:'mqtt.yh**.com',//输入自己的mqtt域名地址port:8084,//端口,上方网站配置一致username:'taskone',//mqtt账号password:'Ch199410'//mqtt密码}}},onReady() {this.connectMqtt()},methods: {//连接mqtt服务器connectMqtt() {let that = this;const options = {connectTimeout: 4000,client_id:'umqtt_client',address: this.data.address, // 输入的连接地址port: this.data.port, // 输入的端口号username: this.data.username, // 输入的用户名password: this.data.password, // 输入的密码};console.log("address是:", options.address);client = mqtt.connect("wxs://" + options.address+'/mqtt', options); // 连接方法client.on("connect", error => {console.log("连接成功");// 可以在这里写一些连接成功的逻辑});client.on("reconnect", error => {console.log("正在重连:", error);wx.showToast({ icon: "none", title: "正在重连", });});client.on("error", error => {console.log("连接失败:", error);wx.showToast({ icon: "none", title: "MQTT连接失败", });});}}}
</script><style></style>

运行显示MQTT连接成功: 


http://www.mrgr.cn/news/11687.html

相关文章:

  • 单片机LCD1602C语言程序
  • 自然语言处理系列三十九》条件随机场CRF算法原理
  • 鸿蒙内核源码分析(共享内存) | 进程间最快通讯方式
  • 嵌入式Linux学习笔记
  • 超分 supir 使用笔记
  • ### 深入解析HarmonyOS Swiper组件的使用与优化
  • Linux系统编程(14)UDP全双工通信和TCP半双工通信
  • 五指生望京新店开业,开启健康之旅
  • 学习记录——day37 C++
  • 嵌入式学习----网络通信之TCP协议通信
  • 遍历一亿个元素的数组,JS的哪个方法速度更快?
  • JAVA设计模式之【原型模式】
  • 通用大模型应用研究重点六:AgentOS
  • 基于UDP/TCP的 c/s 通信模型
  • 学习Redis踩坑记录
  • 读书学习笔记 # Datawhale X 李宏毅苹果书 AI夏令营
  • linux三种网络方式、磁盘分区、虚拟机克隆、虚拟机快照
  • PDF-Extract-Kit提取PDF数据
  • 【线程安全】ReentrantLock和synchronized的使用示例——言简意赅
  • [论文笔记] megatron 大模型超参搜索pipeline