微信小程序获取OneNet数据显示温湿度

一、OneNet平台

​ 1、我这里的设备是通过MQTT协议连接到OneNet平台的

​ 2、微信小程序获取OneNet数据需要得到产品的api-key、设备id


​ 3、这里我是把温湿度都放在同一个设备,后面只需要查询一个设备即可获得两个数据

​ 4、查询OneNet平台多协议接入文档,这里直接查看MQTT的API使用

​ 5、我用ApiPost来进行测试是否能获取数据

二、微信小程序界面设计

1、index.wxml

<!--pages/index/index.wxml-->
<view  class= "content"><view  class= "zm"><text class="zm1">照明开关</text><switch class="kai" checked="{{isChecked1}}" bindchange="changeSwitch1"/></view><view style="flex:1;width:100%"><label class="xia"><text class="zm1">排气扇开关</text><switch class="kai" checked="{{isChecked1}}" bindchange="changeSwitch1"/></label></view><view style="flex:1;width:100%"><label class="xia"><text class="zm1">当前温度:{{wendu}}°C</text></label></view><view style="flex:1;width:100%"><label class="xia"><text class="zm1">当前湿度:{{shidu}} %</text></label></view><button class="login-btn" bindtap="points" >显示温湿度</button>   </view>

​ 2、index.wxss

