基于esp8266的微信airkiss配网及局域网发现设备

首先,因项目需要WIFI联网,然后选定了ESP8266模块

在使用ESP8266的过程中,发现使用默认的SmartConfig配网有两个问题

1,设备是否连接成功,未给出提示

2,手机微信端局域网未发现设备,无法进行设备绑定

因此,我进行基于安信可提供的SDK进行二次开发

开发工具为安信可提供的IDE

安装好之后,首先打开给的官方SDK,我下载的版本为1.5.4

其中呢提供了几个例子

首先根据AT指令例程进行参考移植,编译通过后下载到ESP8266中,测试AT指令无误,接着加入airkiss静态库

这个静态库在什么地方呢?在微信硬件里

因为目前AirKiss3.0仅支持Android及Linux系统,因此选择了AirKiss2.0。里面有详细的开发说明和示例代码

那里可以下载到支持的芯片及AIRKISS静态库

然后将下载的静态库加入到之前的AT例程里

 

然后手机微信扫码

手机上按照提示进行填写密码,然后等待配网完成,完成后会提示已连接,并显示出相应的设备,并可以进行绑定。(ps:由于我是用的测试号,无法显示设备MAC和图标,正式号可以正常使用。)至此,微信AIRKISS配网和局域网发现已实现。

对于上面所提到的

这个是微信公众号里分配的设备TYPE和设备ID

微信公众号里配置也比较繁琐,首先需要开通正式号或者测试号,然后获取正式号或者测试号的access_token

然后进正式号或者测试号创建产品

获取到产品编号(58116)和access_token后,就可以获取设备TYPE和设备ID了。(并且型号二维码就是上文提到的配网二维码),

 

获取到device_id后还需要一步,那就是和ESP8266模块绑定,官方建议是用ESP8266的MCA来进行区分。(当然了,如果只有一个设备,或者不需要区分哪个具体设备,这里可以随意填写12位数据即可。)

获取到 "device_id", "device_type"写入到上面SDK工程中,重新编译下载,测试AT指令也木有问题,大公告成。

下面呢,提一下这个SDK程序

首先呢是在AT例程里加入airkiss静态库,达到微信配网的目的,进入airkiss配网模式我采用增加一条AT指令和引脚按键触发两种方式来完成,

进入配网模式则用LED指示灯快闪指示。为了更好的兼容esp8266产品,因为esp01引出可用的引脚只有IO2,并且IO2还是LED的控制引脚,

使用长按IO2(也就是拉低IO2引脚3s以上)来进入配网模式。

然后增加AT指令则为,进入配网无动作60s后退出配网

启动配网    AT+STARTAIRKISS
停止配网    AT+STOPAIRKISS

 

总结一下,代码逻辑或许没有太多,如果只是单纯的AIRKISS配网的话,直接使用SDK工程加已有的二维码即可

如果需要局域网发现,就是涉及的东西比较多,尤其是微信公众平台的设置。

相关文件下载 https://download.csdn.net/download/qq_22848695/13104739(ps:基本实现功能的工程,大家可以自行修改)

 

 

后续:

后面因需要量产又进一步优化了一下,而不必每次创建设备都需要重新编译下载(使用统一固件,只需要按各自DEVICE配置的重新设置一下即可)

具体实现方法

1.初始化完成后要把MAC输出显示,方便更新绑定DEVICE_ID。

2.把DEVICE_TYPE和DEVICE_ID分别用保存到SPI flash

然后通过AT指令进行更新

AT+DEVICE_TYPE=gh_1a43e75a8d76
AT+DEVICE_ID=gh_1a43e75a8d76_07517a6c94ec9c4d

 

 

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值