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

news2024/9/22 15:45:46

前言

在这里插入图片描述
这是我在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.coloradmin.cn/o/735842.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL基础篇第3章(基本的SELECT语句)

文章目录 1、SQL概述1.1 SQL背景知识1.2 SQL分类 2、SQL语言的规则与规范2.1 基本规则2.2 SQL大小写规范 &#xff08;建议遵守&#xff09;2.3 注释2.4 命名规则2.5 数据导入指令 3、基本的SELECT语句3.0 SELECT...3.1 SELECT...FROM3.2 列的别名3.3 去除重复行3.4 空置参与运…

营销人累了看看这5部影片吧!保你再燃激情

市场瞬息万变&#xff0c;做营销需不断学习充电&#xff0c;除了看书听课之外看电影也是学习营销的有效方式。今天小马识途营销顾问给大家推荐5部市场营销人员必看的高评分电影&#xff0c;相信看完之后&#xff0c;会对你今后的发展影响深远&#xff01;话不多说直接上干货&am…

并发编程 - Event Driven 设计模式(EDA)

文章目录 EDA 概述初体验EventEvent HandlersEvent Loop 如何设计一个Event-Driven框架同步EDA框架设计MessageChannelDynamic RouterEventEventDispatcher测试同步EDA架构类图 异步EDA框架设计抽象基类 AsyncChannelAsyncEventDispatcher 并发分发消息测试 EDA 概述 EDA&…

【计算机网络】第 2 课 - 计算机网络的性能指标

欢迎来到博主 Apeiron 的博客&#xff0c;祝您旅程愉快 &#xff01; 时止则止&#xff0c;时行则行。动静不失其时&#xff0c;其道光明。 目录 1、缘起 2、性能指标 2.1、速率 2.2、带宽 2.3、吞吐量 2.4、时延 2.5、时延带宽积 2.6、往返时间 2.7、利用率 2.8、丢…

【Cartopy学习系列】Cartopy中的投影类型总结

一、PlateCarree&#xff08;圆柱投影&#xff09; PlateCarree 是Cartopy的默认投影&#xff0c;投影将地物投影到圆柱面上再展开&#xff0c;常用来绘制世界地图。该投影具有经线或纬线方向等度数的特点&#xff0c;亦称等经纬度投影。 class cartopy.crs.PlateCarree(cent…

【Kafka】Kafka消费者

【Kafka】Kafka消费者 文章目录 【Kafka】Kafka消费者1. 消费方式1.1 消费者工作流程1.2 消费者组原理1.3 消费者组初始化流程1.4 消费者组详细消费流程1.5 消费者重要参数 2. 消费者API2.1 独立消费者案例2.2 订阅分区2.3 消费者组案例 1. 消费方式 pull(拉)模式&#xff1a;…

Linux上查看外接USB设备类型

最近遇到一个问题&#xff0c;需要在shell脚本中识别当前显示器的USB触屏线是否插入&#xff0c;并读取显示器名称&#xff0c;以确定是否是想要的。 解决思路&#xff1a; lsusb命令可以列出所有的外接USB设备&#xff1a; 其中 “Atmel Corp. Atmel maXTouch Digitizer” 即为…

rabbitmq使用springboot实现direct模式

一、 Direct模式 类型&#xff1a;direct特点&#xff1a;Direct模式是fanout模式上的一种叠加&#xff0c;增加了路由RoutingKey的模式。 二、coding Ⅰ 生产者 1、引入相应的pom文件 pom.xml <?xml version"1.0" encoding"UTF-8"?> <pro…

Linux 学习记录48(QT篇待完成)

