【MQTT】Esp32数据上传采集:最新mqtt插件(支持掉线、真机调试错误等问题)

news/2024/7/8 5:33:54

前言

在这里插入图片描述
这是我在Dcloud发布的插件-最完整Mqtt示例代码(解决掉线、真机调试错误等问题),经过整改优化和替换Mqtt的js文件使一些市场上出现的问题得以解决,至于跨端出问题,可能原因有很多,例如,合法域名或者是wss证书没有配置等等,若你们的还是没办法使用,找下自己的问题,因为我使用这个插件完整的测试了微信小程序、H5、APP 这三个不同的端是没有任何问题的,另外我的MQTT相关文章在这里:

🚀《Esp8266-01s、51单片机实现连接MQTT踩坑:附加烧录安信可固件+宝塔搭建MQTT服务器 全套攻略》
🚀《解决微信小程序MQTT通讯真机调试失败的问题附加可用代码》
🚀《解决微信小程序MQTT真机连接问题与合法域名配置SSL问题》
🚀《一篇就够:uniapp-Mqtt系列问题详细攻略(解决掉线、真机调试错误等问题)》

以上就是我对MQTT的学习记录分析,包括反向代理配置ws证书、ws和wx协议的区别等等,文章都是近期的有关联性,可以看看

最近在忙着处理毕业的事情,一直没有接项目,所以就没有更新文章,这次这个也不能算是项目,但是人家有需求,150软妹币帮忙解决了,大概意思就是通过esp32发送机器的温度数据,要能在小程序或者H5上能看到面板,并且能主动发送设定值给单片机,大概就是这个意思,另外单片机那里他都已经处理好了,我也就是写个接收而已,废话不多少,开搞!

接收和发送数据JSON格式化

在这里插入图片描述

客户给的两个Json格式的数据
单片机发送的:

{
"wd": "00" //实时温度
"wdyj": "0" //温度预警,0正常 1预警实时温度变红
"sd": "00" //实时湿度
"sdyj": "0" //湿度预警,0正常 1预警实时湿度变红 
}

发送给单片机的:

{
"wdsx": "40.00", //温度上限
"wdxx": "10.00", //温度下限
"wdkg": "0", //温度预警邮件开关 01"sdsx": "50.00", //湿度上限
"sdxx": "60.00", //湿度下限 
}

分析

可以看出根本就不难,接收到的数据处理一下,渲染即可,继续往下!

  1. 将字符串转换为json
    在这里插入图片描述
let jsonObj = JSON.parse(this.receiveMessage);
  1. 将数据传递到data中的receive中去
let jsonObj = JSON.parse(this.receiveMessage);
this.receive=jsonObj;
  1. 视图层逻辑判断渲染
    因为他对温度颜色有要求这里简单的根据if语句判断,下面是代码:
<view>
			<text v-if="receive.wdyj=='1'" style="color: red;">实时温度:{{receive.wd}}</text>
			<text v-else>实时温度:{{receive.wd}}</text>
			<br>
			<text v-if="receive.wdyj=='0'">温度预警:正常</text>
			<text v-if="receive.wdyj=='1'">温度预警:预警</text>
			<text v-else>温度预警:</text>
			<br>
			<text v-if="receive.sdyj=='0'">实时湿度:{{receive.sd}}</text>
			<text v-else>实时湿度:{{receive.sd}}</text>
			<br>
			<text>湿度预警:{{receive.sdyj}}</text>
			<br>
		</view>

效果

由于写文章的时间有点晚了,我不打算将发送也写入,这里就对接收进行记录,现在是:20230710晚01:00

这是最后的图片,每次收到通讯数据,数据值都会改变,因为MQTT是双向通讯的
在这里插入图片描述


http://www.niftyadmin.cn/n/3656119.html

相关文章

implement 和 extends 的区别

extends&#xff1a;拓展; 扩大范围 implement&#xff1a;使生效 ; 贯彻 ; 执行 重点&#xff1a; extends 用在同类之间。比如&#xff1a;classC 继承 classA&#xff0c;interFaceC 实现 interFaceA。implement 用在非同类之间。比如&#xff1a;classC 实现 interFaceA的…

让Internet Explorer成为你的软件集成平台

让Internet Explorer成为你的软件集成平台&#xff08;一&#xff09;最近一段时间&#xff0c;经常与朋友们探讨与浏览器相关的技术问题&#xff0c;多少年来&#xff0c;浏览器的问题一直是软件界的热点&#xff0c;无论是体验、操作习惯、安全&#xff0c;还是技术等问题&am…

@Async 异步不起作用

一、异步接口实现 java中的异步接口实现比较简单&#xff0c;主要有两步&#xff1a; 1、在ContentServiceApplication上添加EnableAsync。2、在需要异步的接口上添加Async接口。 // 第一步EnableAsync public class ContentServiceApplication {public static void main(St…

让Internet Explorer成为你的软件集成平台(二):献给VB Developer

Microsoft Visual Basic 6.0是Microsoft的一个经典作品&#xff0c;尽管争议颇多&#xff0c;个人认为VB6是一个十分优秀的开发工具。做为一款1998年的产品&#xff0c;VB6至今还被许多人所喜爱&#xff0c;笔者就是其中之一。针对COM组件开发&#xff0c;VB6非常方便&#xff…

pom文件 标签详解

<project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0http://maven.apache.org/maven-v4_0_0.xsd"><!--父项目的坐标。如果…

通用Internet Explorer扩展框架

通用Internet Explorer扩展框架&#xff1a;如图所示&#xff0c;这个框架提供Internet Explorer侧边、底边的一般扩展方案&#xff0c;我们提供两组基于标签的扩展途径。每一个标签用一个简单的XML文件描述&#xff0c;一个典型的描述文件如下所示&#xff1a;BandFile"T…

IDEA设置注释(已亲测)

文章目录一、设置class注释1、打开File and Code Templates2、找到File Header3、添加模版4、效果二、设置function注释1、打开Live Templates2、创建Template Group3、创建Live Template4、编辑variables5、选择应用场景6、效果以下内容基于IDEA 2021.2.2 (Ultimate Edition)版…

TangramLite介绍

经过一段紧张的忙碌&#xff0c;TangramLite的第一个测试版本终于出炉了你可以在https://sourceforge.net/projects/tangramlite中下载源代码&#xff0c;TangramLite最初的定位是给团队里的年轻人提供一个学习Tangram框架开发思路的内部教材&#xff0c;基本工作在2004年8月份…