onenet连接微信小程序(mqtt协议)

一、关于mqtt协议

mqtt协议常用于物联网,是一种轻量级的消息推送协议。

其中有三个角色,Publisher设备(客户端)发布主题到服务器,其他的设备通过订阅主题,获取该主题下的消息,Publisher可以发布消息到主题下,从而推送消息给其他设备。

选择MQTT协议的原因是其轻量化并且可以离线缓存消息在主题中,适合我们的移动低功耗低处理的设备。

二、使用微信小程序连接onenet

1.GET获取平台信息

authInfo: "version=2018-10-31&res=products%2F69lP2GPJQV%2Fdevices%2Fwenshi&et=2014049634&method=md5&sign=KiQMG9fabKZC5sQtd354Bg%3D%3D",

在小程序里,借助authInfo这个变量存放授权信息,它包含了版本、资源路径、过期时间以及签名等内容。在后续发起的 HTTP 请求的请求头中,会携带此授权信息,从而实现对平台资源的访问授权。

wx.request({url: "https://iot-api.heclouds.com/thingmodel/query-device-property?product_id=60KP2GPJQV&device_name=wenshi",header: {"authorization": that.data.authInfo},method: "GET",// 后续处理逻辑
});

小程序运用wx.request这个 API 来发送 HTTP 请求。这里是向平台的设备属性查询接口发送 GET 请求,在请求头中携带了之前提到的授权信息。平台返回的数据里包含了设备的温湿度和水位信息,成功获取后会更新到小程序的界面上。

onLoad() {var that = this;setInterval(function () {that.getinfo();}, 3000);
}

再在循环中循环去调用getinfo去循环获取平台数据。

2.POST下发数据置平台

openclick: function () {var that = this;wx.showToast({ title: 'xx', duration: 1000 }); // 显示提示wx.request({url: 'https://iot-api.heclouds.com/thingmodel/set-device-property?product_id=xxxxxx&device_name=xxxx',method: "POST",header: { "Authorization": that.data.authInfo }, // 身份认证信息data: {product_id: 'xxxxxxxx',device_name: 'xxxxx',params: { "key": true } // 控制参数:打开设备},success: function (res) {console.log('控制请求成功', res);},fail: function (err) {console.log('控制请求失败', err.errMsg);}});
},

将该函数绑定在按钮上,当按下按钮时执行一次该函数

3.echarts图形化显示

import * as echarts from '../../ec-canvas/echarts.min';let chart = null;function initChart(canvas, width, height, dpr) {chart = echarts.init(canvas, null, {width: width,height: height,devicePixelRatio: dpr});canvas.setChart(chart);return chart;
}

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

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

相关文章

【Unity笔记】实现支持不同渲染管线的天空盒曝光度控制组件(SkyboxExposureController)——参数化控制

写在前面 在Unity中,天空盒(Skybox)不仅承担视觉上的背景作用,更是场景环境光照与氛围塑造的重要组成部分。不同时间、天气、场景转换等,都需要灵活调整天空的亮度。而**曝光度(Exposure)**就是…

blender云渲染指南2025版