/* pages/index/index.wxss */
page {background: #f6f6f6;display: flex;flex-direction: column;justify-content: flex-start;
}
.headTitle{width: 100%;height: 80rpx;background-color: #ffffff;overflow:hidden  ;/** 设置超出内容隐藏 */white-space:nowrap;   /*设置超出不换行 */border-bottom :1px solid #F3F3F3;
}
.headTitle .titleItem{display: inline-block;line-height:80rpx;color: #889999;font-size:34rpx;margin: 0 20rpx;
}
.headTitle .selctItem{color: #000000;font-weight: bold;
}
.itemView{width: 100%;height:180rpx;position: relative;border-bottom: 1px solid #F3F3F3;
}
.zm{margin-top: 20rpx;border:1px solid#ebe4e286;width:750rpx;height: 100rpx;border-radius: 5px;font-size: 36;font-weight: bold;line-height: 80rpx;color: #32d5e0;text-align: center;display: flex;position: relative;/*父元素位置要设置为相对*/}
.login-btn{width: 40%!important;background-color: #33ff33;color: white;font-weight: normal;
}
.content{margin-top: 20rpx;border:1px solid#ebe4e286;width:750rpx;height: 600rpx;border-radius: 5px;font-size: 36;font-weight: bold;line-height: 80rpx;color: #32d5e0;text-align: center;flex-direction: column;display: flex;}
.xia{justify-content: space-between;
}
.zm1{position: absolute; /* 要约束所在位置的子元素的位置要设置成绝对 */left: 30rpx; /* 靠右调节 */
}
.radio{display:inline-block; /*  横向布局*/}
.kai{position: absolute; /* 要约束所在位置的子元素的位置要设置成绝对 */right: 100rpx; /* 靠右调节 */}
.mos{left: 120rpx; /* 靠右调节 */height: 200rpx;
}

​ 3、界面效果

三、微信小程序获取OneNet数据

​ 1、在wxml里面我给按钮添加了点击事件,命名为points,相对应的在index.js里面也需要添加相对应函数

 points:function(e) {},

​ 2、参考小程序文档,我这里采用wx.request 获取数据,这段数据获取也可以放在onLoad()函数里面,只不过显示效果没有按钮效果明显。然后还要设置不校验合法域名选项。

points:function(e) {var that = thiswx.request({//设备ID//api-keyurl: 'http://api.heclouds.com/devices/xxxxxxxxxx/datapoints?', //xxxxxxxxxx这里填写你的设备idheader:{"api-key":"xxxxxxx"  //这里写你的api-key},data:{limit:1},method :"GET",//获取成功success:function(res){that.setData({shidu:res.data.data.datastreams[0].datapoints[0].value, //这里的shidu要跟wxml{{shidu}} 名字相同wendu:res.data.data.datastreams[1].datapoints[0].value,})    }})},

​ 3、关于如何显示到具体数字,因Json数据而异,下面我这两行代码是根据Json数据来定位的

shidu:res.data.data.datastreams[0].datapoints[0].value,
wendu:res.data.data.datastreams[1].datapoints[0].value,


4、效果展示

5、源码链接

链接:https://pan.baidu.com/s/1URPcf890OOgSMdznNdyJYQ
提取码:c669


2022.4.22更新
当初写这篇文章的时候,我只负责微信小程序获取onenet,而32用mqtt协议上传到onenet是我朋友在搞的,当时他用的是老版的多协议接入。我当初不太清楚。后面我自己用esp32连接上云,使用的是新版的mqtts物联网。后面写了一篇博客,有兴趣的小伙伴可以点击进去看看。再后来因为作业的需求只需要获取数据,不用下发命令。然后我一直没搞。
ESP32-C3通过MQTT协议把温湿度上传到OneNet平台,Onenet下发命令控制灯开关
最近打算想搞搞下发的时候,才发现onenet支持老版的mqtt协议,不支持mqtts,所以重新写了一篇博客,在原有的基础上进行升级改造。增加了对灯的控制、信息提示框、定时刷新界面数据,美化了一下界面。有兴趣的小伙伴点击下方的文字继续学习吧!
微信小程序获取Onenet温湿度数据并控制灯亮灭

微信小程序获取OneNet数据显示温湿度相关推荐

  1. 微信小程序获取Onenet温湿度数据并控制灯亮灭

    ​ 其实之前就写过类似的文章,但是看过我博客的朋友就知道,我是先写微信小程序获取onenet,然后再写esp32上云到onenet.一篇是ESP32-C3通过MQTT协议把温湿度上传到OneNet平台 ...

  2. 微信小程序获取Onenet图片

    微信小程序获取Onenet平台的图片 目录 微信小程序获取Onenet平台的图片 1.Onenet平台 2.微信小程序 1.Onenet平台 我做的项目是通过STM32F4开发板,结合ov2640摄像 ...

  3. 微信小程序可自定义单片机温湿度阈值(基于esp32c3+onenet+微信小程序)

    ​ 前段时间有个粉丝问我能不能出一个微信小程序调节阈值的教程,我就下班之余在原来的基础上改进一下,因为是修改阈值,这里我就用继电器控制风扇.温度达到一定阈值控制风扇启动来做例子.这个成功了,其他阈值修 ...

  4. 图解微信小程序---获取电影列表

    图解微信小程序---获取电影列表 代码笔记 list跳转 第一步:编写前端页面获取相关的电影列表参数(对于显示参数不熟悉,可以先写js,通过console  Log的方式获取我们电影的相关数据字段,后 ...

  5. 微信小程序获取openid和session_key并且把openid存入数据库

    微信小程序开发交流qq群   581478349 微信小程序获取openid和session_key并且把openid存入数据库.已经调用openid的demo 前后端代码都有,后端php实现 在其它 ...

  6. android获取小程序音频时长,最新微信小程序获取音频时长与实时获取播放进度...

    #微信小程序获取音频时长与实时获取播放进度 在小程序官方文档中 audio 注意:1.6.0 版本开始,该组件不再维护.建议使用能力更强的 wx.createInnerAudioContext 接口 ...

  7. 微信小程序获取用户手机号--官方示例

    微信小程序获取用户手机号–官方示例 https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/getPhoneNu ...

  8. 微信小程序 获取用户信息并保存登录状态

    微信小程序 获取用户信息并保存登录状态:http://www.360doc.com/content/18/0124/11/9200790_724662071.shtml 转载于:https://www ...

  9. .Net之微信小程序获取用户UnionID

    前言: 在实际项目开发中我们经常会遇到账号统一的问题,如何在不同端或者是不同的登录方式下保证同一个会员或者用户账号唯一(便于用户信息的管理).这段时间就有一个这样的需求,之前有个客户做了一个微信小程序 ...

最新文章

  1. Web性能优化系列(1):Web性能优化分析
  2. nodejs项目如何部署到服务器上?
  3. 2018年9月5日第一贴
  4. SPH(光滑粒子流体动力学)流体模拟实现四:各向异性(Anisotropic)表面光滑(1)
  5. 知名投资机构董事总经理在培训中晕倒后去世,这个培训究竟是什么?
  6. java js 解析器_graphqljs具有多个参数的解析器
  7. 基于Java的图书管理系统
  8. 设置数据库及表的默认字符集
  9. 全能挤房器 v2.1
  10. scratch转flash、exe教程
  11. Unity2020系列通用中文语言包
  12. flash 倒计时功能
  13. LoadRunner压力测试:测试报告结果分析
  14. STM32开发项目:ADS1115的驱动与使用
  15. 10个web开发好用框架
  16. python wgs84坐标转换_python WGS84和ECEF坐标的转换
  17. Git学习————rm删除文件与文件找回
  18. 中国移动光猫的拨号和桥接模式的区别
  19. 3秒解一元二次不等式
  20. SpringBoot读取Resources下文件

热门文章

  1. 【SFace】《SFace: An Efficient Network for Face Detection in Large Scale Variations》
  2. ARM64+树莓派4b+JLINK仿真器实验环境搭建指南
  3. 鼠标滑轮只能控制声音?
  4. ubuntu 自动切换壁纸
  5. Java_题目_抽奖的2种实现方法
  6. 关于html 背景图片的引用格式
  7. crc16-ccitt算法c语言,CRC-CCITT 标准CRC16(1021) 算法校验类
  8. 消息系统(ActiveMQ)
  9. 因为文件共享不安全,所以你不能连接到文件共享。此共享需要过时的SMB1协议
  10. Java中构造方法的案例及常用类int lenght类的使用方法举例,new实例化对象方法,静态方法实例方法的举例