ESP-IDF esp32c2 bulfi默认示例项目配置和小程序的blufi实现
示例项目配置
- 需要选择target为esp32c2
- 需要menuconfig配置flash容量和XTAL晶振。如果串口只能通过74880连接,说明晶振是26Mhz的,如果可以通过115200连接,则晶振是40MHz的。Flash如果配置不对,模组上电后会打印警告。晶振配置不对,蓝牙会找不到。我在淘宝买的这个https://item.taobao.com/item.htm?_u=ed01qc68e7&id=733669672310晶振就是26MHz、4M Flash,详情页说了4M Flash但是没有说26Mhz晶振。而Menuconfig默认配置是40Mhz+2MFlash。
- 下载乐鑫提供的配网APP。这个APP默认不会请求权限,需要自己去设置里面打开定位、蓝牙、附近设备等各项权限。
- APP打开后就能看到BLUFI DEVICE设备。
小程序实现
参考如下项目:
https://gitee.com/weijian.kang/esp-blufi-for-wx
该项目与上面的示例项目可以配网。不过仍存在一些问题,实际使用时候需要解决:
1、设备列表没有过滤,所有的蓝牙设备都会被扫描出来而不仅仅是blufi设备
2、错误的ssid和密码会导致界面卡在wx.showLoading界面。当然也可能是固件没有返回错误。
3、异步代码采用回调方式,回调地狱现象比较严重。最多的一行代码前面有42个空格(21个tab)
4、中文ssid发送的不对,在串口putty上显示的是乱码,而乐鑫官方发送的ssid在putty上显示正常
5、ssid需要手动输入
这个项目参考的另一个项目是
https://github.com/xuhongv/BlufiEsp32WeChat
这个项目readme虽然说只支持esp32,但esp32c2实测也是支持的。
似乎前面一个项目存在的问题都存在,只是功能似乎更强一些包括:
1、增加了本地ssid扫描和选择,根据界面提示是模组扫描的结果,但扫出来的wifi数量明显不足。
2、可在配网同时发送自定义的数据。但在putty打印上没有显示。当然这也可能是固件没有处理的原因。