文章目录

  • 前言
  • 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平台连接上了
  • 真机调试(这里有个坑)
  • 实现控制

写完代码后点击这个

会弹出一个二维码来,手机去扫那个二维码,在手机端进行调试

页面简单

接下来你就可以玩微信小程序去控制灯了

坑点

  1. 因为微信小程序的安全机制,导致你的api必须在他的白名单,不然你虽然能在开发者工具里能调用但是到了真机就不行
    需要添加域名在白名单里

基本上以上你都能做到,那么恭喜你可以通过微信小程序控制esp8266了

说明

源代码已上传到csdn了,需要的可以去下载.

大家好我是大一小菜鸡,又菜瘾还大

微信小程序控制onenet智能灯相关推荐

  1. 【微信小程序控制硬件⑦ 进阶篇】动起来做一个微信小程序Mqtt协议控制智能硬件的框架,为心里全栈工程师梦想浇水。

    文章目录 一.前言: 二.涉及的技术点: 三.框架的运行原理: 四.框架代码流程: 4.1 主线程: 4.2 获取设备列表显示设备,以及订阅在线的设备: 4.3 点击某设备如何实现携带此设备信息到控制 ...

  2. 【微信小程序控制硬件③】 从软件到硬件搭建一个微信小程序控制esp8266的项目,自定义通讯协议,为面试职位和比赛项目加分!

    微信物联网生态主要分在微信硬件开发平台与腾讯物联开发平台,前者已经停止维护,但依然有着很大的学习价值,而后者作为主推的平台,集成很多功能,包括从微信小程序实现配网到控制: 为了兼顾更多的朋友和自己的学 ...

  3. 【微信小程序控制硬件15 】 重认识无线物联网的配网协议,了解腾讯物联蓝牙协议LLSync SDK,腾讯连连小程序也可以蓝牙配网了。

    文章目录 一.配网的认识 1.1 各类Wi-Fi配网方式对比 1.2 设备热点配网 1.3 零配配网 1.4 蓝牙辅助配网 1.5 一键配网 1.6 手机热点配网 1.6 摄像头扫码配网 二.LLSy ...

  4. 微信小程序控制硬件第17篇 : 腾讯连连小程序通过LLSync蓝牙协议控制安信可PB-02模组,无需网络实现蓝牙本地通讯。(附带源码)

    文章目录 前言 一.注册腾讯物联开发平台设备 新建项目 新建产品 创建数据模板 选择设备开发方式 交互开发配置 新建设备 二.设备端操作 硬件简介与连接 准备软件环境 工程目录 烧录步骤 三.腾讯连连 ...

  5. 【微信小程序控制硬件16 】 安信可 ESP32-S 开发板实现移植腾讯物联开发平台蓝牙 llsync 协议,实现一键蓝牙快速配网+远程控制。(附带源码)

    文章目录 一.前言 二.源码目录说明 三.编译指导 四.常见问题 五.开源微信物联网控制一览表 另外,不要把我的博客作为学习标准,我的只是笔记,难有疏忽之处,如果有,请指出来,也欢迎留言哈! 微信物联 ...

  6. 【微信小程序控制硬件⑦ 进阶篇】巧借阿里云物联网平台的免费连接,从微信小程序颜色采集控制 esp8266 输出七彩灯效果,中秋节来个直播如何?!

    [微信小程序控制硬件第1篇 ] 全网首发,借助 emq 消息服务器带你如何搭建微信小程序的mqtt服务器,轻松控制智能硬件! [微信小程序控制硬件第2篇 ] 开始微信小程序之旅,导入小程序Mqtt客户 ...

  7. 【微信小程序控制硬件14 】 微信小程序蓝牙+WiFi双控制ESP32-C3应用示范;(附带Demo)

    文章目录 一.前言 二.设备核心代码 2.1 蓝牙控制 2.2 WiFi控制 2.3 外设驱动 三.微信小程序核心代码 3.1 蓝牙搜索 3.2 蓝牙服务发现 四.感谢 另外,不要把我的博客作为学习标 ...

  8. 【微信小程序控制硬件15 】 开源一个微信小程序,支持蓝牙快速配网+WiFi双控制ESP32-C3应用示范;(附带Demo)

    文章目录 一.前言 二. Blufi乐鑫自研的蓝牙配网协议 ESP32 配网流程 流程图 三.相关代码 3.1 蓝牙快速配网 3.2 蓝牙本地控制 2.3 外设驱动 3.1 蓝牙搜索 3.2 蓝牙服务 ...

  9. 【微信小程序控制硬件 第13篇】安信可B站直播学习总结,微信小程序MQTT远程控制ESP8266 NodeMCU,谈谈微信生态那些事;

    [微信小程序控制硬件第1篇 ] 全网首发,借助 emq 消息服务器带你如何搭建微信小程序的mqtt服务器,轻松控制智能硬件! [微信小程序控制硬件第2篇 ] 开始微信小程序之旅,导入小程序Mqtt客户 ...

最新文章

  1. 从SeekFree的Gitee开源库建立通用MM32开发模板
  2. oracle sql命令行中上下左右使用
  3. python集合用法_Python 集合(Set)
  4. python 键盘输入_跟我一起学python | 探究07
  5. 考研总分多少能去辽师_考研英语作文平均分出炉,你拖后腿了吗?
  6. 名词解释——元数据和数据字典
  7. python闭包函数的必要条件_Python闭包函数
  8. Mac adobe PS、AI、PR、AN安装包
  9. 15.编写LED程序及反汇编工具
  10. 《HelloGitHub》第 69 期
  11. CSDN拒绝好友的私信内容信息太弓虽了
  12. windows 2003 directx 3D加速 开启
  13. SQL注入之堆叠及WAF绕过注入
  14. base64格式转为二进制流
  15. 微型计算机接口课程设计报告,《微机接口技术》课程设计报告(范文).doc
  16. LSR:用于文档关系抽取的潜在图结构迭代优化推理方法
  17. 功能最全面 体验更极致 小兴看看mini升级版9月19日首发
  18. MAVEN的安装与配置教程(超详细版)
  19. ShellShock(破壳漏洞)的简单分析
  20. Qt写的超级方便的编码转换器、加解密AES、RSA、MD5、SHA、网页编码

热门文章

  1. 注册dll文件的方法集合
  2. ath9K 驱动注册过程
  3. 基于centos搭建物联网服务器,带后台以及数据库(搭建耗时半小时左右)
  4. python图像处理opencv笔记(二):视频基本操作
  5. 维智科技荣获CSDN 2021年度核心技术企业
  6. WebService soap报文请求与响应报文解析
  7. C#-根据手机号获得相应的信息
  8. 十二个“一”的假想人物设定
  9. 【论文阅读】GETNext: Trajectory Flow Map Enhanced Transformer for Next POI Recommendation
  10. 腾讯企业邮箱:授权密码