微信小程序控制onenet智能灯
文章目录
- 前言
- 1.理论基础
- 2.远程控制led
- 2.1 实验材料
- 2.2 实验步骤
- 3.配置微信小程序
- 3.1理论基础
- 3.2 实验步骤
- 3.2.1 找到对应的api文档
- 3.2.2 撸微信小程序代码
- 3.2.3 代码
- 3.2.4 真机调试
- 坑点
- 说明
前言
我先向大家推荐一个学习的博主吧!!
这就是博哥-------我入门esp8266的领头人
很感谢他!!!
他的目录里面没有这一个帖子,我想给他补齐,供新手去学习
1.理论基础
- esp8266mqtt库
- 微信小程序初步了解
- 对onenet平台有一定了解
2.远程控制led
2.1 实验材料
- node MCU
- 微信小程序开发者工具
- onenet平台
2.2 实验步骤
这是由onenet平台控制的步骤具体请看博哥的
玩转OneNET物联网平台之MQTT服务② —— 远程控制LED
如果以上步骤你已经完成,并测试好了.再看接下来的步骤
3.配置微信小程序
3.1理论基础
- onenet平台对mqtt的API的调用
- 注册号微信小程序
3.2 实验步骤
3.2.1 找到对应的api文档
api文档
发送命令看你的硬件是怎么设置的!!
3.2.2 撸微信小程序代码
小程序代码并不难,基本上如果不谈页面只谈控制,基本上了解一部分就够了!
这两部分会了,基本上任务就完成一大半了.
3.2.3 代码
demo.js
const app = getApp()
const apikey = 'apikey'
const deviceid = '646275345'var temp=1;
var deviceConnected = falseconst deviceInfoURL = "https://api.heclouds.com/devices/" + deviceid
const getDataStreamURL = "https://api.heclouds.com/devices/" + deviceid + "/datastreams"
const sendCommandURL = "https://api.heclouds.com/cmds"var led = 0function getDeviceInfo(that) {//查看设备连接状态,并刷新按钮状态wx.request({url: deviceInfoURL,header: {'content-type': 'application/json',"api-key": apikey,"topic":"esp8266led"},data: {},success(res) {// console.log(res)if (res.data.data.online) {console.log("设备已经连接")// deviceInit(that)//初始化按钮deviceConnected = true} else {console.log("设备还未连接")deviceConnected = false}},fail(res) {console.log("请求失败")deviceConnected = false},complete() {if (deviceConnected) {that.setData({ deviceConnected: true })} else {that.setData({ deviceConnected: false })}}})
}function deviceInit(that) {console.log("开始初始化按钮")//初始化各个硬件的状态wx.request({url: getDataStreamURL,header: {'content-type': 'application/json',"api-key": apikey,},data: {},success(res) {for(var i=0; i<res.data.data.length; i++) {var info = res.data.data[i]if(info.current_value == 1) {that.setData({ led_checked : true})} else {that.setData({ led_checked : false})}}}})
}function controlLED(hardware_id ,switch_value) {// console.log("发送命令:" + hardware_id + ":{" + switch_value + "}")console.log("发送命令:" + hardware_id + ":" +switch_value )//按钮发送命令控制硬件wx.request({url: sendCommandURL + "?device_id=" + deviceid,method: 'POST',header: {'content-type': 'application/json',"api-key": apikey},// data: hardware_id + ":{" + switch_value + "}", //TODO 设计自定义语言 blueled:{V}, 预感这边可能会有问题data: switch_value ,success(res) {console.log("控制成功")console.log(res)console.log(res.data);}})
}Page({onLoad: function () {//加载时完成1.检查设备是否连接2.连接成功将数据显示在界面var that = this //将当前对象赋值getDeviceInfo(that)temp=1},onShow: function() {//TODO依旧有问题var that = thisvar timer = setInterval(function(){getDeviceInfo(that)}, 3000)},change: function (event) {var cmdData = event.detail.value == true ? 1 : 0 //修改为约定的数据if(cmdData==1){led=1;controlLED("led",1);}else {led=0;controlLED("led",0);}}
})
3.2.4 真机调试
步骤
- 确认esp8266和onenet平台连接上了
- 真机调试(这里有个坑)
- 实现控制
写完代码后点击这个
会弹出一个二维码来,手机去扫那个二维码,在手机端进行调试
页面简单
接下来你就可以玩微信小程序去控制灯了
坑点
- 因为微信小程序的安全机制,导致你的api必须在他的白名单,不然你虽然能在开发者工具里能调用但是到了真机就不行
需要添加域名在白名单里
基本上以上你都能做到,那么恭喜你可以通过微信小程序控制esp8266了
说明
源代码已上传到csdn了,需要的可以去下载.
大家好我是大一小菜鸡,又菜瘾还大
微信小程序控制onenet智能灯相关推荐
- 【微信小程序控制硬件⑦ 进阶篇】动起来做一个微信小程序Mqtt协议控制智能硬件的框架,为心里全栈工程师梦想浇水。
文章目录 一.前言: 二.涉及的技术点: 三.框架的运行原理: 四.框架代码流程: 4.1 主线程: 4.2 获取设备列表显示设备,以及订阅在线的设备: 4.3 点击某设备如何实现携带此设备信息到控制 ...
- 【微信小程序控制硬件③】 从软件到硬件搭建一个微信小程序控制esp8266的项目,自定义通讯协议,为面试职位和比赛项目加分!
微信物联网生态主要分在微信硬件开发平台与腾讯物联开发平台,前者已经停止维护,但依然有着很大的学习价值,而后者作为主推的平台,集成很多功能,包括从微信小程序实现配网到控制: 为了兼顾更多的朋友和自己的学 ...
- 【微信小程序控制硬件15 】 重认识无线物联网的配网协议,了解腾讯物联蓝牙协议LLSync SDK,腾讯连连小程序也可以蓝牙配网了。
文章目录 一.配网的认识 1.1 各类Wi-Fi配网方式对比 1.2 设备热点配网 1.3 零配配网 1.4 蓝牙辅助配网 1.5 一键配网 1.6 手机热点配网 1.6 摄像头扫码配网 二.LLSy ...
- 微信小程序控制硬件第17篇 : 腾讯连连小程序通过LLSync蓝牙协议控制安信可PB-02模组,无需网络实现蓝牙本地通讯。(附带源码)
文章目录 前言 一.注册腾讯物联开发平台设备 新建项目 新建产品 创建数据模板 选择设备开发方式 交互开发配置 新建设备 二.设备端操作 硬件简介与连接 准备软件环境 工程目录 烧录步骤 三.腾讯连连 ...
- 【微信小程序控制硬件16 】 安信可 ESP32-S 开发板实现移植腾讯物联开发平台蓝牙 llsync 协议,实现一键蓝牙快速配网+远程控制。(附带源码)
文章目录 一.前言 二.源码目录说明 三.编译指导 四.常见问题 五.开源微信物联网控制一览表 另外,不要把我的博客作为学习标准,我的只是笔记,难有疏忽之处,如果有,请指出来,也欢迎留言哈! 微信物联 ...
- 【微信小程序控制硬件⑦ 进阶篇】巧借阿里云物联网平台的免费连接,从微信小程序颜色采集控制 esp8266 输出七彩灯效果,中秋节来个直播如何?!
[微信小程序控制硬件第1篇 ] 全网首发,借助 emq 消息服务器带你如何搭建微信小程序的mqtt服务器,轻松控制智能硬件! [微信小程序控制硬件第2篇 ] 开始微信小程序之旅,导入小程序Mqtt客户 ...
- 【微信小程序控制硬件14 】 微信小程序蓝牙+WiFi双控制ESP32-C3应用示范;(附带Demo)
文章目录 一.前言 二.设备核心代码 2.1 蓝牙控制 2.2 WiFi控制 2.3 外设驱动 三.微信小程序核心代码 3.1 蓝牙搜索 3.2 蓝牙服务发现 四.感谢 另外,不要把我的博客作为学习标 ...
- 【微信小程序控制硬件15 】 开源一个微信小程序,支持蓝牙快速配网+WiFi双控制ESP32-C3应用示范;(附带Demo)
文章目录 一.前言 二. Blufi乐鑫自研的蓝牙配网协议 ESP32 配网流程 流程图 三.相关代码 3.1 蓝牙快速配网 3.2 蓝牙本地控制 2.3 外设驱动 3.1 蓝牙搜索 3.2 蓝牙服务 ...
- 【微信小程序控制硬件 第13篇】安信可B站直播学习总结,微信小程序MQTT远程控制ESP8266 NodeMCU,谈谈微信生态那些事;
[微信小程序控制硬件第1篇 ] 全网首发,借助 emq 消息服务器带你如何搭建微信小程序的mqtt服务器,轻松控制智能硬件! [微信小程序控制硬件第2篇 ] 开始微信小程序之旅,导入小程序Mqtt客户 ...
最新文章
- 从SeekFree的Gitee开源库建立通用MM32开发模板
- oracle sql命令行中上下左右使用
- python集合用法_Python 集合(Set)
- python 键盘输入_跟我一起学python | 探究07
- 考研总分多少能去辽师_考研英语作文平均分出炉,你拖后腿了吗?
- 名词解释——元数据和数据字典
- python闭包函数的必要条件_Python闭包函数
- Mac adobe PS、AI、PR、AN安装包
- 15.编写LED程序及反汇编工具
- 《HelloGitHub》第 69 期
- CSDN拒绝好友的私信内容信息太弓虽了
- windows 2003 directx 3D加速 开启
- SQL注入之堆叠及WAF绕过注入
- base64格式转为二进制流
- 微型计算机接口课程设计报告,《微机接口技术》课程设计报告(范文).doc
- LSR:用于文档关系抽取的潜在图结构迭代优化推理方法
- 功能最全面 体验更极致 小兴看看mini升级版9月19日首发
- MAVEN的安装与配置教程(超详细版)
- ShellShock(破壳漏洞)的简单分析
- Qt写的超级方便的编码转换器、加解密AES、RSA、MD5、SHA、网页编码