首先,我们要了解一下,微信提供有个东西叫做 微信硬件平台。
网址://iot.weixin.qq.com/
下面再介绍一下ESP8266模块
原理图如下:
模块是安信可公司做的,我们也可以自己动手来做这个模块,安心可的模块接的是一个RGB灯,我们也可以接其他的东西,比如客厅灯的开关,也可以把这个模块放在插座里面做一个智能的插座。
下面我们开始一步一步的让手里的这个模块连上微信云,实现利用微信控制LED灯
1. 首先我们先要注册一个微信公众号。
https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login
用手机微信,扫二维码登录测试账号,登陆之后开启设备功能
然后点击设置,添加新的设备
并按照如下配置设备
产品能力需要依据微信官方文档://iot.weixin.qq.com/wiki/new/index.html?page=4-5 进行
定义,这里我们以一个微信标准面板为准,只定义开关、亮度调节。
至此我们已完成了微信公众后台的配置。
2 获取一个 licence
我们需要获取一个licence,这个licence是微信分配的,是唯一的。
将下面网址中的appid 和 secret 为自己公众号后台的信息
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=SECRET
获取到一个有效的 access_token
再找到公众号后台的产品 ID,
使用上面获取到的 access_token 和产品 ID 替换下面链接中的信息
https://api.weixin.qq.com/device/getqrcode?access_token=ACCESS_TOKEN&product_id=PRODUCT_ID
获取到如下信息
保存好获取到的数据,下面固件要用。
3. 编译固件
下载安信可开放的 SDK,可到安信可官网下载,有能力也可以自己修改源码
//wiki.ai-thinker.com/esp8266/sdk
打开 airkiss_cloud.h 改写 licence 为自己的实际 licence
#define DEVICE_LICENCE "FIXME"
打开 airkiss_lan.h 修改以下两行代码为自己的实际数值
#define DEVICE_TYPE "FIXME"
#define DEVICE_ID "FIXME"
编译固件,注意配置编译选项为
BOOT?=new
APP?=1
SPI_SPEED?=40
SPI_MODE?=QIO
SPI_SIZE_MAP?=2
烧写固件
固件烧写地址依次为:
BIN File Address
boot_v1.5.bin 0x0
user1.1024.new.2 0x01000
esp_init_data_default.bin 0x0FC000
blank.bin 0x0FE000
在烧写之前我们需要下载8266的烧写工具
//wiki.ai-thinker.com/tools
烧写地址以及相应配置如下:
4. 配置联网
打开微信,扫描下面的二维码
然后通过微信的配网,按照提示步骤操作
首先确保手机已经连接了WIFI,然后点击“配置设备上网菜单”,然后输入WIFI密码,在配置上网的过程中,LED的颜色会慢闪,直到设备连上网之后,LED灯不再变化。
提示配置成功之后,打开微信设置设备微信直连LED,就可以控制LED灯了。