【最新】微信小程序连接onenet——stm32+esp8266+onenet实现查看温湿度,控制单片机

微信小程序——stm32+esp8266+onenet实现查看温湿度,控制单片机

(最新已验证)stm32 + 新版 onenet +dht11+esp8266/01s + mqtt物联网上报温湿度和控制单片机(保姆级教程)

:↓↓👇 👇 👇 👇 👇 👇 👇 👇 👇 👇 👇 👇 👇  👇  👇  👇  👇  👇  👇  👇  👇 

(最新已验证)stm32 + 新版 onenet +dht11+esp8266/01s + mqtt物联网上报温湿度和控制单片机(保姆级教程)icon-default.png?t=O83Ahttps://blog.csdn.net/Wang2869902214/article/details/142501323

注       👆 👆 👆 👆 👆 👆 👆 👆 👆 👆 👆 👆 👆 👆 👆 👆 👆 👆 👆 👆 👆 👆

注:代码和文章内容创作不易,使用或分享代码时请标注来源

读者们也可以加入STM32链接OneNET的群聊,交流一些遇到的问题也可以互相探讨:

                资料代码自助下载            Q:983362248

效果展示:

微信小程序stm32+esp8266+onenet显示温湿度和控制单片机

下图为微信小程序演示图 :

 详细功能描述:

1.查看数据:能够显示单片机上传到OneNET MQTT 设备的数据

2.下发数据:能够使用OneNET的属性设置,下发数据去控制单片机执行对应的操作

微信小程序中使用OneNET API的Token

注意:这里的Token2.0软件生成后的的Token与前面单片机代码中AT指令的Token不一样,不要混淆了

下载Token2.0 

 放在百度云盘中一直说我链接违规,OneNET官方下载区这个软件也找不到了,很奇怪,所以需要资料的读者们,可以评论区留言联系方式,

或者在交流群中, 资料代码自助下载    Q:983362248

Token2.0工具使用方法

①:userid/{用户id},用户id可以在OneNET的【用户中心】->【访问权限】中获取

②:截止时间戳,填写一个几年后的时间戳即可

③:填入用户AccessKey,可以在OneNET的【用户中心】->【访问权限】中获取

④:选择 sha1  

⑤:填入 2022-05-01  【格式一致】

最后点击右边的生成,最后会得到微信小程序用的Token

代码详细描述:

信息设置

  // 页面初始数据  data: {  onenetData: [],       // 用来存储设备属性值的数组  deviceStatus: [],     // 用来存储设备状态信息的数组  },  config: {  //生成authInfo教程地址:https://blog.csdn.net/Wang2869902214/article/details/134910701,看完记得点个赞噢!authInfo: "version=2022-05-01&res=userid************245&met*****************n=Jh9mxJLncSY8CUNh*******HXVkJXk%3D",  productId: "Yq****hrM6p",  //产品iddeviceName: "C***",       //设备名称apiBaseUrl: "https://iot-api.heclouds.com",  startTime: 0,  endTime: 0,  limit: 1  },  

 介绍如何在微信小程序调用OneNET的API(GET请求)

                这里以获取设备最新状态为例(获取温湿度)

// 获取mqtt设备最新属性值  fetchOnenetData() {  const { apiBaseUrl, productId, deviceName, authInfo } = this.config;  wx.request({  url: `${apiBaseUrl}/thingmodel/query-device-property?product_id=${productId}&device_name=${deviceName}`,  method: "GET",  header: {  'Authorization': authInfo  },  success: (res) => {  // 更新设备属性值数据  this.setData({  onenetData: res.data  });  },  fail: (err) => {  console.log("OneNET数据请求失败");  console.error(err); // 处理请求失败的情况  }  });  },  

执行成功后会将数据放入【onenetData】中,如下图所示:

之后就可以利用这个数据去实现你想要的功能了

介绍如何在微信小程序调用OneNET的API(POST请求)

