1.《一个物联网系统的实现》之使用微信小程序给ESP32C3配网
0.前言拖了这么久没更新,本次博主带来了通过微信小程序的BLE(低功耗蓝牙)配置ESP32C3连接到WiFi的demo。可有些好事的人会为乐鑫官方不是有通过蓝牙配网的demo吗?为什么要用你的?答:根据博主有限的知识,目前我了解到乐鑫官给出的配网demo有两种,一种是通过WiFi混杂模式的WiFi配网,另一种是使用蓝牙的方式配网。前者需要借助微信公众号实现,稳定性较差。而开设微信公众号需要企业资质
0.前言
拖了这么久没更新,本次博主带来了通过微信小程序的BLE(低功耗蓝牙)配置ESP32C3连接到WiFi的demo。
可有些好事的人会为乐鑫官方不是有通过蓝牙配网的demo吗?为什么要用你的?
答:根据博主有限的知识,目前我了解到乐鑫官给出的配网demo有两种,一种是通过WiFi混杂模式的WiFi配网,另一种是使用蓝牙的方式配网。前者需要借助微信公众号实现,稳定性较差。而开设微信公众号需要企业资质,所以这种方式有一定的局限性。第二种虽然使用的是蓝牙的方式配网,但是苹果和安卓两个平台分别有不同的客户端。
而像博主这样聪明的人当然选择微信小程序这样"一次编译到处运行的平台",而且就用户而言还省去了安装app的麻烦。(腾讯这个月的广告费该结一下了!!🙈)
1.使用方法
1.1 复制文件夹
-
此项目已经被博主封装为一个组件,只需要将
ble_wifi复制到项目路径下components文件夹下(如果没有components文件夹就新建一个)
1.2 开启项目的Bluebooth组件并使能Enable BLE 4.2 features。
如果你是用的是乐鑫官方的eclipse开发,双击项目中的sdkconfig文件

依次点击Component config->Bluetooth勾选Bluetooth。将菜单拉到最后勾选Enable BLE 4.2 features。


1.3 修改分区表
-
由于使用了
BLE、WiFi等组件编译后的固件比较大(2M版本的ESP32C3跑不起来),为了避免后续出错修改一下分区表。 -
在项目根目录下新建文件
partitions.csv内容如下
# ESP-IDF Partition Table,,,,,
# Name, Type, SubType, Offset, Size, Flags
nvs, data, nvs, 0x9000, 0x6000,
phy_init, data, phy, 0xf000, 0x1000,
factory, app, factory, 0x10000, 2M,

修改sdkconfig Serial flasher config->Flash size 4MB

修改sdkconfig …看图吧我就不写了🙄。(改完了别忘了保存老铁)

1.4 使用(PS:这回是真使用了!!)
-
在你的项目中引入头文件
#include "ble_wifi.h"#include "nvs_flash.h" -
初始化
nvs。(WiFi的配置信息会通过nvs保存因此要提前初始化)esp_err_t ret; ret = nvs_flash_init(); if (ret == ESP_ERR_NVS_NO_FREE_PAGES || ret == ESP_ERR_NVS_NEW_VERSION_FOUND) { ESP_ERROR_CHECK(nvs_flash_erase()); ret = nvs_flash_init(); } -
调用
ble_wifi_init_sta()函数初始化WiFi。WiFi会被初始化为station模式,如果上次WiFi连接过,ble_wifi_init_sta()会根据上次的配置信息自动连接WiFi。 -
通过
ble_wifi_set_wifi_connect_start()会使ESP32C3进入配网模式。此时使用微信小程序就可以设置ESP23C3联网了。 -
通过
ble_wifi_set_wifi_connect_stop()会使ESP32C3退出配网模式。 -
有些情况你可能想知道WiFi的状态,只需要读取
ble_wifi.c文件下wifi_flag的值。wifi_flag=0WiFi未连接过,wifi_flag=1WiFi连接失败或断开连接,wifi_flag=1WiFi连接成功。
1.5微信小程序
写的挺乱的。。。。咋导入我就不写了。。
2.Sources
https://pan.baidu.com/s/1OZAfvRGDH0v0Nwd1ftC8VA
提取码:v2zt
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)