一、云渲染核心概念 Blender云渲染是将本地渲染任务迁移到云端服务器集群的技术,通过分布式计算实现效率提升100倍以上的解决方案,其核心逻辑是:用户上传Blender项目文件至【渲染101】等云平台,云端调用高性能服务器(…

火语言RPA--七牛云存储

【组件功能】:存储本地文件至七牛云 选择本地文件,通过七牛云存储配置上传至七牛云对象存储的指定地域指定存储桶指定路径。 配置预览 配置说明 AccessKey 支持T或# 前往官网获取或创建。参考链接:https://portal.qiniu.com/user/key Se…

小刚说C语言刷题—1004阶乘问题

1.题目描述 编程求 123⋯n 。 输入 输入一行&#xff0c;只有一个整数 n(1≤n≤10)&#xff1b; 输出 输出只有一行&#xff08;这意味着末尾有一个回车符号&#xff09;&#xff0c;包括 1 个整数。 样例 输入 5 输出 120 2.参考代码(C语言版) #include <stdio…

C语言| sizeof(array)占多少字节

C语言| 数组名作为函数参数 sizeof(数组名); 可以求出整个数组在内存中所占的字节数。 被调函数Array_Sum()中&#xff0c;数组array使用sizeof会得到多少&#xff1f; 实参数组a占32字节&#xff0c;实参a传给形参array&#xff0c;只占4字节。 原因如下&#xff1a; 数组名做…

Xcavate 上线 Polkadot |开启 Web3 房地产投资新时代

在传统资产 Tokenization 浪潮中&#xff0c;Xcavate 以房地产为切口迅速崛起。作为 2023 年 OneBlock 冬季波卡黑客松冠军&#xff0c;Xcavate 凭借创新的资产管理与分发机制&#xff0c;在波卡生态中崭露头角。此次主网上线&#xff0c;标志着 Xcavate 正式迈入全球化应用阶段…

学习心得《How Global AI Policy and Regulations Will Impact Your Enterprise》Gartner

AI时代来临,然而与之对应的是海量的数据的安全性和合规性如何保障,如何平衡个人与智能体的利益,恰巧,最近Gartner发布了《How Global AI Policy and Regulations Will Impact Your Enterprise》,我们就其中的观点一起进行探讨。 战略规划假设 我们首先关注的是关键的战略…

Inno Setup专业打包指南:从基础到高级应用

Inno Setup专业打包指南&#xff1a;从基础到高级应用 Inno Setup是一款免费开源的Windows安装程序制作工具&#xff0c;以其轻量、易用、功能强大而备受开发者青睐。它通过脚本语言定义安装行为&#xff0c;能够创建标准的Windows安装向导&#xff0c;支持文件安装、注册表操…

VScode中关于Copilot的骚操作

目录 1. Ctrl I 直接在工作区对话 2.Tab 党福音&#xff1a;写注释生成代码 3. 连续写几行函数头&#xff0c;Copilot 会自动“补全全函数” 4. 自动写单元测试 5. 在注释中要求它写某种风格 6. 代码重写器 7. 多语言切换无痛自动翻译 8. 在空文件中写注释&#xff0c…

虚拟专用服务器(VPS)完全指南:从入门到选型

开篇导读 VPS&#xff08;虚拟专用服务器&#xff09;作为介于共享主机与独立服务器之间的托管方案&#xff0c;通过独享资源保障性能本文将系统解析VPS的核心优势、适用场景及选型策略&#xff0c;助您实现从共享主机到VPS的平滑过渡 什么是虚拟专用服务器&#xff1f; 服务…

前端取经路——性能优化:唐僧的九道心经

大家好&#xff0c;我是老十三&#xff0c;一名前端开发工程师。性能优化如同唐僧的九道心经&#xff0c;是前端修行的精髓所在。在本文中&#xff0c;我将为你揭示从网络传输到渲染优化的九大关键技术&#xff0c;涵盖HTTP协议、资源加载策略、缓存控制等核心难题。通过这些实…

[论文阅读]Deeply-Supervised Nets

摘要 我们提出的深度监督网络&#xff08;DSN&#xff09;方法在最小化分类误差的同时&#xff0c;使隐藏层的学习过程更加直接和透明。我们尝试通过研究深度网络中的新公式来提升分类性能。我们关注卷积神经网络&#xff08;CNN&#xff09;架构中的三个方面&#xff1a;&…

1k实现全磁盘扫描搜索——仙盟创梦IDE-智能编程 编程工具设计

牛马的痛苦——身兼数职 在多项目开发场景下&#xff0c;项目数量众多、文件繁杂&#xff0c;导致文件查找困难重重。不同项目架构各异&#xff0c;文件命名缺乏统一规范&#xff0c;相似功能文件分散在不同项目目录&#xff0c;开发人员往往花费大量时间在文件夹层级间反复切…

Mamba 状态空间模型 笔记 llm框架 一维卷积

动画讲解 Mamba 状态空间模型_哔哩哔哩_bilibili 旧文本向量乘权重加残差 感觉好像transformer 过个llm head输出y 卷积真的很快 参考一文通透想颠覆Transformer的Mamba&#xff1a;从SSM、HiPPO、S4到Mamba(被誉为Mamba最佳解读)_mamba模型-CSDN博客 偷了 Transformer的二次复…

Python函数:从基础到进阶的完整指南

在Python编程中&#xff0c;函数是构建高效、可维护代码的核心工具。无论是开发Web应用、数据分析还是人工智能模型&#xff0c;函数都能将复杂逻辑模块化&#xff0c;提升代码复用率与团队协作效率。本文将从函数基础语法出发&#xff0c;深入探讨参数传递机制、高阶特性及最佳…

Alpha3DCS公差分析系统_国产替代的3D精度管控方案-SNK施努卡

随着智能制造发展规划的深入推进&#xff0c;工业软件国产化替代已上升为国家战略。在公差分析这一细分领域&#xff0c;长期被国外软件垄断的局面正被打破。 苏州施努卡自主研发的Alpha3DCS&#xff0c;凭借完全自主知识产权和军工级安全标准&#xff0c;成为国内实现三维公差…

【自然语言处理与大模型】LlamaIndex的词嵌入模型和向量数据库

&#xff08;1&#xff09;嵌入模型的定义和作用 嵌入模型&#xff08;Embedding Model&#xff09;的本质在于将高维的、稀疏的数据转换为低维的、密集的向量表示&#xff0c;使得这些向量能够在数学空间中表达原始数据的语义信息。作用如下&#xff1a; 降维表示&#xff1a;…

长事务:数据库中的“隐形炸弹“——金仓数据库运维避坑指南

引言&#xff1a;凌晨三点的告警 "张工&#xff01;生产库又告警了&#xff01;"凌晨三点的电话铃声总是格外刺耳。运维团队发现数据库频繁进入单用户模式&#xff0c;排查发现某核心表的年龄值&#xff08;Age&#xff09;已突破20亿大关。经过一夜奋战&#xff0c…

【Elasticsearch入门到落地】12、索引库删除判断以及文档增删改查

接上篇《11、RestClient初始化索引库》 上一篇我们完成了使用RestHighLevelClient创建索引库的代码实现&#xff0c;本篇将讲解如何判断索引库是否存在并删除它&#xff0c;以及如何对索引库中的文档进行增删改查操作。 一、索引库判断与删除 在操作索引库时&#xff0c;有时…

国联股份卫多多与国术科技签署战略合作协议

4月30日&#xff0c;国术科技&#xff08;北京&#xff09;有限公司&#xff08;以下简称“国术科技”&#xff09;营销中心总经理 王志广、贾雷一行到访国联股份卫多多&#xff0c;同卫多多/纸多多副总裁、产发部总经理段任飞&#xff0c;卫多多机器人产业链总经理桂林展开深入…