// 设置设备属性值  
setOnenetData(CommandValue) {  const { apiBaseUrl, productId, deviceName, authInfo } = this.config;  wx.request({  url: `${apiBaseUrl}/thingmodel/set-device-property`,  method: 'POST',  header: {  'Authorization': authInfo,  },  data: {  "product_id": productId,  "device_name": deviceName,  "params": {  "cmd": CommandValue  }  },  success: (res) => {  console.log("设备状态信息");  console.log('成功接收数据:', res.data); // 打印接收到的数据  // 检查响应是否成功  if (res.data && res.data.code === 0 && res.data.data && res.data.data.code === 200) {  // 显示成功提示框  wx.showToast({  title: '操作成功', // 提示的文字内容  icon: 'none', // 图标类型,默认是'none'  duration: 500 // 提示框自动隐藏的时间,单位是毫秒  });  } else {  // 可选:如果需要,也可以在这里处理非成功的情况  console.log('操作未成功,具体信息:', res.data);  }  },  fail: (err) => {  console.log("设备状态信息请求失败");  console.log('请求失败:', err); // 打印错误信息  // 可选:显示失败提示框  wx.showToast({  title: '操作失败',  icon: 'none',  duration: 1000  });  }  });  
},  

这里的POST API相当于是OneNET API调试中的属性设置,用来下发数据:

例如下方的代码,就是调用上方的POST请求代码去实现属性设置,从而单片机接收到数据去执行对应的操作,这里还包含了回应措施

应用场景如下:

如果你需要控制开关灯,你要如何确定单片机执行了你的操作呢,在文章最开头的链接中,里面包含了单片机的代码,如果单片机接收到了微信小程序的数据后,如果能提取出指令,那么就会回应微信小程序,代表单片机收到数据了,如下图所示,如果单片机返回了正确的code,就会显示操作成功:

代码:
 

success: (res) => {  console.log("设备状态信息");  console.log('成功接收数据:', res.data); // 打印接收到的数据  // 检查响应是否成功  if (res.data && res.data.code === 0 && res.data.data && res.data.data.code === 200) {  // 显示成功提示框  wx.showToast({  title: '操作成功', // 提示的文字内容  icon: 'none', // 图标类型,默认是'none'  duration: 500 // 提示框自动隐藏的时间,单位是毫秒  });  } else {  // 可选:如果需要,也可以在这里处理非成功的情况  console.log('操作未成功,具体信息:', res.data);  }  },  fail: (err) => {  console.log("设备状态信息请求失败");  console.log('请求失败:', err); // 打印错误信息  // 可选:显示失败提示框  wx.showToast({  title: '操作失败',  icon: 'none',  duration: 1000  });  }  });  

如下图所示: 

  // 开灯逻辑的实现  toggleLightOn() {  console.log('开灯');  this.setOnenetData(10021); // 开灯时设置属性  },  // 关灯逻辑的实现  toggleLightOff() {  console.log('关灯');  this.setOnenetData(10020); // 关灯时设置}

附加:

类似上方的GET或者POST请求代码还可以实现更多的功能,具体可以参考下面的图片中,自行浏览其用法,其他的用法与上方的差别不大,只需更改具体的url参数即可

获取到的数据使用方法 

这里使用{{onenetData.data[1].value}},下标需要根据你的实际数据来确定下标数

  <!-- 设备属性值展示,根据属性类型使用不同的单位 --><view class="data-values"><!-- 显示可调电阻,单位为百分比(%) --><text style="font-size: 50rpx; margin-bottom: 280rpx;">{{onenetData.data[2].value}} ℃</text><!-- 显示温度值,颜色根据计算结果变化,单位为摄氏度(℃) --><text style="font-size: 50rpx; ">{{onenetData.data[1].value}} %</text></view>

例如:

 

如果需要湿度的value值,以上图数据为例:
 湿度值:{{onenetData.data[1].value}}

手机预览:

如果是直接使用博主提供的微信小程序文件,需要更改微信小程序的AppId

然后手机预览微信小程序后,需要在手机微信小程序中右上角点击三个点,然后进入【开发调试】

再重新进入微信小程序即可

文章结尾

如需获取资料,请点赞收藏后,评论区留下联系方式,博主看到后第一时间发送代码!

读者们也可以加入STM32链接OneNET的群聊,交流一些遇到的问题也可以互相探讨:

                资料代码自助下载            Q:983362248

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/434660.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何用好通义灵码企业知识库问答能力?

通义灵码企业版&#xff1a;通义灵码企业标准版快速入门_智能编码助手_AI编程_智能编码助手通义灵码(Lingma)-阿里云帮助中心 通义灵码提供了基于企业知识库的问答检索增强的能力&#xff0c;在开发者使用通义灵码 IDE 插件时&#xff0c;可以结合企业知识库内上传的文档、文件…

面试中顺序表常考的十大题目解析

在数据结构与算法的面试中&#xff0c;顺序表是一个常见的考点。它作为一种基础的数据结构&#xff0c;涵盖了多种操作和概念&#xff0c;以下将详细介绍面试中关于顺序表常考的十大题目。 &#x1f49d;&#x1f49d;&#x1f49d;如果你对顺序表的概念与理解还存在疑惑&#…

第十三届蓝桥杯真题Java c组B.特殊时间(持续更新)

博客主页&#xff1a;音符犹如代码系列专栏&#xff1a;蓝桥杯关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ 【问题描述】 2022 年 2 月 22 日 22:20 是一个很有意义的时间&#xff0c;年…

人工智能实战用折线图解读产业GDP发展态势

内容提要 项目分析项目实战 一、项目分析 1、问题提出 我们拿到一大堆关于GDP的数据&#xff0c;如何从这些表面看起来杂乱无章的数据中解读出一些有价值的信息呢? 显然&#xff0c;如果能将这些数据以图形的方式展现出来&#xff0c;例如将这些数据值随时间&#xff08;…

计算机毕业设计 基于Python的热门微博数据可视化分析系统的设计与实现 Python+Django+Vue 可视化大屏 附源码 讲解 文档

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…

Java项目实战II基于Java+Spring Boot+MySQL的大学城水电管理系统(源码+数据库+文档)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发&#xff0c;CSDN平台Java领域新星创作者 一、前言 随着大学城规模的不断扩大和学生数量的急剧增加&#xff0c;大学城内的水电管理面临着前所未有的挑战…

Codeforces Round 975 (Div. 1) D. Max Plus Min Plus Size(思维题 并查集/动态dp 线段树维护状态合并)

题目 思路来源 hhoppitree代码 官方题解 题解 注意到最大值一定会被取到&#xff0c; 对于最小值固定的话&#xff0c;对于1 2 3 4 5的连续段&#xff0c;要么贪心地取1 3 5&#xff0c;要么取2 4 如果最大值被包含在1 3 5里显然取1 3 5&#xff0c;否则换成2 4一定能取到…

RabbitMQ的高级特性-延迟队列

延迟队列(Delayed Queue)&#xff0c;即消息被发送以后, 并不想让消费者⽴刻拿到消息, ⽽是等待特定时间后,消费者才能拿到这个消息进⾏消费 应用场景 延迟队列的使⽤场景有很多, ⽐如: 1. 智能家居: ⽤⼾希望通过⼿机远程遥控家⾥的智能设备在指定的时间进⾏⼯作. 这时候就可…

【2.使用VBA自动填充Excel工作表】

目录 前言什么是VBA如何使用Excel中的VBA简单基础入门控制台输出信息定义过程&#xff08;功能&#xff09;定义变量常用的数据类型Set循环For To 我的需求开发过程效果演示文件情况测试填充源文件测试填充目标文件 全部完整的代码sheet1中的代码&#xff0c;对应A公司工作表Us…

Redis 键值对数据库学习

目录 一、介绍 二、安装以及连接 三、设置连接密码 四、连接报错 五、redis 操作字符串以及过期时间 六、 redis 列表操作 七、redis 集合操作 八、hash 哈希操作 九、redis 发布和订阅操作 十、RDB和AOF的两种数据持久化机制 十一、 其他机器连接redis 十二、 pyt…

CentOS8.5.2111(3)实验之DHCP服务器架设

一、实验目标 1&#xff0e;掌握DHCP服务器的主配置文件各项申明参数及操作及其含义 2. 具备DHCP 服务器、中继服务器的配置能力 3. 具备测试客户端正常获取服务器分配地址的能力 4. 具备DHCP服务器故障排除能力 二、实训原理/流程 &#xff08;一&#xff09;项目背景 …

Golang | Leetcode Golang题解之第443题压缩字符串

题目&#xff1a; 题解&#xff1a; func compress(chars []byte) int {write, left : 0, 0for read, ch : range chars {if read len(chars)-1 || ch ! chars[read1] {chars[write] chwritenum : read - left 1if num > 1 {anchor : writefor ; num > 0; num / 10 {…

Unity3D入门(四) : Android和Unity3D交互 - Unity调用Android

1. 前言 上篇文章&#xff0c;我们讲了如何通过Android调用Unity3D。这篇文章&#xff0c;我们来讲一下Unity3D怎么调用Android。 1.1 unity和Android的三种通信方式 Unity官方提供的接口 : 有一个弊端&#xff0c;它有一个传输内容量的一个限制&#xff0c;传输内容过大或过…

安装管理K8S的开源项目KubeClipper介绍

安装管理K8S的开源项目KubeClipper介绍 1. 概述 KubeClipper是九州云开源的一个图形化界面 Kubernetes 多集群管理工具&#xff0c;旨在提供易使用、易运维、极轻量、生产级的 Kubernetes 多集群全生命周期管理服务。让运维工程师从繁复的配置和晦涩的命令行中解放出来&#…

02-ZYNQ linux开发环境安装,基于Petalinux2022.2和Vitis2022.2

petalinux安装 Petalinux 工具是 Xilinx 公司推出的嵌入式 Linux 开发套件&#xff0c;包括了 u-boot、Linux Kernel、device-tree、rootfs 等源码和库&#xff0c;以及 Yocto recipes&#xff0c;可以让客户很方便的生成、配置、编译及自定义 Linux 系统。Petalinux 支持 Ver…

Linux集群部署RabbitMQ

目录 一、准备三台虚拟机&#xff0c;配置相同 1、所有主机都需要hosts文件解析 2、所有主机安装erLang和rabbitmq 3、修改配置文件 4、导入rabbitmq 的管理界面 5、查看节点状态 6、设置erlang运行节点 7、rabitmq2和rabbitmq3重启服务 8、查看各个节点状态 二、添加…

解锁初中学习新境界 —— 初中通关宝典速记手册

在初中这个学习生涯的关键阶段&#xff0c;掌握扎实的基础知识是取得优异成绩的关键。为此&#xff0c;我们特别推荐《初中通关宝典》——一本专为初中生打造的各科基础知识速记手册&#xff0c;它将成为你学习路上的得力助手。 文章目录 1. 全科覆盖&#xff0c;精准速记2.科学…

socket.io-client实现实前后端时通信功能

这里我使用的后端 基于node.js的koa框架 前端使用的是vite {"name": "hou","version": "1.0.0","description": "","main": "app.js","scripts": {"test": "echo …

老古董Lisp实用主义入门教程(12):白日梦先生的白日梦

白日梦先生的白日梦 白日梦先生已经跟着大家一起学Lisp长达两个月零五天&#xff01; 001 粗鲁先生Lisp再出发002 懒惰先生的Lisp开发流程003 颠倒先生的数学表达式004 完美先生的完美Lisp005 好奇先生用Lisp来探索Lisp006 好奇先生在Lisp的花园里挖呀挖呀挖007 挑剔先生给出…

手游和应用出海资讯:三七新游首月收入突破700万元;领英尝试推出游戏功能以增加用户使用时长

NetMarvel帮助游戏和应用广告主洞察全球市场、获取行业信息&#xff0c;以下为9月第四周资讯&#xff1a; ● 《AFK Journey》收入突破 1.5 亿美元 ● 《黑神话&#xff1a;悟空》IGN年度游戏投票第一掉至第三 ● 三七发布新游首月收入突破700万元 ● 开罗游戏《哆啦A梦的铜锣烧…