Linux 学习记录48(QT篇) 本文目录 Linux 学习记录48(QT篇)一、1.2. 二、三、四、练习1. 自制文本编辑器(0. main.cpp(1. txt_window.h(2. txt_window.cpp 2. 登录界面完善 一、 1. 2. 二、 三、 四、 练习 1. 自制文本编辑器 (0. main.cpp #include "txt_window.h…

JavaWeb 笔记——5

JavaWeb 笔记——5 一、Filter1.1、概述1.2、Filter快速入门1.3、Filter执行流程1.4、Filter使用细节1.5、Filter-案例-登陆验证 二、Listener2.1、Listener概述与分类2.2、ServletContextListener使用 三、AJAX3.1、AJAX概述3.2、AJAX快速入门3.3、使用Ajax验证用户名是否存在…

《阿里大数据之路》研读笔记(3)事实表

不理解可以先看看这个例子 例子里的start_time可以看成下单时间 end看成确认收货时间 这个例子中累计快照事实表和拉链表类似 图解HIVE累积型快照事实表_累积快照事实表_小基基o_O的博客-CSDN博客 累计快照事实表 我的理解是 根据上面的例子 就是一行代表多个业务过程 每个…

day18 哈希表

题目一&#xff1a;两个数组的交集 题目描述 int* intersection(int* nums1, int nums1Size, int* nums2, int nums2Size, int* returnSize){//哈希表 int arr_hash[1000] {0};int *arr_result (int *)malloc(sizeof(int)* nums1Size);*returnSize 0;for(int i 0;i < nu…

强化学习|底层逻辑与本质 引导式学习

强化学习的本质是什么&#xff0c;底层逻辑是什么&#xff1f; 强化学习的本质是一个智能体通过与环境的交互&#xff0c;通过尝试和错误的方式学习如何采取行动来最大化累积奖励。它的底层逻辑基于马尔可夫决策过程&#xff08;Markov Decision Process&#xff0c;MDP&#x…

【C++进阶之路】模拟实现string类

前言 本文所属专栏——【C进阶之路】 上一篇,我们讲解了string类接口的基本使用&#xff0c;今天我们就实战从底层实现自己的string类&#xff0c;当然实现所有的接口难度很大&#xff0c;我们今天主要实现的常用的接口~ 一、String类 ①要点说明 1.为了不与库里面的string冲…

※Redis的事务、乐观锁和悲观锁

1.是神魔 在高并发的环境下&#xff0c;多个线程去竞争同一个资源&#xff0c; 比较常见的有高铁抢票系统&#xff0c;商品秒杀系统等&#xff0c;我们需要保证数据正确&#xff0c;同时系统的吞吐也要尽可能高。2.解决方案 1. 一般多线程同步我们就会想到加锁&#xff0c;用…

c语言进阶-文件的打开和读写

本节重点知识点 为什么使用文件 什么是文件 文件名的组成 操作文件的基本过程 文件的打开与关闭 文件打开函数&#xff1a; 参数介绍 打开文件的方式&#xff1a; 使用绝对路径和相对路径都可以打开文件 文件的顺序读写函数&#xff1a; 写文件模式下&#xff0c;在打开文件fo…

-XX:NewSize=20m -XX:MaxNewSize=40m,-Xmn30m,-XX:NewRatio=5

高优先级&#xff1a;-XX:NewSize -XX:MaxNewSize设置新生代初始值&#xff0c;最大值中优先级&#xff1a;-Xmn&#xff08;默认等效 -Xmn-XX:NewSize-XX:MaxNewSize?&#xff09;设置新生代初始值-XX:NewRatio设置老年代和新生代的比例&#xff1b;例如&#xff1a;-XX:NewR…

CMake+OpenMP加速运算测试

目录 写在前面代码编译运行关于加速效果参考完 写在前面 1、本文内容 cmake编译测试openmp的效果 2、平台/环境 windows/linux均可&#xff0c;cmake 3、转载请注明出处&#xff1a; https://blog.csdn.net/qq_41102371/article/details/131629705 代码 代码包含同样的for循…

Dockerfile自定义镜像 - 基于 java:8-alpine 镜像,将一个Java项目构建为镜像

目录 一、前置知识 1.镜像结构 2.Dockerfile是什么 二、自定义一个 java 项目镜像 1.创建一个空目录&#xff0c;在这个空目录中创建一个文件&#xff0c;命名为 DockerFile&#xff0c;最后将 java 项目打包成 jar 包&#xff0c;放到这个目录中 2.编写 Dockerfile 文件 …

Vue3+Vite项目引入Element-plus并配置按需自动导入

一、安装Element-plus # 选择一个你喜欢的包管理器# NPM $ npm install element-plus --save# Yarn $ yarn add element-plus# pnpm $ pnpm install element-plus我使用的是 pnpm&#xff0c;并且顺便将 element-plus/icons一起引入 pnpm install element-plus element-plus/…